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!

Tuesday, May 31, 2005

hectic weekend

This weekend was nuts.

Sindya signed me up for a 3 day class taught by the Teachers Training Foundation in Bangalore - it's an orientation meant for volunteers that are going to take part in the Reading For Real program next year.

Sindya and I have signed up for a few months next year; we'll be storytelling some books to young children who don't have a strong grasp of english, and encouraging them to read.

The training was awesome (though I bunked Friday because of work). I met a bunch of cool people. We learnt about pre/during/post reading activities aimed at holding the children's interest in the story and making sure they grasped it. We got a demo from an amazing storyteller - she had a room full of adults completely mesmerized by her rendition of a story meant for 6 year olds!


On Saturday night, I signed up to do an all-night bicycle ride. We met up at M.G. Road at 10pm. The organizers piled us into a van and took us to a house south of bangalore, off Kanakpura road, where they had a bunch of cycles. The cycles weren't that great at all - no gears, not the perfect size (too small for me), and a little rickety. They didn't provide helmets either. I was a little disappointed, given that we had paid Rs. 700 for the outing. Anyways, we started with an 8-9 km ride on the highway (it was about 11:45 by the time we started so not too much traffic) after which we took a detour into some small village roads. The roads were super muddy from the heavy rain that we've been having, and generally bumpy because they're inner roads. Needless to say, my backside was in severe pain by the end of the ride. We finished the appx 40km ride at about 5:15am. I had to walk the last 1-2 km of the ride because (a) my butt was sore, (b) the last 9km was uphill, (c) my back tire was pretty flat so it was superhard to ride.

Anyways, I reached home at 7am, took a shower and passed out. At 9:30am I had to pull myself out of bed and spend the entire day (10-5) in the TTF class again.

