jump to navigation

Goodbye Kolkata, Hello Mumbai July 12, 2008

Posted by Aditya in Career, Personal, Relocation, Studies.
3 comments

I spent the last 3 years working in Kolkata, and now it is time to take the next step in my career. I will be joining the Master of Management program in the Shailesh J. Mehta School of Management, IIT Bombay. It is a 2 year, full time residential course.

July 1st was my last working day in IBM, and I really enjoyed my work there. I had started off as a campus recruit, with my Entry Level Training Program (ELTP) starting on 22nd July 2005. The training lasted for about a month and a half. I got into a project (Model Driven Business Transformation - MDBT) in September itself as the training was wrapping up. In fact, I continued in the same project throughout my stay in IBM - so not much variety there.

Coming to the project - MDBT started off as a research project in IBM T J Watson Research with the aim of modelling a business process and translating it to a solution and generating a platform-specific IT implementation with customizations along the way. The basic idea is to empower a business analyst with the ability to develop applications for a business process.

There were 8-10 people in the project when I started, and we reached a peak size of around 15 about a year ago. My role in the project was initially that of a developer, collaborating with colleagues from the IBM labs (Watson, IRL - Delhi, ISL - Pune) to customize the generated applications for different projects. I also travelled to the Watson Research in Yorktown Heights, NY (my first trip outside India) in February-March 2007, to interact with the clients and gather requirements. I was also involved the design and development of one of the modules of the MDBT toolkit responsible for code generation over the last year.

The project gave me the chance to explore and try out different technologies, and get to understand some of the current popular areas like SOA and MDA. Apart from the project work, I also got the opportunity to network with my colleagues around the world, and started blogging seriously (but not that regularly I suppose).

From a personal side of things, my stay in Kolkata was even better as this was the first time I got to reside in my native place. I got to spend 3 years amid my relatives, attend social functions and get to know everyone better. In fact, I had opted for my job posting on Kolkata with this aim in mind. I got to stay with my grandfather who was living alone since my grandmother passed away in December, 1999. I will be taking away a lot of precious memories from my stay in Kolkata.

All said and done, it was a very fruitful stay, and it is time to take the next step. Mumbai will make it 3 out of 4 metros in which I have resided (Chennai and Kolkata being the other 2), with Delhi the only one left.

External blogs by IBMers June 26, 2008

Posted by Aditya in Blogs, IBM, Lists, OPML.
2 comments

I have been in IBM for almost 3 years, and have managed to subscribe to a fair number of the external blogs by IBMers over the last couple of years. So, here is the list (unfortunately without all the names):

Incidentally, if you are wondering how I created the above list, it was using an OPML to HTML converter on a trimmed OPML file exported from Google Reader, that I found through a Lifehacker article.

There is also the comprehensive list of blogs by IBMers on the IBM internet site, but it is missing a few entries present on my list.

Thinking Machines - two perspectives May 30, 2008

Posted by Aditya in Applications, Essays, Feynman, Interesting Articles, Science, Supercomputers, Thinking Machines.
add a comment

I came across a nice essay by Daniel Hillis on Richard Feynman’s involvement with Thinking Machines. He has shared quite a few interesting points on the development of the first Connection Machine (a supercomputer), and also on the contribution of Feynman to the project. They were also involved in finding actual applications for the very powerful machines, and explored a variety of fields:

In retrospect I realize that in almost everything that we worked on together, we were both amateurs. In digital physics, neural networks, even parallel computing, we never really knew what we were doing. But the things that we studied were so new that no one else knew exactly what they were doing either. It was amateurs who made the progress.

The essay is a very good read, though a bit technical in some parts. It also sheds some light on the drive behind the founders. However, things seem to have gone really astray in the 90s with the eventual bankruptcy in 1994.

This brings me to the other article on Thinking Machines that I read recently which was on the interview process towards the last stages of the corporation.

… The project was a bit abstract, so I asked how it could be applied for business computing purposes. He scrunched his nose and scoffed at the very notion that I’d ask such a question.

As it turned out, Andrew wasn’t the only non-believer. Just as DARPA was about to send more barrel-loads of cash to Thinking Machines, The Wall Street Journal rained on their “subsidized sales” parade. That led to an embarrassed Bush I administration, which led towards an end of support from daddy.

