Monday, July 10, 2006

making ghee

In general, I stay away from fried and oily foods - not because I'm watching my diet but because I just don't like them (there are exceptions, of course!). But I can't give up whole milk, or ghee. Eating hot chapatis with ghee on them is one of those pleasures that I'm not going to give up anytime soon.

Making ghee is not too difficult. The core process is as follows:

  1. Start with a few sticks of unsalted butter (assuming you're not using homemade butter!)
  2. Put it in a pot on medium heat but watch it carefully and stir it every now and then to make sure that the bottom doesn't burn. (I use a nonstick pot just in case)
  3. Once it begins to boil, you'll see a thick froth forming on top.
  4. My grandma told my mother to cook with her nose and not her eyes. Once the butter turns into ghee, you'll smell the unmistakable smell of ghee. If you don't smell it, or don't know what it smells like - don't worry. In addition to that fantastic smell, you see the froth will thin out a lot, and the liquid below it turn clear. That's the ghee. You will also see some grainy residue sitting at the bottom.
  5. Take it off the heat immediately and let it cool slightly. This is where you have to be watching it carefully. If you leave it on the heat too long, you'll burn the residue and all of the ghee will acquire a burnt taste.
  6. Carefully strain the liquid ghee into a jar while it's still warm (before it solidifies). I just use a metal tea strainer that looks something like this.
  7. Don't throw away the solid residue! It's edible and actually has a great (albeit maybe acquired) taste.
  8. To use up the residue and any ghee remaining in your pot, cook a cup or two of basmati rice in that pot. It'll taste fantastic!


It takes about 15-20 minutes from the time you put butter in a pot to when the ghee forms and as you can see, the recipe is quite straight forward.

That said, I think everyone has their secret mixins to make the ghee taste better. My mami (mom's brother's wife) puts in a Betel leaf for flavor, and some rock salt to make it more grainy when it cools (the opposite of 'grainy' ghee is 'waxy' ghee - not considered a good quality). My only mixin is a few cloves which help give it a nice color and subtle flavor.

If you have a special ghee recipe, I'd love for you to share by posting it in the comments below!

Thursday, June 29, 2006

Mr Anderson

No, not the dude from the Matrix. But Chris Anderson of longtail fame was at amazon today to promote his new book. I took away some good nuggets, even though I used to follow his blog quite regularly.

  • The long tail arises from
    1. variety
    2. inequality
    3. network effect

  • When plotted on a log-log scale, the long tail is a straight line. Most sales numbers drop off from this line because of limits of
    1. findability
    2. inventory

  • We can exploit the long tail by
    1. democratising production
    2. making distribution more efficient
    3. improving findability

  • Not everyone does everything for money:
    1. We are entering a "reputation economy" (people blog or write books for reputation, not money)
    2. Our talents are more varied than our job functions (I love this one!).
    Both of these point towards the rise of the amateur professional (the expert who doesn't do it for money)

  • Don't confuse limited distribution with shared taste (i.e. boxoffice hits happen because the supply of movies is limited by distribution, not because everyone necessarily loves those movies)

  • Everyone deviates from the 'mainstream' somewhere

Tuesday, June 20, 2006

Distributed Systems Engineering

So as I've mentioned tangentially before, I work on building large scale distributed systems at amazon.com.

These are systems that power not only all of our retails websites (.com plus the various international sites), but also our affiliate sites (like target.com) and all of the cool webservices (like the Simple Storage Service, Mechanical Turk, and ECS).

Now you can finally learn more about what we do by checking out the Distributed Systems Engineering site. This is a pseudo-official site that we wanted to put up to let people know what we work on. If you have comments about the site, feel free to post them here.

Monday, June 19, 2006

radio debut

We have a radio debut in the family! Listen here

Tuesday, June 06, 2006

google spreadsheet.

Google's much anticipated entry into the office-tools market has begun. They beta launched Google Spreadsheet. Wow.

Monday, May 15, 2006

service work in india

If you are of Indian Origin (aka 'brown') and have done any service work in India, then check out the call for submissions for fullcircle, an anthology of stories from people like you about their experiences.

Thursday, May 11, 2006

page 3

Last night, we watched Page 3, a Hindi/English movie about a journalist who covers "Page 3" (the page with photographs and gossip about the glitterati of a city) for a Mumbai newspaper. The journalist is played by Konkana Sen. I've seen her before in Mr. and Mrs. Iyer and 15, Park Avenue and she has been outstanding in all three.

Page 3 left me a little depressed, but I highly recommend the movie.

Wednesday, May 10, 2006

mechturk

this is a hilarious use of mechanical turk.

Monday, May 01, 2006

classical music

Last night I went to hear Ashwini Bhide Deshpande in concert, accompanied by Seema (Harmonium) and Vishwanath (Tabla) Shirodkar.

It was a pretty good concert although

  • Ashwiniji seemed to have a bit of a cold, though her singing was fantastic
  • Her penultimate song (a jhula) seemed to finish prematurely/abruptly; I think this was due to the tabalji going into a long improv.
  • To my very amateur ears/eyes, it seemed like she got off beat a few times. I feel stupid saying that because she's an extremely accomplished artiste, but I could swear that, a few times, she took the sam on the 13th maatra of a teentaal instead of on the 1st. I was relying both on my counting as well as on the tabalji's left hand playing the tin (with his palm instead of his fingers). Maybe someone can corroborate or shoot me down?


Regardless, I thoroughly enjoyed the evening. I also ran into my old music teacher, as well as some fellow vocal students and some amazon collegues.

In other news, we moved out of temp. housing and into our own apartment. To my surprise, I have a partial view of Mt. Rainier along with the Seattle skyline. Since we didn't really get to use our new furniture before leaving Bangalore, we spent much of the weekend excitedly unpacking and setting up the place. Unfortunately, we imported some dust from Bangalore along with our boxes and also spent a lot of time sneezing. Played squash yesterday after a long time so now my rear end is in pain. Am starting a 6-day white-water-kayaking class today.

Monday, April 24, 2006

The Journey of Man

If you haven't seen it, try to check out the PBS documentary 'The Jounrney of Man'.

I watched it with some friends on Saturday night and it was the first movie in a long time that caused so much discussion.

Here's the summary: by analysing the Y chromosome of people from around the world researchers were able to build a tree / map of how people migrated over time. Breifly:

  • Until 50,000 years ago, everyone was chilling in Africa
  • Drought caused by the looming ice-age drove one group of people to follow a coastal route through India and to Autstralia.
  • About 40,000 years ago, there was a big branching out of people from central asia - two groups moved east to China, one group moved down to India. Another group headed far north-east.
  • From the north-east, one group returned west to beome europeans and the rest trudged on eastwards in the arctic circle.
  • About 10,000 years ago around 20 people survived the crossing across Beringia (the land mass that was exposed when the Bering Strait water levels were low). Within 800 years they multiplied and inhabited the whole American continent.

That means that, only about 2000 generations ago, our ancestors were all buddies, chilling in Africa.

The documentary is a little slow but seeing portraits of people around the world makes the similarities so apparent - it's definitely worth watching.

Thursday, April 06, 2006

exceptions

A coworker lent me an amazing book: Framework Design Guidelines. Yes, yes, it's an MSFT book and talks about the .NET platform and is thus, by definition, evil. But it's still a phenomenal book and full of bits of wisdom.

Each time I've picked it up, I've wish I could condense it into a cheat sheet and paste it to my monitor while coding. The following excerpt is not exactly groundbreaking, but something I wish I could remember when I design APIs:
It's OK for exceptions to have a property returning some kind of error code, but I would be very careful about this. Each exception can carry two main pieces of information: the exception message explaining to the developer what went wrong and how to fix it and the exception type that should be used by handlers to decide what programmatic action to take. If you think you need to have a property on your exception that would return additional error code, ask yourself who this code is for. Is it for the developer or for the exception handler? If for the developer, add additional information to the message. If for the handlers, add a new exception type. (pp. 184/185)

(I'm sure I'm guilty of adding a stupid error code to an exception)

Wednesday, March 29, 2006

scobeleizer vs all things distributed

ok that's a stupid, exaggerated, eyecatching title for a post, really. But if print media does it, so can I.

Quite frequently employees at amazon have the privilege of getting into a small conference room with an author or artist and hearing them speak or perform. For example, yesterday I got to listen to Ben Harper busting out some songs from his latest album.

Well today Robert Scoble visited us to promote his latest book. The talk was okay, but what made it lively was the discussion between him and Werner Vogels (I guess it also helped that I won a copy of their book in a raffle)

Definitely a treat for an otherwise normal Wednesday at work.

Oh - and in addition to those perks, did I mention that you get to work on building real, large-scale distributed systems to power the most customer focussed company in the world? :)
(email me your resume if I didn't scare you off with all of that company kool-aid)

Thursday, March 09, 2006

summing it up

I'm kind of sick of trying to sum up 15 months of India into a hallway conversation. But I guess after doing it for the past week, I've become somewhat proficient.

I love that the air is fresh enough to go running in the (cold) mornings.

I love that I can take a quiet bus ride to work and do a bit of reading on the way.

I love the Seattle Public Library.

Thursday, March 02, 2006

catchup

Lots to catch up on...

At the end of January/early February, we made the trip to Goa with some friends. It was fantastic. In Palolem, where we stayed the first night, we had what S described as the best pizza she'd ever tried. It was pretty yummy. The place is run by some Italian guy. The next two nights were spent close to Baga. I was worried about S having a good time since she doesn't drink that much, is vegetarian, allergic to the sun, and not a big fan of motorbikes. But we sat on the beach (under umbrellas) and ate seafood (she ate alu paranthas), drank (she drank fresh watermellon juice), and rented motorcycles to get around town. And she had an amazing time.

After Goa we were in Bangalore for a week, taking care of lots of logistics in preparation for the move. At the end of that week, we got in the car and drove to Belgaum to visit my mama, and then drove on to Sangli to visit his daughter, and then spent a few days in Pune with my sister's family. We left the car there and flew back to Bangalore, sad that we won't be seeing them as often anymore.

Next we took a bus to Coorg, a large coffee growing region south-west of Bangalore. It was an amazing, week-long trip. We spent the first 2 nights at a resort called Misty Woods. I highly recommend against going there. It's not a value for money. The staff is great and the rooms are nice, but the food is terrible and the place doesn't justify the cost at all. Instead, try out Palace Estate, a small homestay close by (we didn't stay there but it looked pretty nice and we heard good things about it). Both are located near the palace, outside the town of Kakkabe. We spent the next 3 days at sand banks, a home-stay close to Ammathi. Mr. and Mrs. Kallappa were extremely hospitable, and made our stay wonderful. The food was fantastic and the location was very rustic and peaceful. Highly recommended.

We were in Bangalore only for 3 days after that, during which time we sorted through all of our belongings in preparation for the packer/movers. I flew to Delhi to spend a week with my parents, while S did a short trip around south india to visit more family, and then joined me in Delhi.

From Delhi, my mom and I did a short trip to Rishikesh/Haridwar, where we stayed at the small and rustic but comfortable Vitthal Ashram. I spent a morning kayaking in the cold Ganga waters, and the rest of the time checking out temples. I was quite disgusted by how commercialized the temple-areas were and how many people were out to get your money using God's name. I guess that's to be expected given the number of tourists that go there. oh well.

I landed in Seattle on Monday and it feels quite surreal to be back here. I have caught up with a bunch of friends already, and should get a chance to meet everyone by this weekend. I still haven't gotten a cellphone so I do feel a little disconnected still.

Yesterday was my first day at work. I'm not yet sure how excited I am to be working again. :) But I'll be looking into caching which looks to be pretty interesting.

Thursday, February 02, 2006

grasshopper

The other night we went to a restaurant way out on Bannerghatta Road called Grasshopper. I'd heard about it for a while and had been trying to coordinate a trip with a few people. But S and I finally decided to go there on Wednesday night lest we miss a trip there altogether.

We were the only people there. Seating was outdoor and they provided shawls since it was a little chilly. They have a boutique out front featuring clothes (and accesories) from 6 designers. The ambiance was awesome.

I wrote down the contents of our 6 course meal but seem to have misplaced it somewhere. I absolutely loved my food. S liked hers (she had the veg. option) but was not as enthusiastic as me.

I think I remember my meal:
- Oven fresh bread
- Fig stuffed with Feta
- Asparagus with mint and lime
- Prawn with ginger
- Walnut and pear salad.
- Sea bass
- Veal Chops
- Lemon cheese cake with grape reduction

S got bruschetta instead of the prawn, a feta-stuffed sweet chilli instead of the sea bass, and broiled vegetables in butter-bean sauce as her main course.

The Sula Sauvignon Blanc that we had was a disappointment. I ended the meal with a shot of espresso for the long drive home.

My mouth is watering while writing it down. In fact I may just stop writing for now because I need to go grab lunch.

Update: anonymizing.

rang de basanti

Last night Sindya and I went and watched Rang De Basanti, starring Amir Khan, Kunal Kapoor, Soha Ali Khan, and others. We tried getting tickets a few days back at the Forum Mall in Bangalore, but it was sold out for the full week. We were walking around Brigade Road yesterday and decided, on a whim, to try for tickets.

I'm glad we did. It's a great movie. The acting was solid, as was the cinematography. The soundtrack was fantastic too. The storyline was new and refreshing, and I think it struck a chord with many.

Monday, January 30, 2006

Red Tape: Getting a police clearance certificate

I realized that I should have started this as a series when I first moved to India but I didn't think of it until recently. There are many "gotcha's" associated with getting any government work done in India which result in this "Damn. Now I know what to do next time" feeling. However, many tasks (e.g. getting a Marriage Certificate) are such that one rarely needs to do them more than once.
So I figured I'd put down at least one such experience in writing for the benefit of others.
Please update this information by leaving a comment

What: Getting police certificates from the regional passport office, and the local police station in Bangalore.

Why: In my case, it was to apply for a visa.

Est. Time: 1 week (at minimum), 3-4 weeks normal time.

In order to expedite, you'll need a letter explaining why. If it's for business purposes, it should be on company letterhead. If for personal purposes (as in my case) make sure that you can explain the reason in one sentence, and that the letter is written in formal style.

For pretty much every step, you'll need a recent photo. Keep a stack of them and a glue stick with you at all times.

Summary of Events

  1. You submit all the applications
  2. The request for passport clearance is forwarded from the passport office to the commisioner's office to the local police station.
  3. The police clearance request is forwarded from the commisioner's office to the local police station.
  4. The local police check your records and residence and get a statement from your neighbors.
  5. The applications travel back along the same route they came
  6. You pick them up at their respective starting points

Hopefully this will help you waste less time in the process.

Step x where x < 4: Get familiar with the local police station


Since both requests will finally come to the local police station, you should go there at some point before completing step 5, and get to know the person who'll do the verification. Explain your urgency, and ask him for any documents that he'll need so that, once the requests get to him, he can complete his end of things ASAP. In my case this guy was really nice and did all he could to help me get things done quickly.

Step 1: Money


Passport Office


Accepts Cash

Commisioner's Office


The commisioner's office requires that you first go to the State Bank of Mysore, Treasury Branch and remit Rs. 200 to account number 005500103004. You'll need to specify "for PCC" and supply your name and address as you'll want listed on the certificate.
You don't have to do this in person; I was able to send my driver to take care of this. However, I didn't know that it needed a name and address and he just guessed the spellings of both, so he had to do it again, this time with a PostIt with my name and address written on it.
Time:My driver said that there was a line for this as well, and it took about three hours.

Step 2: Forms


Passport Office



  • Form 2
  • Personal Particulars Form in duplicate (pages 10-13) and index card (page 3) from the passport application form
  • Passport (make sure you make copies of the important pages and visas in your passport first, because they'll hold onto your passport once you submit the application).

Commisioner's Office


The forms required at the commisioner's office are not available online. You may be able to ask someone to get them for you though I'm not sure. That process is optmized for wasting your time.
Show up at the office called "Single Window" at the commisioner's office. There is an 'enquiry desk' at the front which supplies you with forms and information. If the guy there is in a good mood, you may be able to get a blank form from him up front. If you're having someone take care of the bank stuff for you, they can try getting you that form at the same time.
Time: Should take about 10-20 minutes depending on the size of the line.

Step 3: Submit the applications


Passport Office

Show up at the passport office a little before 8am. The counter only opens at 9:45, but the line starts at 7:45 or 8:00am.
What to bring:

  • Proof of address
  • Forms with photo
  • Cash (About Rs. 300 I think)

You'll stand in line where they'll check your paperwork and give you a token number. Then you wait for your number to be called at which point they'll take your money and passport and give you a receipt. Make copies of this ASAP.
Time: If you get in line before 8am, you could be done as early as 10:30am.

Commisioner's Office

Show up in the morning around 10 or 11am; you should be able to head there right after going to the passport office. You'll need:

  • Proof of address
  • Form with photo
  • Receipt from the bank

Even if there's a big crowd when you enter, that's either people waiting in line to pick up the stupid form and figure out the process, or foreigners on long term stays registering their presence. Just go to the line in front of the window that says 'police verification' (number four, I think).
After submitting the application, you'll get a receipt. Make copies for safe keeping.
Time: About 10-20 minutes.

Step 4: Check for the request from the passport office


At the commisioner's office, there is a big room at the front (facing Infantry Road) where you can go to check on the status of a verification. It should take a day or three for the request to get from the passport office to the commisioner's office; I wasn't able to figure out how to speed this process up.
When you walk in, you'll be confused; there are windows up front, but no lines leading up to the window. Sitting in front of the window will not result in someone coming to help you. The right thing to do is to observe for a few minutes and find someone who looks like they work there (you'll know by the fact that they keep coming and going from behind the restricted area).
Catch a hold of one of them and ask them to check on the status of the passport verification. Give them the original receipt and they'll go back into a room somewhere and search through their files to tell you if they've gotten the request.
Once they've gotten the request, move on to the next step.
Time:About 20 minutes each time you decide to go there and check.

Step 5: Expediting the process


The requests for verification could sit around for a while in the commisioner's office and we want to avoid that. Once you find out that the passport request has been received, find out if the police certificate request (that you submitted at the commisioner's office has been forwarded to the local police station or not). If it hasn't, then you'll need to complete the following steps for both requests:
  1. Go wait in line outside the DCP (Deputy Commisioner of Police), Intelligence's office along with your urgency letter and receipts for the requests and request him to let you take the requests 'by hand' to the local police station. He'll sign on the two receipts. His office is in a different building in the Commisioner's Office compound.
  2. Wait in line outside the ACP (Assistant Commisioner of Police)'s office and ask him to . This is inside the big room when you find out about status. It's on the right when you go in. Hopefully he'll grant your request by signing on the receipts as well.
  3. The ACP should instruct someone to go and prepare a sealed envelope containing both requests.

Time:About 45-60 minutes to get both signatures.

Step 6: Local Verification


This may vary. The cop dictated two long statements to me which I had to sign. Both were along the lines of "I am such-and-such person living at this address. I require police clearance / passport verification for the purposes of blah. I've provided the following documents as proof of residence. I request you to please provide the verification".
The cop came to my building and got a sworn statement from the building manager as well. Two huge packets consisting of the requests, along with address proof and statements were then signed by the head of the local police station (I forget his official title). Finally, they needed to stick my pictures in two registers, which I had to sign.
Thanks to an urgency letter, the responses were given back to me in an envelope and I was able to take this, by hand, back to the commisioner's office.
Time: Because I'd done a lot of ground work (i.e. been there many times), the actual physical verification took about an hour. I'd reserve about half a day to write the statements, provide address proof, and to get the appropriate statements and signatures.

Step 7:One down, one to go!


With the forms completed by the local police station, I was able to go back to the commisioner's office and submit them there. Again, just catch hold of someone and request to speak to the guy in charge of police verifications. If he's sweet, he might agree to complete the process that day itself.

Passport Verification


Just submitting the forms is not enough, you need to request that you are assigned a GR number. This should ensure that it is available for pickup from the passport office the next day.

Commisioner's Verification


The receipt for your verification would have listed a pickup date 3 weeks in the future. In order to pick it up before this date, you'll need to get signatures again from the DCP of Intelligence and ACP. Show them the urgency letter and hope that they approve your request. If they do, you should be able to take this back to the Single Window and get one your police certificate. Woohoo! One down, one to go!
Time:About half a day. Once you submit the local police reports, you should wait there to make sure you get the GR nubmer.

Step 8: Expediting the Passport Verification


Show up at the passport office a little before 11am with
  • your receipt
  • a personal statement of urgency
  • some proof of urgency (e.g. a company letter) and, of course,
  • one more photo.

In the front of the Bangalore office, two guards jealously guard the entrance to the "Tatkal" (expedited) area. Show them your proof of urgency and they'll let you in. Go up one floor and a security guard will give you yet another form, and direct you to stand/sit in a line.
When you get to the window, someone will check your paperwork and ask you to meet the Assitant Commisioner. You'll be shuffled along to another line outside his office. Explain your circumstances to him, and he may approve that you be provided your passport the same day or the next day.
Time: If you get there just before 11am, you should be done by about 12:30pm.

Step 9: All done!


On the day you're meant to receive your passport back, you show up at the passport office between 4 and 6pm. Show your receipt, and the guards will let you go back up to the same Tatkal hall. Do not bother standing in line.
They have this funky process whereby they call out 15 names or so over the PA system. Those 15 people are expected to go to the counter and pick up their passports (they'll call out the names again in the same order). If you don't show up, they'll try calling your name again in a little while.
While this may entice you to show up at 5:30pm, I'd recommend going a little earlier just in case (remember; they strive to waste as much of your time as possible, and may come up with some even less efficient system by the time you read this).


And that's it! After many man hours of effort, repeated visits to the passport office, the commisioner's office, and your local police station; you would have gotten your certificates!

Appendix A: Address Proof


I have had serious problems with address proof in India. My landlady provides a phone and gas connection, and the electricity bill is in her name. The following documents are NOT considered valid address proof:

  • Phone bills from private companies
  • Your lease
  • Credit Card bills
  • Bank statements from a non government bank

Finally, I was able to use my tax "Saral" (a stamped piece of paper saying that you've filed taxes) as proof of address.
I recommend getting a gas or govt. phone line in your name even if for no other reason than to provide address proof.

Appendex B: Bribery


I'm the worst person to comment on this, as I don't really know how to offer someone a bribe. I'm also not at all comfortable with it.
There were certain steps in this process where the people concerned, after completing my job in a somewhat timely manner, asked for money. I paid. There were other cases where there was no request for money but I had been helped. I asked to make sure the person would not be offended, and paid. I paid more in the second case because I felt that the person had been sincere and I think honesty is rarely rewarded in India. It was ironic and possibly defeated the purpose to reward honesty with what could be construed as a bribe.

Tuesday, January 24, 2006

done!

Though I can't believe it myself, today is my very last day at the Amazon office in Bangalore. I came here in October 2004.

The last few months have been somewhat crazy; I've been out of the office a lot for personal (family) reasons. So leaving today seems even more sudden.

But I'm quite excited. Tomorrow afternoon I'm catching a flight to Goa. We are going with Romain/Elise and Sanjay/Ashima; Vikas/Pooja join us on Friday morning, and Praveen joins us on Saturday morning. We're going to South Goa (Pallolem beach) where I haven't been before; I'm looking forward to the usual fish curry and rice, as well as some motorcycling. We'll hang out there over the weekend and then head over to Belgaum and Sangli/Miraz to hang with some family.

After that, things are somewhat unclear. If nothing more spectacular comes my way by middle/end of February(hint, hint!), I'm currently set to take up a really cool position back at Amazon Seattle starting March 1st. That leaves me with most of February to wrap up here as well as do some sightseeing.

That is so far unplanned; we're considering visiting some friends in SE Asia, or spending time seeing areas like the Northeast of India, or Rajasthan.

Obviously, both of us have mixed emotions about going back. We're excited and looking forward to it, but at the same time we've spent the past month (and will probably spend the next month) constantly pointing out things that we'll miss about India.

In terms of stuff we're taking back, we've picked up (and will pick up more) a bunch of small knick-knacks; some art work, and some really cool furniture. Oh, and of course, two heads full of wonderful memories.

Tuesday, January 10, 2006

Happy New Year

I'm a little late with the New Year wishes but since this is my first post of the new year, I figured it's legit.

It's eid today; I was trying to catch an autorik to go somewhere today and went out on the main road to find throngs of muslims blocking the main road. They had their prayer mats laid down and were kneeling and prostrating as prayers were chanted over a loudspeaker. It was an awesome sight. S is going out to take a look, and will hopefully catch something on video that I can upload.

Last week we went to Chennai for the day. We had a few hours to kill in the afternoon and were trying to figure out what to do. Someone suggested the museum so I reluctantly agreed, figuring that we'd just stop by for a while and move on to the beach. I'm glad we went. It was the best Rs 15. I've spent in a long time! The buildings themselves were grand and very picturesque. The exhibits were also fascinating - they had lots of bronzes and stone carvings from various periods in India history.

S and I didn't do much for New Years. We were in Pune at the time. On the 30th, we went out with my sister and brother-in-law to this cool little lounge called 'Kiva' that plays very upbeat 70s/80s music that just makes you want to move. We got pretty drunk there. On the 31st I was sick, and everyone was a little exhausted so we just hung out at home and chatted and watched some TV. S baked a cake which got ready at midnight, so we ate that and drank some dessert wine.

That's all. We're planning on leaving India in a few months, which brings with it quite a mix of emotions; excited to move on, but sad to leave behind lots of great memories. These days I'm busy trying to wrap things up at work and at home. S has been given a license to go nuts shopping since there're so many little gifts and such that we want to take with us.

Wednesday, December 14, 2005

passionate about your customers

Joel has a great article on how he sped up the process of shipping dvds. Joel is a prolific writer on software development, and runs a software company. Which is why I was surprised that he put three days of effort into building a kickass mailing system instead of getting some other company to do it.

Why he did that is explained here

sloppy, yahoo!

ugh. yahoo! buys del.icio.us, and now I get this<:
I'm disappointed. They should have error handlers that prevent detailed errors like this being shown to users.


System error
error: Can't call method "prepare" on an undefined value at /www/del.icio.us/comp/user/get line 13.
context:
...
9: my $usedb = 'master';
10: my $ret;
11:
12: if (!$auth_user) { $usedb = 'user' }
13: if (!exists ($db->{$usedb})) { $usedb = 'master' }
14: $user_name_q->{$usedb} = $db->{$usedb}->prepare('select * from users where user_name = ?');
15: my $query = $user_name_q->{$usedb};
16: $query->execute(lc($user_name));
17:
...
code stack: /www/del.icio.us/comp/user/get:13
/www/del.icio.us/comp/settings/antisocial:52
/www/del.icio.us/site/settings/dhandler:9
/www/del.icio.us/site/autohandler:110
raw error



Can't call method "prepare" on an undefined value at /www/del.icio.us/comp/user/get line 13.


Trace begun at /usr/share/perl5/HTML/Mason/Exceptions.pm line 131
HTML::Mason::Exceptions::rethrow_exception('Can\'t call method "prepare" on an undefined value at /www/del.icio.us/comp/user/get line 13.^J') called at /www/del.icio.us/comp/user/get line 13
HTML::Mason::Commands::__ANON__('dbh', 'DBI::db=HASH(0x1b66b20)', 'user_name', 'hbhanoo') called at /usr/share/perl5/HTML/Mason/Component.pm line 134
HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0x1d03aa0)', 'dbh', 'DBI::db=HASH(0x1b66b20)', 'user_name', 'hbhanoo') called at /usr/share/perl5/HTML/Mason/Request.pm line 1069
eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, 'dbh', 'DBI::db=HASH(0x1b66b20)', 'user_name', 'hbhanoo') called at /www/del.icio.us/comp/settings/antisocial line 52
HTML::Mason::Commands::__ANON__('cookies', 'HASH(0x2fcb2b0)', 'tagview', 'list', 'browser', 'ff', 'bundleview', 'show', 'auth_user', 'hbhanoo', 'dbh', 'DBI::db=HASH(0x1b66b20)', 'tagsort', 'alpha', 'items', 10) called at /usr/share/perl5/HTML/Mason/Component.pm line 134
HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0x37d1ba0)', 'cookies', 'HASH(0x2fcb2b0)', 'tagview', 'list', 'browser', 'ff', 'bundleview', 'show', 'auth_user', 'hbhanoo', 'dbh', 'DBI::db=HASH(0x1b66b20)', 'tagsort', 'alpha', 'items', 10) called at /usr/share/perl5/HTML/Mason/Request.pm line 1074
eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, 'cookies', 'HASH(0x2fcb2b0)', 'tagview', 'list', 'browser', 'ff', 'bundleview', 'show', 'auth_user', 'hbhanoo', 'dbh', 'DBI::db=HASH(0x1b66b20)', 'tagsort', 'alpha', 'items', 10) called at /www/del.icio.us/site/settings/dhandler line 9
HTML::Mason::Commands::__ANON__('dbh', 'DBI::db=HASH(0x1b66b20)', 'auth_user', 'hbhanoo', 'items', 10, 'tagview', 'list', 'tagsort', 'alpha', 'bundleview', 'show', 'cookies', 'HASH(0x2fcb2b0)', 'browser', 'ff') called at /usr/share/perl5/HTML/Mason/Component.pm line 134
HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0x21c9ab0)', 'dbh', 'DBI::db=HASH(0x1b66b20)', 'auth_user', 'hbhanoo', 'items', 10, 'tagview', 'list', 'tagsort', 'alpha', 'bundleview', 'show', 'cookies', 'HASH(0x2fcb2b0)', 'browser', 'ff') called at /usr/share/perl5/HTML/Mason/Request.pm line 1074
eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, 'dbh', 'DBI::db=HASH(0x1b66b20)', 'auth_user', 'hbhanoo', 'items', 10, 'tagview', 'list', 'tagsort', 'alpha', 'bundleview', 'show', 'cookies', 'HASH(0x2fcb2b0)', 'browser', 'ff') called at /usr/share/perl5/HTML/Mason/Request.pm line 760
HTML::Mason::Request::call_next('HTML::Mason::Request::ApacheHandler=HASH(0x2fc7ed0)', 'dbh', 'DBI::db=HASH(0x1b66b20)', 'auth_user', 'hbhanoo', 'items', 10, 'tagview', 'list', 'tagsort', 'alpha', 'bundleview', 'show', 'cookies', 'HASH(0x2fcb2b0)', 'browser', 'ff') called at /www/del.icio.us/site/autohandler line 110
HTML::Mason::Commands::__ANON__ at /usr/share/perl5/HTML/Mason/Component.pm line 134
HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0x1b04180)') called at /usr/share/perl5/HTML/Mason/Request.pm line 1069
eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, undef) called at /usr/share/perl5/HTML/Mason/Request.pm line 338
eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 338
eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 297
HTML::Mason::Request::exec('HTML::Mason::Request::ApacheHandler=HASH(0x2fc7ed0)') called at /usr/share/perl5/HTML/Mason/ApacheHandler.pm line 134
eval {...} at /usr/share/perl5/HTML/Mason/ApacheHandler.pm line 134
HTML::Mason::Request::ApacheHandler::exec('HTML::Mason::Request::ApacheHandler=HASH(0x2fc7ed0)') called at /usr/share/perl5/HTML/Mason/ApacheHandler.pm line 793
HTML::Mason::ApacheHandler::handle_request('HTML::Mason::ApacheHandler=HASH(0x1ac5e90)', 'Apache=SCALAR(0x27ced60)') called at (eval 43) line 8
HTML::Mason::ApacheHandler::handler('HTML::Mason::ApacheHandler', 'Apache=SCALAR(0x27ced60)') called at /dev/null line 0
eval {...} at /dev/null line 0


