Saturday, July 19, 2008

Mamma, I'm leaving home...

Although I have made a trip to college after college reopened on 14th (yes, July), it still doesn't count as re-opened for me until I move to college with all my belongings and my computer(yes, even that falls under the category of belongings, but I love to emphasize). That's tomorrow (today... by the time I finish writing this!)

So I thought I should be writing something down, something like a farewell blog.. umm.. farewell note to home, about how much I loved staying here and what I did (mainly the latter).

It won't be chronological, because some of the things I did overlap each other!(oh no, what have I got myself into, this is gonna be long!!)

1. Gym:
This was the first thing I did when I came back from college. O.K. this may send out wrong signals, but at that time I thought the holidays were going to be very boring, and so let's have something to keep fit while killing time. I was regular for the 1st month, got irregular in the 2nd month and then one fine evening I decided to quit. (quite predictable)

2. Broadband:
First two weeks I spent getting connected, and the rest of my holidays I spent infront of it, surfing, working, downloading and what not( ignore the 'what not'). Except for one time when my modem wasn't working and the person I went complaining to was bewildered seeing my Usage Data.

3. LDTP:
Working on LDTP was fun, and so was working under Nagappan. At first it was gibberish, but slowly as I got to know the code, working became easier. So was learning Python, a dream-come-true language. Finally it was a drean come true to see my name in the AUTHORS list of LDTP.

Don't remember what I had in mind when I applied for the internship, but sure it was nothing to do with building an Orkut app. The weeks I worked for the App were sure hectic, and it was all me when I am stressed, not a care about the world or surroundings, just working day and night on the app. Was very satisfying to see it take shape, while learning new web technologies, and then in one moment of grief, it all came down when I read the mail that said that Orkut was expecting something a more user interaction. But then, all that was not to be for nothing, there would be more work to be done.

5. Rakesh Kedia, his Mama and Aarkay International a.k.a Ektaa Enterprises:
This was one helluva earning opportunity, messed up! When Amar approached me with the proposal of making a website for Rakesh Kedis's Jute Export Company, and there was supposed to be lots of money involved, it sounded like a Bank Job. But then his Mama came in, a crooked fat lump, unable to walk. He had a totally different notion of perfection - hideous. Our initial talk to him was unbearable enough, and then work got stuck because he couldn't decide on his Logo for 3 weeks, and finally when he made up his mind, they decided to change their company name. The new logo took another 2 weeks. Finally when they contacted me back, I wanted to quit because we were developing a website and taking a page out of the Logo episode, I rekoned I did not have a year to waste.

6. Movies and TV shows:
Encouraged by the idea of free downloads from 2 a.m to 8 a.m. I started downloading lots of movies. Here is a list of them in no order:

Harold and Kumar go to White Castle
Harold and Kumar go to Guantanamo Bay
Primal Fear
Godfather 2
Godfather 3 - yet to be seen
The Oxford Murderers - yet to be seen
American Beauty
The Other Boleyn Girl
Strange Wilderness
Rambo [2008]
The Spiderwick Chronicles
Reservoir Dogs
The Usual Suspects
Street Kings
The Good, The Bad and The Ugly
A Clockwork Orange
The Forbidden kingdom
Cassandra's Dream
In Bruges
10000 BC
Alvin and the Chipmunks
Vantage Point
The Cook, The Thief, His Wife and Her Lover
Mystic River
Casablanca - yet to be seen
Goodfellas - yet to be seen
The Eye - yet to be seen
The Cronicles of Narnia - yet to be seen
The Sawshank Redemption (repeat)
The Pianist
Sin City - yet to be seen
American History X
To Kill A Mockingbird - yet to be seen
The Lives of Others (German)
Taxi Driver
My Blueberry Nights
The Superhero Movie
The Onion Movie
Twenty One
12 Angry Men
DrillBit Taylor
Hourton Hears a Who (animation)
Be Kind Rewind
There Will be Blood - yet to be seen
Over Her Dead Body
Kill Bill I
Kill Bill II
Once Upon a Time in the West -
Mad Money
Rush Hour
Rush Hour 2
Rush Hour 3
The Kingdom
The Bank Job
Wargames - The Dead Code
Step up 2 - The Streets
Definitely Maybe
Saving Private Ryan
Fool's Gold - yet to be seen
Mulholland Drive - yet to be seen
Loaded - yet to be seen
Hero Wanted - yet to be seen
Penelope - yet to be seen
Stoploss - yet to be seen
Sweeney Todd-The Demon Barber Of Fleet Street - yet to be seen
Into the Wild - yet to be seen
Never Back Down - yet to be seen
Atonement - yet to be seen
Lost Highway - yet to be seen
Leatherheads - yet to be seen
Indiana Jones - all 3 with their long names !

