My thoughts on Indian traffic

Suppose that you’re driving down a four lane, non-divided suburban street in the USA, with a sidewalk on each side. In decreasing order of frequency, you’d expect to encounter:
– cars
– trucks
– buses
– pedestrians
– motorcycles
– bicycles

In India, the corresponding list would be something like:
– bicycles
– pedestrians (with or without pushcarts)
– motor scooters
– motorcycles (with up to four people on board)
– ultrasmall cars
– auto-rickshaws (passenger and goods versions)
– trucks (huge slab-sided things)
– regular cars
– buses
– cows
– luxury/sports cars
– ox-carts
– goats (in herds)

In the USA, the different types of traffic would be logically segregated: pedestrians on the sidewalk, slower vehicles in the right-most lane, and so forth. Furthermore traffic tends to keep to the right, only crossing the centre line for occasional overtaking.

In India, approaching vehicles keep left when passing each other. That’s pretty much the only rule. Any of the types of traffic listed above may be encountered anywhere on the road, including the sidewalk. “Lanes” are a polite fiction, an occasional decoration on the tarmac; road signs are everywhere; traffic lights are so rare that they actually seem to command respect, possibly because they’re such exotic creatures. Traffic may be moving at any speed from zero to 50 MPH – and occasionally in reverse! – in any “lane”. The sidewalk is simply another space to be occupied by any vehicle, and pedestrians may be encountered anywhere – even in the fast lane of a divided intercity highway. Overtaking takes place on either side; if space is limited, the horn is used incessantly until the gap opens up. At an intersection, nobody stops: they just proceed straight into the flow and somehow they’re absorbed (usually with more horn blasts).

[Amusing touch: Trucks and auto-rickshaws have crudely painted signs on the back, saying “HORN PLEASE”.]

And it all works. Dammit, the traffic in Pune works better than the traffic in Boston, or San Francisco. Even though it looks chaotic, it keeps flowing almost all the time. (On those rare moments when it doesn’t, volunteers step up to direct traffic and sort out the mess.)

Why does it work? There seem to be two related reasons. First, there is no prescribed “right of way”. You can’t assume, or insist on your right of way where none exists. All interactions – overtaking, merging, giving way to crossing traffic – seem to be based on instantaneous negotiations between the various parties, with the “body language” of the vehicles conveying the necessary cues.

The second reason is that nobody pushes 100%. Everybody seems to drive at about 60% intensity. That may seem odd, when you see vehicles packing into a space with scant inches between them, but I think it’s true. When in doubt, yield – if it’s the wrong decision, you’ll be able to make it up later. If you lose a merge, don’t fight it, relax – even if that opens space for someone else. And there’s a rhythm to it, a kind of balancing that reminds me of the women walking by with bundles of goods on their heads. When a car comes up to pass a bicycle, the rider sways out of the way, just enough to allow the car to pass. It’s not a manoeuvre, it’s a dance step. It’s what the AI guys call “swarm intelligence” of a very high order: self-organization rather than rules-based.

And of course at night it gets even crazier, because half the vehicles have no, or defective, lights. But it still works.

[Another amusing touch. High-end cars have door mirrors that fold out of the way at the touch of a button. When the spacing between vehicles is measured in a few inches, this is more than a luxury.]

What does it feel like? This morning as I was being driven to Pune airport, there was one perfect moment when the car I was in was overtaking an auto-rickshaw, which was overtaking a bicycle, which was swerving round a cow. As we did this, a large SUV overtook all of us. Between us, we occupied the entire width of the street, and not far ahead there were two or three “lanes” of traffic approaching us at speed. Somehow it all just flowed together and past.

I can’t imagine driving here myself. I think you’d have to grow up here to learn the music of the street. If you can’t sing it, if you’re not note-perfect, it must be miserable. But watching the performance is totally absorbing – initially frightening, then exhilarating. I guess it could become almost mundane over time, which would be a shame.

Day 5

My last full day in Pune. The highlights were:

  • Beating the traffic! I asked for the driver to come at 8am: he arrived at 7:50, and we made it out to the office in 20 minutes. (Yesterday it took over an hour.) I arrived ahead of most of the regulars; fortunately I had a badge that worked. (To maximise the overlap with the rest of the team in Massachusetts, the Pune group tend to start work late and end very late.)

  • Speaking at an all-hands meeting for the engineering team here in Pune. My subject was engineering culture and practices in Sun. The group seemed pretty enthusiastic, so I wasn’t too worried about running over by a few minutes.

  • Having my travel rearranged, so that instead of having a 6 hour layover at Mumbai airport I shall now be flying direct to Hyderabad tomorrow. Thanks, Monish and Ulka for arranging this.

  • And finally, giving an invited talk to the Pune chapter* of the Computer Society of India. The subject was “The Future of Distributed Computing” – and no, you can’t have my slides! They only make sense when I’m talking – maybe not even then. Anyway, there was a good sized audience, and they seemed to enjoy it. (I know that I did.)

