OSCON Craziness
July 27th, 2008
So, this past week in Portland saw the O’Reilly Open Source Convention come to town. I didn’t go to the convention — didn’t even set foot in the Convention Center the whole week — but I did partake of some evening activities.
On Tuesday, the PDXFUNC (Functional Programming group) met for dinner at Old Town Pizza. I’ve been on the pdxfunc list since it started, but have never made a meeting, so I thought it would be nice to finally meet some people from the group. Turned out that not too many people made it — and some were conference attendees from out of town — but we had a nice little conversation anyway. It also turned out that the Free Software Foundation was having a party upstairs at OTP, so I crashed that after a while and had some nice chit chat about various open source issues.
Wednesday night was FOSCON (Free OSCON), an annual meeting on one night of OSCON put on by the Portland Ruby Brigade. This featured — besides free beer and pizza — about a dozen lightning talks and then a coding competition. Most of the lightning talks were interesting… kind of super quick “hey, check this out” talks.
The coding competion pitted four teams using different web frameworks to build a simple cookbook website in 20 minutes. The teams were: Rails, PHP Symfony (actually one guy), Drupal, and Seaside. I volunteered to be a judge. The results were fairly predictable. The assignment was pretty Rails-friendly (the classic, early rails tutorial by Curt Hibbs was a cookbook site)… must have pretty urls, must have validations with error messages, must have this model and this controller, etc.
The Rails team pretty much fulfilled all the requirements in the allotted time. The Symfony team missed a requirement or two, but we cut him some slack because he was on his own.
The Drupal guys just downloaded a bunch of tarballs and then set the whole thing up in the browser. They were actually “done” in about eight minutes. But it turned out that they had overlooked quite a few requirements and so, threw away what would have been a crushing victory. There’s no doubt that if you need a simple, database-backed website, you can throw it together ridiculously quickly with Drupal. If your requirements get too far into the realm of custom logic and what have you, then you’d be doing code customization… and I’d rather not do that in PHP, thank you.
The Seaside team spent the whole twenty minutes typing in the Smalltalk “code browser”, but did not have much to show at the end. They just didn’t have any generators or scripting help, and had plenty to type. However, Seaside still gets some points for coolness factor: it’s image based, so there is no database needed… you only deal with Objects. It is also continuation-based, so a site is just a tree of objects that know how to write themselves as HTML on an HTTP canvas and the current state of that tree is just remembered between requests. It’ll be interesting to see if anyone does this sort of thing for Ruby once Gemstone’s Maglev Ruby VM is released.
Anyway, the results of the competition wound up being first to last place in the order I’ve mentioned them here. However, had the Drupal team paid closer attention to the requirements, they would have shredded. Also, had the Symfony representative had a pairing partner, it may well have been a tie between the two. All-in-all that was a great evening. It would have been interesting to have Python (maybe Django) and Java (maybe Stripes) represented… though we ran about an hour over time as it was.
The following night, I crashed the Beerforge party at Bossanova, which was put on by Open Source Labs. That was pretty sweet… free food and booze for a couple hours. The name was a little ironic, since the beer selection was pretty lame… though it turned out to be safer than the consistently crappy cocktails. I had several nice conversations there, including chats with people from RightScale — a Rails-based deployment solution — and Jive Software, which is the local Java shop responsible for Openfire… the open source XMPP server which Kongregate uses for it’s in-game chat.
What a week… and I still got work done during the day!