I also saw the whole of Coupling 1-4 and Simpsons 18 and 19.
Special thanks to Torrentz, IMDB and Anish for their kind co-operation.

7. Outside Home:
12 weeks of holidays and I just went out five times, two movies, twice with college friends and a marraige party. Gone are the days of addabaazi OnTheRocks and movies and malls and resturants and treats. Yet I can't say I didn't have fun in the holidays.

8. Sleep:
First two weeks I was on the Healthy, Wealthy and Wise regime, I went to sleep early and woke up at 6 a.m. to an early Gym. Post-Broadband, I shfted my sleep at after 2 a.m. so as to start the downloads, which soon went up to 4 a.m and the settled at a regular 6 a.m. When I woke up varied from 1 p.m. to 2 p.m. with the last two days as exceptions ( 4:30 p.m. and 3:30 p.m.)

9. LUG Server:
Working on the LUG server was fun and with the high speed internet, I felt as if I was using it from College LAN. I worked on NTP, SSH accounts and then finally on the new LUG Website with Debayan.

10. Blogging:
Blogging was a whole new thing this summer. Writing blogs down, showing it off and then reading comments(no matter how scarce) was one of the highlights this summer.

11. Cricket and Soccer:
Yes... me and sports do not go along very well, but supporting the Kolkata Kight Riders in the IPL 20-20 and supporting Germany in the EURO 2008 had its moments. While KKR went down early (when the most part of the series were the exhaustive league matches, early is an understatement here), Germany gave a little more than hope until that fateful Finals in Vienna.

To sum it up, I had a blast!!!
Catch ya in college!

Saturday, July 12, 2008

My Best Friend's Uncle's Wedding

I left home at 3:00 pm yesterday, and came back at 6:am today. Its been a long day !

Had been to Nitin's uncle's wedding yesterday. After my experiences I have compiled a list of DOs and DON'Ts people should keep in mind in case they get to organize a Wedding.

Here goes:

1. Never demand too much from your friends and call them at the engagement too which you schedule a day before the Wedding. Else they miss the engagement and then they get so over-burdened with the load of responsibility that they would have to buy new Contact Lenses in case they break their spectacles the night before (more so if they are miopic sporting -5.25L and -6.50R )

2. Never tell your friends to come at a time at which you would never be able to reach yourself. Even if you know your friends are always 2 hours late, don't forget that they would go to buy their contact lenses at the same place where you have the wedding, and they may just as well arrive in time.

3. If they call you and tell you that they are there and where are you all?? - dont ever tell them to come over to the guest house you are staying, because it will be another hour before they leave, so they can all leave together.

4. Even if you make all the above mistakes, don't hand them a Brittle-Handle-with-Care type of object which is so heavy they can barely hold on to it.

5. Don't put them in a taxi's front seat with the driver on their right, a girl he barely knows on his left, the gear handle under him, 3 aunties behind him, and the huge Brittle-Handle-with-Care type of object (which turned out later to be 4 lavishly decorated mirrors) on his lap.

6. Always predict beforehand whether there is going to be a electric-fire to greet the guests accompanied by huge bellowing clouds of smoke, and people running all around with gas cylinders lest they explode. So much that the Bride and Groom and a few other people have to take refuge in the Bathroom-Fittings showroom opposite the Wedding spot, watching fire-fighters fight the fire.

7. Never start the wedding 4 hours late(fire or no fire), in a partially burnt down lobby with 14 A.C.s none of them powered on, and a undamaged-by-fire conference room with all A.C.s in full power.

8. Have just starters and desserts for food. No need for the main course.

9. Have loads of coffee, so that your friends don't turn up pestering you every 15 minutes whether the coffee is coming or not (even though you are on the Groom's side and have no idea what is on menu).

10. Never end the marriage at 2 a.m. so that people who have no idea what's going on have to stay on as there is no way they can go home that late.

