Friday, June 01, 2007

The end of the beginning..

My academic life has now supposedly ended.. you know with me graduating and all... I have moved to Santa Clara and would be working for Mailshell. Hopefully I will not succumb to the complacency or frustration that I have seen so many people succumb to after stepping into the real world. Anyway.. This entry is dedicated to people who influenced my life in Syracuse and have a big hand in what I am and who I am:

Dr Marc Howard: There are really few people on earth who don't judge a person by their past(I mean work experience.. not parole history :P) but what they are. He is one such guy. People want experience, they want something on paper.. something that speaks of your achievement. When I met him I had none.. During the initial interview.. my answers to almost all his questions were: "I dont know".. I was hired.. probably because our shared hatred for microsoft, because I loved Linux, because I was a vegetarian, because I was a coder stuck in a food court job.. I dont know the reason. Frankly I thought that I did not fit in well.. I had no knack for cognitive mathematical research(although was interested in it), but somehow he always found me something that I was interested in doing and something I was good at doing. I worked with him for an year and met some most amazing people; Vinayak, Vijay, Jennifer, Donna.. they were all gurus in their field and kept Memlab machinery running smoothly.. Dr Howard if you are reading this: Thank you for being there...

Dr Wenliang(Kevin) Du: I worked as a research assistant under him for an year and it was a rocking year. One after another, the super kewl projects kept my adrenaline levels insane. Remember when you were a kid and you so badly wanted that bike or that GI Joe set or that comics.. remember how you felt when you got them; I felt the same about the projects I did(that I wanted to do). Dr Du gave me direction.. I always wanted to do the projects I did for him, but when he sponsored my 2 semesters in Syracuse University, paid me stipend, I didn't have to worry about anything else.. I just did what I loved to do. My lab became my haven, a utopian land where nothing went wrong.. life was too good. Thanks alot Dr Du for letting me play with what I loved to do and building my resume on the way.

Dr Per Brinch Hansen: Now I have already written loads on him so wont overdo it. He reminded me of two professors, Mr ATC and Mr Sridhar M, of my undergraduate college. You know what the common thing amongst all three is: Every one suggests not to take their courses, most of the people who take their courses have their ego hurt and hate them(some open hate groups), all three are considered difficult... but I liked all three of them, they were excellent teachers, and somehow I didn't find them that strict and found their courses extremely easy contrary to the popular belief, all three of them helped me alot in my career. It was an honor being his student and that too in the last compiler design class he taught.


Dr Jim Fawcett: Most people in Syracuse University would brand me as a hypocrite if I say that I am a "Fawcett Fan".. The word "Fawcett" has become an adjective in Syracuse University. There are Fawcett courses, Fawcett Fan club, Fawcett quotes.. etc etc. I know people who take all the courses he offers (8 I think).. I took two of them and really loved the Object oriented Design course. IMHO It should be made a core course. The mere fact that I just took only two of his courses and I work on Linux, causes many guys to think that I am not a "Fawcett fan".. but I am. I have never in my life seen such an energetic person with so much industrial and academic experience. What is more interesting is that he is really affable and can teach the a dimwit to write the most elegant C++ code. Dr Fawcett.. I salute you .. and I am a "Fawcett Fan" for life :)


Syracuse University: Lastly I would like to thank my alma mater. After all I met the afore mentioned people here. The infrastructure here is aeons of geological time ahead of any place I have been. It gives your own niche. You can find people to "Party" and you can find people to "geek out" with you. Almost any legal activity you can think of, you can do it in SU.. for free. Man.. I love that place.



PS: Click on the first and the last photos to view pictures in the related sets.

Tuesday, May 22, 2007

Nostalgia

Remember the good old days of RH7 et al when almost all the software had to be recompiled and adding a new hardware meant atleast a day's work to get everything working properly.. and when just an installation would make you entitled to use the word "Geek". Yes...those were the days.. It really was a great feeling back then.. you felt completely in control of your PC.

Now evolution is indispensable .. so Linux evolved.. from an experimental system to a commercially sellable system.. We had a barrage of distros.. touting compatibility, snazzy graphics and point and click solution to most problems. The public applauded and accepted Linux but deep down inside I hated them for liking linux just because of its looks..