With the impressively inept Sheryl Handler at the helm — the CEO who prioritized things like publishing a cookbook with recipes from their cafeteria instead of, say, trying to sell their increasingly useless Connection Machine — Thinking Machines quickly sank and filed for bankruptcy a short two years later.

I guess it shows how things can go downhill for a corporation unless there are some real world applications for its products. It is quite ironical in this case, as the founding engineers seem to have thought of quite a number of applications (highly specialised though), but by the time the second article, the employees seem to have very little clue as to the machine’s real world usage. I wonder what happened in the decade in between (possible explanation).

Interestingly, the wikipedia page for Thinking Machines lists both the essay and the article.

Ah! browser… Ugh! browser May 29, 2008

Posted by Aditya in Browsers, Images, Prism, Thoughts.
3 comments

browsers

Is Prism really an evolutionary step?

What does your city say? May 28, 2008

Posted by Aditya in Ambition, City, Interesting Articles, Thoughts.
add a comment

Paul Graham’s latest essay “Cities and ambitions” touches upon the topic of the way a city can influence a person’s ambition. The post is US-centric, but there are quite a few interesting points in it.

No matter how determined you are, it’s hard not to be influenced by the people around you. It’s not so much that you do whatever a city expects of you, but that you get discouraged when no one around you cares about the same things you do.

….

Does anyone who wants to do great work have to live in a great city? No; all great cities inspire some sort of ambition, but they aren’t the only places that do. For some kinds of work, all you need is a handful of talented colleagues.
What cities provide is an audience, and a funnel for peers. These aren’t so critical in something like math or physics, where no audience matters except your peers, and judging ability is sufficiently straightforward that hiring and admissions committees can do it reliably.

….

Some people know at 16 what sort of work they’re going to do, but in most ambitious kids, ambition seems precede anything specific to be ambitious about. They know they want to do something great. They just haven’t decided yet whether they’re going to be a rock star or a brain surgeon. There’s nothing wrong with that. But it means if you have this most common type of ambition, you’ll probably have to figure out where to live by trial and error. You’ll probably have to find the city where you feel at home to know what sort of ambition you have.

I was not able to entirely appreciate the points made regarding the various cities, having never visited any of them. However, I can draw some parallels with the Indian cities in which I have lived, mostly from a personal point of view rather than a professional one. I was born in Bangalore and spent the first 12 years of my life there. This was of course before the IT related growth, and the Bangalore of today is a lot more crowded and busy.

My next 10 years were in Chennai, one of the 4 Indian metropolitan cities. Chennai is a relatively serious and conservative city (my friends used to complain every time rock concerts bypassed Chennai and went to Bangalore). My last 3 years have been in Kolkata, my native place and another metro, and the lifestyle is quite relaxed. The weather of a city seems to have a considerable impact on the attitudes of its citizens (something my mother mentions quite often).

So, what quirks have you noticed about your city?

Extension compatibility status for Firefox 3 May 28, 2008

Posted by Aditya in Compatibility, Extensions, Firefox, Status.
add a comment

I was thinking about compiling my list for the compatibility status of extensions for Firefox 3, but it looks like the folks at lifehacker have already found a couple of sites that do the same:

Here’s 20 add-ons that are Firefox 3-compatible, and seven that aren’t yet.

Compatible ones (as on 28/5/2008 ) include Adblock plus, flashgot, StumbleUpon, Mouse Gestures among others, while some like Tab Mix Plus and Firebug are not compatible yet. There are some extensions missing from the lists though, like Greasemonkey and del.icio.us, so here’s my table for their status:

Extension name Status Notes
Greasemonkey Compatible works with hack* (current release is compatible with FF3 betas, but not RC1)
del.icio.us bookmarks Compatible beta version FF3 compatible,
older version works with hack*
Google Gears Compatible  
DownThemAll! Compatible  
IE View Lite Compatible  
MR Tech Local Install Compatible works with hack* Now (20/6/200 8) known as MR Tech Toolkit
PDF download Compatible  
Foxmarks Compatible Just updated on 27/5/2008
Tab Mix Plus Incompatible Developer version compatible with Firefox 3 available

* - these extensions work using the extensions.checkCompatibility=false hack

One of the things I have noticed is that incompatible extensions that use the password manager in Firefox do not work properly even with the hack. This is likely due to the change in the password management system in Firefox 3.

