Protos' Musings

"In the long run men hit only what they aim at" — Thoreau

Archive for April 2006

Top 10 Ravindran songs

with 10 comments

Just continuing from where I left off, here is compilation of “Top Ten” Ravindran songs:

  1. Harimuraleeravam [Aaram Thampuran 1997]
  2. Pramada Vanam [His Highness Abdullah 1990]
  3. Ramakatha Ganalayam [Bharatham 1991]
  4. Ezhu Swarangalum [Chiriyo Chiri 1982]
  5. Nirangale Paadoo [Aham 1991]
  6. Azhake Nin mizhineer maniye [Amaram 1991]
  7. Innumente Kannu Neeril [Yuvajanothsavam 1986]
  8. Thenum Vayambum [Thenum Vayambum 1981]
  9. Mana Thaaril Engum [Kaliyil Alpam Kaaryam 1984]
  10. Etho Nidrathan [Ayal Katha Ezhuthukayaanu 1998]
  11. Vaarmukile Vaanil nee [Mazha 2000] — bonus song# 1 ;)
  12. Gopike Hrudayam oru [Nandanam 2002] — bonus song# 2 ;)

In the above list, the song “Gopike” is unique since it is set based on the Raaga Hindola(m). From what I recollect Raveendran say in an interview “Hindolam** is traditionally considered a raagam in which film music cannot be set. I wanted to challenge that notion”. It is a beautiful high pitched song — like many others in that list above — sung by KJ Yesudas.

So, what is your “Top Ten” Ravindran songs list?

And oh yes, if you want to listen to any of these songs, just visit Raveendran’s page at Raaga.com.

** Update on 12-Sep-2011: As pointed out by Sankara Narayanan (thanks!) in the comment thread, the raaga(m) about which Raveendran mashu was talking about was Hamsadhwani and not Hindolam. Regret the error. However, kindly note that “Gopike” is a song set in Hindolam and not Hamsadhwani.

Written by Proto

April 24, 2006 at 01:36 hrs

Professional Programmer and Domain Knowledge

with 4 comments

I have been working as a programmer for a little over 5 years now, and it was with great interest that I read the article What is a Professional Programmer, written by Sarah George, and hosted at DeveloperDotStar Magazine.

I think I can say that I have been on the right path so far when I evaluate myself on the various parameters she has mentioned, viz., trustworthiness, teamwork, leadership, communication, constant updating of skills, an interest in minimizing risks and accountability.

However, there was another theme running right through that article, the theme of “how much Domain knowledge you need to do good Software Development?”. It was triggered by this comment by Mario Van Damme, to which Andy Tegethoff posted a great reply. But Andy didn’t just stop there. He followed it up with this wonderful post on this topic.

I have been of the opinion that Domain Knowledge just cannot be the be-all and end-all of Software Development. Yes, one needs to know enough of the domain to make sense of what one is doing, and what the client is saying. However, the current trend in the Software market in India (and probably elsewhere) is this: an average candidate with average-to-good domain knowledge is a better bet than a good/great programmer with almost zero domain expertise. During screenings and interviews, I have often experienced this line of thought in action. The argument is something like “programming anyone can do[!]; but to get guys with domain knowledge is very difficult”.

So, one is considered a better/worthy candidate if one is having previous working knowledge in a domain. And sometimes, the programming skills takes a clear back seat since this new guy is average-to-good at domain. Of course, domain is where the money is (meaning you get paid more).

What these recruiters forget is the basic fact that you are recruiting people for doing software development, and not to look after your domain/business. In fact, as established by Extreme Programming school of thought, it is much more valuable to have a true blue Domain guy (the actual Customer/Client or someone representing him) in the programming shop with good programmers than to have an army of domgrammers — short for domain-oriented-programmers. After all, most of the time, you just can’t become great at a domain in a short span (say 1-2 years) without sacrificing your programming skills. Of course, I am talking about normal people here. As the rule goes, “there will be exception to all rules, except this one”!.

In one of my previous projects, there was this culture of “anyone can do programming; understanding the domain is what it is all about” logic. I was really amused and shocked at that line of thought, but thankfully, I never subscribed to that school.

Towards the end of my first year in that project, we found out that the most critical module of that project was causing a hell of a lot of problems. We also found that there were serious design flaws and hell of a lot of bugs in that module. Luckily, I was learning Refactoring, UML and Design Patterns at that time, and my design skills were good at that time (or at least I thought so :). During this time I was looking after that buggy module and so was spending lot of time fixing bugs and logic-flaws, that just should not have been there in the first place.

I took it upon myself to set the house right, by re-designing the core of that module, and doing enough refactoring to change the design. After “some” struggle, I managed to convince my boss(es) that this is the only way to do it and that I can really do it. Remember, I was still considered one among the juniors in the team.

By this time, client was also breathing down the bosses’ throat to solve the highly critical bugs in that highly critical module. So, at the end of it all, the boss(es) agreed to allow me a free hand in doing what I wanted to do.

I was able to come up with a new design, and then refactor the existing code to fit the new design framework. It was not refactoring actually — though I used it a lot — since it involved a change in the behaviour; after all I had to weed out the bugs. During this process (which took me about 3 months) I had to talk to the client scores of times, communicate the design to the team, do lots of coding and teaching, explain the design to the boss(es) and client etc. I thoroughly enjoyed the experience.

I also understood that no matter how hard I try, I can never match a pure domain guy’s depth of knowledge. Also, it is not useful too, since I can easily learn from them. In the process I also learned that it is pretty hard for a software guy to be as good as a real domain guy, who is breathing the domain day in and day out.