Update: Also, auto-complete for tags (when posting a new link) seems to not be working anymore. What happened to the kickass del.icio.us site that we know and love?

Sunday, December 11, 2005

VOIP

So I signed up for this service called SkypeIn - offered by skype. I now have a US number where you can call me and my laptop will ring in India. Contact me for the phone number.
PS: remember that I'm still in India; don't call me in the middle of the night! Check here before calling me.

Friday, December 02, 2005

origami

check out this podcast about origami. If you don't have 15 minutes to listen to it, check out this site and click on the 'science' section. It's amazing! I didn't know there was so much depth to origami.

fc goodness

just catching up on a few months worth of fc posts:

From The Value of Rough Seas
In life, it's the rough patches that build your strength and character. They test you. They make you dig deeper, think harder, and risk more. Use them to your advantage. Don't play the victim. Get up and get creative. It's what you do when the going gets tough that defines you.

In a separate post, they recommended Clapton's GuitarClick on the 'look inside the book' link to read a few pages from it.
From OXO's Favorite Mistakes
"Everybody talks about their successes, but the failures, the mistakes, are the most interesting things," says Alex Lee, OXO's president. "Our wrong assumptions lead to the best learning."

From Dr. Brilliant Vs. the Devil of Ambition
That is why Brilliant has devoted his life to understanding that one simple, puzzling mantra: "Live your life without ambition. But live as those who are ambitious." Do that, and you discover the discipline of living an authentic life -- and of living hard, as if each day counts. That said, there is no mistaking that Brilliant is, well, weird. He is maybe three statistical variations from the norm, which he also fully accepts.

