20 December 2012

Python Web Hosting

Python hosting has come along way with the inception of the cloud. In past, most hosting providers only supported PHP based applications. However, the demand for hosting and the flexibility for more options has increased significantly. There are more and more growing options available now either shared, virtual private or a dedicated. Depending on ones application requirements each one can be workable. However, shared hosting is possibly the most minimalist option there is. Python is also emerging into a stronger contender to PHP and Ruby web frameworks and is able to support larger websites with fluid ease. Developing in Python is not only faster but it is also more maintainable. Arguably, Python is easy to learn and a lot faster then Ruby. Although, Ruby appears to be a more trendy way of developing websites, it is also a quite slow and one would require a stronger architectural dependency on caches to scale up a large application. Similarly, with PHP having a large application being cacheable is a key to the performance as well the limitations of a lifecycle of a request/response. PHP in all fairness although workable can be quite cumbersome to maintain in a multithreaded, high availability, low latency, and security conscious application. PHP in my view is really aptly suited to small scale applications or ones that have a significant infrastructure backbone of cacheability  with such layers of memcache or redis. Furthermore, the use of PHP web frameworks is a bit like over engineering with a half baked language. And, even then, the major drawbacks of PHP are lack of consistency, lack of backward compatibility, quality of open source libraries, object orientation, as well as the major one that being security vulnerabilities. However, one of the core Python drawbacks is also the lack of compatibility between 2.x and 3.x which can boil down to how much one requires access to various libraries compared to a closed and isolated web application. Some of the Python web frameworks that I particularly like are: Django, Tornado, Bottle, and Flask. Python is an amazingly good multitasking and integration language. It also does a really good job for data processing and in distributed systems environments which depend on services with no single point of failure. If you know Groovy you can pretty much pick up Python and therefore the ramp up time for a Java/Groovy Developer towards picking up Python is also faster then in trying to learn up Ruby. If one is facing a deciding factor between CGI and an alternative then one must be aware that in most shared hosting they use FastCGI whether it be Ruby, Python, or PHP. However, using the passenger module does help to get  WSGI support but there is no full support for it in Python. Python, in my opinion is an even better swiss army knief compared to Perl especially for Natural Language Processing and Machine Learning. I have listed below a few Python hosting options most of the PaaS options can be fairly expensive but offer a more flexible and larger scope for development. However, as all things go on the Cloud if one's PaaS provider is dependent on Amazon as an IaaS and if that goes down then your hosting provider would naturally also be effected. 
As well as, several others....check out djangofriendlyhosting

If one requires standard website with a small scale load then one can use PHP or Python eg like a company or promotion website
If the load is relatively high with a lot of distributed data processing then go for Python e.g like a newspaper site, games site, or a search site
If the level of work is enterprise requiring more control more heavy processing, and a heavy use of JVM then go for Java, Groovy, or Scala.

Java/Groovy and Python make a good composition for most back-end lifting work where as front-end interface masking can better be handled by core HTML/CSS/JavaScript libraries and frameworks. PHP can also be used behind the scenes, like with data loads or job controls with gearman, but as much away from security and heavy lifting as possible.


19 December 2012

Semantic Web

Semantic Web is all about making the web navigation more connected by treating every aspect of the web as a resource. This also inspires the concepts of linked data or the web of data. Semantic Web essentially utilizes XML based extensible languages specifically catering for the creation of and management of resources, knowledge, reasoning, as well as querying. Semantic Web is driven from the theoretical underpinnings of Knowledge Representation and Reasoning, one of the core branches of Artificial Intelligence.

The following books are valuable sources of information:
  • Logic in Computer Science: Modelling and Reasoning About Systems
  • Knowledge Representation and Reasoning
  • Semantic Web Programming
  • Semantic Web Primer
  • Semantic Web for the Working Ontologist
  • Practical Semantic Web and Linked Data Applications
  • Practical RDF
  • Explorer's Guide to Semantic Web
  • Linked Data Evolving the Web into a Global Data Space
  • Programming the Semantic Web
  • Learning SPARQL
As well as, learning Prolog especially the SWI-Prolog can be quite valuable asset which has a detailed background in Semantic Web experimental work especially for curation and archiving. Especially, the W3C site is a valuable reference point for keeping up with the progress - SemanticWeb@W3C. And, a list of tools associated for different language implementations - SemanticWebTools@W3C. Another context of work for which Semantic Web is often connected to is the concept of Semantic Tagging for Findability. The applications of Semantic Web are numerous as it is more about the resource context and utilizing the concepts of HTTP and REST. In general, intelligence in any aspect of application has a reference point to the context in which it is used. The more broad a context one incorporates into the application for aspects of knowledge and reasoning the lower the level of accuracy. This is because intelligence is learned and is best utilized by way of contextual specialization of concepts from which patterns and logical deductions for inference can further be derived dynamically. This can be equated to every aspect of Artificial Intelligence.