More importantly, had I fooled myself into believing — during my initial days — that learning a few hundred terms and definitions of the domain will make me a better programmer, I would never have been able to come up with the new design.

Just thought will post about one of my core beliefs — that technical knowledge is a hundred times more important for a programmer than domain knowledge.

But of course, the fact remains that I am paid and will continue to be paid less than a hot shot domgrammer or Business Analyst. But that is ok, since I get to do, what IMHO is, the most challenging task of converting what is required into a great design/software that provides the solution.

Of course, Dan Read offers his point of view here on this topic, and as always, it oozes with pragmatism and common sense. But yet, it is difficult to miss the message that in 90% of Software houses, domain knowledge is only that important.

Thanks for reading thus far. It will be really great to get some feedback/comments. Have a great week ahead.

Written by Proto

April 24, 2006 at 01:02 hrs

Happy Birthday, Sachin!

with 2 comments

Today Sachin is turning 33. Here is a fantastic tribute written by the greatest left arm seamer to have ever graced a cricket field, Wasim Akram. Great to know that both Warne — voted one of Wisden's Top 5 cricketers of the previous century — and Akram rate Sachin as the best batsman of their generation. It is also interesting to note that both of these great bowlers put Sachin a step above Lara.

Here is a chance to relive Sachin's magic so far, thanks to Cricinfo's compilation of Ten of Tendulkar's finest.

Here is wishing Sachin the very best for a speedy recovery. As they say in English, Sachin's best is yet to come! So watchout, both fans and doomsayers.

Written by Proto

April 24, 2006 at 00:04 hrs

Posted in Random Ramblings

Ravindran maash – one year after

with 5 comments

I have been spending a lot of time over the last three days listening to some of the best Malayalam songs from my boyhood days — compositions of the incomparable Ravindran maash. The beauty of his compositions cannot be quite captured in words.

It was with a shock a year ago today I received the news of his death (yes, I got to know about 2 weeks after his sad demise; but then at that point of time, I was shuttling between Bangalore and Chennai on a regular basis that left me with no time whatsoever to catch up with the news). Since then, every time I listen to his composition, the sense of the loss deepens. No music director has managed to move me the way Ravindran managed time and again with his soulful compositions, and I am sure there are countless others who would be sharing this feeling.

On Saturday last, while I was doing some shopping at Spencer's with Subru, I ventured into the Music World and was looking around for the Legends pack on Ravindran. I am not sure whether it has been released yet, but I am sure that I won't mind buying it when it comes out. Instead I had to satisfy myself with Part II of Ravindra Sangeetham. Part I, as my luck would have it, was not available then.

After listening to scorchers like "Samaya Radhangalil njangal", "Mana thaaril engum", "Thenum Vayambum", "Sobhanam Mohanam Karalil amrudham choriyum gaanam", "Sa sa ri ri ga ga chodiyil unarum" and "Chiriyil njan kettu nin geetham sangeetham", I thought it was time someone rekindled his memories, whose first death anniversary passed by without any fanfare (AFAIK).

Let me conclude by pointing you out to a couple of fantastic tributes (posted more than an year ago) to the great maestro. First, a very very moving tribute by Dhool available here, and next, another gem posted here by Only Punjab.

I am yet to listen to the songs from Vadakkumnathan or the song "aalila thaaliyumaay" referred to in those tributes, but knowing Ravindran, I know what to expect when people say that they are great Ravindran songs. Here is praying that his soul may rest in peace, and wishing that I would end up having a good Ravindran collection at home.

Have a great week ahead and thanks for reading thus far.

Written by Proto

April 18, 2006 at 00:28 hrs

Google Calendar goes Live! at last!!

leave a comment »

I have been eagerly awaiting the arrival of Google Calendar for the last couple of weeks. At last, Google has officially rolled it out. Though I am yet to check it out in its entirety, the initial reviews and the tour looks promising.

Try it out for yourself from here

For the keyboard buffs, there are enough shortcuts to keep the juices flowing

If I beat you in discovering this, it is due to the magic of RSS, again! :).

Btw, Apple managed to get an autographed copy of PoEAA written by Martin Fowler et al on 12-Apr-06, after watching the great man deliver what should have been a good speech. Looks like there was a trivia kind of thing, and our man won the prize during it. Way to go, Apple!

Written by Proto

April 13, 2006 at 22:00 hrs

Posted in Random Ramblings

Google Talk Now With Avatars

leave a comment »

The title says it all: Google Talk Now With Avatars! It is not released for public yet, but you can download the installer. Neat.

Written by Proto

April 1, 2006 at 01:17 hrs

Posted in Random Ramblings

RSS Reader shoot-out!

leave a comment »

I am not sure how many of you liked my previous post (heck! I wrote it assuming some of you might like the idea of RSS; but since there are no comments I might have been wrong in assuming so).

But just to keep the ball rolling, I just finished reading this RSS Reader shoot-out over at TechCruch. They have got a pretty useful "live" chart about the feature set of various web based aggregators.

I also recommend reading the Online RSS reader review posted by Brian Shih.

I repeat that if you are not using an aggregator (desktop or web based) you are really missing something useful and beautiful, buddy!.

Finally, I really am interested in knowing how you go about managing your favourite sites/feeds (whether you use an aggregator or visit the site directly every day to see whether something new is posted or not). So do post about your reading habits in the form of comments to either this article or the previous one.

I just finished a hectic week at work as well as on personal front. I will post the TWTW soon. Till then, take care and be well.

Written by Proto

April 1, 2006 at 01:03 hrs

Posted in Random Ramblings