Update: I thought such a list would make a good addition to wikipedia, and I have added a section on extension compatibility to the List of Firefox extensions page. I’ve added the some of the extensions listed above for the time being. Hope others add to it :).

Update (18/6/08): Updated compatibility status for Greasemonkey and Gears. Added Tab Mix Plus status.

Update (20/6/08): Updated compatibility status for MR Tech.

Productivity 2.0 (non-serious) May 28, 2008

Posted by Aditya in Humour, Interesting Articles, Metrics, Performance, Productivity, TheDailyWTF.
add a comment

I came across a humorous post from thedailywtf.com on an “innovative” way to measure productivity through SVN check-ins, which of course met with expected results, with some employees increasing their productivity by over 600%. It also led to the development of a nice little reusable asset that could be used to increase productivity:

Still, it irked Milo that he wasn’t reaching his full productivity potential. He was wasting a lot of time writing code; time that should be spent checking code in….

…..

With his script, dubbed “PHLEGM” (Programmer’s Helper for Literally Engaging in General Machination, named by one of his colleagues), he could stretch what would usually be one checkin to 20-30 commits. It’s evolved like an open source project with his fellow team members adding new features.

The post also led me to an old Joel post on productivity related to Amazon’s attempt to measure customer service productivity based on number of calls logged:

“Thank you for calling Amazon.com, may I help you?” Then — Click! You’re cut off. That’s annoying. You just waited 10 minutes to get through to a human and you mysteriously got disconnected right away.

Or is it mysterious? According to Mike Daisey, Amazon rated their customer service representatives based on the number of calls taken per hour. The best way to get your performance rating up was to hang up on customers, thus increasing the number of calls you can take every hour.

Joel’s also been quite critical of productivity measurement and incentive based systems at work before. However, I can’t think of a better alternative to the usual rating systems used in companies, especially large ones with tens of thousands of employees. Can you?

Lies, leaky abstractions and children May 21, 2008

Posted by Aditya in Abstractions, Children, Essays, Idealism, Interesting Articles, Lies, Thoughts.
add a comment

I recently read the essay “Lies we tell children” by Paul Graham, in which he analyses the way in which adults create an abstracted and somewhat idealised world for children.

I’m using the word “lie” in a very general sense: not just overt falsehoods, but also all the more subtle ways we mislead kids. Though “lie” has negative connotations, I don’t mean to suggest we should never do this—just that we should pay attention when we do.

It is a lengthy, but thought provoking essay, and explores the different reasons for which real information is withheld from children. Reasons could range from just maintaining control to the difficulty of putting information in context.

Due to this, the world in a child’s mind takes a binary form consisting of absolutes - right and wrong, good and evil, black and white. This theme can also be seen quite clearly in movies for children (think of any of the Disney animations). However, during the transition from childhood to adulthood, this binary abstraction of the world begins to leak just like any computer related abstraction. Children begin to see the different shades between black and white, and general inconsistencies in the explanations given to them by adults. Some theories seem utterly illogical while others begin to make more sense. The real world also begins to test many of the ideals taught to them.

In this way, the journey to adulthood is somewhat like the transformation of a black and white world with two shades into a full colour world. Some misconceptions persist into adulthood, with inquisitiveness being the best tool to combat them.

Paul Graham’s conclusion from the same essay:

We arrive at adulthood with a kind of truth debt. We were told a lot of lies to get us (and our parents) through our childhood. Some may have been necessary. Some probably weren’t. But we all arrive at adulthood with heads full of lies.
There’s never a point where the adults sit you down and explain all the lies they told you. They’ve forgotten most of them. So if you’re going to clear these lies out of your head, you’re going to have to do it yourself.
Few do. Most people go through life with bits of packing material adhering to their minds and never know it. You probably never can completely undo the effects of lies you were told as a kid, but it’s worth trying. I’ve found that whenever I’ve been able to undo a lie I was told, a lot of other things fell into place.
Fortunately, once you arrive at adulthood you get a valuable new resource you can use to figure out what lies you were told. You’re now one of the liars. You get to watch behind the scenes as adults spin the world for the next generation of kids.
The first step in clearing your head is to realize how far you are from a neutral observer.

So how many misconceptions have you been able to shake off?

Playing around with CHDK and HDR imaging April 19, 2008