Anyway.. my taste in distros underwent a drastic change from RH to Fedora to Debian and finally to Ubuntu. I was not a fan of the pointing device but the apt-get and the highly up to date repos have kept me hooked up. There were hardly any instances when I had to mess with something. Scripts like Automatix took care of most of the painful jobs.. Even if I had to recompile the sources, ./configure make "make install", hardly counts as hacking.

Anyhoo.. coming to the meat of the subject a friend of mine got some HP laptop with AMD 64 Turion, 2 GB RAM and a Broadcom 4310UART wireless card and was bugging me that he could not get wireless to work under Ubuntu. Normally I dont like support calls but this changed it all. There was a bug in Broadcom drivers(Specifically the way NDISwrapper used them) for AMD64 having more than 1GB data.. An opportunity too good to miss.. I went to my friends place to fix his card(yeah am mad and was totally bored).

After two hours of hair pulling, RTFMing and shouting out F&^* loud.. I got the damn thing to work. It was the most refreshing thing I had done in a while :).

PS: If you are having a similar problem..read this, this and this.

Thursday, May 17, 2007

Cute Customizations..

I hope you guys would have noticed the usability enhancements in Google search in the past few days. Earlier it just used to throw all the search options above the search textbox. Now based on your query it suggests search options. E.g if you search for Harry Potter, google will suggest you searches in books, news and video sections, but if you search for iPhone, google would suggest news, patents, blogs and products. A small yet nifty customization to save the end user from information overload. I also love the way they handle the presentation of results.. a gazillion line program running(or operating on a dataset of that size) on a 100 node beowulf cluster(just a speculation) justs gives you a single line of relevant data, sometimes just a hyperlink... friggin amazing.

Google's Experimental search gives an insight into the changes we might see in the future. I am already a fan of search keyboard shortcuts. I thought that it would be a great idea to integrate it with the google suggest plugin built into firefox. The following keybindings are available in google search:

Key Action
J Selects the next result.
K Selects the previous result.
O Opens the selected result.
Enter
Opens the selected result.
/ Puts the cursor in the search box.
Esc
Removes the cursor from the search box.

Adding these options to the search plugin is quite straight forward. The file /usr/share/firefox/searchplugins/google.xml(on *nix of course, Windows users can make the same changes in the respective files too) stores the configuration for google search. Just add the following line in the static parameters section:
<param name="esrch" value="BetaShortcuts">

Restart your firefox and try googling using the search plugin. You should see the navigator arrow similar to that in gmail(with keyboards shortcut available ofcourse).

On a somewhat related note; I upgraded to Pidgin. I've been using Gaim's beta6 for sometime now. Pidgin sports better graphics but there are no functional improvement over Gaim2 as such. One thing that is lacking in Pidgin is the lack of emoticon sets available to Yahoo messenger users(apart from no video or voice messaging system).. there is a workaround though. This guy has posted a link to the ymsgr emoticon set. This is how you could get it to work:
  • Download and extract the zip file from the website.. it is extracted as a directory named default.
  • Rename it to Yahoo
  • Find a file called theme in it, open it in an editor and change the name and Author values to differentiate it from the default pidgin emoticon set(anything is fine).
  • Archive it as yahoo.tar.gz
  • Open Pidgin->Tools->Preferences->Smiley Themes and drag and drop this tar ball in the window.
  • Select the entry that appears.
  • Alternatively you could also move the directory Yahoo to ~/.purple/smileys and then select the new entry later.
The animated smileys move a bit faster but they are tolerable. Man.. i surely love linux and these applications for their flexibility.

Sunday, May 13, 2007

Sridhar Iyer, MS

I am now officially a Master's graduate and all set to conquer the world. I can't help but think about my adventurous journey from the suburbs of Kanpur to Bangalore to NY(Syracuse) and hopefully to California(might end up there).

There was a time when just the thought of coming to USA was laughable. Forget USA, the only place I could see an airplane was in the sky. I used to cycle my way to the "tempo" stand to attend coaching classes..
There was a time when I thought that life had nothing left in store for me when I didn't make it through IIT and ended up in a nondescript college (it was not that bad though..).
There was a time when I worked in food courts (just for a month though).

