Thursday, September 24, 2009

Perspective

The last month or so was a pretty tough one for me on a personal, emotional level. Not a day went by where I wasn't brooding over various "issues", wallowing in my own inpetitude almost.

And then I heard of this terrible accident to a neighbour. He is currently undergoing something worse than the worst possible outcome. Suddenly I realized how really trivial my issues are in the grand context of life.

You either face up and move on, or you stop moaning and move on.

In either case, you move on.

Saturday, July 25, 2009

An example of bad design

A long, long time ago phishing and virtual keyboards were things of the future. A certain bank called Citibank India allowed customers to choose any password of their liking for their online accounts.

To people like me who understood the importance of strong passwords, this instilled great confidence. I was free to incorporate numbers as well as special characters and make the password as long as I wished. All was well, until a couple of years back.

The prevalence of phishing attacks and Trojan scripts that could log keystrokes meant that every bank worth its salt had to introduce countermeasures. Of the banks that I used Citibank was probably the first out of the gate with a virtual keyboard with randomized placement of keys. And kudos to them. Unfortunately, their keyboard did not contain the space character at all! So I could not use it. Luckily for me, they did provide the option of using a standard keyboard to key in the password (and they still do).

However, I had to safeguard myself against the possibility of them removing the option to key in the password using the keyboard, which means I had to either force them to include the space character in their virtual keyboard (the better option strategically) or change my password so that it does not contain spaces (not a very confidence-inspiring thing).

HDFC was very late with its virtual keyboard, but all credit to them for including almost the space bar in their offering. I am pretty sure some smart product manager in the team that implemented HDFC's system learnt from Citibank's snafu.

A more recent development was that any online payments using Citibank's gateway now required one to have an IPIN. Earlier (again, this was very long ago) one could just process the payment without having to key in the IPIN. Now it's either the IPIN or the date of birth if one didn't have the IPIN. This arrangement is fine. Only, my worst fears did come true. The password entry in the payment gateway does not allow keyboard entry! So I'm now stuck.

For as long as I could I continued keying in my birthday instead. There was a supposedly a limit of 10 instances where one could substitute the birthday information for the IPIN. I'm pretty sure I went over the limit over time (which is good for me but really bad in the grand scheme of things, as it brings moral hazard into play). The rules then changed to something like twice a month for the first few months and then once a month thereafter, with a maximum limit of 4 if I remember correctly. Going by their history I needn't worry, but I really should.

Of course from Aug. 1, 2009 there's going to be the Visa/Master master password mechanism.

To cut to the chase, of the two options that I presented above, obviously I'm too small for Citibank for the first to happen. I did give this feedback once to a CSR, but which big company in this world listens to feedback from its junior-most employees (leave alone customers)? And in which big company in this world has the average employee actually passed on customer feedback to those that could do something about it?

That left me with the somewhat unsafe second option. And here's where things get really interesting. I logged into my account a little while ago to take stock of things, and then proceeded to change the IPIN. Like any good system, it asks me for the old IPIN and the new IPIN, repeated. I key in the necessary stuff and ask to proceed, only to be stopped short saying that special characters aren't allowed.

So here you have a system which was initially designed to be as open as possible, then followed up with an "innovation" that deviated from that initial design (whereas it was well within its possibility to have a perfect fit) and then exaggerated by the fact that certain aspects of the implementation still continue to function with the old design parameters and certain others don't.

And then banks complain that they have systems in place which aren't being used enough.

There is very good basis behind the insight that any system should be designed for customers by customers and not by engineers.

I am not going to particularly relish my phone conversation with the CSR now, for the simple reason that he/she probably will not even understand just what the hell I'm talking about. As far as they know, all "characters" are available on the virtual keyboard, and not many people know that the space character can (and must) be used in passwords.

Thursday, May 07, 2009

One weekend at ISB

I'll let the picture do the talking, to begin with -



All of the events fall into 3 categories, broadly - interesting, very interesting and have-to-attend.