Dublin, Helsinki, Montreal, Sydney, and Vancouver are listed as FC's global fast cities.

Tuesday, November 29, 2005

weddings!

The last couple of weeks have been hectic.
Last weekend, a bunch of us took a Friday night bus to Goa, to throw a bachelor party for Vikas. It wasn't too crazy but we did spend the entire weekend relaxing, getting massages, drinking (banana milkshake mixed with Old Monk dark rum was the unofficial beverage sponsor) and eating (goan spicy sausage, prawn-curry-and-rice, prawn-stuffed-papad).

This past Friday afternoon, S and I flew to Kolkotta to attend Naveen's wedding. We went out for dinner and drinks with some of his highschool friends on Friday night, and followed it with an evening of gambling. I don't gamble on principle, but it looked like a lot of fun and I was pretty tempted to join in. Instead I sat back and enjoyed the Black Label that Sahel graciously provided. On Saturday we ate, did a superfast city tour (the Victorial Memorial is breathtaking; S ate some Mishti Dahi, Roshogollas, and Sondesh), came back and ate again, and then got ready for the evening reception (yes, they had a reception before their wedding). The reception was at an amazing location next to some body of water. They had fireworks, candles floating on the water, unimaginable amounts of food (I guess the latest thing in Indian weddings is to have a bunch of food stalls where you can get different types of food; they had everything from mediterranian and domino's pizza, to north indian and chaat).

On Sunday morning, we took a flight to Delhi and hung out at my parents place in Gurgaon. Monday morning we went to the US Embassy to take care of some business and then drove to Chandigarh for Vikas's wedding.

I missed out on all of the heavy pre-wedding drinking with Vikas (they were up till 6am on Monday morning) but the wedding was awesome. Both Vikas and Pooja looked fantastic. My wife, though, will soon be publishing a treatise on Why Punjabi Weddings Should Not Be Late at Night. The actual wedding ceremony started at about 2am (outdoors) and it was frikkin cold. Luckily, I was wearing a set of heavy wool robes that I picked up in Ladakh earlier this year so I was nice and toasty.

On Tuesday we drove back to Delhi and almost missed our flight back to Bangalore (they had closed check-ins but I had been able to call ahead so they had blocked seats for us). I was extremely stressed out.

Now I'm back and should really get cracking on all of the piled up work.

Wednesday, November 16, 2005

usability

This article from a list apart talks about website usability and how design choices have a serious impact on site performance.

One of the things that I love (and amazes me) about amazon is that they have a really cool framework that allows you to test any design changes to the site. Almost all design changes go through this 'weblab' process which calculates the statistical impact of a certain change on various things (purchases, add-to-carts, etc. - I don't know the actual set of metrics we track).

Design is a wierd and sometimes counterintuitive thing. I couldn't guess which was the most usable site out of the three listed in the article above. I think the discipline of constantly collecting and analyzing metrics goes a long way.

news

news in india is not perfect; my wife often complains about the newspapers carrying mostly local news and only a page of international news. That said, the other media (magazines, tv) have pretty good coverage of international events.

I was having a conversation last week where I mentioned to a friend that, while I can't find much to complain about living in the US, the one thing that infuriates me is the subconscious messages that tell you that the world ends at the US borders (often accompanied by a very 'holier than thou' attitude towards the rest of the world). I'm not eloquent or observant enough to put my finger on exactly what it is that causes that, or even to be able to enumerate the ways in which it manifests itself. But the feeling was undeniable while I was there.

Although living in Bangalore is not always pleasant (dirt, dust, pollution - all the things I promised never to complain about if I moved to India) what I love about being in India is the feeling of being part of a world that is much larger, and much more diverse than the US of A.

On a different note, check out Toxic truths from the Iraqi battlefront.

Saturday, November 05, 2005

artificial artificial intelligence

Amazon Web Services released a beta version of mechanical turk last week. see here for a description of the term.

What does Turk have to do with Web Services? Mechturk is a framework that allows people to get paid for tasks that humans are much better at than computers (e.g. image recognition). But it allows applications to submit those tasks. So the tables are suddenly turned and we have this apocolyptic scenario where applications submit tasks, and you have a bunch of humans plugged into a system, doing jobs for the applications. How whack is that?

Without hyperboling, it actually takes outsourcing to the next level. It may change the economics of research; at least for a short while. Why bother putting millions of dollars of research into something like image classification when you can outsource it on a massive scale to people all around the world for a fraction of the cost?

I think a lot of economists, philosophers, computer scientists, criminals, and sociologists are going to have a fun time thinking/talking/writing about mech turk.

Thursday, November 03, 2005

Stallone

On the way to work today my cab driver, in slightly broken english/hindi said something about "fistblood, rumble,film?" After some clarification it turns out that he was asking me if I'd seen any of the Rambo movies. According to him my face looks like Stallone's. Funny.

update According to imdb, him and I do share the same birthday, though he's 32 years older than me.

ps: in hindsight, maybe Stallone's great acting and stellar portrayal of the I hate being in 'nam and I'm gonna kick your ass look and my I hate going to work and I'm gonna kick your ass look have something in common. ;)

Wednesday, October 26, 2005

go start a company

... but first, listen to this podcast, Paul Graham speaking at OSCON 2005.

Oh and also go watch The Corporation.

And then go create something.

Wednesday, October 19, 2005

pent up thoughts

some pent up thoughts from not having blogged in a while...

The other day my wife was complaining about how I'm too skinny. And it got me thinking. For my entire life, I've had relatives make comments like "hey - you've lost weight since we last saw you!", "you should eat more!", and "you're all skin and bones!"

I have tried retorting with the very logical "You say that everytime. If it really were true, I'd be non-existant by now." but that usually just gets brushed off and is followed by some oily snack being thrust in my face.

Anyways, it got me thinking how ridiculously biased society is. No one meets an overweight relative and makes comments like "hey - you've put on so much weight since we met!", or "you should really cut back on your food", or "you're all lard!". Why is it acceptable to publicly make fun of skinniness but not of fatness?

:) I'm not all that bothered by it, but I think the next time someone says I look skinny, I'm going to tell them that they look like an elephant.