11. If your friend wants to go home at 5 a.m. in the morning, don't ask questions, just let him go, he's already had enough.

Gosh I'm tired...

Thursday, July 10, 2008

The G.U.I.

After a month's break from LDTP ( reasons include a bad modem,, and fear of PyGtk) ... seems like I finally did it.

For all those who had missed my last post on LDTP here's a Quick Recap (more for me than for the readers) :

  1. A series of bug-reports and their respective fixes by Nagappan which combined with a few other bits of development let to LDTP 1.2.0 (reports of which can be found here, there and here-too [dont forget to spot my name in the report :D]).
  2. I had filed a enhancement for LDTP Editor that would allow it to execute recorded-and-converted scripts even if the name of the window the script is executing on changes during execution (which generally does change).
  3. I had implemented the logic behind this enhancement using RegEx and a user-editable database of Supported Applications.
What remained was to add a GUI to support this feature which required knowledge of PyGtk which I sadly lacked.

So after getting my modem replaced and my Mandriva reinstalled (dunno why it wasn't booting, maybe something to do with the frequent Power-Cuts) I sat down with a fresh copy of LDTP (installed through GIT).
Took me sometime to bring it up-to-date with my last work. This time instead of looking through I browsed through PyGtk - GNOME Live! as recommended by Nagappan a month before.

A day (read 6 working hours) later, I had the GUI running fine.

(I told you it wasn't that scary!!!)

So a few more screenshots for the readers...

Friday, July 4, 2008

The Screenshot !

There it is!!

The Muziboo App!!

I just submitted it for the Orkut team to look through...

Should be out for public consumption in about a week !

Feels satisfied...

Tuesday, July 1, 2008


So I make the whole App... everything is working well and good and then suddenly when I decide to check it on Internet Explorer 7, nothing's coming.

Oh no... where did I go wrong??

Luckily, Mozilla Firefox allows for a handy debug tool for JavaScript Programmers called FireBug. Internet Explorer on the other hand sucks cos its so developer unfriendly. After a lot of trouble I found something called DebugBar which was supposed to help me debug... but all it did was showed me errors in a more flamboyant way with no information whatsoever about its cause.
“Object doesn't support this property or method”


By doing a lot of try-catch, I finally zeroed down to the cause of the error.
(What I had been doing was, I had used a XSPF(XML Shareable Playlist Format) JSPF parser written by Chris Anderson (which he had put under GPL V3) which actually converted a XML to JSON which i then used in my App.) The line that caused the error was the very same line in which I did the parsing thing. Now what was i going to do?

Prateek came to the rescue. He suggested using XPath to get data from the XSPF Playlist("After all its nothing bu XML"). Only that I did not know how it was used.

Google refered me to

Just when I started to get the hang of XPath, I decided to check out its examples. w3schools has those innovative Tryit Editor which lets you edit the examples and see the results alongside. Well I had not even touched the examples. They just wouldnt show results that w3schools claimed it would do.

I decided to copy-paste the examples and try it myself... no result. I tried it on IE7 ... there it was XPath at work... But not working in Firefox 3... generally its always the other way round. What was happening... things working on Internet Explorer 7 not Firefox...


Even Firebug turned me down. Just the good ol' Error Console with a huge error the gist of which was :
"Node cannot be used in a document other than the one in which it was created"

A thread in a googlegroup said that that was due to a security fix in Firefox 3 and then gave some links that apperently had the solution to my problem... but sadly I could not make any head or tail out of it.

Prateek insisted that we realease Muziboo App v1.0 with a Flash Widget doing all the parsing and playing... but I was adament... cummon... all this hard work just to see a worthless Flash Widget take away all the glory. I'd rather parse the playlist myself... but that was kinda tough.

And then he told I should write a Parser myself! What am I ? JavaScript Coder Of the Year or Something??(I could parse the playlist to get what I wanted, but to make a parser that would parse any playlist, work on any browser was asking a lot out of me)

And in all the quarreling I had an idea. I had already written enough XPath to parse the playlist for IE7 only the error was on Firefox 3 (only?? Its already so popular, its on the verge of a World Record).

So what I could do was I could check which browser was running, If I was Internet Explorer I parsed it myself otherwise I did it the Chris Anderson way...

P.S. We are going to apply for submission of the App tomorrow night. Only some CSS alignment issues to me taken care of which should be done with by then.