Protos' Musings

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

Setting up my Linux box and Ruby on Rails development environment

with 2 comments

Again, due to the email friendliness of Posterous, have posted it over there: http://protoiyer.posterous.com/setting-up-my-linux-box-and-ruby-on-rails-dev

If at all you want to add comments, kindly do it over there on Posterous. Thanks.

Written by Proto

May 16, 2011 at 02:23 hrs

Ten Years of Professional Programming

with one comment

“Man thrives, oddly enough, only in the presence of a challenging environment.” — L. Ron Hubbard
 
“Be the worst guy in every band you’re in.” — Pat Metheny
 
“There are always two parties; the establishment and the movement.” — Ralph Waldo Emerson
 
Today I am completing the first decade of my career as a professional programmer, and I thought this was a good time to jot down a few thoughts and undertake a whirlwind tour of the last decade. It is just a sweet and pure coincidence that I am sharing the tenth anniversary with the agile manifesto — it was signed on the day I turned pro! And one of the goals is to see whether I can keep this post short!
 
As I had written before, the programming virus was firmly implanted in my brain by my good friend Apple with that now-famous-among-my-circle story of copy a string using 1 line of C code. By the time I finished graduation, I was sort of good in C (thanks to the K&R book) and by the time I joined cdac, I had already read the Stroustrup book. Believe me, it made a huge difference to me at cdac — difference between being wide eyed and learning stuff for the first time, and being good at what you do and helping your classmates with their lab assignments in the lab. It also freed me to read the Gosling book while we were doing the C++ course. And by the time, I had finished the third one, I was a firm convert to the “reading a book is as important as hacking things together or striving to learn stuff by [having not much knowledge but still] doing things. These books also taught me another important lesson — that there is nothing wrong in being a programmer for life since most of the books were written by people who have been programming for 20 years or more!
 
The First Four Years
 
It was on Feb 12, 2001 that I joined — along with a bunch of cdac classmates — my first firm in the beautiful and cool Bangalore. The first year was spent doing mundane bug fixes for a long standing, big VB6 project, befitting my fresher status, but a couple of interesting things happened towards the end of the year — a) many team members underwent VB6 certification (and I got introduced to the world of brain dumps though being the naive guy that I was, I kept well away from the dumps and still cleared the exam with a very good score, though it took me about to month to prepare), and b) I got involved with a bunch of seniors to explore this new thing called .net beta! It was sort of love at first time when I saw the C# language from beta times, but it took me many more years before I was to work on an official C# project. Looking back, it gives me immense pride that I was the one who taught the group about delegates (method pointers) and event handling — and it was the countless hours spent struggling with K&R and Stroustrup that made it possible though I was also learning delegates with the rest of them!
 
In 2002, I was moved to a banking project and it was being developed using Borland Delphi. Moving from VB to Delphi was like a breath of fresh air, as I was back in a language that was as powerful as C++ — being able to work with full oops and pointers — but had a different syntax. I devoured the Borland documentation of the Object Pascal language, and am thankful for the seniors who allowed us the time to learn it properly. I am glad I could do some pretty good and useful stuff in the project, and it was during this project that the actual transformation from being an yet another programmer to being a real professional started, with the Dan Read articles on programming — something that I had already documented that elsewhere in this blog. Thanks to him, I came across the names and works of stalwarts like Martin Fowler, Steve McConnel, Jerry Weinberg, Fred Brooks, and Pete McBreen, so those articles in many ways shaped my thought process, attitude, approach, career, and the way I looked at programming. I am thankful to my then manager, for lighting that spark with an innocuous mail about programming principles! I am also thankful to have bumped into my friend Harikumar during this time from whom I learnt a few important points: a) the importance of continuous reading/learning if you want to be good, b) learn a tool completely, and c) most importantly, you can still have a good career in IT without indulging in office politics. It was also during the early days of Bangalore life that I read about putting a shark in the fish tank and I immediately liked the concept.
 
I bought my first computer in 2003 with the express intention of doing .net certification, and I am glad to report that I am yet to achieve that dream, 8 years on ;)! But though I didn’t accomplish that, I managed to start my love affair with the web as a rich and varied source of learning about programming.
 
The Next Three Years

I shifted out of Bangalore to Chennai in 2005 since my parents were not able to adjust to the cooler climes of Bangalore. I was and am not a big fan of the hot Chennai climate, but having stayed here for 6 years now, I think I have sort of either started liking it or more likely, resigned myself to the fate :). This switch to Chennai had an interesting background story as well. 
 
A good friend of mine wanted to shift out of my first firm and wasn’t averse to moving to Chennai (and anyways, another colleague from the first firm was already in Chennai with my current firm) and this guy had his heart in advanced data related stuff though he was good in practical Delphi as well, and he wanted some help with the theory of Delphi and OOPS. I him with that, and we had a long session that went right past the midnight sitting in the corridor of the awesome Prestige Meridian building. The next day, he aced the interview, and met me and said that may be I too should try, and since the thought of parents not liking Bangalore was in the back of my mind (and his mind), I decided to give it a shot. It was 1pm by the time I finished coffee and discussion with my friend, and since the walk-in was to end at 1530 hrs, I began the hectic “go home, eat lunch asap, update the resume which hasn’t been updated for quite a while, take a printout by visiting multiple internet cafes (since the first few cafes either didn’t had the printer or it was there but not working), rush to Shivaji Nagar to attend the walkin”. Anyways, I managed to just reach a few minutes past the closing time, and I think I was the last one allowed to register. The rest as they say is my[his]tory!
 