I ended up getting two movies from vikas - Les triplettes de Belleville (which I'd seen before) and The House of Flying Daggers, which I wanted to see. I finally passed out at 10pm.

It's somehow Tuesday already and I'm down with a terrible cough and cold. I'm guessing it's partly to do with a hectic weekend.

Monday, May 23, 2005

Infrastructure

For the second time in a little over a month, our office flooded. Well, not really our whole office. Let me explain.

It doesn't rain that much in Bangalore. It must've rained about 30-40 minutes today. But it rained pretty darn hard. Actually, it even hailed a little. We were standing inside and just joking about how much it would suck if it started to leak (since the roof leaked about a month ago) when someone was like "oh crap! let's go check the server room!"

So we rush over to the rooms where the various pieces of huge electrical equipment are and, sure enough, one of the balconies has overflowed and water has now gone into the main electrical room (where there are electrical wires running on the ground). Some people rushed to start bailing out the room with buckets but then came to their senses. We started bailing the balcony so that no more water would overflow into the electrical room. We couldn't just shut it off because all the servers would have an unclean shutdown. So the sysadmins started doing a server-room shutdown.

In the meantime, another of the balconies was starting to flood, and threatening to flood the office. In addition, the awnings in that balcony were sagging from the weight of water that had collected on them. So we alternated between pushing water off the awnings (to save it from collapsing from its weight) and bailing water out of the balcony (to prevent the office from flooding). Fun times.

It's stopped raining now but I'm guessing it will rain some more tonight. I decided to leave my car in the basement (although I don't really trust that building too much) and take a taxi home in case the roads were bad. A few fallen trees and fender-benders, but nothing major - at least on my route home. I can't imagine what some of the busier streets (Airport Road, Hosur Road) are like. The power is out at home - my building has generator backup (like many apartment complexes here) so I'm still blogging away.

Last time this happened, we had a holiday the next day (actually it ended up being a half day because the servers were brought back up). Wonder if I get to stay in tomorrow.

Sunday, May 22, 2005

Enterprise Software

This is worth a read. Excerpt:
    “Enterprise Software” is a polite way of saying shitty legacy systems and overly complex requirements.

I'm sure that resonates with many. The article is hilarious.

Publishing

A while ago, Neil Gershenfeld gave a talk at amazon about technologies coming down the pipeline. He talked about being able to download blueprints to a home 'printer' and have it 'print out' a working bicycle.

Why is that revolutionary? Well first, there's the obvious cutting of shipment costs. More importantly, by totally changing the cost structure of goods delivery, it removes a lot of traditional Economies of Scale, thus lowering the barrier-to-entry for a new 'producer' (designer might be a better word) in the market. The producer is now free to experiment and customize since the cost of a 'failed' product is only the time lost in the effort.

Thinking about things like that makes one rethink where exactly a company like amazon fits into the market. Though we're not quite there yet (no instantly downloadable bicycles), lulu.com is a company that allows people to upload books in digital format. You can then sell your book (as a physical book, not a download) on sites like amazon. Pretty darn cool, if you ask me. Now that publishers are removed from the equation, the barrier-to-entry for an author is significantly lowered. The up-front costs to them are minimal, and the cost of selling zero copies of your book is just the time you spent writing the book; not the cost of hundreds of unsold printed-and-bound physical books.

Most people aren't ready to read books in digital format (I know I hate reading long articles on my laptop), which has also limited how Long the Tail is for books (the first limiting factor being the barrier-to-entry for authors described above). Lulu has just lengthened the tail for books by changing their cost-structure. Additionally, by allowing self-published books to be sold on amazon, lulu.com is addressing the issue that customers face as they wade through the Long Tail: "how to sort through the junk and find the Good Stuff?" Through its personalization and recommendation features, Amazon has made a name for itself in helping people find and discover items. Lulu is smart to leverage that.

(tip from tpwire)
update a little more reading revealed that amazon hasa acquired booksurge, a similar company.

Government in business.

India has a socialist legacy. Post independence, we walked the 'middle path' (moderate socialism, or something) for many years. We had privately owned businesses but they were heavily regulated. The government enjoyed monoploy in many core industries.

Today, there are still many examples of government owned businesses; 'state emporiums' (handicrafts, etc. characteristics of each state), aircraft manufacturers, coffee shops... the list is long and varied.

It always surprises visiting Americans to hear of this.

Well I just read that the United States Army makes first-person shooter games. To quote from the article:

    “The technology is what we use for actual training,” says Major Chris Chambers, who directed the E3 presentation for the Army. “We brought it to E3 because it’s also really cool.”
    < snip >
    But Chambers says he is at the expo for the same reason as the other exhibitors: to showcase the game.
    “We intend to be a major player in this industry for a long time,” he says. (emphasis mine)

Now that is messed up.

Tuesday, May 17, 2005

Why gmail?

Maybe this is common knowledge, but it just occurred to me why gmail is such a brilliant idea. Google's pagerank estimates the importance of pages based on links between pages. If I think a page is important, I'll probably link to it. But what if I don't have a website to link from?

When I'm browsing the web, I'm constantly emailing people links that I think they'd find interesting. Sometimes if I'm not feeling lazy, I'll even send some blurb that explains why they should click on the link.

Until recently, Google was completely missing out on this simple and highly reliable way of guaging the importance of pages. Now that google sees my email, they can still apply 'pagerank', but some of the pages in question happen to be emails that people are sending to each other.

Frikkin brilliant. And I thought it was only about the ad revenue.

Monday, May 16, 2005

tagging

I love flickr and delicious - both sites that let you organize 'stuff' (photos, links respectively) using tags (arbitrary space separated words that you can assign to things).

Clay Shirky recently posted an excellent essay entitled Ontology is Overrated in which he talks about a bunch of cool stuff and then goes on to say why tags are so damn useful.

But here's an excerpt from early in the document (where he's talking about categorization) that caught my eye:

    Ontological classification works well in some places, of course. You need a card catalog if you are managing a physical library. You need a hierarchy to manage a file system. So what you want to know, when thinking about how to organize anything, is whether that kind of classification is a good strategy. (emphasis mine).


I'd like to question that asusmption actually... Do you really need a hierarchy to manage a file system? I've spent the last few days going through my OS textbook and doing a bunch of reading/searching about file system design. I think that's an assumption that's ripe to be questioned.

I know that some people have already tried building in 'tag-like' notions into a filesystem. In fact, the defacto filesystem in OSX, HFS+, now (as of Tiger) has support to add arbitrary key/value attributes to files. I haven't downloaded Tiger but, from what I remember from reading reviews, this feature is currently used in only a few places like for ACLs and maybe some Spotlight metadata.

Getting back to the point; why does a file system need heirarchy in order to be manageable? One survey/research paper I read (will post link when I find it again) essentially says "there's too much software out there that assumes that the file sysem is heirarchical so I'm not going to even talk about building something that doesn't have any heirarchy." That may actually be the correct, practical viewpoint to take. But real innovation comes from questioning the 'practical viewpoints' of our day, right?

If a URL is an inode and the title of an html page is a filename, then your filesystem and flickr are not too different. That said, URLs are not as opaque as inodes. If I see a URL with mozilla.org in it, that gives me some clue about the contents even though the exact semantics I associate with it may be varied.

If you know of some work in this area, please enlighten me. In the mean time, I'll be sure to use my not-so-copious amounts of free time to try to read more on the subject.

update: Thanks, Huat, for the pointer. As always, I feel like an idiot for being so clueless about what's out there. :)
update: Interesting; with WinFS, msft is trying to do with the PC, something similar to what the semantic web is trying to do to the internet - give well defined structure and semantics to data. It's hard to get it to work on the web because of how many diverse applications there are, and how loosely structured the data (HTML) fundamentally is. On the PC, though, msft-written software probably makes up a majority of the software you run (not me; I have a mac like any self-respecting yuppie). More importantly, much of the content you create on your PC is created using msft applications. Two questions come up in my mind: (1) how easy is to work with content not created using msft applications; (2) how useful/intuitive is strong typing (vs. tagging) to the end user.
more: I came across this discussion of Longhorn which includes a mini rant at the end about heirarchical file systems.

Sunday, May 15, 2005

run

The Bangalore Marathon took place today and I ran a 7K 'celebration run'. My time was too pathetic to even mention. My aim was to not stop running but I set my sights too low; I'm totally bummed that I didn't push myself harder. I finished the run with a lot of energy left, which means I probably could've run a lot faster.

Anyways, it was a fun morning; we ran with bright yellow Dream a Dream shirts and then went to Koshy's with some friends. Lunch took an hour and a half to get served and wasn't even that good. Note to self: no more Koshy's. After beer and a big meal though, I'm ready to pass out.

Thursday, May 12, 2005

pod-frikkin-casting

A friend of mine has been giving me headaches by constantly talking about podcasting and how cool it is. So last night I finally decided to see what the buzz is about and downloaded a podcast client for the mac.

I tried the free 'Lite' version first. The full version has a 30 day trial, but I haven't tried it yet. The Lite version allows you to specify feeds, and download them to a local folder. For any audio files downloaded, you can automatically drop them into iTunes and delete them from the download folder.

This morning, I have two news feeds (one from KOMO news in Seattle and one from Northwest Public Radio), and a jazz feed (don't have the link with me right now) on my iPod.

It was pretty cool to listen to random news on the way to work (instead of the Hindi-Pop and talk shows that are usually on the radio here). Will post more experiences shortly.

Given that the aforementioned friend still hasn't actually downloaded a podcast client, maybe I can talk his head off about podcasting instead.

Monday, May 09, 2005

how not to get pigeonholed, and other good stuff...

... from fastcompany:

from Escape Your Pigeonhole
    Vargas highlighted the research skills she gained, rather than the law, and landed a market-research job
    <snip >
    "I typically make a commitment to a project for 18 to 24 months and offer upfront to groom one of my staff to replace me," Olding says.
    <snip >
    get pigeonholed as a person who leads new ventures

from Change or Die
    "A relatively small percentage of the population consumes the vast majority of the health-care budget for diseases that are very well known and by and large behavioral."
    <snip >
    Unless you work on it, brain fitness often begins declining at around age 30 for men, a bit later for women. "People mistake being active for continuous learning," Merzenich says. "The machinery is only activated by learning. People think they're leading an interesting life when they haven't learned anything in 20 or 30 years. My suggestion is learn Spanish or the oboe."
    <snip >
    What happens if you don't work at mental rejuvenation? Merzenich says that people who live to 85 have a 50-50 chance of being senile. While the issue for heart patients is "change or die," the issue for everyone is "change or lose your mind." Mastering the ability to change isn't just a crucial strategy for business. It's a necessity for health. And it's possibly the one thing that's most worth learning.

The article talks about how large changes are sometimes so much easier than small, incremental changes. Reminds me of the economic reforms India undertook in the early 90s - it only happened because we were only left with three weeks worth of foreign currency reserves. Since the sweeping changes that took place then, the economic reforms have been a lot slower to come.
Beth over at Creating Passionate Users writes about this article as well.

humor me

... and answer this quick poll by adding a comment.

    Roughly what percentage of the conversations you have on the web are with people you know, vs. with random digerati?


Obviously, most of your conversations about personal issues are going to be with people you know. But I'm talking about conversations about generally non-personal things; movies, current affairs, technology, politics, etc.

There are conversations going on in the blogosphere (through posts, comments, and trackbacks) and in communities like slashdot. Call these 'public' conversations. There is definitely a group of people who are actively engaged in those.

I know that many of my non-personal, electronic conversations are with people I know in the real-world. Call these 'private' conversations. Until before the blogosphere hit its tipping point, most conversations were like this - 'private' in nature and enabled by email, IM, or the likes.

(This conversation that I'm engaging you in is technically 'public' though I'm guessing that my readership right now is mostly people I know)

So you tell me: how important are 'public' conversations to you? Do you find yourself still reverting back to private conversations most of the time? Why? For non-personal stuff, why not open up your conversations to anyone who cares to participate?

Friday, May 06, 2005

remixing

Are you sick of that word yet? (remixing). sorry. I had to join the bandwagon and comment.

I read this article by joel a while ago that talked about the unix vs windows mentality of building software.

In unix, you build small tools that can be combined together very flexibly (but are typically hard for end-users to use). In windows you build apps that solve a particular use case (but cannot typically be resused/remixed). Unix tools were built by programmers, for programmers, while windows applications were written for end-users.

Companies traditionally have focussed on trying to build end-user applications. They want to completely address every user's problems and dumb you down to a particular workflow. And while that's a nice thought, it totally ignores their most important users; the ones that find great new ways of taking the best parts of what's out there and putting it together. Not all your users will be able to do that; but as soon as one of them does, someone (maybe not you; maybe them, maybe someone else) will find a way to make it easy enough for everyone to use.

Business folk often talk about core competency but when it comes to building software products, they forget about leveraging the core competencies of others in addition to their own, and instead try to be everything to everyone.

As technology creeps into people's daily toolkit, vernacular, and lifestyle; more of us are comfortable thinking like programmers; we're comfortable combining tools together to create 'applications' that are customized to our lifestyle. And that's part of what is enabling the new band of internet innovaters to start building small, great tools.

You've probably heard all of this before. Re-reading the above paragraphs, it feels like I'm replaying a monologue that has been played many times before. But the problem is that there's only a small group of people shouting the same things amongst themselves. Companies are still sitting around scheming up new ways of trying to be everything to their users instead of finding a core competency, kicking ass in that area, and leveraging the brilliant work of others.

Wednesday, May 04, 2005

fun at work

From an old article about having fun at Pixar:

  • At Pixar, the mirth can't be half-assed. "The people who work here know when someone is trying to manipulate them," says Stanton. "For example, someone organized a tug-of-war game at one of our company lunches, but I didn't play. I don't like people telling me when it's time to have fun."

  • That's so true; I've experienced the feeling of 'being told to have fun' several times. So how do you organize stuff for people at work without making them feel like that?

    Tuesday, May 03, 2005

    hardcoreness?

    So a funny thing happened to me the other day.

    I met two people through a friend. After a few minutes of chit-chat, one of them said "wow. how come your water bottle is so shiny?" The other chimed in: "I was just thinking the same thing."

    I looked down to see that they were pointing at my Nalgene.

    "Funny you ask; I just had a friend bring me a new one from the US becuase I lost my old one when I went kayaking a few weeks ago", I replied somewhat sheepishly.

    I felt that I had to defend the fact that I had an unscratched Nalgene. That I had to say "no I'm not just another yuppie that bought a nalgene to drink water in the office, i take this thing to rugged places!"

    I was thinking about it the other day... anyone in their right mind would've seen a shiny water bottle and assumed it was new. No conversation required there. But the question really was a question about my lifestyle.

    Maybe these guys go and beat up their new Nalgene water bottles so they can look cool and rugged? I don't know. But it definitely reminded me of being a kid when I would buy new shoes and go run in the dirt a bit so they wouldn't look so damn white. Though must admit that the thought did cross my mind when I recently bought a pair of tennis shoes. But then I decided that it was a stupid idea.

    Sunday, May 01, 2005

    rails

    So I just finished creating a website with rails. As far as websites go, it really doesn't do that much at all. It's a cross between being slightly overkill for its purpose, yet being too simplistic for harnessing the power of rails.

    That said, it was interesting to try to create and deploy a website. I tried to do some 'best practices' things like using subversion for my source control (textdrive provides svn as part of the package), creating a local website on my mac and testing there before doing any deployments, etc. Even though I often changed stuff on the live site, I made all the changes locally and checked them into svn right away. :)

    I absolutely hate coming home from work and coding. But
    1. I committed to creating a site by the end of the month
    2. Ruby/Rails was fun to work with


    I'm glad I did it because I feel a little more confident about being able to get something up and running from scratch. It's kind of lame that I wasn't comfortable with that, given that I work for a dot-com. But I'm so used to using all the tools and frameworks that we've developed internally, that I hadn't really played with what's out there.

    Anyway, aside from bugfixes, I'm done with after-work-coding for a while at least.

    Friday, April 29, 2005

    Feedburner

    I signed up with feedburner just now.

    If you're still viewing my blog as a web page, go get a news-reader, or use a web based one, and subscribe to this feed.

    Those of you using bloglines can just click here to subscribe to the new feed.

    From FC

    I love reading Fast Company. Here's some good excerpts:

    An article on leadership entitled Borrrrring!:
      Under legendary acting teacher Jacques Lecoq, founder of École Jacques Lecoq, Gaulier learned a secret: You can achieve any great vision that you have of yourself -- if your work gives you pleasure

      < snip >

      "So does one need to go to drama school to learn how to do all this?" I ask Gaulier. No, he says: "Life is a school. Experience teaches you many things. But often, we learn the wrong things from our experiences.

      "A lot of events make us contract," he continues. "We learn how to play smaller and smaller roles. A woman may come to think that she is stupid because she has made a few bad decisions. Her voice grows quieter, and she becomes less trusting. Her effectiveness diminishes without her knowing why. Others see that she is performing the role of the frightened creature, but she doesn't see that.


    From Climbing Back Up The Mountain:
      To attract such knowledgeable employees and keep them happy, EMS offers flexible work plans with sabbatical-like stretches of vacation time. Several years ago, Bradbury took a year off from EMS to go climbing in the Himalayas. Recently, his assistant manager spent a month rock climbing in Thailand. Such liberties aren't just for management-track employees: After a year, any full-timer can cut out for 90 days' unpaid leave. It's just another part of Manzer's plan to get EMS back on the side of the angels.

    Think EMS needs someone to write distributed systems code for them?

    From Are All Consultants Corrupt?:
      I don't want my tombstone to read, "He did tolerable stuff for tolerable people because they paid him." I'm not that much of a whore. Do I do it occasionally? Sure. I'm no more noble than anyone else. But that's not the issue. The issue is, Is that your life? Why would you want to spend your life doing stuff that you can just tolerate, working for people you don't like? Especially when you realize that you can make more money doing work that engages your passions. The only sensible business rule is, Life is too short to work for idiots.


    From The Call of the Anti-Extreme Job:

      At JLT, which supplies rugged laptop computers for extreme conditions, Einck leaves by 5:10 p.m. almost every evening -- and he expects his 15 employees to follow.
      <snip>
      Einck admits his company could sell more computers if his people worked longer. But at what cost? Last year, JLT's revenue rose more than 50%, to almost $10 million. Any more than that, he says, would have exhausted workers and taxed morale. As it is, "being able to have dinner with my kids and put them to bed is huge," says general manager Lisa Ridley, a mother of two. "Does it makes you more loyal? Absolutely."


    From Soul Proprietor:

      "Have you ever seen the movie with Robert De Niro and Al Pacino called Heat?" he continues. "De Niro is the bad guy, and Pacino is the good guy. And at one point, De Niro says to Pacino something like, 'One of the things that lets me do what I do is, there's nothing in my life that I won't walk out on in a matter of seconds. Nothing. So if you're going to chase me, and if there's something in your life that you're not willing to walk out on in a few seconds, you're going to lose.' That's what it's like to be an entrepreneur."

    update: I didn't finish reading all the stuff I wanted to. Here's some more.

    From Natural Leader:

      But we have a love-hate relationship with success and failure -- that is, we love success and we hate failure. That's more of an adult phenomenon, by the way. When little kids are first starting to walk and to pick up and drop things, they're fine. There's no judgment associated with those things. Everything's an experiment to them. But by the time people get to be adults, they have almost no tolerance for failure. And that is a very, very dangerous context to have if you want to be a lifelong learner, because the only way to learn is through failure. That's another one of those "aha" moments: when you realize that people work in organizations that religiously try to reduce the risk of failure, when the only way to grow is through experimentation, practice, and risk.

    Thursday, April 28, 2005

    human history

    Check out National Geographic's Genographic Atlas

    a bit of inspiration

    The Man Who Planted Trees is an amazing feel-good essay with a pretty self explanatory title.

    On a related note, there have been vigils to prevent the felling of trees in Bangalore. Go here to find out more.

    I heard about the vigils this past Saturday at a festival called Bhoomi Jathre which is an all night music festival hosted by Fireflies, an eco-ashram outside Bangalore. I can't seem to find organized info about when they're held though.

    The music festival, by the way, was a lot of fun. I wasn't sure what to expect; the description made me think of Anjuna Beach in Goa, but then I figured there probablyn't wouldn't be too much chemical consumption while listening to indian classical music at an eco-ashram. It was a nice mix of both. Some great organic food stalls, indian classical music, jazz, traditional/fusion dance, art exhibitions. I wanted to scan tickets to keep as a momento, but I left them in my short pockets and they got obliterated in the washing machine.

    Tuesday, April 26, 2005

    Breathalizer

    So yesterday evening I decided to take Sindya out for a nice dinner; we went to this restaurant called 'Jolly Nawab' at the Windsor Manner hotel. Dinner was great; I had lamb chops marinated in pomengranate juice - extrmeley tender and tasty.

    On the way back to Jaynagar (actually, on RV road right around 25th - 30th cross) at about 11:40pm, there were a couple of cops standing around asking people to slow down. One cop asked me if I'd had anything to drink. Since I'd had only a single beer with dinner, I felt I had nothing to hide and answered truthfully. He asked me to pull over and take a breathalizer.

    At this point, I was actually feeling really good about the whole thing; there are too many people driving drunk on Bangalore streets and I'm glad that they stop people and check for alcohol.

    So anyways, I blow into the instrument once, and the percentage show up as zero; so they ask me to blow again. It still doesn't show up so they ask me how much I had. I tell them that I've only had one beer two or three hours ago when we started dinner (long dinner). Then they ask to me blow once more. At this point, I'm getting a little irritated but oblige anyway.

    Finally (since nothing showed up again), the cop is like:
    "Okay. three hundred rupee fine!" I was shocked.
    "But there's no percentage!"
    "If there is a percentage, the fine is a thousand rupees!"
    "No. I'm not paying. I've only had one beer, and I'm below the allowed percentage!"

    At which point I just turned around and walked back towards the car and drove off. I really wish I knew Kannada so I could yell at the guy. I forgot to get his name so on the way back I actually slowed down, asked him his name ("Kale Gowda", supposedly), thanked him, and drove off.

    Oh well, India will be India. I wouldn't really call it extortion, because when I told him I wasn't going to pay, he just kind of let it go. But what is it that incents people like him to ask for bribes? Part one is that they're probably not paid a lot. But neither are cops most places in the world.

    A few months ago I heard someone from egovernments.org speak about how they'd been able to significantly increase the income tax collection by making processes transparent, and incenting tax officials to not take bribes and collect fair tax from everyone. Having worked firsthand with income tax officials (known to be the most corrupt of the government departments) from all over the state, he still believed that all of these guys were basically good people who were in a system that incented them towards corrupt practices. That was heartening because I thought I was being completely naiive in the "everyone is basically good" view. Yet here was someone who had worked with hundreds of people first hand and seen them change as a result of a better system.

    So part of it is the financial incentives. But I think more than that is the respect. If everyone thinks you're corrupt, you're not going to tarnish your image by taking one more bribe since it's expected of you. I think Bangalore desperately needs someone who can take the police force and turn it around. A great leader, a great PR person, and a great CEO. Any takers?

    tsunami

    Sindya just wrote an article about the tsunami which really moved me.

    Friday, April 15, 2005

    My own concierge.

    Guido writes about a concierge service. It reminded me that I had wanted to post about this for a while.

    Our office folks are pretty cool about constantly doing little stuff to keep people happy at work. Since fruits are extremely cheap in India, they've started stocking the fridge with grapes and watermellons. Every evening at around 3pm they cut the watermellons and everyone in the office slowly congregates around the fridge area to slurp on red, juicy watermellons. that's usually also when you grab a paper cup and scoop out a cup full of grapes to take back to your desk. In the late morning (around 11am-ish), someone comes around with cups of chaas (buttermilk). Oh, and we have a caterer serve a full buffet lunch on the terrace every afternoon.

    Everyone who visits from the US is surprised by all this because we're a pretty frugal company in general. But then you consider that our lunch costs the company about $0.70 per day per person (where each person, including me, is costing the company a fraction of what they would in the US) and then it doesn't sound so bad afterall.

    Coming back to the original subject of this post; the office signed up with a similar concierge service to the one Guido mentioned, called Les Concierges. They actually send one person to come sit at our office every day for 2 hours. If anyone has any odd jobs they need done they go talk to the person, give them a small advance, and get a receipt. A few days later they'll come back with what you need. My watch died the other day, and the rechargeable battery for my camera has stopped recharging. So I gave them both and asked them to look into things. A few days later they came back to say that they went to the Timex showroom and tried replacing the battery but that the watch still didn't work. Additionally, they went to a couple of Panasonic showrooms to look for rechargeable batteries but couldn't find them.

    I would never had had time to leave work, battle the Bangalore traffic, and get this stuff done. They take care of getting all sorts of official government documents (involves standing in long lines), booking tickets for trains/planes/etc., and a bunch of other cool things. They have some funny ones but I don't have the booklet with me.