On a totally unrelated note. Today I went to play tennis and this guy was just getting off the court from practicing; he was just picking up a basket worth of balls and putting them into his bag. After he was done, he went back to the court, bent over and touched it with both hands, lingered there for a few moments, straightened up, and touched his hands to his heart and then his forehead. The gesture was so pregnant with reverence and sincerity, that I was moved and disoriented afterwards. It wasn't a quick, ritualistic, obligatory movement; but slow, deliberate, and sincere.

On the one hand, gestures like these are so built into Indian culture (a similar gesture is used as an apology for accidentally touching someone with your feet) that most of the time they are done in a very obligatory-type manner (quick, unthinking, instinctive). On the other hand, the idea of revering your 'craft' (sort of "Zen and the Art of Motorcycle Maintenance"-like) is just built into most people.

Two examples of that: Almost every driver (chauffer) I have seen will fold their hands in prayer for a few seconds before starting the car for the first time in the day. Second, the other day there was a festival during which people gave the instruments of their craft a day of rest, and worshipped them. I know of a few IT companies where all the servers were shut down in the morning, coconuts broken and prayers and sweets offered before they could be brought back up in the afternoon.

Monday, October 03, 2005

the depths of your heart.

I've been a fan of Trevor Romain's blog for a while. It's a good daily dose of feedgoodness.