In Chennai, I continued to work with Delphi, and managed to build some pretty ordinary and pretty cool stuff (that eventually no one used since the requirement was scrapped when the management at the client changed), started this blog, continued reading books, bought a house, got married, and sort of settled down. But I always have this nagging feeling (nay fear) in the back of my mind that I need to get better and decided to put a shark in the fish tank, and so I started looking out for .net projects since Delphi was dying a quite slow death with Borland selling it off.
 
The Next Two Years
 
I worked in both Delphi and Visual Foxpro for about 6 months, and finally made the switch to .net. It was a pretty challenging project with lots to absorb for someone doing their first official .net project — .net, cab/scsf, csla, mocks, xmpp, the works! I made the first and only onsite trip of my career to the beautiful Sydney, thankfully during the warmer periods there. I am glad that I could rise up to the steep learning curve and the challenges involved in that project. I was also lucky enough to have homemade semya payasam and dinner while I was there though I actually don’t have any close friends or relatives there (thanks a bunch again, Mini!). I came back after the brief 3 month stint with a handful of beautiful memories, continued learning and working, and paused blogging and started tweeting. Of course, ever since Google Reader launched, it has been my faithful companion as well — helping widen my horizons and enrich my knowledge in many fields.
 
The Tenth Year
 
When I started the 10th year of my career, I had sort of challenged myself to be good at things other than the C family of languages (I consider Delphi to be pretty much similar to C++ in terms of concepts involved and supported). I was hooked to Ruby blogs for a long time and had only heard praises about Ruby — be it from the Pragmatic Programmers or Martin Fowler or Uncle Bob or many others whose blogs and books I read — and then there was the whole alt.net movement — inspired by Ruby and Open Source — that I had been following since 2008, and which had helped shape what Microsoft did in the last couple of years in the .net world, be it the introduction of asp.net mvc or introduction of dynamic features to C# or Entity Framework. I also wanted to learn functional programming since the most important feature introduced in C# 3.0 — linq — was influenced by it, and I could see how much more compact the code was compared to the usual imperative programming. I also resolved to find time to read widely to get better.
 
During March, I bought Seven Languages in Seven Weeks when it was announced. It looked like the perfect tool to tackle what I was planning to do. The book started with Ruby, and soon found that I needed a more focussed book to learn, and switched to the good old PickAxe and after that moved to the awesome The Ruby Way. Then two World Cups intervened — the Hockey World Cup in Delhi and the football World Cup in South Africa — followed by a spate of general and technical book reading. 
 