So tomorrow I leave Pune and head for Hyderabad. I’ve enjoyed myself here: the ex-Storability team are a really great bunch of engineers. I’m looking forward to returning.


* Memo to the CSI Pune chapter organizers: lots of pages link to you as http://csipune.com, but that URL seems to be parked.

On standing up against those who oppose reason

More and more ordinary people – not pundits, columnists or politicians – are speaking up in defence of the values of the Enlightenment. This time it’s Adam Bosworth: “It is time to say that facts are what matter, not faith, that human progress is accomplished through unfettered use of reason and inquiry and tolerance and discussion and debate, not through intolerant and irrational acts of terror or edicts.”

(Via Loosely Coupled.)

Day 3+4

Just a brief note, as it’s late and I have to be up early tomorrow for a series of meetings. Setting aside the work… and the driving… what’s left? Oh, yes: food. Last night, after checkin in to my second hotel in Pune (The Pride), I ate in the Golden Arch. No, not Golden Arches – the Arch [singular] is one of the restaurants in the hotel. Very pleasant, Kingfisher beer tastes much better in India than whatever they ship to the USA. It has a nice touch of bitterness that most lagers lack.

And yes, the connectivity in the hotel is pretty good: desktop 10Base-T, with only occasionally glitches.
UPDATE (10/22/05): Well, not so good. I finally ran some bandwidth tests, and got figures in the range of 80kbps (that’s kbits, not Kbytes). Surely some mistake….

Today I started late due to traffic – the recent rains have washed out even major roads, and things are a mess. After a meeting with the site director, I went out to lunch with a group of managers. We drove (on the Mumbai-Pune toll highway, and at a really impressive speed) to a hilltop resort in Khandala called The Duke’s Retreat. The Duke in question was Wellington, whose famous nasal profile can be seen in a nearby ridge. After returning to the office for more meetings running in to the evening, a few of us braved potholes and traffic to reach another noted area restaurant, the Ambrosia, which lies about 20 kms. west of the city centre. [Forget the negative reviews on the website: the food was excellent, and service was very prompt and attentive.]

Enough. I must hit the sack. Big day tomorrow.

Day 2+3

I tried to post a day 2 entry from my Treo at Mumbai Airport, but I fumble-fingered the UI and deleted all my typing, so I gave up.

On Monday night I flew from London to Mumbai on Jet Airways. The service was superb: far, far better than on British Airways the night before. Unfortunately the guy sitting next to me was a fidgeter, and my sleep was occasional and fitful. Dawn over Iran was cloudy, but I got a wonderful view (and some pictures) of the bleak landscape in southeast Iran and western Pakistan: brutally bleak, a uniform dusty off-white with only brilliant white salt flats providing relief. And then after we reached the coast we vectored inland, over Karachi, and well to the east before heading south to Mumbai.

I arrived at the rather shabby 1960s-vintage international terminal, endured the bureaucratic tedium of immigration (there always seems to be one more form, or one more signature), rechecked bags for the connecting flight, and took the shuttle bus to the new domestic terminal. Here I made a mistake: I assumed that there would be services (ATM, food, shops) on the far side of the security barrier. Wrong: there was nothing. It was more like a bright airy modern bus station; lots of seats, and TVs, but no services and (apparently) no way back to the rest of the terminal. Without Indian money or liquids, I was stuck for four hours. I dozed, watched TV uncomprehendingly*, and eventually my flight was called.

[Need to speed this up – I have to unplug in 10 minutes.]

The flight to Pune was short and sweet (complimentary fresh lime juice), my bag appeared on cue, and the car to take me and two other passengers to the hotel was there. The journey… well, it was an eye-opener, as in eyeball to eyeball with a cow in the middle of the road. The roads were very bumpy (exacerbated by recent heavy rains), and the traffic was chaotic – but everything kept moving, and we got to the hotel.

At this point I should describe my first dinner in India. Sorry, no – I was falling asleep on my feet, so after a couple of phone calls I just drank a litre of water, fell into bed and slept for 11 hours.

So now I’m at the Pune office of Storability, the company that came to Sun by way of the StorageTek deal. I’ve cleared my email backlog, met a number of the staff, and had a delicious lunch at a nearby restaurant. I’m now preparing to head back to the city to check in to a different hotel, which is supposed to have much better connectivity.


*The bilingual aspect of Indian communications is oddly confusing. On the TV, they kept putting up “News Flash” in English, followed by the headline in Hindi. It wasn’t until I reached my hotel room and turned on the BBC World News that I learned that a government minister in Indian-administered Kashmir had been assassinated in his home by an Islamist gunman.

Day 1

Flew BOS-LHR last night on a 100 percent full BA 777. The bad: a middle seat. The good: World Traveller Plus. We reached the Heathrow area 20 min early, the sat in the Ockham hold for 25 minutes because of fog. We were lucky to get in: visibility was around zero.
Eventually I got my bag, picked up a rental car, and drove down to Woking for meetings with StorageTek UK. I felt they went very well. Late in the afternoon I returned to Heathrow and checked in for my Jet Airways flight to Mumbai. I managed to get a window seat, because I want to see dawn over Iran.
And finally I had a hot meal (having missed breakfast, and having had sandwiches for lunch). I’m now waiting to board, composing this on my Treo.