18 December 2012

Mayan Apocalypse 2012

Is it true that the world will end this Friday, December 21, 2012? It seems so unreal that the end of the world should be so close by and yet people are going about their business mostly to catch the Christmas sales that came in early. Surely, the conspiracy theorists will try to find more ways to push the date forward through some strange explanation. It seems so bizarre that every time people get their dates wrong they move it forward a few more years as if people are that gullible. Even this Mayan apocalypse is based on strange new age beliefs unfolded through incorrect interpretations of the Mayan theology. How many people have gotten it wrong in past:

Mayan Apocalypse 2012
Rapture, May 21, 2011
Jehovah’s Witnesses’ prediction of the Second Coming, August 1914
The Second Big Bang, November 23, 2009
Y2K, January 1, 2000
The Great Fire of London, September 2, 1666

List of dates predicted for apocalyptic events

14 December 2012

Public Payphones

In London, public pay phones are possibly one of the most unclean places in city. The sheer amount of germs that can be caught in the phone booths is just overwhelming. Also, the service does not seem to be very well maintained and very unreliable at times especially being susceptible to outside disturbances in phone reception. The chances of being rudely disconnected become exponentially increased as one approaches towards the centrally located pay phones. No wonder mobile phones have caught on so fast in UK. On land lines and pay phones it seems to be dominated still by BT but yet on mobiles there is still some healthy competition. Perhaps, it is why technology is moving further a field at such a fast pace on the mobile front comparatively and the land line services are lagging behind. It would be great if telecommunications was so much more flexible avoiding the need to get a land line in order to get Internet. People these days receive and make calls on the Internet which seems to be a life saver especially on the monthly bill. Perhaps, one day Internet will become free and more accessible reducing the need for people to have to communicate through such limited channels. Compared to America, UK still has a lot to catch up in all aspects of telecommunications.

Tenants, Estate Agents, and LandLords

Estate agents should be best avoided. They charge tenants for admin costs, inventory costs, credit checking costs, and whatever else including as far as lying and covering up stuff to get a fast deal. As a tenant one is best to approach the landlord directly. Estate agents care very little about tenants and more about landlords. They are more interested in tenants at time of transaction after which they literally cannot be bothered unless it involves a landlord having a dispute such as with late rent. And, even then they would rather create more problems than mediate because in fact it means a potentially new opportunity to get a new tenant transaction. Most landlords are generally fine with late rent payments as far as they are aware that one is always paying their rent with diligence. However, the more you learn about a landlord before signing an agreement the better. Tenants are often caught out by either bad landlords, bad estate agents, or both. You may find one of the typical encounters where rent is expected to be paid on time and yet perhaps, contracts or inventory checking has been delayed almost by months. If one has not received a signed copy of tenancy agreement or even an inventory report by move in date then delay the next rent payment by all means until it is received. It is surprising how little tenants rights there are in UK compared to landlords. If one looks at any tenancy agreement the tenant requirements are multiple pages long usually compared to a half page landlord requirements. Tenants also need to be able to do background checks on landlords as well. It seems like every one wants tenant personal details, at times a bit too much, and yet they all seem to protect the rights of the landlord. Especially, if a tenant undergoes a credit check through an estate agency and they use a third-party it may be deemed on the tenant to pay the costs as well as the risk of getting incorrect links against their profile. Credit checks are not very reliable sources of information. They do not work in real-time nor do they provide fully up-to-date and accurate information. It seems like tenants have a lot to lose than a landlord in many respects. Also, it is in best interest of tenants to be informed about the asking rental price as well as the valuation price so they are able to better assess whether the actual rent is worth the price. At same time, when tenants start to spend a lot of rent perhaps they may also ponder at the option of getting a mortgage instead, or even part buying. It seems as a long term living as a tenant is not a very viable option for many and soon people will almost always decide to get a place of their own. Living under the roof owned by someone else is always a very limited and restricted form of accommodation. Another factor, is when one does decide to move out, the agents are always around trying to do their viewings and all of a sudden the accommodation not only becomes frustrating but it ends up feeling like a display gallery. There really are very few rights for tenants or even for their invasion of privacy. The best option really is having your own place.

13 December 2012

Travel Tracking