During the last quarter of 2010, Apple and me decided to learn Haskell (preferring it over Scala) since it is a pure functional language and so we will be forced to learn and think in Haskell (rather than write C# or Java style code in Haskell) by spending 2-3 hours every week. We intend to continue the functional programming learning in 2011 and would love to learn Scala as well. We also teamed up to wind our way through most of the excellent The Ruby Programming Language and are now learning Ruby on Rails using the excellent tutorial.
 
 
Looking Back, Looking Forward
 
I am thankful to my parents and Sir and Mami for having inculcated a culture of honesty, hardwork, respect and humbleness, and without whose sacrifices and support I wouldn’t made it this far in life. I am thankful for my dear wife, Preethi, who had kindly allowed me to spent many hours with the books and the computer. I am thankful to the many seniors who helped shape my career at Bangalore and Chennai — their belief in me was a vital cog in my development.  Many thanks to the wonderful bunch of boyhood friends — AppleHarish, Jiju, Mahesh, Ramesh, Raghu, Subru, Sunil — and to my cdac classmates cum ex-colleagues — Beeba, Arun, Gayathri, Ram, and last but not the least, Pradeep and Naresh for their support, discussions and leg pulling ever since I landed in Chennai.
 
I would love to be programming (either professionally or for hobby) for at least another couple of decades (it is a heartfelt, genuine wish, and not a prediction, so don’t take me to task for this statement in future). I want to resort to and build upon my recently cultivated practice of walking regularly for an hour for six months in a year, which is a big improvement over my super lazy lifestyle between 2001 and 2008, because health matters [gcache] when you are no longer young. I hope I continue to be someone who values programming and keep working hard to improve myself, and above all be a good human.
 


***

2010 – The Year of Revival of Tech Book Reading

As part of the get better initiative, I decided to find and spend time improving my knowledge, one book at a time. Though I would love to write a few lines about each book, for lack of time, I am just dumping the list here. But rest assured that each of them is a great book:
 
January:
  The Art of Unit Testing by @RoyOsherove
  Pragmatic Unit Testing in C# with NUnit by the Pragmatic Programmers
  Test-Driven Development in Microsoft .NET by James Newkirk
 
February:  
  C# in depth by @jonskeet
  
March:
  Have a Little Faith by @MitchAlbom 
  The Curious Incident of the Dog in the Night-Time by Mark Haddon 
  Outliers by Malcolm Gladwell

April:
  The Tipping Point by Malcolm Gladwell [December 2010]
  The Gamechangers by @_fakeiplplayer
 
May: 
  Programming Ruby by the Pragmatic Programmers
  The Ruby Way [partially read]
 
June: The FIFA World Cup and cheering for the awesome German team!
 
July:
  To Kill a Mockingbird by Harper Lee
  The Haj by Leon Uris
 
September:
  Agile Software Development with Scrum by Ken Schwaber
  Practices of an Agile Developer by Venkat Subramaniam and Andy Hunt
  Pragmatic Thinking and Learning: Refactor your wetware by Andy Hunt
 
October:
  The Grand Design by Stephen Hawking
  Lean Software Development by Mary Poppendieck
November:
  Implementation Patterns by @KentBeck
  Implementing Lean Software Development by @mpoppendieck
  The Productive Programmer by @neal4d
  Leading Lean Software Development by @mpoppendieck
 
December:
  Programming Haskell by Graham Hutton
 
Last, but not the least, I think it would be a travesty if I don’t mention the book that sparked a revival of sorts in me — The Passionate Programmer, by Chad Fowler,  a gem of a book that I read in 2009. It helped me sharpen my focus on programming as a career and getting better.
 
There is no shortcut to getting better than hard work, practice and reading!

Written by Proto

February 11, 2011 at 17:43 hrs

What fate awaits Sree Padmanabhaswamy Temple? The redux.

with 13 comments

It was with a sad heart that I wrote a couple of years ago about the fate awaiting Sree Padmanabhaswamy Temple. Over the last couple of days, things have taken a decisive turn with the Honourable High Court of Kerala directing the State Government to take immediate steps to form a trust or similar entity to take over control of the temple.

After reading about the judgement, I understood that the current Maharaja or any of the future Maharajas are not supposed to be in charge of running the show in the temple, and in fact, the Royal Family of Travancore cannot even lay claim to the temple. Though this might be true, one cannot escape but feeling sad at the turn of events, and realizing that the soul of the temple might be undergoing metamorphosis in way that may or may not turn out to be for the good — and that may not be case would be a travesty!

This temple is special (to me and many others) and one of the reasons why it is special has everything to do with the notion that the temple belongs to the Travancore Royal Family. This family has a proud and longstanding tradition of being the custodians of the temple and of course, for taking fantastic care of the temple, barring any allegations of misconduct that might have cropped up in recent years.

It is one of those rare temples that I have been to where you actually feel bhakthi, and where, going to the temple is as a joyful process in itself (as you have to wear a mundu [veshti] and neriyal [uthareeyam/shawl], as opposed to zipping in and out of the temple in either the corporate attire or Jeans and T-shirt or God forbid, shorts, on the way to work or cinema or shopping or whatever). Of course, admittedly even this has got diluted over the last 10 years as you can now get a mundu for darshan if you pay a small charge, not to mention the always crowded hallways and long queues for darshan that I get to see most of the time in recent years.

If you grew up in modern — and dare I say, mostly — commercialized big city environments, you might miss out on the gist of what I am driving at here, and I can even see many having this to say about the whole post: “that is just being nostalgic, and sentiments have no place in business or law or whatever, stupid!”.

At this moment, I can’t help but feel a tad angry — how the minorities are allowed to run their religious institutions as per their culture or heritage or manner (and I have nothing against it) but when it comes to Hindus, the Government has to take care of the temples — directly or indirectly. Of course, there must have been some logic behind the idea when it was formed, and though I can understand how it can be useful for many temples that can’t sustain without that aid and care, I fail to see how and why for a temple like Sree Padmanabhaswamy Temple, which has a long history of being well maintained and provided for by the Royal Family, this would be necessary.

May be what we need is some mechanism to have checks and balances – as one of the issues at hand is that there are allegations that the Maharaja is perhaps not doing his best. But I am not sure how this can be reliably implemented.

The most regrettable part of this whole series is how this whole saga might have been kicked off because of petty personal ego clashes – there were a set of people who had [or is it have?] the privilege of having the darshan before the ordinary guys (like me) could go in, and may be some of them were offended by some act of another group or of temple employees. The rest, as they say, is turning out to be history! I don’t know how many people noticed that though it has been almost two decades since the last Maharaja passed away, it is only in the last 4-5 years this issue of who is in charge of the temple or whether the Government should take over the temple has become important.

May Papps (as me and my friends refer to Him fondly) continue to bless us all and ensure better sense prevails, and let us pray that He allows all the great minds involved in this story to come together to find a solution in a way that leaves the soul of the temple untouched. And, if there has been some bad practices — like crap commercialization –introduced in the temple during the last 10-15 years, it can and should be rolled back.

PS: I left my native Trivandrum for my graduation studies in 1995, after spending my first 17 years there and so I am speaking more from my heart than head. Though I visit Trivandrum for a few days every year, I understand it isn’t the same as staying in a place to talk with any authority about the events unfolding.

PS2: I am writing this post after about 18 months, and it took such an extraordinary judgement to wake me out of the slumber. Though I am sad that I neglected this blog for so long, I have been having some interesting learnings and conversations over on Twitter. I hope I get to write more posts more frequently going forward.

Written by Proto

February 2, 2011 at 13:58 hrs

Posted in Random Ramblings, tvm

Malayalam music reality shows on TV

with 5 comments

You might have read my previous posts about the Malayalam reality show – Idea Star Singer (ISS) on Asianet. However I had missed out following or even being aware of another great reality show on Malayalam TV – Super Star Global (SSG) on Amrita TV.

I was introduced to SSG by Preethi (my wife; thanks, dear!) yesterday when she played the awesome rendition of the great Hindi movie song “Kuhu kuhu” [1957!] by the eventual winner Roopa Revathi on an episode from last year. It just blew me away, and so did her medley, not to mention her other efforts!

I am once again thankful to God for having made me someone who can naturally follow both Tamil and Malayalam, and with training — thanks to Kerala schools where you have to learn three languages and Dakshin Bharath Hindi Prachar Sabha — Hindi as well. Tamil, Malayalam and Hindi industries are lucky to have witnessed some of the highest quality film songs made in the last fifty years in India. I would rate the songs in Tamil and Malayalam of the last 30 years even higher than that of Hindi, thanks to men of such calibre like Ilayaraja, Ravindran, Johnson, Yesudas, SPB, Janaki, Chithra and Rahman.

Then I stumbled upon this wonderful wrap-up of these two reality shows by Balaji Srinivasan in this blog post. Nothing much is left for me to say. I hope you would get to enjoy a few hours of high quality music. A quick and dirty way to listen to Roopa’s songs are by visiting the audio page on her alternate site (strange a person having two sites whose address differ literally by a dot!).

The only problem I have now is to convince Airtel Digital TV to start transmitting Amrita TV. If that happens, it would be great to immerse myself in music between 8 and 10pm whenever time permits.

Oh, yes, thanks to Balaji, got to read this great piece on Roger Federer by the NYT as well. The happiness I derived from music and reading today was moving enough to inspire me to write something on this blog after a few extremely hectic weeks. I do hope I get to experience more such days, thanks to perhaps the most useful invention of the last century — internet. It would be great to hear your comments.

Update: A comprehensive dissection of Roopa’s SSG 2008 performance is available over at Subash’s blog.

Written by Proto

July 11, 2009 at 02:25 hrs

Idea Star Singer 2008 draws to a close – Vivek the deserving winner

with 7 comments

The Mega Finals of the best music reality show I have seen so far – Idea Star Singer on Asianet 2008 – was held at the Chandrashekaran Nair Stadium yesterday. I thoroughly enjoyed the singing by the six contestants who made it to the finals. I thought, in the end, the two candidates who walked away the awesome winner’s price (for male and female categories) throughly deserved it — Vivek for his brilliance and Sonia for her consistency and awesome rendition of Paadi thodiyiletho (another gem by the late great Raveendran maashu).

I saw someone comparing Vivek with the maestro KJY, after the former sang the latter’s classic song – Harimuraleeravam from Aaram Thampuran, and cribbing that he didn’t sing it as well as KJY [comments section of this youtube page: http://www.youtube.com/watch?v=_2duvfWk-7A]. I think that is grossly unfair to both of them. One was, and perhaps still is, at the pinnacle of his powers when he sung that and the other is just starting his journey as a singer of repute.

Vivek was my favorite contestant ever since I saw his performance during the audition round (way back in May 2008 :) and I am happy he emerged the deserving winner. My pick of  the best by Vivek would include Parayaan maranna, Kattile paazhmulam, Sumuhoorthamaay, Oru kadalaay and Harimuraleeravam. My appreciation so far (though I haven’t wrote much for a couple of months now thanks to Twitter, but that is another story for another day) of Idea Star Singer here: http://www.google.com/search?q=”idea+star+singer”+Vivek+OR+Vivekanand+site:protoiyer.wordpress.com. The best source to watch all the Idea Star Singer videos would be: http://www.youtube.com/user/amidalastarsinger.

The only thing that struck me as odd was that the price given to the last three contestants was below par compared to what the winners made. Also, I thought Prasobh was better than Rahul.  Looking forward to ISS 2009 that starts in a couple of weeks from now.

Written by Proto

April 27, 2009 at 00:00 hrs

Posted in music, Random Ramblings

Boxing Day at Sydney and the flight back home

leave a comment »

Boxing Day was the last full day at Sydney. We spent the Christmas Day in the room and did the packing bit, since the local people advised us that nothing would be open that day. So, of the two days available, only the Boxing Day was available for us for sight seeing.

Sridhar was yet to visit any beach in Sydney, and I too wanted to visit the famous Bondi Beach (Sydney’s most famous beach; there are lots of great beaches in and around Sydney). We also wanted to visit the Aquarium. Then there was the small matter of watching Sydney turn into an Asian city for a day – a rare opportunity to watch road side shops and roads thickly crowded with people who are out to get stuff at a very cheap price.

On Boxing Day most of the big shops provide huge discounts (sort of clearance sale, but only for a day) and there will be lots of roadside makeshift shops selling all kinds of stuff. We spent the morning wandering around the streets of Sydney and visiting the two famous shopping malls/shops – the Myers and David Jones. It was as good or as bad as (depending on your perspective) like our Saravana Stores in T.Nagar that day! The shops were teeming with people in a way I have never seen in Sydney before. Some of the shops even had long queues outside.

From there we went to the Sydney Aquarium that is just down the Market Street on the Darling Harbour, and about 3 minute walk from our office. Since Bondi was in the back of the mind, we didn’t spend as much time at the Aquarium as we would have liked to, but still managed to clock a decent three hours. It is a pretty good aquarium (and since I haven’t been to any other foreign aquariums, it is the best I have seen so far). What struck me wherever I go in Australia has been the importance they provide for accessibility to physically challenged people (which also helps the kids’ pram and so there were lots and lots of families out there with really small kids).

It was close to 1500 hrs by the time we managed to hit the Indian Food Court in The Galleries Victoria and we were both tired and extremely hungry. After having our lunch, we set off to the Circular Quay one last time, to catch the Bondi Bendy Pre-Pay. Bondi turned out to be a beautiful, albeit, crowded beach (thanks to the Boxing Day being a holiday and the season being the start of the summer). We stayed there for about three hours and took hundreds of pictures. I even managed to inspire myself to walk up the slope to take what I would rate as one of the better pix I have taken so far – the view of the entire beach. This is the only pix that I have uploaded at the actual size of 3456×2592 pixels or 9 mega pixels. You can download that pix to see it in full size (using Download button/menu in that pix’s page). Of course, there are far better pix of Bondi out there on the web.

Thus ended a rather memorable day – my last – at Sydney. The next day, we left by the noon flight to Singapore and from there to Chennai. We had a four hour break at Singapore and spent the first three and a half hours doing mostly window shopping and eating dosa. I watched Kungu Panda and Finding Nemo in the flight (and a bit of Subramaniapuram). Watching Finding Nemo again was interesting since I had completely forgotten that the story involves Sydney in a big way. I had seen the movie once about four years back, but then Sydney was just like any other city in some foreign land, and so it never registered in my brain. It was fun to watch the fish herd turn into the shape of Opera House on hearing the word “Sydney” or seeing the view of the Sydney Harbour in many of the shots.

We had a minor scare when we turned up at the Sats counter in Terminal 1. The guy who was sitting there gave us a piece of his mind for turning up so late for the flight (it was 2030 and the flight was at 2105). We were first told we won’t be able to get into the flight. I was genuinely surprised since at a place like Sydney I saw a lady who was at the security check at 1130 hrs to catch the 1130 flight out to some Asian country. So I was wondering what he was harping about.

The guy spoke on the phone with (apparently) the Indian Airlines authorities and then told us that we are lucky and we can catch the flight still, We were then asked whether we were ready to fly without the checked-in baggage. When asked what would happen to the baggage, he told us that it might reach Chennai in a day or two, but nothing can be guaranteed as to whether and when it would come. We had no option but to reply yes, we would love to fly out and reach home.

Another phone call ensued and lasted for about five minutes, after which we were told the baggage too is coming with us. We were given the boarding pass and were advised to not to turn up late for a transit flight. He saw us off asking us to rush to the designated gate to catch our flight. I only remember running madly for the next five minutes or so to reach the gate, and just avoiding running into a kid at a slope. She appeared out of nowhere and was running at top speed up the slope (and I was going down and had to veer out of her way).

The security check in happened at that gate, and we were welcomed by a team of Indians (Indian Airlines staff?) and they asked told us to relax and take it easy, and that the flight is still on the ground only and so we were not going to miss it. I finished the check puffing and panting and collected my hand luggage and stepped into the other side. Any idea what I saw there? About 75 Indians sitting there to travel in the same flight, and no one (including the staff) was worried that it was 2050 hrs and the flight was at 2105 :). I think if the Sats guy had seen the crowd sitting casually there, he would have had a heart-attack!

I reached home that night by midnight, and it felt good to realize that I won’t have to eat bread (or Kellogs) for breakfast from now on :). Thus ended a rather memorable 3 months period in my life.