Random preparations

  1. Rather than relying on phones while travelling, I hope to be using iChat AV a fair amount. I picked up an iSight camera for Merry to use with her iBook. Then yesterday and today I spent some time debugging video chat with Merry, Kate, and a colleague of mine who just happened to be in Singapore this weekend. Looks promising.

    (There was only one dumb ease-of-use issue: in order to video chat, it’s necessary to open up five ports in the OS X firewall, and for some reason there’s no preset configuration that you can simply check off. Instead you need to define a new profile associated with TCP ports 5060, 5190, 5297, 5298 and 5678. That didn’t feel very Mac-like.)

  2. On Friday I was talking with Jim Waldo (of Jini fame) and I mentioned an iTunes playlist of mine called Music to blow your speakers out. He dragged me back to his office and introduced me to Tool. I was blown away, in more senses than one: I’ve only known Jim as a jazz enthusiast, and Tool’s Ænima was unexpected, to say the least. But I was intrigued, and this lunchtime, while running to the drug store to pick up a few items, I made a detour to Newbury Comics and picked up a copy of the CD. (Oddly it’s not available through ITMS.) I’ve ripped it into iTunes and added it to my iPod; I’ll listen to more of it over the Atlantic tonight.

  3. Checking in. Well, trying to. I logged on to the British Airways website (after finally realizing which of the four or five ticket numbers and record locators to use), changed my seat on the BOM-LHR leg (no more 53J!), and then tried to check in. And tried. And waited, and tried again. After receiving a number of different error messages, I finally received a vaguely catatonic “Unfortunately our systems are not responding at this time.” Oops.

  4. In spite of my earlier intentions, I decided not to get up to watch the Chinese GP. I didn’t even record it. (No, I don’t have a TiVo.) A pity – it would have been interesting to see Montoya’s car being ripped apart by a manhole cover (or grating, whatever), not to mention the delicious schadenfreude of watching Schumacher making a fool of himself twice in a single race (the first time before the race had even started!).

All set

After yesterday’s high-stress, today is tranquil. (Apart from the constant rain, of course.) I have my tickets, my passport, my visa. There was one moment of concern when I found that I had paper tickets for all six of the Jet Airways flights but only one of the three British Airways segments. A quick phone call from Susan sorted it out: all of the BA flights are e-ticket, so the extra flight coupon was a mistake.

So now I simply have to pack (thanks for the dress code suggestions), watch the Chinese GP, polish my slides one more time, and go. Next stop LHR…. (Which will be a good place to fix 53J, come to think of it.)

New England washout

This has been one of the wettest weeks I’ve known in New England. It’s true that it’s relatively insignificant compared to the hurricanes, mudslides, and earthquakes that have afflicted the world in recent months. However in a region not used to such things, the effect has been dramatic. Here in the metropolitan Boston area we’ve been spared the worst of it, but in western Massachusetts and southern Vermont and New Hampshire the flooding has been dramatic, severe and fatal. See Kimberley’s blog for more (with photo). stormtotal.jpg

The accompanying image makes the point dramatically. (Click for a larger image.) It’s the storm total precipitation from the local National Weather Service office. The data is approximate; it’s estimated from the Doppler radar returns, and tends to understate the local maxima. What’s interesting is the date range: this shows “Precipitation totals since 12:44 AM EDT Fri Oct 7th 2005”. We’re talking about a more or less continuous rain event lasting six-and-a-half days so far… and it’s not supposed to wind down until Saturday afternoon.

Last minute travel stuff

Itinerary seems OK now… all hotel reservations are confirmed… and I remembered to call my credit card issuer to alert them to my travel plans, so that their fraud detection system doesn’t have a conniption. I’ve sent out copies of my slides for various presentations that I’m giving (though I’m not quite finished with one of them). I still haven’t tracked down available WiFi hotspots in BOM, where I have two lengthy layovers. (The map at USAtoday/Jwire is less than helpful…) I’ve booked a ride to BOS on Sunday. All that’s [still] missing is my passport with the visa for India, without which all of this is pointless. Time to nag the visa agents again….

[UPDATE] Hmmm. It seems that the visa process is less deterministic and transparent than I had thought. I sent all my paperwork to the visa agents in California; they then sent the paperwork to the Consulate General in New York (which I could have done), and the CG is supposed to express-mail the documents directly to me. And there’s no obvious way to check on progress. (I have a tracking number, but USPS knows nothing of it.) Had I known all of this, I’d have been tempted to take a day off and scoot down to New York to take care of it in person. As it is, I shall just have to wait. Patiently. And. Hope.

(I’d assumed that this visa agent thing was a bit like buying a new car, when the dealer employs a “runner” to get the paperwork through the Registry of Motor Vehicles. I thought I was paying for someone to drop off the application at the CG in person, and pick up the completed paperwork when it was ready. I guess I’m naive.)