Among other things, it (his blog) gave me the inspiration to attempt to start drawing. Yesterday I was just feeling an alltime low at work so I left early to go home. My wife was feeling the same way so we went out to Gangarams (a stationary + book store in Bangalore) and bought a notebook, pencil, and some pens. Then we went and hung out at Infinitea - a chic tea store on Cunningham road. I drew a few pictures, and she got started on a story she's been meaning to write.

I remember when I was a kid, my mom would learn various art forms (oil and water painting, sculpting, sketching) from a teacher (Anna Aunty). A bunch of ladies would get together at our house and paint and gossip under Anna Aunty's guidance. Well one time I decided that I wanted to try as well. I was so distraught at the outcome that I decided that I couldn't draw.

My abilities haven't changed much but, after reading Trevor's blog, I've realized that it's okay to not draw masterpieces as long as they reflect the depths of your heart.

At the beginning of next year, I want to take some time off work and head up North to the Himalayas and learn to kayak, as well spend a week or so at one of the numerous ashrams. Thoughts of being in the mountains again and battling a gushing river have been going through my head for the past week (uh. sorry. tilt your head 90 degrees to the left):



I'm hosting this picture on our media - I'm surprised they don't have a way of scaling down images - so sorry if it takes a while to download.

Sunday, October 02, 2005

star traffic police

On Saturday we were driving around the Commercial Street area in Bangalore. At the busy intersection right near Commercial Street was a traffic policeman (wonder of wonders) dressed in a smart blue uniform. He was stopping traffic for pedestrians, stopping vehicale who were trying to cut red lights, and generally doing a fantastic and whole-hearted job.

We thought he must've been a private cop hired by the commercial street shopkeepers to keep order in the area. But low and behold, he was actually a Karnataka state cop. I felt pretty proud and gave him a big smile and wave. I wish I could remember the name I read on his badge. Whoever you are; keep it up.

On a side note; if the Bangalore Police allowed volunteers to do traffic police duty, I would gladly volunteer my time for that. I go berserk when people break traffic rules. The worst part is that they look at me like I'm a freak for doing things like stopping at red lights. grr

Wednesday, September 28, 2005

time to move on

I've fallen in love with the following lyrics from Tom Petty's "Time to Move On":
It's time to move on, time to get going
What lies ahead I have no way of knowing
But under my feet, baby, grass is growing
It's time to move on, it' s time to get going

It's such a chill song, and it's whispering intimately to my heart right now.

Sunday, September 18, 2005

six dumbest ideas in computer security

The Six Dumbest Ideas in Computer Security has some great stuff. (link from osnews)

fc goodness

from Digital Competition
Communication is a big part of making deals. One minute, I could be talking to three guys with pimples in a garage; the next, I could be speaking with the CEO of Deutsche Telekom. The most important thing is to get rid of all your prejudices. You have to open your mind. It doesn't matter if the people you're talking to are 22 years old or 57 years old. It doesn't matter what their color is, what their gender is, what language they speak, how big their company is, or even if they were a success before. The playing field today is a lot more level than ever before.

In Hollywood, you're expected to be intuitive. In the entertainment industry, you have people who have intuition and people who imitate. Nobody there analyzes. But for the most part, in our society, if you know and you don't know why you know, then obviously whatever you know doesn't matter -- which is stupid. If you have been right about things for 20 years, then you should be able to say, "I don't know why I know, but I know." If I'm hiring people, I don't want to know how they know, I just want to know that they have a good record of being right.

Interesting. Good intuitive decisions being applause, but when the bad intuition costs you money, I'm sure things hit the fan.
if you try to keep everything in your company under your own control, then your company has built its own coffin: It's limited by itself in every direction. If you think of your company as a box, then there should be only one side to the box. The rest of the box should be open.


From GM Has a New Model for Change
inside virtually all big companies -- is that you spend most of your time with people who are exactly like you. To counter this insularity, Ochalek, 43, lobbied to get his team out into the real world. Members of APEx went to work inside various car dealerships and visited with companies in different industries. They stopped attending auto shows and started going to Internet conferences, consumer-electronics trade shows, and toy fairs.

Thursday, September 15, 2005

sania

India's really proud of Sania Mirza. She's in the press all the time, and you can see her advertising jewellery on billboards all over town. Recently, some clerics made an uproar about her short skirts on court.

Here's a nice article in reaction to all the fuss. You go Sania!

file systems and web ui's

From an interview with Hans Reiser:
    I also learned to focus on the little things in the data that don't make sense. Often the guys I hire will disregard them, thinking there must be something wrong with the benchmark since it does not make sense. Being more experienced I know that the things that don't make sense are the most important data collected. Time and again, getting to the bottom of a minor performance anomaly that should not exist reveals a design flaw or failure in my understanding, and curing it leads to an advance in our performance that was well worth having. (link from osnews)


pretty cool. I think I tend to turn a blind eye to anomolous data. I didn't get all the way through the interview...

I forget where, but I saw a link to this site called A List Apart.
    A List Apart Magazine (ISSN: 1534-0295) explores the design, development, and meaning of web content, with a special focus on techniques and benefits of designing with web standards.