Here are the links to the pix:

Boxing Day at Sydney

Sydney Aquarium

Bondi Beach

At the Singapore airport

Written by Proto

January 14, 2009 at 15:36 hrs

Raveendran Maashu – a redux

with 6 comments

Looks like this is the redux season on my blog. As I wrote twice almost three years back, no music director has managed to strike a chord with me as much as the late legend Raveendran Maashu (Maashu, for the uninitiated, is Malayalam for Sir). When I was at Sydney, with no access to any Malayalam channels, I used to listen to a couple of CDs from my Malayalam songs collection from the 80s through 00s, and most of the songs I took with me were the ones from the stupendously successful and enormously talented Raveendran – Yesudas team. I am thankful I took them with me, though I didn’t take even a single movie or any other songs collection. I was happy listening to those songs almost daily!

Today I was watching Vivekanand’s latest performance in the Idea Star Singer competition – the “otta kambi naadam” song from the movie Thenum Vayambum (1981), originally sung by the incomparable Yesudas [go listen to it even if you don’t understand Malalyalam or music :)], a song so beautiful that it made Sharreth, one of my other favorite music directors, who is a judge in the show, remark “it should have been ‘oru laksham kambi naadam’..that is how majestically Yesudas has rendered this song.”. For the uninitiated, the opening three words of the original song lyric means “the sound of a solitary string [of a music instrument]” and Sharreth said “it should have been ‘the sound of a million strings’..that is how well Yesudas has rendered this song”.

