Saturday, May 23, 2009

Treemap visualization of Results of 2009 General Elections of India

Recently I am interested in various visualization techniques. One of the technique that I find very interesting is 'Treemaps'. While studying treemaps, I found excellent Javascript visualization library "The Javascript Information Visualization Toolkit" .

Using the treemap component from TheJIT and data from Election Commision's site, I made a treemap visualization of results of 2009 general elections of India. This representation gives an overview of elections results across states, coalitions and parties compared to results of 2004 elections.

The visualization is published on my website.

Monday, May 04, 2009

Thinking Craftsman website

As you know, I am working as Consultant and teacher/mentor in the Craft of Software Development. Now I have my website Thinking Craftsman.

Why the name Thinking Craftsman ???

First Software Development is still a 'Craft'. We may call it 'Software Engineer' but it is really a Craft. If you compare other engineering disciplines, software is still a much more person dependant. Quality of Code depends a lot on the developer. Thus Software Development/Coding is a 'Craft' albeit a Modern Craft. Hence us, the Software Developers, are really 'Software Craftsman'. I first came across concept of Software as Craft in Pragmatic Programmer book and it struck a cord.
  1. The is suggested by the sub-title of "Pragmatic Programmer" book which is "From Journeyman to Master"
  2. Software Craftsmanship Wikipedia article
  3. Craftsmanship : article on Joel on Software
As in any Craft, software craftsman also progresses along the ladder from Novice -> Apprentice -> Craftsman -> Master Craftsman. Unfortunately there is no course or book which teaches you how to progress from Craftsman to Master Craftsman level. Obviously Master Craftsmen of any craft are extremely rare and same is true for craft of software development. If you got a chance to work with a Master Craftsman you are very fortunate because you will learn tremendously within a short period.

Personally I think there IS a level between Craftsman and Master Craftsman. I call this level 'Thinking Craftsman'. A Thinking Craftsman is someone who is always thinking about what he is doing while he is doing it and thinking about ways to improve it. Thus EVERY DAY he/she is taking a small step towards the ultimate goal of becoming a 'Master Craftsman'. A Master Craftsman may directly give solution to a problem. The Thinking Craftsman may try multiple options and finally reach the same solution but he/she will not give up till he/she reaches the solution.

All these year, I have consitently tried to be a 'Thinking Craftsman'. Now I am looking forward to guide other Craftsman in their Journey to becoming a Thinking Craftsman and beyond through my consultancy work and learning programs.