Posted by Aditya in Camera, Firmware, HDR, Hacks, Photography, Tools & Utilities.
add a comment

I had stumbled upon the CHDK firmware for Canon cameras through a Wired article some time back, and finally got around to trying it out on my PowerShot A630 today. I also discovered that it is possible to create HDR images by shooting images at different exposures and subsequent manipulation through appropriate software (tutorials: Photoshop / CS2, GIMP / GIMP using a script, Paint.NET or Photomatix).

So, the first thing I did was to download the CHDK build for my camera (I used the AllBest one - usage instructions). Then, I followed the instructions and copied the files to a spare SD card I had, and put it into the camera. I started the camera in play mode and used the menu to activate the CHDK firmware (this is only temporary, and needs to be activated every time the camera is switched on). Once activated, I could switch between the two versions using the Print button. There are a ton of options in the CHDK menu including support for scripts (written in uBasic), enabling additional shutter speeds and indicators among many others.

With the firmware nicely set, I went ahead and started shooting for making HDR images. Initially I tried an HDR bracketing script available to shoot some of the photos. The script seemed to have some problems focusing at times, but I managed to get some shots. I also discovered the ability to do exposure bracketing in the continuous shooting mode, which I also used to shoot a few photos.

I then used the trial version of Photomatix to create the HDR images as I was feeling too lazy to go through all the steps to create HDR images in GIMP (there is a contrast blending script which takes of this though) or Paint.NET. The only drawback of using the trial version is that it inserts a watermark into the end result. This is ok since I was experimenting with HDR imaging, and I’ll switch to GIMP or Paint.NET for serious photos. One of the things I noticed in the resulting HDR images is that they can tend to look a bit cartoonish or unnatural.  Anyway, here are a couple of results.

I have created a collection on flickr for the HDR images (both sources and results are included). I’ll be adding to the collection as and when I get the opportunity. There are quite a few HDR groups on flickr too, and they do have some good looking photos. For something more interesting, have a look at this (not by me).

Update: Just discovered an open source HDR imaging software - Qtpfsgui. The output (sample on this post) appears to be a bit more cartoony due to a different algorithm being used. (via)

A pseudo IDE for Google App Engine - Komodo Edit April 19, 2008

Posted by Aditya in Editors, Google App Engine, IDE, Open Source, Programming, Tools & Utilities, Web Development.
5 comments

I signed up last week for the Google App Engine, and tried out the tutorial for creating a guest book. It is a pretty simple tutorial, but one of the things I noticed about the App Engine is that there is no add-on for any IDE/editor at the moment, unlike the Android SDK which has its own eclipse plug-in or even the Web Toolkit which has a utility to generate an eclipse project.

Initially, I tried using Notepad++ which I have installed as my basic text editor, but I didn’t get much support beyond basic syntax highlighting. It does have a built in run command, but is not very configurable. This is when I decided to give Komodo Edit a try (it is open source). It is a lightweight version of the Komodo IDE, but has support for a variety of languages along with a useful set of tools. Incidentally, it is based off the Mozilla code base, and has support for add-ons just like Firefox, Thunderbird and Flock.

You can organise files into projects, which comes in handy for the Google App Engine applications, which is typically composed of a set of files based in a folder. The editor also has some basic syntax checking in addition to syntax highlighting. However, the code intelligence/auto-complete is limited to the base Python installation, and so will not be able to help with the Google App Engine.

image

In addition to this, the editor also has a customisable run command, which can be used to launch the development server. Shown below is my customised run command which can be used on the main .py file of the application (E.g. helloworld.py form the tutorial), and launches the development server in a new console (set using the “Run in” option). The “Start in” parameter is also important as the server needs to be launched from the parent folder of the folder in which the application is stored, i.e., if the application files are stored in “D:\Dev Stuff\gAppEng\helloworld”, the server needs to be launched from “D:\Dev Stuff\gAppEng”. Here, I have used the “ask” option with a default value for the “start in” location, so that I am prompted for the path at the time of server launch.

Komodo IDE Run config

There are quite a few other tools available in the editor, like file compare, spell checker, templates etc, which I haven’t tried out yet. Now, if I could only think of my own project for the App Engine. Suggestions anyone?

Update: Just noticed that another person has posted instructions for using Komodo Edit as an IDE for Google App Engine (on Linux it seems), including steps for setting up the uploader among others. (via)