Though Vivekanand had a bad day today, I still believe he is (going to be) the Star Singer 2008. Just listen to these four great songs from the previous rounds, and I hope you too would agree that this is one enormously talented lad. At least Ramesh had to change his opinion after allowing himself to be swept away by the beauty of Vivek’s rendition of the song “oru kadalaay”. I think he did a slightly better job than the original, thanks to his rich voice. Here is the playlist with his entire performance so far, and I find myself playing songs from this list, at least once a week, for a few weeks now. You too might find it a nice way to spend an hour or so :).

As I was listening to Sharreth’s comments, I thought I will search for some more info about Raveendran maashu. It was then that I stumbled across this Wikipedia entry on Raveendran maashu and this blog from Nikhil Venugopal, who seems to know music and loves music far better/more than me, where he has three great posts on (including an interview with) Raveendran maashu. The only drawback (a drawback if you can’t read Malayalam) is that it is in Malayalam, though the first post about Raveendran is in English.

I am not well versed in Carnatic music (I don’t know the raagas in spite of learning Carnatic for two or three years in my childhood days, though I think I can discern great music from merely good or average music from downright bad music or noise), I found the posts both interesting and nostalgic.

It took me back to my childhood days when I used to tune into the cinema songs hour(s) in Vividh Bharathi and All India Radio (Trivandrum station), perhaps just like so many other people in my native (and perhaps around India) at that time — mid and late 80s and early 90s. Television was just making an appearance and even if it had, it was certainly not 24*7 and there was just one channel – Doordarshan (Indian National Channel run by the Government). So the radio was a far more important and influential medium than it is today.