Seasonal travel is one of the busiest times of the year for transportation services. On other occasions it is rush hour management that can cause severe delays and disruptions to commuters. Tracking best routes and mapping restrictions and disruptions in real-time is a very plausible and useful level of analytics to have at hand for any commuter. This process will not only allow them precise information in real-time but could also allow them to fully comprehend their travel plans from source to destination in a very fast and conducive way. Most transportation networks can be mapped as graphs. Graphs are a generalization of representing the structure and relationships between data points or so called nodes. In a train network each station could be a node and each route to another node as a weighted link or more precisely an edge. Various algorithms can then be applied to work out specific natural language search requirements or more precisely the semantic context of search. This could be a sub-optimal or a greedy option. In a sub-optimal option aspects like global optimization ideas can be applied where a solution sample only needs to be good enough based on the defined function as the search space is so huge. Graph algorithms like dijkstra's shortest path,  uniform-cost search, minimum spanning trees, best-first search, breadth-first search, depth-first search, travelling salesman problem can be applied based on specific semantic requirements of travel. So, one could be looking for an option of finding the shortest and fastest possible route to get to destination before or at a certain time. Another semantic requirement might be to find the best route without connections, delays, or disruptions to travel.  Further, another option could be to find all possible routes that can be reached from source to destination with the cheapest possible price for travel. There is so much data about when one travels that finding and discovering the right information can be difficult. Data only becomes information based on the contextual usefulness. Various mashup applications can be applied that utilize web apis from public transport agencies utilizing their feeds for precise information sharing. Google transit has started their own standardization process towards travel data. However, in every aspect accessibility to right information, at right time, in the right possible way becomes crucial. This is where responsive user interfaces can become the stepping stone for a barrier free access to easy and quick information navigability. We live in an overload of data, almost everything can be translated to some form of information. Knowing how to obtain, deliver, and present such data so it can become useful information is paramount. 

Hybrid Logic Can Save Traffic In London

Actuated traffic lights with Boolean level controller logic can always seem malnourished of severely constrained logic. It seems the traffic lights in London always go off unexpectedly and very haphazard. I feel if they employed more hybridized approaches towards congestion and traffic control would be more effective. They could centrally control the traffic boards across the city but apply more significant real world situations. An off and on service has very limited service and an increased risk of accidents. Even the aspect of controlling traffic held up or pedestrians waiting to cross can be modified. Fuzzy Logic is all about the Fuzzy constraints of approximated reasoning being still between the limit bounds of 0 and 1 only relative constraints can be better controlled over a full specified spectrum of natural language domain. Smooth flow of traffic resulting in less frustrations can be controlled. Looking at times of day and variations can be applied. Classical reasoning of rigid constraints over multivariate changes are severely limited. I think in a city where roads are small and population growing as well as with multimodal means of transport it is only sensible, feasible, and yet workable to apply more intelligent methods in the works where interconnected traffic flows can be changed and modified based on patterns of usage and potential delays as well as more dynamic flows from specified natural language.

11 December 2012

O2 A Dreadful Mobile Service

Possibly the worst mobile operator in UK would have to be O2. Perhaps, even beating at odds with the likes of Orange and Vodafone. I have not tried other mobile providers but it is a sure bet that most mobile provider quality of service is dismally poor. And, to top it of you are still asked to pay for line rental when they experience network outages. Customers pay for service not for when they out of service surely. O2 also have one of the worst call centers I have ever come across. I think the word dim wits is quite aptly appropriate, or perhaps a bit too refined a description of their lack of training and common sense within the call center staff. Not to mention when I search the web I noticed similar stories coming around that people are frustrated and that people don't get paid to do O2's job. After all we pay for a service and yet they expect us to do their job for them as well. Their call centers have detailed information about customer accounts and yet they still cannot be bothered to read the information that is present on their screens. Furthermore, it's droning that the time spent listening to music on the other end until one gets through to an advisor has got to be one of the most frustrating and time consuming processes of all. It is as if people are expected to wait around while some advisor decides to pick up the call. A typical aspect of getting through to a manager at one of their call center and one can expect to be waiting around for an unusually long time. It is like the manager expects you to wait while they finish their lunch break, complete their crossword or just keep one on hold as if to display how busy they are. And, when these people do pick up they are possibly the rudest bunch of patronizing people one can ever come across. And, this is from a business that is expected to offer a service to customers. Not to mention the tiresome network outages that seem to be becoming a bit of bane with O2. I have to mention that in UK the level of service for not just mobile providers but a lot of other services is also similar. It is as if lack of quality of service is almost always the bottom of every business model in UK. Prices are inflated and service is poor. And, they expect the customer to be calm and collected otherwise they hang up. Unfortunately, for so many customers in UK frustration for lack of service is almost like the British weather. What most businesses do not seem to realize is that customers are the ones with a choice. They can always switch to another provider. One of the sure ways of losing business is not providing good service and further to lack ethics. Customers nowadays are not stupid a lot do their research. And, yet the service is one factor that always seems to be lagging behind in every business model. Most customers in my view would show brand loyalty if they received reliability of product that was capped at the right price, a strong sense of business ethics, and an approachable service model.