This is in addition to 3x weekend assignments (some individual, some groupwork), revising for next week's in-class quizzes and revising (both theory and problem practice) for the mid-terms which are just a week away now.

And then there's personal stuff (swimming or tennis or whatever else, or perhaps music or photography).

And of course there are the weekend all-nighter parties (which unfortunately I couldn't include in the picture above simply because compressing the entire calendar into a small space would make things unreadable).

Not everyone attends everything, but the point I want to make is that this is life at ISB - so much to do in so little time, and weekends are *always* busier than weekdays.

Thursday, April 02, 2009

A couple of really neat sites

I came across these in the space of the last 12 hours!

http://www.vidteq.com - driving directions (for Bengaluru) that also include video footage of the drive along the route! Watch out for pop-ups highlighting landmarks en route.

http://www.propiq.com - an online real estate agency with a difference. This is integrated with Google Maps, and includes photos and videos of every property that's listed. And yes, you pay the same one months' worth of commission on rentals (which sucks, but you're getting much more compared to one of those idiot roadside agents).

PropIQ, interestingly enough, is apparently started by a bunch of IIT Guwahati grads from the batch of 1998 (class of 2002)! Not only that, their Koramangala office is -><- that close to the bachelor pad I was put up in between July/Aug. 2004 and Aug. 2007. Lord knows how useful their services might have been to some of my mates who'd house-hunted during July/Aug. 2007 when it was time to vacate the old place.

Saturday, February 28, 2009

1 false neutral, 2 close shaves, 3 friendly truckers and 6 breaks - Fun in the sun over 12 hours and 600 kilometres

Having secured admission to ISB's PGP Class of 2010 I am shifting back to Hyderabad after spending nearly 5 years in Bengaluru. Luckily we (i.e. my wife & I) have not accumulated tons of luggage over the past 1.5 years so we're going to bring almost everything down. That included my motorcycle, a 2003 vintage (yeah, there've been that many versions) Bajaj Pulsar 180. I love my bike. I don't have a name for it or anything, but it's my first vehicle that I bought totally out of my own earnings/savings and there's a bit of sentimental value attached there. There was no way I was going to sell the bike.

I wasn't into long-distance riding in May 2004, which was when I shifted to Bengaluru. At that time I had GATI courier the bike. Needless to say, they lost a customer for good. Just out of curiosity, though, I did talk to a GATI CSR over phone and enquired how much they would charge to courier the bike now from Bengaluru to Hyderabad. All of 2100 INR, and that doesn't include packing. Incidentally packing is not one of the services they offer. That's an additional 500 or 600 INR payable directly to the guy who comes to collect the bike. From the CSR's description it didn't sound like the kind of packing that was meant to preserve and protect the paint job on a motorcycle's painted surfaces. I wasn't going to spend another couple or so grand for repainting like I did in 2004. So, go with GATI and feel your wallet go lighter by around 5-6k INR, or DIY.

I was clear in my mind even before speaking with GATI that I was going to ride down. My wife agreed to this undertaking, no questions asked. She knew and understood that over the course of the next one year I can't even think of a long-distance ride. On top of that we don't know what the future holds for us. Post-MBA, career responsibilities will increase by orders of magnitude over what they are right now. On top of that we will start thinking about furthering the family. We are realistic and know that biking will probably not be among the top of our list of priorities for the foreseeable future. The last year, too, was pretty hectic. No going out on weekends (had to write those application essays, you see). Things were busy at work. The bike was collecting dust in the office parking lot as I only use the car for commuting now (there's no fun using a bike like the 180 on the milk run - that's probably just me, though). Basically my wife knew how badly I wanted a ride. And so she let me do the ride. Thank you, Mani! I love you.

Setting the stage
So, after nearly 8 months I get my bike out of the office parking lot some 3-4 days before the ride and ride it back home. After sputtering for the initial few minutes the engine didn't skip a beat and was eager as ever. In fact the bike never let me down during the ride. It performed flawlessly. I must thank Venkat and his boys at Auto Service for doing a such a stellar job over the years. I (and my bike) are going to miss Auto Service. Thank you, guys! You're unquestionably the best.

I've been on a few rides before, but with the exception of one (to Tirupati and back in January 2006) they were all group rides. Also, the longest distance I've done in a day before this was around 450 kms from Bengaluru to Kundapur, again in January 2006. Of course, that route was technically much more challenging, and there was the return journey back on the very next day too. However, in terms of mental challenge, this was easily going to be the toughest ride for me so far. Longest distance ever in a day. Solo. And in summer.

Alright, let's do it.

False start
The tank was already close to full. I still was able to get in nearly 225 INR worth of Shell's plain vanilla brew. After reaching home I quite uncharasterically set the fuel flow control knob to the OFF position. I also reset the trip meter lest I forget in the morning.

Then I went out (by car this time) hunting for a canister of Gulf's puncture sealant resin. Thanks to Haren for tipping me off on where I can find this stuff and thanks to Gliff and Venkat for giving me Haren's number. Anyway, I couldn't get hold of the stuff, but at least I now know where to look for it in future.

I planned to start at 5 AM on February 27, but it was 6 AM by the time I got my Cramsters down into the parking lot. Mounted them, called up my wife (who was already in Hyderabad) and rolled off, only to find the bike sputter to a stop at the exit gate of the apartment complex. Sweet.

So there I was, kicking the bleep out of my poor bike, with all the morning walkers and security guards looking at me as if I was from another planet (you know, Cramster'd and all early in the morning...), when it suddenly struck me that something needed to be ON was actually OFF. And that was my brain.

6:15 AM, and finally we were going somewhere.

The storm before the lull
That was the title I had originally planned to document a month-long travel orgy in case I secured admission to ISB. However, what I was finally left with was just this one day's bike ride. For a multitude of reasons, I have to be in Bengaluru till April 3 at least, with the course starting on April 11. As some great soul once said, the best laid plans are first sent to Murphy for his approval.

It was a cold morning. Wintry almost, but with perfect visibility. I brought along my jacket, but didn't wear it. Instead, I bungied it on top of the Turtle on the rear seat, so that I had a backrest. The Turtle contained a huge stack of newspapers and a pair of sandals. Nice little backrest in a pinch.

The taxis gave me a very wide berth. Traffic on the road to BIAL was surprisingly sparse. I didn't start ripping too hard at this point. I still needed to get used to the feel of biking again after such a long hiatus (my last ride of some substance was around New Year 2007 to Coorg).

I had my iPod and headphones in my pocket but I never put them to use even for a second. I wanted to enjoy listening as the engine roared under me. I wanted to enjoy listening as the wind rushed turbulently around me. I wanted to listen to the sound of the brake fluid in action whenever I frantically hit the front brake. I wanted to listen to the clicks made by the gearshift mechanism as I switched gears in anger.

I wanted to take a break every 2 hours or so. Nature called, however, and I had to take a break slightly earlier, near Bagepalli at around 7:55 AM, with the trip meter reading 100.0 kilometres. I took this opportunity to call my wife and inform her of my progress. I wasn't feeling hungry or thirsty yet, so I pulled off at 8:00 AM.

I was under absolutely no illusions that this cold would set the tone for the rest of the day. Still, I didn't quite know what to expect.

60 kph wannabe
I wanted to finish the ride within 10 hours if possible. All of my previous rides had an overall average speed somewhere in the 40s, which is pretty abysmal considering the bike I ride and the roads on most of those rides. I wanted to set that record straight.

So despite having only 2 lanes to work with and the bad patches of road immediately after Bagepalli and almost up until the Anantapur bypass I was pretty happy to reach the 250 km mark in exactly 4 hours at 10:15 AM.

Enroute I had what was to be the only false neutral I encountered over the entire trip. Some things never change. There was also that close moment where I began overtaking a truck as a culvert loomed, and right when I entered the culvert the trucker suddenly moved to the right probably to veer around a pothole or something. My mistake.

I could feel a lapse in alertness and the need for refuelling now, so I pulled over at a dhaba for an apple and some water. A south-bound truck pulled over and the crew of 3 alighted. After a quick wash (it had begun to get uncomfortably warm) one of them approachmed me and asked, "Kitna deti gaadi?". I shared this bit of technical data with him, along with some other related information. He asked me what I was doing on the road in this heat. I told him I was heading to Hyderabad from Bengaluru, whereupon he asked me how long it took me to reach this spot. In the meantime his mates had gathered around and they too wanted to know what I was up to. They were frankly surprised that I had covered 250 km in 4 hours (I was actually only mildly happy, honestly speaking, as this was nothing earth-shattering). One of them then asked me to take it slow. "Galat nahin samajhna. Aaraam se chalao. Bahut danger hai...". He meant it well. I said I'm going to take it slow (mainly because the heat would mean frequent rehydration breaks) and I plan to reach Hyderabad by around 4:15 PM. 6 hours to cover 350 km more approximately. That's not really outside the realms of possibility. They concurred, "Aaraam se pahunch jaoge".

I rode out of the dhaba at 10:40 AM. Long-ish break but I was still confident I could maintain the 60 kph average.

Little did they know.

Little did I know.

The worst 100
In terms of road and traffic conditions, mainly. Gooty was horrible. Luckily the pain lasted not more than a kilometre or so. I almost took the road to Mantralayam. I sensed something was wrong and asked an old lady for the correct direction at the fork, and then proceeded.

The road leading out of Gooty would've been awesome if not for the slightly broken surface and the heavy, slow-moving truck traffic compouned by more 2-lane luxury. Lots of nice dipping, rising and sloping curves (*cough*), but these are not the kinds that need to be taken slowly. The truck Gods didn't understand that, though.

After a while it got to the point where I just wanted to implode. Progress was slow. The 60 kph dream was evaporating faster than the fluid levels in my body, and not a tree in sight. I had planned to take a break at the 400 km mark (i.e. after Kurnool) but I'm glad I finally managed to find some great shade at 351.2 instead, just outside Kurnool.

This was near a temple and not a dhaba, so luckily the trees were spared. I had another apple, lots of Electral, water and buttermilk. The stuff was luckily still at indoor room temperature. I sat on a stone slab bordering a small cigarette shop. The owner of that shop was an old man, dozing away to escape the heat. He woke up and made a point about the heat, and how he feared the oncoming "summer" months. We started talking and once again I encountered that look of surprise and admiration as I mentioned what I was up to. He wanted to know about the apple I was eating (a shiny red Washington example) and then commented how he pays through the nose to get his kids local apples that don't look half as enticing. You get this sense of how the recession hits those who have no business to be hit by it. Such is life.

The distance board showed Hyderabad was still 223 kms away at this point. I thought I'll take one more break at around the 450 km mark and that should be enough.

I rolled out at 1 PM after a quick face wash, just as the local school kids started gathering around the trees for lunch.

Mistake after mistake
I missed the bypass before Kurnool. I'm pretty sure there is one, as I don't remember taking that long, arduous route through Kurnool town when I drove my car down to Bengaluru from Hyderabad in May 2006.

I wished I was dead, really.

The sun probably heard my wish.

Diversions, tractors, dust, heat.

Every time, the sight of the next diversion board or an unruly or traffic-holding tractor on the road was driving me closer to insanity.

One more tractor or diversion and I swore I would lose it.

At the 425 km mark, I could take it no longer and stopped by the side of the 4-lane (yet again) road. Not a tree in sight, and it was the hottest part of the day yet (around 2:30 PM). 60 kph was a distant dream now. 175 km in a little less than 2 hours. Who was I kidding?

My right forearm started itching and burning. I should've worn that full-hands T-shirt that I put on for a mere 10 seconds at home before ditching it in favour of the one I eventually wore. I should not have forgotten to bring along that sun control lotion I spent a fortune on a few months earlier, but never used even once. I should've bought a bottle of really cold water in Kurnool town. I should've finished the lemon concentrate earlier on in the day.

And then I noticed smoke coming from the exhaust pipe. White, wispy smoke? With the engine switched off? Had something happened to the engine? Did the Great Elemental Confluence conspire to burn the bike instead than me? Out here in the middle of nowhere?

It was the Cramsters! The straps on the right saddle bag were resting on the unshielded part of the exhaust pipe, and the right bag contained all of my food and medicine supplies for the trip along with the bike's papers, toolkit and spares. I yanked the bag up before things went further south. I guess this was like the brakes of an F1 car at rest catching fire. As long as I was moving the flow of air helped to calm things down. Stop, and all hell breaks loose.

I adjusted the bags slightly but I still made a mental note to keep lifting the right bag up every once in a while.

I started at around 2:45 PM and I knew my earlier plan of just taking the one break would be foolish given the circumstances. The saving grace was that the road now looked like it would never be a narrow 2-lane only affair again. Shared carriageways, yes, but with enough room. I had also seen the worst of the heat as past 3:15 PM or so I could feel the heat easing off.

There was another problem, though.

At various points in this stretch (and also a couple of places in the initial 100-odd kilometres), the 4-laning was complete but traffic was still sharing only the one side of the divided highway. This of course made sense where sections were barricaded off, but there were unbarricaded sections as well which weren't being used. There were no boards to indicate whether or not the opposite side could be taken. This posed a problem a couple of times as oncoming private vehicles and taxi MUVs and buses wouldn't give an inch as they were overtaking slower-moving vehicles (usually laden trucks or the odd Ace or shared auto). There was this one Corolla in particular that seemed on intent on crushing me between itself and the divider. For the most part I was defensive and slowed down enough especially when I was on a downward slope (right-of-way stuff, basically). At other times no amount of flashing and honking would work (unless there was a big truck behind me).

Paradise on Earth
I took my next break at the 500 km mark, just outside Jadcherla. I had covered the last 75 kms in an hour, give or take. And I knew from my Volvo experience that the next 70-odd kms (basically until Shamshabad) were going to be excellent as 4-laning was 100% complete.

I had a few snacks and some more fluids. Called up GR to take his advice on the best route once I was inside Hyderabad. 5 PM onwards on a Friday is the ticket to asylum if there ever was one. I started again sometime between 4:10 and 4:15 PM (yes, another long break but this was more to assuage my sore derriere) and I was going to take just one last break after crossing Shamshabad, before the final stretch in rush hour madness.

The temperature was thankfully back to pleasant levels now, plus there was this feeling of approaching home. Combined with the beautiful toll roads, this was enough incentive to rip the hell out of the bike. The next 65-odd kms (i.e. the point where the highway met the RGIA approach road) passed by in a blur. I took adequate care at the various crossings and intersections, though, as the Luna-tics were blissfully unaware of the kind of speeds I could attain.

I went back to sedate speeds after that point as I was mostly inside city limits now. I took my final break some 10 kms later, at 5:15 PM at the ~576 km mark, after crossing the Agriculture University.

The video game
A friend of mine, actually a wingmate from college, met this interesting European exchange student when he was in IIM-A. This European guy equated Indian city traffic (he took the example of New Delhi, apparently) to a video game where you just point at some available/free space and shoot. That pretty much sums up Hyderabad traffic. Wide roads and hollow brains. I sometimes appreciate the narrower roads of Bengaluru, as that means less possibility of people taking advantage of the width to use the road as a racetrack.

I'm not at all familiar with roads in the Old City, despite having been born and brought up in Hyderabad. I missed the Rajendranagar X Roads which would've allowed me to take the more circuitous but ostensibly freer Gachibowli, Jubilee Hills, Punjagutta, Begumpet route. I took the wrong turn at the Nayapul (or is it the Puranapul?) and ended up in the narrow bylanes on the other side of the Musi river.

There's one thing in Hyderabad that never ceases to amaze you. You ask for directions and you're told, "Bas ek hi raasta hai. I-shtret.". Out of experience, I know what that actually means. You go straight as far as the road goes and at the next crossing or junction or intersection you ask for further directions. Anyway, in due course of time I ended up at Nampally Rly Station.

In these days of ek ke saath ek free I got ek galat turn ke saath 100 speadbreakers free. I am not going to sing paeans about Hyderabad's roads ever again, at least not until YSR and his cronies are around. The stretch must hardly have been 5 kms (much less, I would think) but it had done to my back what the previous 580-odd kms couldn't do.

Surprise, surprise!
There are two schools of thought when it comes to biking. Let all of your near and dear ones know, or just do it surreptitiously.

I belong to a third school. Let those who don't mind know, and keep the others in the dark. My parents didn't know I was riding down. It would've been the death of me had they did. In fact they didn't even know I was planning a vacation, leave alone spending it in Hyderabad.

So when I pulled up at home at around 6:15 PM, 12 hours and 600.4 kms after I had set off in Bengaluru, my wife who was standing at the doorway had a million-watt smile and a look of undescribable happiness and relief on her face, and my parents were stunned into speechlessness with looks of total incredulity on theirs.

60 kph failed me, but 2 days later I still feel refreshed and invigorated. The coming year of pressure, deadlines and sleeplessness will be just that bit less stressful now.

Friday, January 30, 2009

Compile speed-up with ccache and overclocking

Enabling ccache really speeds up C/C++ code compilation by leaps and bounds.

An incomplete merge of openoffice-3.0 on my gentoo box once took 26385 seconds (~7 hrs 20 mins). There were lots of other merges between the previous OO compile and this one, so I'm pretty sure the cache was worthless as far as this merge was concerned.

A subsequent re-merge of the ebuild, this time successfully, took only 9876 seconds (~ hrs 45 mins). That's just incredible speed-up. The comparison isn't entirely fair because in the interim I overclocked my machine's CPU mildly (an Athlon XP 2500+, from the stock speed of 1833 MHz to 2142 MHz), but you can see from the figures that the bulk of the speed-up is not from the overclock.

Update: I changed some USE flags which meant a remerge of openoffice overnight. This time, it took 21952 seconds (~6 hrs 6 mins) for a successful merge. The ccache-boosted merge happened around 3 months ago, with a lot happening in between. I think ccache must have had a very minor role to play here. So the speed-up due to the CPU overclock is at least 16.8% (considering the earlier figure of 26385 seconds was for an unsuccessful merge). The overclock itself is around 16.86%, which means we're seeing a fairly linear increase in compile performance with clock speed. This does make sense, considering there's very little the rest of the system does (very little disk access, most compiled code probably fits in the CPU's cache so even memory access doesn't come into the picture, although even the RAM's been overclocked by 12.5%) during a code compile workload.

Tuesday, January 27, 2009

Will the Telugu Brahmin advance?

Telugu Brahmins must be the only people who place an equal importance on sound education as well as on blindly following irrational practices. What an interesting, and sometimes irritating, antithesis!

And so it was on Republic Day 2009 again, when the whole world was rejoicing the opportunity to view yet another solar eclipse, yet we take pride in hunkering down and locking ourselves indoors, in fasting throughout the day (almost) or wasting food that was cooked in the morning. This is just a small thing, though. It's not life-changing by any means, at least not for those who've already seen an eclipse. Some of the other things that are done in the name of tradition are simply mind-boggling.

At this juncture, I would like to point your attention to this excellent article by Justice Markandey Katju. Coincidentally, this piece appeared in the Republic Day edition of The Hindu.

Of what use are all those degrees if we cannot open your minds to scientific thought? Age-old wisdom says exposure to eclipses can be harmful. With the advent of modern viewing technology, though, the single most important question in human history - "Why?" - begs to be asked. The conclusions aren't sacrosanct. The processes are. The scientific spirit is. What was true yesterday may not be true today, because, thankfully, the human race does advance.

The question is, will the Telugu Brahmin advance? And would he contribute to the advancement of the human race?

As long as we submit to fear and doubt, though, the answer to either question shall remain a firm "No".