Anyway, I hope you like Nikhil’s posts. I really don’t know why we don’t have a 5 CD or 10 CD pack of his songs yet (or is it already out in Kerala already?). He deserves a HMV-SaReGaMa Legends collection or something equivalent.

Finally, to really understand who or what Sharreth is and why I like him, listen to these three samples, and yes, all are his own compositions. If you are going to listen to just one of them, let it be this duet with Unnikrishnan. Here is the search list of songs available in You Tube sung by Sharreth if you want to listen to more.

Oh, yes, lest I forget, Raveendran maashu had this to say about Sharreth in 1994:

Q: Does any of the new generation music directors give you hope?

A [Raveendran Maashu]: Sharreth. There is music in his songs. He understands music. We should encourage and congratulate him.

I hope Sharreth would give us scores (or hundreds) of beautiful songs in the future. Malayalam music industry hasn’t been too supportive of Sharreth in the past, and I hope that would change for the better. May Kerala not join the rest of the country in giving the cold shoulder to shudha-sangeetham (pure music) in mainstream cinema music. I hope Kerala continues to encourage more and more youngsters to learn the basics of music before dreaming big and high.

I have my hopes set high after listening to this today – the Classical music round from last year’s Idea Star Singer, sung by Thushar. I don’t think any of the reality music shows in either Tamil or Hindi has anything like this (perhaps I am wrong here, but I wouldn’t mind knowing about another show that is in the same class) or where the contestants are of this class or this versatile. Don’t forget to listen to the judge’s comments too. Kerala is blessed to have given birth to so many world class talented souls — Yesudas, Raveendran, Chithra, Sujatha, Unnikrishnan, Johnson, Ousepachan and Sharreth to name just a few (and not including any of the music directors from the previous generation).

Written by Proto

January 11, 2009 at 01:08 hrs

Visit to the Darling Harbour

leave a comment »

Dec 24th was the last working day at Sydney. It was also the day I decided to take the new Sony Cybershot H50 to work. And the best part was that it was also decided that we would walk across the Pyrmont Bridge to go to the other side of the Darling Harbour. In spite of it being just a ten minute walk from office, I had shied away from taking that walk during normal office days, as I was afraid (and on hindsight, rightly so) that I won’t return back in less than an hour and a half as it is a very beautiful walk and there are lots of eye-catching sights on the way.