My first observation was that the site is beautiful. I read some of the articles today and they taught me a lot about CSS. I now subscribe to the feed so hopefully my web-authoring skills will improve. I hate crappy-looking sites. And I hate writing crappy UI code - even if it looks nice. Hopefully, some of the techniques mentioned will help beautify both the end-product and what lies beneath.

Incidentally, I'm working on a little app using Ruby on Rails. After working on very platform-level distributed systems code, it's fun to work on a web app. Sometimes I focus on db stuff, sometimes I work on the functionality, sometimes it's usability, and sometimes I just putz around trying to make it look pretty.

Update: I really want to make sure I have a ticketing system in place before I release my web-app (even though it's not going to be a huge release). Here's a somewhat long, but informative rant that reminded me why it's a great idea.

Wednesday, September 14, 2005

gems from FC

From Here's How to Make It to the Top:
    "I've been so successful in my climbing because I usually haven't turned back during that final, exhausting 5%. Making it to the top isn't about a final sprint; it's about maintaining your rhythm - even if that rhythm is five breaths for every one step. That kind of focus means that you're more likely to have the energy to deal with unforeseen challenges - and less likely to lose sight of why you're climbing the mountain in the first place."

I thought upward (manager) evaluations were standard practice. I'm horrified to know that they are not.

From The Fall and Rise of David Pottruck
    Just before the meeting got started, Andy Grove, the gruff chairman of Intel's board at the time, pulled Pottruck aside. " 'When you got promoted to CEO,' " Pottruck remembers him saying, " 'did that make you a better man?' I said no. He said, 'Well then, do you think the fact that you're no longer CEO of Schwab means you're not a better man?' I said, 'No, I don't think so.' He said, 'You're as good a man as you were last week. Hold your head high.' It helped me a lot."

Monday, September 12, 2005

my wife's murder

Last Wednesday was Ganesh Chathurthi, so we had the day off. Sindya and I decided to go watch a movie with Praveen. We ended up watching My Wife's Murder, a Hindi movie about, well... read the review I linked to if you want to know. I loved it because none of the characters are overly exaggerated. And, although the main character ends up making some pretty crazy decisions, he seems to be responding to the very real first instinct that we (at least I) have of running and hiding from problems. Apart from hoping that I never get into the same situation as the protagonist, I found myself constantly being like "shoot... I wonder if I would've made a similar decision?"

This weekend Sindya and I went shopping for a small music system. In the process of driving around town, we also stopped by an exhibition of 'nature lamps'. This one artist has made lamps out of tree bark. We ended up buying a free standing lamp. It should get delivered today; I'll see if I can post a picture.

On Saturday night we had an anagrams party with a twist; everyone had to bring a guest who we didn't know. It was cool; I ended up meeting some really cool people. It's funny because all of the random people actually ended up having some connection to someone else at the party; small world.

(If you haven't played anagrams before, you have, to try it. It's frikkin awesome)

Back to Monday. No rowing for the next few weeks; the Army rowing team is preparing for a competition so they hog the boats and don't let civilians play. Oh well.
Update: Lamp pictures here and here. Hiking pictures from two weekends ago here and here.

Thursday, September 01, 2005

(more) rowing

Maybe it's annoying reading about day-to-day progress in my rowing abilities. But it's still pretty exciting for me so I'm writing anyway.

Today I went on a double-scull with this girl Sarita who's been rowing a few months. It felt awesome. I got a really good workout (arms are in pain) and it was just so cool to have two sets of oars rowing in time (most of the time) and the boat just shooting (at least compared to rowing when you're tied to the dock) across the water.

When we were out there, I looked to shore and saw that Sindya was out on a single scull. She was actually standing up on it without holding the oars. That's super difficult to do. She eventually fell in. But given that I fell in while sitting down with only one hand off the oars, she did pretty damn well. She divulges the secret to her balance here.

Pretty soon, Sindya and I may be able to go out on a double-scull by ourselves. And if it's anything like riding a tandem cycle with her, I'm sure I'll get a solid workout. :)

On an unrelated note, check out amazon's cool ajax UI for doing a
diamond search.

Monday, August 29, 2005

waterskiing!

So this morning we went to Ulsoor for rowing. Sindya and I did ran around the lake and were just stretching and waiting in line for a single-scull. Today was the day we were meant to practice balancing in a scull while tied to the pier.

Just then, they brought out some waterskis and there was an army guy trying to learn how to waterski. He wasn't able to get out of the water, and I made some comment about his skis not being positioned correctly. One of the coaches overheard so he turned to me and asked if I knew how to ski. Then he was like "will you show us?" It was issued as sort of a challenge. So I said that I could definitely give it a try.

Well eventually the boat came in and I got into the water. The only thought going through my head was "shit. now a bunch of army guys are going to get a laugh out of me falling" Luckily, I was able to get up on the first try and even cross the wake a few times.

After two rounds of the lake I came back to shore and watched Sindya's balancing act in the scull (she had already gotten in). There wasn't time for me to try today, but that's okay. I haven't waterskied in oh about... fifteen years. So I've spent the rest of the morning smiling from ear to ear.

