Monday, May 15, 2006

PCD Lounge

Some more cool Open AIM news - the startup Doppelganger just announced a new client called the PCD Lounge that lets you hang out and chat with people in a virtual nightclub, and it's integrated with AIM. There's nightclub lighting and kicking music going the whole time - definitely captures a club feel pretty well. Definitely worth checking out - but make sure you have a fast computer.

Here's a screenshot:

Friday, May 12, 2006

AOL Music Now Developer Site

AOL's music download service, MusicNow, just went live with its developer site at http://developer.aolmusicnow.com. Using RSS, you can get all sorts of interesting feeds from the site - top songs, stats on a given artist, new releases - very interesting stuff. You can also make your own MusicNow playlists and listening history available as an RSS feed for others to consume. Here's mine...

Thursday, May 11, 2006

AOL Greenhouse

The AOL Greenhouse has officially launched. Greenhouse is a site where various employee-created apps, plugins, widgets, and other pieces of software that use AOL technology can be promoted for the world to see. Naturally, JAMS is one of the items available for download from the site.

Other Greenhouse submissions include an AIM Fight Dashboard widget and an RSS screensaver. Another neat feature of the site is its blogs section where you can find AOL employee bloggers and catch up on their recent posts.

Give the Greenhouse a look!

Tuesday, May 9, 2006

TopCoder Open 2006

Just got back from the TopCoder Open 2006 finals in Las Vegas. For those unfamiliar with TopCoder events, they are computer programming competitions where contestants have to solve several programming problems in a fixed amount of time, usually around an hour. The problems can be quite difficult; I was eliminated in earlier rounds of the TCO 2006 after missing this problem:

You are given a NxN matrix M, where 1 <= N <= 50, and an integer k, where 1 <= k <= N. Write a function to determine the maximum possible trace value for a kxk submatrix S, created by taking any k rows and k columns from M. (The trace is the sum of the elements on S's main diagonal; the selected rows and columns are not necessarily contiguous.)

Anyway, the final rounds were quite dramatic, with the problems being tougher than ever, the elimination of some of the top seeds, and some close finishes in the rounds to select the competitors for the championship round. In the championship round, it came down to 8 competitors - mostly from Eastern Europe, with 1 each from China, Japan, and Australia.

"tomek" (from Poland) got out to an early lead by solving the 250-point problem (You are given two rectangular solids of arbitrary sizes; write a function to determine the minimal surface area of a box than can enclose them) in just over 5 minutes. However, "Petr" (from Russia) prevailed in the end by being the only competitor to solve the 1000-point problem (Given an array of cables connecting N points, where each cable has a quality Q and a cost C, select a subset of the cables such that all points are connected and the sum of the quality values over the sum of the cost values is maximal). Petr walked away with $20,000 for his efforts; he was also asked at the post-event press conference "What was the most important decision that you made during the competition that allowed you to win?" His answer, naturally, was "The most important decision that I made was choosing to solve the 1000-point problem correctly."

Below are some pictures I took during the competition. At first, it can seem a bit strange to think of programming as a spectator sport. TopCoder does an excellent job though, with multiple screens displaying the standings in real time and mirrored viewsof all the competitors screens so you can see how they are approaching the problems. When the competitors are this good, it is quite exciting to just watch them work.