It was a half day for us and so we had the whole of the afternoon to us to explore the area surrounding the office. The unfortunate part was that it was one of those real cloudy days, and that took a bit away from the enjoyment (and the beauty of the pix). But the grey sky has a beauty of its own, though a bit bleak and a bit sad, as if mother nature is crying or is upset.

On this side of the Darling Harbour is the Citi area – the downtown area spanning the Sussex, Kent, Clarence, York, George, Pitt, Castlereagh streets in one direction, and the King, Market, Druitt, Liverpool and Goulburn streets on the other (and they intersect each other to form a grid in the map). Darling Park (the office building) is situated on the Sussex Street, right on the intersection with the Market Street. This side of the Harbour also houses the Sydney Aquarium — another place that was off the radar for as long as 90 days — and that was just a five minute walk from office! On the other side (clearly visible from our office and the most photographed place by me while at Sydney) is the Sydney Convention Centre, the National Maritime Museum, the Pyrmont Bay and the Harbourside Shopping Centre housing multiple food courts, shops and more importantly (for me that day) – KingPin Bowling!

I spend the morning doing some work, and then around noon time got serious with taking snaps in and around the office. Post lunch, we decided to spend some time doing some light shopping. I used the time to order the 50 free prints that was offered by Teds (that came with the camera purchase). Why miss out on something that is both good and free?

Karthick, a colleague at the Sydney office, offered to take us to a game of bowling at the KingPin bowling that evening, and we lapped up the offer. The free prints at Ted took some time coming, and so by around 5pm I started the walk from Pitt street towards Kingping bowling, and in the process crossing the Pyrmont Bridge for the first and the last time. It is a huge and beautiful bridge, more than 100 years old, and an Australian Engineering Landmark. As the citation embedded on the bridge says “…the approach span represented the highest level of development of the Timber Truss..”. It is a sight on its own to behold, and the view from the bridge to either side is also awesome.

After spending quite some time soaking in the beauty of the sights on offer and merrily snapping away, I reached the other side of the bridge, and slowly walked towards the edge of the Cockle Bay Wharf. I reached the front of the Sydney Convention Centre and saw one of the biggest Christmas trees I would get to see in my life, and also saw the monument erected to commemorate the Olympics held at Sydney in 2000. I also saw this beautiful mini pool of water that had a circular walkway immersed in water, that was quite an attraction for adults and children alike. People had thronged the the Harbourside Shopping Centre and all the restaurants were having a great business that evening.

Finally I reached the Kingpin Bowling. Karthick and his friends and Sridhar were already into the first game. I waited a bit to get introduced to his friends and to get an offer to try my hand, and snatched turns from others to enjoy a few turns at bowling. Bowling turned out to be nowhere near as dumb as I thought it was (a view reinforced by watching on TV on Christmas Day highlights of some event involving Europe and the Americas where some really serious skills was on display). I left after an hour or so (was feeling hungry and had to purchase rice for that night and the next day – the Christmas Day — when no shop or local restaurants would be open).

Thus ended the last working day Sydney. As always, here is the link to the pix. The Sydney series will end with a post about a rather busy Boxing Day when I got to visit the Aquarium and the Bondi beach (and hopefully some great pix).

Written by Proto

January 3, 2009 at 16:31 hrs

How to be a better programmer – the redux part 2

with 10 comments

“Most programmers have only a vague notion of how competent they are at what they do for a living”Steve Yegge

“Experience comes from practice”Andy Hunt

I thought I was done and dusted having wrote that previous redux post about how to be a better programmer. But my good friend Subru had posted a comment that made me (as it does most of the time) take notice and do some thinking and research about the importance of study and practice in the career of programmers. I did that since it has a direct impact on the topic I have been harping about — the talent of the programmers like me, or the lack of it.

Subru had wrote that reading a few books need not necessarily make you better. He said that observing and interacting with senior craftsmen would make you a better programmer. It is precisely this attitude and observation that I wanted to do some thinking about. I, based on my personal experience, believe that it is better to read the books than observing the masters. The reason being that you never know whether the maestro is actually doing the right thing or more importantly, it is the right thing for you at the stage or phase of your learning or career.  Plus, what if the meastro hasn’t read anything in the recent past and so is not in touch with the latest developments in the field?

I had this doubt, nay, conviction, partly because I had the good fortune of reading about Shu Ha Ri which was an appendix of the great Alistair Cockburn book Agile Software Development: the Co-operative Game, and partly because I believe Subru was wrong about the books. Shu Ha Ri teaches you that a beginner (the Shu phase) needs a framework or a rigid set of rules to follow, plus constant feedback to get through the initial learning phase. In the intermediate level (the Ha phase) one masters the rules, and learns all the tricks of the trade. In the advanced phase (the Ri phase) one needs to actually forget the rules or transcend the rules and make one’s own rules of the game.