PS: I should mention that Ulsoor was no cleaner today than it was yesterday. So if I die because of sewage ingestion, then we all know why. :) (actually it wasn't that bad)

Wednesday, August 24, 2005

gluttony

Moral: Gluttons shouldn't go to an all-you-can-eat place when starving.

Story: After rowing this morning and attempting to improve my running time (no luck: still did 16:54 around the lake), I rushed to the office and forgot to pick up breakfast either at home or near the office. By 11am I was starved and light headed.

Every Wednesday they have an all-you-can-eat salads-and-cold-cuts buffet at a german cafe (Cafe Schlomegger) above the Max Meuler center in Bangalore. I called and made a reservation for 12:30 (when they open). I ate about four full plates of meat and salads, after which Sindya (who didn't eat quite as much as me) proceeded to order dessert. Of course, I had to have some of that too.

After a 90 minute lunch, I could barely walk the four flights of stairs back down to the road. An hour later I'm at work feeling unbearably sick. ugh

On a side note, Moohaha writes about bad drivers in the US. I'm amused

Thursday, August 18, 2005

running

The rowing coaches want us to be sufficiently warmed up before starting to row, so I've been running around Ulsoor Lake every morning for most days the past two weeks (the long weekend excluded).

I was told that it's 3.6 km around the lake.

I timed myself the past three days and the times were 18:34, 17:40, 16:54 respectively. Pretty rapid improvement once I started timing myself, but I know I'm getting closer to my current limits.

As soon as I get under 15 minutes I'll be close to a six-and-a-half-minute-mile, which is my current goal. I'm told that the Army dudes run it in under 15.

Given that I do an hour of rowing after that, I'll probably just stick at that, until it becomes painlfully easy for me (wishfull thinking)

Wednesday, August 17, 2005

Kerala

Will update this entry later; need to head to bed. But here's a link to photos from a weekend in Allepy, Kerala.

(If you're subscribed to the feedburner version of my feed, you should already see the pictures)

So last Thursday night, Sindya and I took off for Kerala. We got in a bus at 4:30pm, and reached Allepy at 5:15am on Friday. A car from the resort was waiting to pick us up. We got to the resort minutes before sunrise, and were able to take some great snaps. The resort itself is very rustic. No TV in the rooms, all wood construction, outdoor openair bathrooms, etc. It was so beautiful there that we just stayed up and watched the sunrise and hung out in a hammock until breakfast time.

For breakfast, we had Appams and Stew - a traditional Kerala breakfast. The stew is basically vegetables boiled in coconut milk - it's delicious. After eating about 4 appams and exhausting the stew that we got, I asked the waiter to bring me a bowl of coconut milk and a jar of sugar, and proceded to eat six more appams doused in coconut milk and sprinkled with sugar. That about set the tone for the rest of the trip.

At around noon we took all our luggage and checked onto a two bedroom houseboat (there was no one in the other room so we had it to ourselves). There were three people on the boat with us; a fulltime cook, a dude who steered the boat, and a dude to run the motor. :) The cook made some amazing lunch (shredded coconut in some kind of gourd, some daal, and a yummy kerala fish curry) and dinner.

There was a mattress on the front of the boat where you could just lie under the sun and watch the world go by. That's where we were most of the time. We stopped in the middle of a lake for a while and I went for a swim though was a little scared because the dude told us there were water snakes (non poisonous) in some parts. At around 6, we docked somewhere and went for a walk, had dinner, and went to bed.

We got back to the resort by about 10am the next morning (breakfast was just toast along with an amazing dessert of caramalized unripe banana - why is it that we don't have dessert after breakfast all the time?). At noon we got on another boat to go watch the annual snakeboat races.

Each snakeboat accomodates about 120 people (usually representing one village). There are several heats with 4 boats each; it looked like they rowed about 2+ miles but I'm not sure. It was great fun to watch the first 3-4 heats but it got old quick.

After finally making it back to the resort at 6pm, we hogged some more on the buffet dinner (appams and coconut chicken curry, followed by many more appams eaten with - you guessed it - coconut milk and sugar) and hit the sack.

Sunday morning was spent just chilling in preparation for a 4pm bus back to Bangalore.

Overall it was an amazing trip. Did I mention the coconut milk?

Tuesday, August 09, 2005

innovation week

A few months ago, I had a really kickass idea for a relatively simple web app that, I think, could make web surfing much better (yes, another one of those ideas). I worked on a proof of concept but, being close to a big release at work, I couldn't find the time to concentrate on work as well as a prototype.

With support from Management, I was able to spend all of last week (minus a few hours each day when I had to attend meetings) working from home on my prototype. It was great fun to stay up late with pizza, coke, and some good music and hack away; I haven't had that much fun coding in... well... a long long time.

On Sunday night, I slept at 10pm (because I was going to start rowing classes at 6am on Monday) but ended up waking up at 2am with a head full of code. The last time that happened to me was probably during OS class way back in 2001. I ended up coding from 2am - 5am, going to the rowing class at 5:30am (we ended up not starting until today so just went running), playing tennis from 8-9am, and then being at work all day. Just when I thought I was ready to pass out at home in the evening from exhaustion, I just had to bust out a few more features that were spinning around in my head.

The app is not ready to go live yet, but it's at the point where I was able to demo it off to a few people at work today (sans any browser crashes or error messages). It's the first time we've done an 'Innovation Week' at Amazon Bangalore. Working on something small and innovative gave me a badly needed recharge; back to 'real' work now.

I'm totally convinced that RoR is the way to go for frontend development. It's funny; Ruby on Rails made the webapp/db coding so trivial/nonexistent that 90% of my time was spent writing javascript. I've mostly been doing backend, server framework-type coding at work so I'm not exactly an authority on frontends. But the little jsp that I've been exposed to tells me that RoR is the way to go.

Monday, August 08, 2005

rowing

As of this morning, Sindya and I are signed up to row for an hour every morning on Ulsoor lake, from 6:45 - 7:45. It's *amazing*. We're spending the first week rowing on a fixed boat (it's tied to the dock) to learn the technique.

The location (Trishna Yacht club) is Army property but they allow civilians to use it, through a company called Catapult Connect. The coaches are all super friendly Army guys who've competed nationally or internationally. Six days a week for 23 more days, we'll be waking up at six, taking a quick run around Ulsoor Lake, and then rowing for an hour.

Saturday, August 06, 2005

rails on fcgi

I've been working on prototyping a small rails app at work this week. On Friday I decided that I had enough functionality to be able to do a basic demo, so I decided to focus my attention on getting the demo up and hosted before getting back to fleshing out the functionality.

Since then I've been in config hell. Things were running really slow on my box because I was using CGI. Like an idiot I decided to switch to using lighttpd->fcgi->rails instead of apache->cgi->rails, but do it all in one go. I can't believe I still don't know better than to try doing multiple switches like that in one go.

Anyways, I came to my senses this morning and followed the following excellent instructions on getting fcgi set up on my local box. After (almost blindly) copy-pasting the commands, my app is up and running a lot faster with fcgi support.

The next step is to make the apache->lighttpd switch.

Wednesday, August 03, 2005

out of this world.

this is nuts. check out the moon.

And, for shitsandgiggles, make sure you zoom in all the way.

hat tip, google blog.

no way!

a multibutton mouse from apple!

One wonders why exactly it took them over a decade to realize that it's useful to have more than one button. Though I agree that more buttons is not always better; I have almost never used the 'forward' and 'back' thumb-buttons on my Microsoft mouse.

Monday, August 01, 2005

amazon 10 yr celebration

SO amazon.com had quite a big celebration for its 10 yr anniversary; a concert featuring Norah Jones and Bob Dylan.

We had a company picnic/10 yr celebration in India as well. We went to the Kings Sanctuary resort in Nagarhole. We left on Friday morning with two big buses and a small tempo, and arrived there in time for a late lunch. The rooms there were pretty amazing, and Sindya and I were lucky (with a little help from Rekha as well) to have a cottage to ourselves (most other people slept 4 to a cottage - two in the bedroom and two in the living room).

We went out for a safari that afternoon. We didn't see any tigers; we just missed seeing one by about 10 minutes. Ironically, people travelling on a loud, interstate bus saw a tiger whereas we (travelling in jeeps, specifically there to see the wildlife) didn't. We got to see lots of spotted deer, some Sambar deer, a wild elephant, a Gaur (I think it's the same as a bison), two types of monkey (langur, and one other) and a bunch of birds whose names I forget. We got pretty cold and wet, it rained the whole weekend. After the safari, we had dinner and drinks. A couple of us went for a midnight dip in the pool.

Vikas and I had brought some climbing gear so at 7:30am on Saturday twelve of us got into the tempo and went to a nearby rock for some clibming and rapelling. Vikas and I set up rapell with the help of the guide (he actually is an entertainer at the resort who'd just learnt to climb by watching people set stuff up there). Apart from the two of us and Pooja, no one else had rapelled before so they needed a lot of convincing to lower themselves off the edge of a cliff. Pooja required the most ;) We didn't have time to climb, but I think everyone had a great time. Shivam and Harman came away with a few bruises since they were the first two (after Vikas) to try rapelling down so didn't have a good idea of how it was done. Sorry guys!

We got back to the resort, played in the super-cold swimming pool for about 45 minutes, had lunch, and then got back on the bus to head back. It was a good break.

Now I have to plan a real honeymoon before the wife kicks my butt!

Monday, July 25, 2005

catching up on reading

learning from mistakes:

    For anyone than never discovers a deeper self-identity, based not on lack of mistakes but on courage, compassionate intelligence, commitment and creativity, life is a scary place made safe only by never getting into trouble, never breaking rules and never taking the risks that their hearts tell them they need to take.

I think I often fall into a rut where I get scared to take risks because of the above. It's good to read shite like that every now and then to jarr me out of my apathy.

Thursday, July 21, 2005

The curious incident

There were two chapters I absolutely loved in this book:
On death (chapter 61)
and on life (chapter 199)

(you should be able to read those excerpts online thanks to amazon)

Sunday, July 17, 2005

Random

Posting has been light because I've been
  • sick
  • trying to figure out the intricacies of married life :)

So here's some random stuff:

  1. Since I started working, I never really made a conscious effort to save; I just made sure I didn't splurge. The result was that I was able to put away about 40% of each month's take-home. I've been following the same strategy in India - making sure not to splurge, but definitely not being super-conscious of my spending. The result is that I'm not able to save much money at all. That bothers me.
  2. I have a fair amount of indian classical music on my ipod. I manage to go through my other music collection using the 5-star rating system, along with dynamic playlists. I hadn't found a good way of going through my classical collection though. Using information from this page I've managed to build up 4 playlists (morning, afternoon, evening, night) so I can listen to the 'appropriate' pieces. However, I'm now longing for even finer-grained control of my collection. I wish I had a SQL front-end to the iTunes db.
  3. One of my friends (Vikas) has an awesome cook, who's agreed to come cook at our place once a week. She makes awesome food. She's given me a list of stuff I need to buy though :) belan (rolling pin), some plastic containers, a bunch of specialized steel kitchenware (container for flour, plate for kneading dough, etc). To add to my already-over-equipped kitchen.


Oh and, just so it doesn't get lost in the jumble above, I have to mention separately: you MUST check out prince of ayodhya - a contemporary rewriting of the Indian epic Ramayana. It's the first in a 6-book series, four of which have already been published in India. I suffered the wrath of my wife for burying my head in these books the past few weeks. They're amazing. The story itself is so gripping, and Mr. Banker just makes it even more irresistable by retelling it in a vernacular that's familiar and easy to follow.

I'm at home house-sitting while the cook and maid do their thing. Sindya is out running a program for Dream-a-dream that she's planned, called Monsoon Madness. It's a day long talent-show/competition for underpriviledged kids. They'll be painting, dancing, acting, taking quizzes, and making collages. As soon as the maid gets done, I'll be back there shooting video and hanging out with the kids. Until then, I'm a domesticated husband (damn that sounds scary).

Sunday, July 03, 2005

back from my wedding

To check out pictures from my wedding, subscribe to this feed.

If you took pictures at my wedding and want them as part of this slideshow, upload them to flickr and tag them with 'sindyaandhemant' as well as 'wedding'.

More updates later.
Update: flickr's rss feed seems broken. the atom one works okay (link updated above), however it only shows the last 10 photos. Since I'm uploading a bunch of them, you'll miss out on some photos. You may just want to check out the slideshow instead.

Sunday, June 12, 2005

lightpost

posting will be light for the next few weeks.
In a few hours I fly to Delhi.
Tomorrow morning I fly to Leh, Ladakh for a 5 day trek in the Indian Himalayas.
After that I head back to Delhi and on to Pune for about 10 days during which time I will relinquish my bachelorhood.
I may be online and checking mail from Pune but probably not posting. Will be back to the grind sometime in July.

prediction

I wrote parts of amazon's remote-service-invokation framework a few years ago, after which a few of us worked on collecting detailed metrics from the framework so as to guage the health of the system and try to predict business-impacting problems before they actually, well, impacted business.

I'm currently reading blink by Malcolm Gladwell and it's a facinating book. No time for a full review right now. But here's a quote that caught my eye (he's talking about an algorithm for deciding the seve rity of heart-attack-like symptoms in ER patients, and has just listed several high-heart-attack-risk lifestyle factors):

    ... It certainly seems like he ought to be admitted to the coronary care unit right away. But the algorithm says he shouldn't be.
    <snip>
    What Goldman's algorithm indicates, though, is that the role of those other factors is so small in determining what is happening to the man right now that an accurate diagnosis can be made without them. In fact <snip> that information is more than useless. It's harmful. It confuses the issues. What screws up doctors when they are trying to predict heart attacks is that they take too much information into account.


(The book, by the way, attempts to explain intuition and how it is that we can get such strong (and often correct) intuitions without being able to understand exactly why. It also attempts to analyse the cases in which our intuition is terribly wrong. See also this entry by Trevor for more about intuition.)

This is cool because our hunch over the past few years has been that it will only take a few metrics to actually predict a given failure scenario, but deciding which ones to pick is the hard thing. So the kinds of systems we are trying to build end up being quite similar to what (I just found out) humans are doing. We're constantly taking hundreds or thousands of input variables (subtle changes in a persons face or 'body language', things seen in the periphery of our vision, etc.) and doing some realtime statistical analysis on them. Except our consciousness is never burdened with any of that. Our subconscious builds and refines these elaborate statistical models over time. Then, it can bubble up signals (in the form of intuition) to our conscious mind with very limited information because it has already made models about which variables are important enough to matter.

How does this apply to metrics and monitoring? It's infeasible and foolhardy to track the state of every possible instrumentable variable in your system in realtime and use that to drive failure detection and root cause analysis. But
  1. you may be able to design a system that can collect lots of metrics and analyse them in an 'offline' manner without impacting your system.
  2. the output of (1), a list of 'important' metrics, is fed into an alarming/monitoring system
  3. whenever an alarm is diagnosed (or confirmed) the result of that is fed back into (1) to correct or reinforce the prediction.


If failure detection is like the pit in your stomach or lump in your throat, and root cause analysis is like the logical reasoning that we sometimes go through when making decisions, then maybe we have to accept that failure detection is a much faster process than root cause analysis. Our group has always looked at those as two different processes, but never acknowledged that they may require different amounts of information.

On one level, that looks hopeless; "what good is it to know that something is wrong if you don't know what it is?" But we do that all the time. A lot of us learn to trust our instincts (don't walk down that alley) even if we can't tell exactly what's wrong (it's well lit, there are people around, but it just feels shady).

How could that help in managing distributed systems? The only example I can think of right now is: if a host 'feels like it's unhealthy' it could just take itself out of a load balancer without knowing what was wrong.

It does tell me is that it may be worth completely separating the process of detection and root-cause analysis. So that the feedback in (3) above is not "the root cause of this disturbance was xyz", nor is the list of 'important' metrics in (2) a list for each possibel root cause. (i.e. you don't output something that says that metrics A and B are important for predicting a disk crash, but metrics D and F predict a web server failure and metrics C and E predict that your application is deadlocked). That's how antivirus software is modeled. It builds up fingerprints of different viruses and tries to match the fingerprint. It does both detection and root-cause-analysis in a single step. (OK, maybe modern antivirus software does more than that, but stick with me for a moment).

Instead, maybe the right but counterintuitive (no pun intended) thing to do here is to only store whether or not "Bad" things happened, and store the set of metrics which are good predictors of "Bad"ness. You'd probably need more than a binary notion of Badness. This doesn't get us closer to solving problems, but maybe it can help reduce downtime in the first place, because we've got a very good early-warning system.

It'll be interesting to see if any more insights come out of watching a large system running (the group I've been working with in Bangalore is getting closer to releasing an internal, scaled-down version of what will eventually be a large self-healing distributed system). Since I've been in development mode for the past few months (vs. supporting a live system), I feel a little unqualified to rant too much about this stuff. :)

Saturday, June 11, 2005

d.s.

Someone left comments (twice!) asking me to follow up on my earlier idea of starting a distributed systems blog. Thanks! But I realized that, although I do a lot of work in the area, I don't know enough to do justice to a blog - I still have many miles to walk.

So every time I run across something interesting, I'll be sure to post on it. But until then, I'll be sticking to reading and learning and growing.

Friday, June 10, 2005

FC reading.

catching up again on some FC reading.
About Despair, Inc.
    The point is that most people should work to make money. They shouldn't expect a company to make them happy. A company can be friendly and good, but it can't really make you happy. At the same time, it shouldn't insult you. It shouldn't say, 'We're a family and have values,' and then act like Enron."
    <snip>
    Jamie Malanowski is the features editor at Playboy. He's happy in his work.

I love the last line about the author of the article! :)

An awesome post about being a bouncer:
    The bouncer ethos, in point of fact, stands in diametric opposition to that of any other position in the service industry. Simply put, if you, as a bouncer, stand there and take crap from the customers, you won't be employed for very long, because everyone on the staff will consider you a pussy, and they won't want you around. Therefore, when people -- as they invariably will -- act like assholes, I'm getting paid to fulfill the one, singular fantasy harbored by everyone who has ever served a drink or waited on a table:

    I can do it back.


On cubicles sucking:
    The solution, Tompkin says, is to customize space to various types of work. Give those who need uninterrupted time a quiet place to work and those who need to collaborate a more social space. That may mean a glass-walled office for heads-down work, and a variety of gathering places for group work. "As the workforce becomes more mobile," Tompkin says, "the office will be the main tool companies use to build a shared culture."

I totally agree. I wish we'd have a healthy mix between offices and cubes. Or even moderately sized rooms with cubes in them, instead of a huge room full of cubes. That way I can only potentially get distracted by 4-6 other people instead of 70.

Sounds like GE Durham has taken a page out of Gore's (makers of GoreTex) book (Reference to gore from Malcom Gladwell's tipping point. Lots of great stuff here:
    GE/Durham has more than 170 employees but just one boss: the plant manager. Everyone in the place reports to her. Which means that on a day-to-day basis, the people who work here have no boss. They essentially run themselves.
    <snip>
    So how can something so complicated, so demanding, so fraught with risk, be trusted to people who answer only to themselves? Trust is a funny thing. It is the mystery -- and the genius -- of what goes on at GE/Durham.
    <snip>
    "The interview, now that was one heck of an experience," he says. "It lasted eight hours. I talked to five different people. I participated in three group activities with other job candidates. I even had to do a presentation: I had 15 minutes to prepare a 5-minute presentation."
    <snip>
    At GE/Durham, candidates are rated in 11 areas. "Only one of those involves technical competence or experience," says Keith McKee, 27, a tech-3 on Team Raven. "You have to be above the bar in all 11 of the areas: helping skills, team skills, communication skills, diversity, flexibility, coaching ability, work ethic, and so forth. Even if just one thing out of the 11 knocks you down, you don't come to work here."


Some of the stuf here reminds me of what we learnt in the storytelling training I attended recently.

Thursday, June 09, 2005

cliched conversations

As a foreigner in the US, I was always struck by the very predictable 'conversations' that people had:
- so how was your labor day?
- what're you doing this weekend?
- how was the weekend?
- got plans for july 4th?
- going anywhere for memorial day?

I put the word conversations in quotes because it seemed a lot of times that people weren't even interested in the answers, they were just asked because of a strange notion of politeness.

I'm sure it's a universal phenomenon and not at all restricted to the US. But I can't come up with similar examples in Bangalore.

Except for one... for the past three weeks, people have constantly been asking me how preparations are going for the wedding and if I'm all set. Worse still, the same person will ask me the same question two days in a row, as if my 'preparations' change on a minute-to-minute basis.

Just like the conversations above, a lot of times it feels like people are just asking me to be polite. Especially given that I've been telling them that my mom is doing all the preparations. (An upside of having the wedding in India is that my parents and family are doing a lot of the preparations).

Actually I'm kind of nervous that I haven't had to do much. You know that dream where you show up in school and everyone's laughing and you look down to realize you forgot to wear your pants? I have that same feeling. Like I'm going to show up in Pune and realize that I forgot to do something really basic. :)

Anyways, I'm leaving for Delhi this Monday, after which I'll spend a week trekking in gorgeous Ladakh. From there I fly straight to Pune to tie the proverbial knot.

Tuesday, June 07, 2005

phishing

Here's an interesting way to beat phishers and their scams:
    If you get phishing e-mail, go the web sites and enter false data. Make up everything -- name, sign-on name, password, credit card numbers, everything. Instead of one million messages yielding 100 good replies, now the phisher will have one million messages yielding 100,000 replies of which 100 are good, but WHICH 100?

    This technique kills phishing two ways. It certainly increases the phishing labor requirement by about 10,000X. But even more importantly, if banks and e-commerce sites limit the number of failed sign-on attempts from a single IP address to, say, 10 per day, theft as an outcome of phishing becomes close to impossible.

we're not that special.

post by Ming talks about some experiments on monkeys by economists.

We're just another species in the evolutionary race that Nature is hosting.

There's nothing special about humans. There's nothing inferior about the other one hundred million species on the planet.

Monday, June 06, 2005

danger: darwin harmful

Darwin got an two honorable mentions here. The damn idiots. Now I'm ashamed at not having read all the books on that list.

Thursday, June 02, 2005

lost moments

I was driving back from work just now, at about 2:30am. I saw this amazing sight on the road. There were 4 people riding bicycles in a rectangular formation in the middle of the road. Across their heads was draped a huge something made of plywood. I couldn't get close enough to see, but it might have been a billboard. I'm guessing the distance between the front and rear cyclists was about 12-15 feet, and the distance between two adjacent cyclists was about 8-10 feet.

Only in India. I wish I'd had a camera with me!