I am sure that there would be thousands of international students in USA with similar stories. SU has had students from more than 157 countries!! During the commencement, I saw the glazed look in the eyes of parents.. some from poorer third world countries... I felt small.. Even though I was surrounded by a lot of graduates who earned the same degrees, they accomplished much more than I did. It takes courage and dedication to break your safety cocoon and search for a better world, and strive to be there rather than be intimidated by it... only to be labeled as "lucky" if you do so.

Syracuse University was the perfect university for me and I think that it is the right place to do MS in Computer Science. I have met tons of interesting people, scholars, academicians, optimists(yeah.. they are a rare breed) and drop dead geeks. It has strengthened me physically (coming from a place where the temperature is around 45C.. the -40C winters were quite a change, surviving on cheese pizzas and ramen noodles is a feat in itself.. {Jorge: am still a vegetarian :P} ) and mentally(come on .. it's grad school). I can see things clearly now..

I can't predict my future but I do know that as long as I have a dream and a path of virtues.. life will always be great. The following excerpt from the commencent speaker, the renowned author Frank McCourt, summarizes it well:
So I've reached this point in my life where I'm doing what I want to do and that's the most beautiful thing of all... . If you don't love what you're doing, you're dead. Take out insurance. You're dead. And I leave you with a quotation from an old English poem: "Read your scriptures, follow in the path of virtue, and keep your bowels open."
PS: Click on the pic above to see my graduation photoset.

Tuesday, May 01, 2007

The sound of music..

Am not a music enthusiast, but when I got to listen to it, I need the song. Although I do have an MP3 player, I am fond of internet radio.. live365, pandora, raaga.com, dishant.com et al. Most of them work flawlessly on Linux.. but some Indian Bollywood radios seem to fail pathetically. I always thought that it would be some compatibility issue since they seem to work fine on Windows. Incidentally, few days back I started firefox from the terminal(well.. i generally click on the icon) and wistfully tried playing a song from raaga.com. (Firefox on wine is really frustrating). Of course.. nothing happened, but I found a SEGFAULT reported to the terminal... this was the beginning of a big adventure :)

I googled out the issue and found that someone had found the issue and interestingly enough posted the solution on bugzilla long ago. I downloaded the latest tar ball and saw that the errors were not yet fixed! Big deal I thought.. lemme compile the code myself. There were no INSTALL or READMEs in the directory.. but there was a Makefile... I didn't care to look into the makefile and just called make. That didn't work.. I found that Makefile called individual makefiles in hundreds of subdirectories and those makefiles were not there in the subdirectories!! This is where the "real" fun began.

I have to give you a brief idea of the helix project on Linux(Real's backend) before I can proceed further.
  • Its a mixture if highly convoluted C and C++ code. The building process is handled by a python script called Umake (which is used for cross platform compilation).
  • The same blob can be compiled into helix server, helix client, real player.. etc etc. There are 32 different project into which you can compile the source code into.
  • There are 634 build targets!!
  • This whole setup reads another configuration parameter to know the destination build system.. including most almost all versions of Windows, Unix and linux.
  • I'd leave the maths up to you.
It makes sense now that a static Makefile was not supplied with the release tarball. But I was pretty adamant on getting RealPlayer to work with my firefox installation. This manual will tell you that how freaking hard it is to get the damned thing compile.

I had to become a Helix community member, set up CVS access to the repository, accept all the BEULA craphola(I am not allowed to fix bugs and let people have it even though its free), spend countless hours debugging the substandard code and build it. The whole code base has tell tale signs of cut paste code, unnecessary optimization and non standard C++. I was messing up with the latest stable release when one of the Real developers informed me that the branch was dead!! I got one of those nightly builds that had fixed few, but not all, of the issues. I then quickly made the changes and got the thing to build. The most stupid errors were the ones where the variables were used without definition inside a #ifdef clause, casting a boolean into integer etc.

To cut the long story short, Raaga.com now works with firefox on Linux!!! and no unfortunately I cant give you the binary, you have to build it yourself.. RealPlayer's license needs another entry. It is clearly an example of __evil__ open source (The good one being GPL of course). I cant check in the code cuz I was not authorized to modify them at the first place.

Anyhoo.. the songs sound so much more melodious now :)...

PS: A developer asked me to submit a patch. If all goes well, then the whole Linux desi community would soon be thanking me :P

PPS: My patch is accepted. You can download the nightly build by tomorrow.. or wait for the next release. It will be a part of the next release... Yay!!

PPPS: Download the latest binaries here.