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
Tuesday, May 11, 2010
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.
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).
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
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
Thursday, March 18, 2010
IPL - Season 3
I have been following the matches this season closely - so far. Not sure if I can keep watching with the same zeal and enthusiasm, simply because of the overdose of cricket that IPL manages to feed us with every year. This is only season 3 and I am already bored of IPL. Just like one of those soap - Friends, Scrubs, Grey's anatomy where one gets sick of watching the same stereotypical characters again and again, IPL offers nothing new or exciting. Unless one is an ardent fan of a player, and loves to watch their style of play, there seems nothing else that would keep people hooked for the entire event. Personally I like a few players, and would love them to perform well in this tournament but besides that there is nothing in it for me.
It can server as a good selection bed for selectors in BCCI to form the next T20 or one day team, and equally it serves as a level field for potential youngsters who want to make their mark in the international cricket. It does serve as a big revenue earner for the chairman and all stakeholders, but I think they can do better by cutting down on number of games. The initial 20 or so matches have very little impact on the chances of a team to go to semis, and personally if I am told that after 20 or so matches the semifinal spots are still up for grabs by any team, and will be decided in the next 15 or so matches, why should I even bother to watch or worse even pay for watching the first 20 matches. It is just silly and appears like in a country where cricket is counted and followed as a religion, it is misuse of the sentiments people have for this game.
Wake up people, - skip the first 20 matches, and enjoy to your heart the last few matches, for that's where the real EQ(Entertainment quotient) is.
It can server as a good selection bed for selectors in BCCI to form the next T20 or one day team, and equally it serves as a level field for potential youngsters who want to make their mark in the international cricket. It does serve as a big revenue earner for the chairman and all stakeholders, but I think they can do better by cutting down on number of games. The initial 20 or so matches have very little impact on the chances of a team to go to semis, and personally if I am told that after 20 or so matches the semifinal spots are still up for grabs by any team, and will be decided in the next 15 or so matches, why should I even bother to watch or worse even pay for watching the first 20 matches. It is just silly and appears like in a country where cricket is counted and followed as a religion, it is misuse of the sentiments people have for this game.
Wake up people, - skip the first 20 matches, and enjoy to your heart the last few matches, for that's where the real EQ(Entertainment quotient) is.
Reporting options with Java
Jasper reporting is the most widely used open source reporting tool with Java. The feature packed library needs a report file as input, the format of which is jrxml, which is nothing but an xml file. in good old early days people used to manually handcraft the content and look & feel of the report by editing the raw xml. However now there are various report designers available, one of which is maintained by Jaspersoft itself. It is called iReport and is very intuitive and easy to use. It spits report in various formats - pdf, xml, html, jxml, and can easily serve as input to the jasper api's within you java app.
There are competing reporting tools available, most notable is the BIRT (Business intelligence Reporting Tool) from Eclipse. Its a eclipse plugin, and has good documentation and backed by excellent development team. However the drawback is that it is not as lightweight as probably just adding a few jar files from jasper, and would mandate the use of eclipse. Building web application using BIRT would also result in bloated war file and therefore is not a good option if one is looking for quick, easy deployment and portability. Having said that,. I haven't explored BIRT yet, but have requested a team member to do so, after which we can more objectively compare the two reporting options.
There are competing reporting tools available, most notable is the BIRT (Business intelligence Reporting Tool) from Eclipse. Its a eclipse plugin, and has good documentation and backed by excellent development team. However the drawback is that it is not as lightweight as probably just adding a few jar files from jasper, and would mandate the use of eclipse. Building web application using BIRT would also result in bloated war file and therefore is not a good option if one is looking for quick, easy deployment and portability. Having said that,. I haven't explored BIRT yet, but have requested a team member to do so, after which we can more objectively compare the two reporting options.
Wednesday, February 17, 2010
Unlearn!
Sometimes the knowledge of 'what not to do' can take one leaps and bound towards success. Agreed that knowing 'what to do' is very important but one must not underrate the need to 'not do something'. People often tend to get comfy in their respective work - be it, mundane office job, the project at hand, the websites visited etc etc. But one must pause occasionally and understand that by doing so are they going anywhere. Hence the need to unlean what one may have learnt so thoroughly that it has gone in their subconscious, and which they continue doing again and again.
Explore a different route to office, try lunching with new bunch of people, explore the science you were never interested in, explore new websites and therefore new content, watch different genre of movie. Doing so is going to expand a person - and when unlearning becomes a habit - learning has no bounds :)
Explore a different route to office, try lunching with new bunch of people, explore the science you were never interested in, explore new websites and therefore new content, watch different genre of movie. Doing so is going to expand a person - and when unlearning becomes a habit - learning has no bounds :)
Tuesday, February 16, 2010
Google buzz
Its kinda creepy what google can really do considering they have vast majority of your email transactions and blah!!. For starters they have suggested my followers and people whom I follow in their new age product - Buzz. That to me is just the tip of an iceberg.
Consider just a few things like purchase confirmations, air ticket itineraries, and google alerts that one may never bother to delete (google generously has provided 1GB of space). If based on a simple frequency count, they can come up with boat load of profiles, imagine what they can draw based on the other stuff they have about all of us, and who knows they must already be approached by marketing geniuses to tap on to each profiles datanome (analogy from genome). Mapping a person's datanome to draw the behavioral traits and what if analysis could be really interesting. Did someone say SciFi exists only in movies!, and that we are miles away from being ruled by machines! thing again.
Consider just a few things like purchase confirmations, air ticket itineraries, and google alerts that one may never bother to delete (google generously has provided 1GB of space). If based on a simple frequency count, they can come up with boat load of profiles, imagine what they can draw based on the other stuff they have about all of us, and who knows they must already be approached by marketing geniuses to tap on to each profiles datanome (analogy from genome). Mapping a person's datanome to draw the behavioral traits and what if analysis could be really interesting. Did someone say SciFi exists only in movies!, and that we are miles away from being ruled by machines! thing again.