Rockstar Soundtrack - First Impressions

    Warning: May contain traces of satire and humour

    This is, unfortunately, an unpaid review. Hence, most of what’s written here is not made up. This can be very disappointing to some of you who read mainstream media, so please take it slowly. Media is after all a business and a source of bread and butter for many people. And bread and butter is definitely expensive, especially in India.

    Don’t get me wrong, I am not the unbiased vigilante blogger. In fact, I tried my best to get paid for this music review. Apparently, Rockstar’s PR was not in a mood to humor a small-time blogger like me. Completely unfair, since being fond of Rehman’s music I would have written a pretty nice review anyways!

    Rockstar

    So, this review wouldn’t be too nice. Because it is written for free. So Mr. Cheapstakes, you can wipe that mocking smirk off your face. Let’s have a look at Rockstar’s playlist:

    Jo Bhi Mein - Mohit Chauhan

    Oh yeah, yeah, yeah… I can this one sing too. Have to appreciate the sense of humour of the lyricist Irshad Kamil (even better than me in this regard). The album starts with the ‘Rockstar’ yelling ‘Oh yeah, yeah’ and the audience, accepting the challenge, yells it back. This goes back and forth till you can guess who wins in the end (Hint: it’s the guy with the mic).

    The song is heavily set on guitar strings and the mimicry abilities of the singer (cost-cutting measures?), while it introduces you to the apparently always-misunderstood-protagonist. You cannot imagine someone better than Mohit rendering this rock-pop composition. The song immerses yourself into a rock concert minus the sweaty t-shirts.

    Kateya Karun - Harshdeep Kaur & Sapna Awasthi

    Can music tickle your ears till you smile? Yes it can. Listen to this one. Not sure what vodoo music engineering that Rehman employs but the opening of this track is a quirky yet hilarious stereo experience. It is great for testing your new 200 buck earphones and be unjustifiably happy about it too. How do I know that you have cheap earphones? You are reading a free review, aren’t you?

    Countless Punjabi Bollywood numbers have been created filled with ‘Ahuns’, ‘Oyes’ and ‘Brrrrraaahs’. So what makes this one different? Glad that you are wondering the same thing as I did. Funny, how that works. I guess it has to do with the innocent naughtiness in the lyrics and an equally fun rendering by Harshdeep.

    This song made me wonder why I like Rehman’s music. I realised that it’s because I understand what he is trying to convey through his music. To my musically untrained ears, when he foreshadows the ending of the track with deescalating string chords I anticipate that we are slipping into a dream. Ending on that dreamy note, I believe that the entire song is a roller-coaster ride suited for a coming-of-age situation.

    Phir Se Ud Chala - Mohit Chauhan

    There he goes up again… well, that’s what the song’s title literally means. I am not sure what he does up there but I guess it’s an occupational hazard with rockstars. They are high up there all the time. So probably that’s what this trippy, trancy song is all about. Not bad for, emmm… those meditative moments.

    Saadda Haq - Mohit Chauhan

    This the song that screamed from the top of our set-top boxes. The lines that were intentionally strong to create that intentionally strong effect. The song that was set to be the youth anthem. Except it didn’t.

    Saadda turned too saada in the wake of dozens of oh-so-anguished-wanna-be rock songs preceded it. Every producer wanted to cash in on the rock-craze, I guess. Hence to the DK-Bose generation the impassioned lyrics might sound a bit… tame? However, it does stand apart from the recent rock ballads with Mohit’s raw energy. Oh yes, there is that signature “Oh yeah” all over again.

    Kun Fayakun - A.R.Rahman, Javed Ali & Mohit Chauhan

    How many hit sufi-style devotional songs can Rehman create? Unlimited, apparently. Like a crazy fan, we fall completely in love with the soulful music and philosophical lines sung by Rehman and team. BTW, why is Mohit in every song? Is Mohit - the ‘Rockstar’?

    Sheher Mein - Mohit Chauhan, Karthik

    Enjoyed this parody of a typical dhink-chak Bollywood number complete with a sleazy producer interrupting from time to time. It’s a literal slap in the face by Imtiaz’s team on the crass commercialisation of the music industry that adds masala catering to every demographic, suggestive lyrics for the controversy factor and catchy jingles for higher ringtone sales.

    Thoroughly enjoyed the entire track where you can hear a toned-down mushy Mohit, who breaks out in the interludes to his wild raw form. This song would probably show the inner turmoil of a rebel artist bending backwards just to pay his bills. The result is fantastically comical.

    Hava Hava - Mohit Chauhan, Viviane, Tanvi, Suvi Suresh, Shalini

    Ever happened that you had to listen to a foot-tapping Middle-eastern number with all the cheering and clapping, but never managed to understand a word of why or what they are so happy about? Ever tried to fill-in the words with an imaginary storyline of why they are so happy? Come on, you must definitely have. That’s exactly what is happening in this track.

    Beware though, the enthusiasm in this track in highly infectious. When you set to listen to this on your 5.1 home theatre speaker, it’s likely that you would have gotten up and started dancing in Turkish folk steps. Possibly, your neighbour would be also doing the exact same thing.

    Aur Ho - Mohit Chauhan, Alma Ferovic

    This is a song that takes itself too seriously. It talks of breakups and sadness. Apparently, there is a certain following for such songs. They love the ‘depth of emotions’ in such numbers. Sorry folks, this isn’t really my cuppa here.

    Tango For Taj - Theme

    Reminding you of the background scores of late-seventies movies like Bobby or even tamil movies like Mouna Raagam, this instrumental score carries an endearing nostalgia about it. However the Turkish dance troupe (whom we met a few songs back) gate-crashes into the party. From then on, as you can guess, it’s all clapping and cheering. Gotta hate their cheeky enthusiasm for that.

    Tum Ko - Kavita Subamaniam

    Finally! A song without Mohit! I was beginning to wonder if there is one. This is one of those so beautifully rendered female numbers that draws you in completely. Rehman has done this before, most recently, with Sherya’s Mannipaya. In that song, the apology rendered by her is so touching that you end up weeping at her feet, pleading forgiveness. Ok, who was apologising again?

    The Dichotomy of Fame - Ft.Balesh on Shehnai, Kabuli on Guitars

    A fusion of Indian shehnai, middle-eastern strings and western violins is all I can say. Yes, I am beginning to get lazy with this review thing. Did I mention that I wasn’t paid?

    Naadaan Parindey - A.R.Rahman, Mohit Chauhan

    A mellowed down rock song where Rehman’s voice is surprisingly soothing.

    Tum Ho - Mohit Chauhan, Suzanne D Mello

    The male version of Kavitha’s song. Not as exceptionally good, but great for long-drives nonetheless!

    The Meeting Place - Ranbir Kapoor

    Ok, this is not even a song. I am definitely not reviewing this one!

    It’s risky to write about first impressions for Rehman’s creations. His music tends to grow on you on repeated hearings. Time to stop the tape and rewind. Maybe I will change my mind and be nicer.

    BTW, you are welcome.

    Comments →

    Growing up as a programmer

    Whether to build or to reuse is a classic dilemma for most programmers. If you choose build, then you would have to spend a lot of effort designing, coding, testing and debugging your creation. If you choose to reuse, then you would have to pour over all the documentation which would be typically outdated or inadequate in many places.

    Coffee Cup

    Initially, most programmers start out as cowboys. They are fearless and fiercely independent. They believe that they can build anything and need not waste time struggling to understand somebody else’s horrible piece of code. It works for a while because they have the skill of programming and we all can program our way out of anything, right? Wrong.

    There are many things a beginner programmer cannot do because of the sheer lack of understanding of the domain. Notice that I did not use the word ‘Experience’. You might be able to write a search engine from scratch but it would takes years to return even remotely relevant results for all use-cases (say, something like Google does). You might be able to create a Sudoku solver but a Chess solver is out of the league even for the most experienced programmers.

    As you gain experience, you realise that reading code is a skill as important or rather more important than the skill to write it. Similar to any work of literature, you need to understand the classics and read works of legends to become a better practitioner. Extending the analogy a bit further, it would take quite some time before you assimilate all these ‘influences’ and become ready to write in your own distinctive ‘style’. This might take several years.

    Even though the industry is slowing recognising the fact that it might take longer to become an experienced programmer, the career path they offer for successful programmers is indeed unfortunate. A successful programmer is generally required to become a manager in order to pursue a successful career. Even if he/she chooses to become an architect, they would be far removed from being a practioner and would be asked to make plans or designs in thin air instead.

    In the extremely rare case of a programmer continuing to pursue this domain and excel in it, he/she rediscovers the art of building simpler code. The simplicity aspect must be emphasised here. Great programmers identify simplicity and minimalism with beauty and continue to focus on it.

    This explains the almost cult following of LISP among experienced hackers. The lure of Apple products among geeks is not in its shininess but rather in its simplicity. Most software geeks love to tinker with simple microprocessor boards like Arduino or PIC as a hobby project. Possibly with the highest number of computer scientists in its payroll, Google is virtually an ecosystem of multiple small and large projects, each mostly focussed on a singular functionality.

    The experienced programmer is not trying to built an impressively complex system that solves many problems here. Instead he is trying to solve a simple problem with simple tools. Why would someone with so much experience do something so counter-intuitive? Younger programmers often use much more complicated tools (such as graphical IDEs) or languages (such as Java or Perl) to attack a problem.

    This is not (just) because they are lazy. This has to do mostly with the fact that their goals have changed. They do not find the task of creating something as an end to itself. They would like their creations become a means to achieve some purpose or solve a unique problem. The more simpler the tool they use, the more focussed they are at trying different approaches.

    Rather than learning several tools to attack the problem, they employ the most elementary tool possible and try approaches that have never been tried before. Indeed, the solution might be underwhelmingly simple and it might even be obvious. But only when the problem was reduced to its core that such an innovative solution was possible. It might have been obvious all along but the answer was hidden in all those multiple layers of abstraction.

    So here is a piece of advice, in case you are looking for one, to anyone who is embarking on a simple project - Choose the simplest possible implementation and build it yourself. If you fail, you can alteast iterate quickly. If you succeed early on, you haven’t tried hard enough ;)

    Comments →

    Lured to Bengaluru

    As of last week, I have completed my move to the technology mecca of India - Bangalore. I have had a lovely 3 year stint in Mangalore. Have so many wonderful memories with the place that the decision to move seemed impossible. But finally we took the plunge.

    Shift key

    My waking hours have been shifted to ensure that I experience less peak time traffic. So this means early mornings and early evenings. Not sure how this would impact my Blogging. Hopefully for the best.

    First Impressions

    I have worked in Bangalore in 2004 and have visited the city several times before and after that. An easy observation to make would be the explosion in population of people/vehicles and the deteriorating weather. Certain areas which were considered “outskirts” like Bannerghatta Road are now prime locations with every major retail outlet you can think of. I am currently staying in Bannerghatta Road.

    The traffic jams have somewhat reduced thanks to projects like the Silk Board Elevated Tollway and NICE road. The commuting time at around 8 in the morning is just thirty minutes by office bus via NICE. This is quite reasonable compared to many horror stories of two to three hours of commuting time in certain areas. I would say that shorter commuting times significantly improve one’s work-life satisfaction.

    Out of curiousity, I enquired with a lot of people on how they spend their commuting times. Even if it’s one hour one-way, it adds up to around 40 hours of lost time. Most people replied that they either sleep or listen to music. A few catchup on the daily newspaper or rarely a book.

    I have opted to take my Infibeam Pi along. It makes the mundane bus journeys a lot more interesting. There is a huge, huge backlog of books that I have always wanted to read. With many free ePubs being available, its always a pleasure to have several million pages of literature and technology at one’s finger tips. I was not a big fan of reading in a moving vehicle (sometimes causes motion sickness). But thanks to good roads, I don’t find reading in the office bus to be much of an inconvenience.

    Any move is hardly a pleasant experience. We are still in the process of settling down. The nice thing is that Bangaloreans are quite active in many online communities and it is quite easy to get tips and essential information online. This makes the settling down process a lot easier.

    There are my early impressions, but I’m pretty sure that they will change over time.

    Comments →

    Learning OOP Programming in C++ - A Horror Story

    During my school days, we had a subject called Computer Science in our +1 syllabus. The CBSE syllabus had been just updated that year to teach people to programming in C++ as their first language. This was a horrible decision in many respects:

    1. OOP is not the best approach for all types of problems: I know that most of the readers would be surprised by this statement. It’s not very hard to prove that OOP was originated to model certain kinds of problem spaces resembling Simulation. The granddaddy of all OOP languages is a self-descriptively named language called SIMULA. But in the nineties people began to take up OOP as a religion. Every problem seemed to best modelled only in Object Dis-oriented Programming.
    Back to my school where most people were learning to program, they had to tackle the dual challenges of - understanding a programming language and learning to model problems in OOP. So, a simple 5 line calculator program would turn out be pages of class definitions like Calculator, Operator etc. A recent article shows why [New Programmers get distracted with OOP][1]. 
    
    ![K&R C book][9] 
    
    1. C++ is a nightmarish language: I presume that the curriculum board must have assumed that C is a widespread language and C++ being its successor, it would a suitable choice for students. However, a quick look at the language reference would prove them wrong. The canonical guide to C is the slim K&R book having 272 pages, while the C++ Annotated Reference spreadout in cryptic 480 pages is a monstrosity.
    C++ was the language even experts couldn't fully master then and the situation has barely improved now. Many organisations use only a subset of the language (including [Google][4]) due to the immense complexity of the entire language. My advice to newcomers, unless you are the rare exception, is definitely to: _Stay clear of C++ or get bogged down_.
    
    1. Interactivity: For learning a language, nothing works better than a fast write-run cycle. We used Turbo C++ compiler on Windows 3.1 back then (most Indian colleges still use them *shudder*) and it had a pretty decent turnaround time for small programs. But as the programs grew, the compilation time used to take several seconds. This puts off the impatient learner quickly. An interpreter is a much better choice for students. Not only the feedback is instantaneous, you can examine or modify state at any point in time.
    I learnt programming in BASIC. Though the language was not the fastest or the most expressive, it responded nearly instantly when you entered commands. It was almost as if you had a machine that you can instruct to fetch something or do some trivial task like that and it would immediately do it. As long as you can tell it enough smaller such tasks to accomplish bigger tasks, it can happily keep doing exactly what you want it to do. This, in many ways, is exactly the essence of the act of programming.
    
    Most of the time, I miss the interactive experience in a compiled language as it seems that the feedback loop is unnaturally long. I can only imagine how boring it might have been to learn programming in them.
    
    My advice to people who want to learn or teach programming would be to pick either [Python ][5] or [Processing][6]. These languages have been specifically designed for pedagogy and hence, will ensure a smoother learning curve. Don't focus on OOP from the start, encourage them to solve problems with the least amount of code. Even going forward, they would realise that _less code often translates to less errors_. 
    

    OOPs I did it again!

    Actually I had written this rant about OOP a few weeks back. I am not sure how MIT CMU folks caught the wind of it (must be those damn Paparazzis :)), but they have completely removed Object Oriented Programming from the introductory MIT CMU curriculum. I am sure some of the best minds in Computer Science are at work here and I am glad that they have taken the right step.

    Surely concepts of OOP would be useful to their students in the future and they would need to learn it at some point in time. But, as I have realised, it is too much of an overhead to use OOP while learning programming. There is nothing better than typing in a few line of terse code and watching it immediately turn into something magical . In that respect, OOP is neither terse nor magical.

    PS: Even when MIT switched from Scheme to Python for their freshman courses, I remember having made a post about Python a few days before the announcement. The timing of these announcements are getting freaky now :)

    PPS: Thanks to the sharp readers for pointing out that the curriculum change was in CMU rather than MIT

    Comments →

    She is my... umm...

    The earliest memory I have of Facebook, the social-networking phenomenon, was its innovative relationship status of “It’s complicated”. What did it mean exactly, I used to wonder. Is it committed? No. Is it available? Not really.

    Despite the seeming ambiguity, it perfectly described the relationship status of thousands of folks in the current generation. As this transition happened quite rapidly within our friend’s circles, it was bound to happen that someone or the other was not fully in tune with the times.

    “Hey, what did you guys do this weekend? Me and Tina went to Kaup beach and it was awesome!”
    “Cool! Well, not everybody has a girlfriend like you, man”
    “What are you talking about? Tina is not my girlfriend!”

    Such conversations alway end in long embarrassing blocks of silence with nobody looking at each other directly. In fact, this guy and Tina have been seeing each other for the past 15 years!

    Well, since the terms “girlfriend” and “boyfriend” have been relegated to the late eighteenth century, people have been looking for better terms to describe their complicated-relationship-counterparts.

    Sometime during late 2005, the word partner was quite common. “I have phoned my partner that I’ll be late for dinner, so it’s fine”, sounded perfectly fine, then. However the term was felt to be too generic. There are business partners, dancing partner, partners-in-crime etc.

    The term went quickly out of fashion due to too many unrelated connotations (nothing to do with 2007 Bollywood film of the same name, however :)). Towards early 2009, the word Significant Other or SO, in short, became more common. This seemed to be a quite satisfactory alternative as it covers any kind of relationship.

    So, I guess that’s where we are at now. So don’t be surprised when you ask a couple “How are you guys doing?” and get the answer “We are SO-SO” :)

    Comments →

    « Newer Page 11 of 39 Older »