Saturday, December 03, 2011

Demystifying BigTable & HBase

Much hype has been created around 'Column' oriented database, and it is difficult to find a simple explanation of the concepts.

Thinking over it initially can overload one with lot of questions to the point of completely questioning the rationale behind such radical change. However companies like Google, Yahoo and Facebook would not use it if its merit was questionable.

Here is a very interesting read on the concepts behind column oriented database.

Column oriented database concepts - demystified

Widgets - Create vs Add

Widgets are small snippets of code that one can embed in their website (manually insert the snippet code in their website's source code).

While any Tom, Dick, Harry can 'Add' a widget (multiple widgets) on their sites, it is a totally different ballgame how a publisher provides data to widget call coming from such users.

I wanted to get into the technical details of how a widget is 'Created' by the provider and found this link a very interesting read.
How to build a web widget

Monday, June 27, 2011

Evolving ecology of rules

Over a period of time we all learn certain rules. Applying those rules in the right context at the right time means exercising right control.

Was going through a simple Learning Classifier system approach to evolving rules. Set of rules evolved in a dynamically changing environment simulated through good number of cases will lead to a better control system.

Tuesday, January 25, 2011

Column Oriented databases

Nice concept - how by just flipping over (rather scramble) one can get exceptional read speeds on terabytes of data.
Most read operations are associated with a lot of physical I/O interaction, hence time consuming and were causing lot of grief for developers as well as DB administrators because they were at the receiving end of the flak from customer/clients.
Google came up with Bigtable, a gave the concept of column-oriented database a taste of reality, and look what we have - most of Google's data resides in such column oriented databases.
Will talk about distributed concept later.

Tuesday, May 11, 2010

Career moves - why not ?

Today reminds me of a good old post of mine some 4 years back. The world has come full circle and that post is as pertinent today as it was then.

Here it is

Career Moves

Sunday, May 02, 2010

DOJO & JQuery

Contrary to popular belief that Dojo and jQuery are frameworks for AJAX, they are actually much more than that. Both are Javascript libraries that ease out the browser inconsistencies while running Javascipt on the client side. Any Javascript developer would have experienced the pain while writing Javascript code which is compatible on mutiple browsers. The subtle nuances in syntax required can eat up lot of time and what is bad - it can cause lot of flak from the management and end users.
These libraries have done a lot of good by taking care of cross browser requirements, but on the same hand have introduced a new learning curve for pure Javascript developers, with array of objects and methods to deal with. In some sense they have tried to incorporate concept of oops in their design, however in a loose way. There are objects with associated behavior(methods) but no inheritance, life-cycle etc. This is good news, since any oops programmer can pick up these libraries and start using them with very little effort without ever worrying about browser eccentricities.

Tuesday, April 13, 2010

PHP vs JSP

Exploring this one was interesting. I am a JSP developer by practice and have a very short experience with PHP. The question is: While choosing a language/platform to build web applications what is a good choice - PHP or JSP:

Here are my two cents:

Market availability of resources:

One can find many PHP developers (esp in European Market), and probably more JSP developers in Indian market. The reason is simple - PHP is quick to learn and the stack of technology is not big as it is in JSP. Most of European universities have PHP as opposed to JSP in Computer science curriculum. However JSP/J2EE developers are paid more anywhere one goes. Why is this so: One would like to say that JSP/J2EE makes for a better enterprise application. That brings me to next important point to consider:

Requirements:

Requirements are key, in deciding what technology stack to use. However this is easier said than done for two reasons. The people from whom the requirements are going to come would most likely now know of any technology. Secondly, the requirements will keep evolving - an application which was meant for 10 users should now suddenly scale up for 200 users. The pace of new requirements will increase, and it will be expected of the development team to deliver new requirements fast and furious. However there shall be attrition in the team, and therefore a piece of code which was crystal clear earlier will now take a longer time to chnage.

If the requirement is a lightweight application with minimal database interaction and minimal transactional handling then PHP is the way to go. However one has to be careful in developing PHP pages - they should not grow monolithic to the point to 'I do not want to work on that feature'. There should be good separation by means of classes.
If one can afford a little luxury in terms of development time, then JSP is a good way to go, since one can easily use a MVC design pattern and keep the facets in the n tier application separate and easy to change later.

The common practice with PHP is to put all of your scripts in the page level. The common practice with JSP is to have a Controller or Servlet do most of the work, and use the JSP to simply render the data. Though you can write scriptlets in JSP, it is generally frowned upon and people will make fun of you if you do it. The other thing about JSP, very few people use it exclusively. JSPs are generally used as part of a larger framework (Struts/Spring/JSF/etc).

Friday, March 26, 2010

IBM Cloud offering

Just tested the new IBM's public cloud offering. Its simple and easy to use. One can provision instances of applications, images or storage as per need.

Just provisioned two rational applications:

Rational Application Developer &

Rational Team concert

See the snapshot:



Check it out for yourself:

https://www-180.ibm.com/cloud/enterprise/beta/dashboard