Ok, so what am I harping about here? Well, just the fact that with practice anyone (who is not physically or mentally invalidated to even attempt the task at hand) can move from being a novice to a master. All it takes is dedication and some knowledge of how to travel the path of mastery. I am not saying this. Hear it in Kathy Sierra’s (of the Head First Java and Head First Design Patterns fame) words here. Having experienced first hand how Apple and myself could actually become far better programmers than what we were when we started out, I can vouch for it. I am not talking about the linear progression in talent that people who don’t read books enjoy. In our case, the progression was non-linear, if not exponential, and it was made possible by the simple fact that we studied (read) and we practiced what we studied — him probably more than me.

In fact some of the best minds in our industry believe what Kathy was conveying passionately. Steve Yeggey, one of the best bloggers I have read, has analyzed this topic in-depth, and later came up with an article titled “Practicing Programming” for people like you and me (the average programmer) to reflect upon and work upon to becoming a better programmer. He wrote both the articles a few years back when he was still with Amazon, and now he is with Google.

He writes in the first essay:

Bob (our average programmer) knows this guy Joe who’s just amazing. Joe’s like the best programmer Bob’s ever known…He’s a natural at it. One of them whiz kids…

In Bob’s view of the world, there are essentially three programmer skill levels: folks learning how to program, folks like Bob who know how to program, and the inevitable whizzes, but they’re few and far between. There are always a few whizzes out there, the ones who used to be child geniuses or whatever…

Bob has no incentive whatsoever to try to improve his skills: He knows he’s not as good as Joe. But Joe’s great on account of his genes, not because he practiced or studied more than Bob did, back in school. Obviously Bob can’t compete with people who were kid geniuses, and he shouldn’t exert himself unduly on their account.

It is a great rant and a rich source of stuff for us to reflect upon. At least I came back knowing more about myself and realizing I had been that Bob at many a time, and probably still am a Bob in many ways.

This is reinforced by the works of two authors I respect very highly — Andy Hunt and Dave Thomas (of the Pragmatic Programmer fame). Dave, for instance, thought deeply about the importance of study and practice. He went on to devised a set of exercises, named Code Kata, for exerting the programmer’s brain — stuff for us to chew upon to become better at what we do. And finally, here is his take on the various phases of learning and skill acquisition which is similar to the Shu Ha Ri theory, but based on the art of karate.

Of course, the real spark for this article was this great post by Jeff Atwood: “Programming: Love It or Leave It” earlier this week. From there the trail of reading (thanks to Google) led me to this rather controversial article about how to become a better programmer by not programming. I don’t think, for once, the author is 100% right. Yes, Bill Gates is right, but the point is people can improve and many people really do. As Kathy says, of course, that won’t be enough to be the gold medal winner at the Olympics, but we can be the street, council, district, state or national champions, at least.

So, the point is, IMHO, it is a far safer better to depend on books rather than trying to observe a mentor, for the simple fact that at least I have bumped into only a handful of people in India in eight years from whom I could learn something about programming. Of course there are lots of people to observe and learn about people management and the art of maintaining relationships or soft skills, but that is beside the point of this post. I accept that perhaps I am not good enough to have worked at a Google or a Microsoft, or that I was perhaps exceptionally unlucky (not to have bumped into more mentors) but the point is 90% of the software developers are not working at Google or Microsoft either. And people like me too have a right — and a duty — to improve, right?

As Peter Norvig says in the article Teach Yourself Programming in 10 years, to be really good at anything including programming requires lots of time, effort and dedication, and more importantly, we all know that if the pioneers of the Design Patterns movement hadn’t read Christopher Alexander’s work(s) on architecture, there probably would have been no Design Patterns movement. And if I hadn’t read those great books or those great blogs, there wouldn’t have been this post either!

Apple implants the programming virus in my brain

Also, I wouldn’t have started my journey of becoming better had my good friend Apple not read the K&R book and made me both feel small and admire his skills when he wrote this sometime in 1999 in my notebook:

while (*t++ = *s++);

That, for the uninitiated, is the succint way of copying a source character array into a target character array in C. Apple wrote this after asking me to write a program to copy an array, and the best I could think of was to write half a dozen lines or so to achieve the same, and without using pointers. That was the moment when my journey to get better actually started. Even after that moment, I was the guy who did his C++ project in C (at NIIT), since I couldn’t quite understand what this fuss about using objects was all about (and I was good at C thanks to the K&R book)! And it required reading The C++ Programming Language by Bjarne Stroustrup in 2000 to make me see the light, at last, and luckily, I never turned my back at lapping up a great programming book since then!

To wrap up, I would rather continue reading than either sitting idle or just (waiting for and) watching the right mentor. And I would ask every developer interested in becoming better to do the same.

Oh, and yes, lest I forget…Happy new year and thanks for reading yet another long post!

Written by Proto

January 2, 2009 at 01:43 hrs

Apple does a Kenneth Anderson — the redux

with one comment

This time he is off to Kanha, in Madhya Pradesh. The writing and the pix are superb. Go, give it a read. I just hope he wouldn’t abruptly stop, like what he did last time. I am really thinking of packing my bags and join him in one of his trips. But first I need to shed off a few kilos to be match-fit :).

Written by Proto

December 22, 2008 at 18:38 hrs

Posted in Random Ramblings