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?