Saturday, May 27, 2006

Attending the Turing Awards

Last weekend, I had the honor of attending the ACM Turing Award ceremony in San Francisco. The Turing Award is the basically the Noble Prize for Computer Science. I arrived at the ceremony after riding up the elevator with Don Knuth (a world renowned computer scientist who probably doesn't remember that we both had offices on the same floor when I was in school!). There were about 100-150 people. I saw a bunch of my professors from Stanford and a few Googlers. The authors of at least half of my text books in college were there! The best part of the night for me was that my advisor from Stanford, Jennifer Widom, was named an ACM fellow. Peter Naur was the big winner this year for his work on Algol and programming languages in general. Thanks Naur for inventing recursion, scoped variables, BNF, etc.

The was also an award for humanitarian contributions given to the leaders of the Nakuru Local Urban Observatory project in Kenya. I really love how technology is starting to help developing nations. I can't wait for PCs to cost less than $100 for even greater impact.

It was so humbling to be around such amazingly smart and hard working individuals.

Thursday, May 11, 2006

Google Talk news

Terry added sound notifications when chatting in Gmail. We also added chat in different languages.

A flashlight into our culture

In grad school, I did a project (using the web pages crawled for Google -- before it was incorporated) on analyzing trends of words on the web over time. We noticed that "mosaic" was going down at the time and "retail" was becoming more popular. You could also use the data to see significant events, like superbowl, when IE shipped, etc. Over the years, I always thought this would be a useful research tool.

So I was really excited when Google Trends launched on labs last week. The UI is nice and it lets you see the data over time and also over cities/regions/languages. Here are some examples: tea vs coffee or sushi vs steak. Or guess where they love JLo the most. You can have a lot of fun with this and learn a lot about what people around the world like. Please leave a comment with any good examples you find.

Tuesday, May 09, 2006

Best Job in America: Software Engineer

According to a CNN article, being a software engineer is the best job in America. It's still the second fastest growing job (behind Physician Assistant). It looks like despite all the outsourcing and the slow years after the .com crash, things are still good for now.

In reality, there are two types of software engineers. The first group studied it in college because of the bright job prospects. The second group fell in love with it long before going to college, taught themselves programming, and continue to be involved because they love it. For them it's more of an art.

While interning at Microsoft a long time ago, Paul Leach gave me one of the best reasons why programming is so addictive. He said writing software is probably the only creative job in the world where one can always feel some progress. You fix a compile error. Progress! You step through the code and fix a bug. Progress! You refactor some old code. Progress! You figure out a clever way to do something complicated in a simple way and save weeks off a schedule. Progress! The project, even the company, can be in deep trouble. But the engineers who write code are often very happy when they are in the zone. We're not talking about a daily sense of satisfaction. We're literally talking about getting that job every minute or two.

There are a few other attributes I really like about being an programmer: working on a team, building something that millions of people use, and most importantly building things that actually improves the world. If a blogger in a developing country can earn a decent living from ads by writing some good content instead of working in a factory, we've leveled the playing field for the good.