2010 Django Dash Post-Mortem

This past weekend (August 14-15th) was the 2010 Django Dash. The competition was a great success by all measures, with 40 (out of 50) teams competing and a whopping 4811 commits between all teams, roughly 100 commits an hour!

The Good

The site - We ran everything on a single 512 Mb Rackspace Cloud instance the whole weekend and it worked like a champ. We ran a new-to-us setup of nginx & Gunicorn. I simply can't say enough good things, from the near-constant memory use to the dead-simple configuration to the excellent performance. Given this experience, we'll be able to deploy whole new servers in sub-15 minute setup times in the future.

DVCS - People (including me) last year were practically begging for DVCS after struggling through plenty of Subversion issues. So for this year's competition, we spoke to GitHub & BitBucket to ensure they were cool with teams hosting their projects there. Matt coded up some good webhooks integration, which let us offload the source control to the professionals. Everyone seemed very happy with this arrangement.

Open Source - Also new to this year was the requirement that all entries be open source. This has been nothing but good. The teams had more to talk about while the competition was going, we got to link to changesets that had meaning to them, the competition became less cut-throat and the communinity gets a fresh infusion of interesting code.

Sponsors - All said and done, we had more sponsors this year than in years past as well as more/better prizes. I added up the total worth of the prizes on Friday night, which was $4,500 (excluding the RevSys & JetBrainz contributions, which were added this week). We're very grateful for the wonderful support.

Three people - Rather than having to do everything myself, Matt & Xian offered to lend their skills and time to help out this year. The benefit was huge in that I was no longer the single point of failure, so we were more responsive and both the site & competition were better for it.

Reactions - There was a ton of positive reactions, both from the teams as well as the people just spectating the event. IRC, Twitter and blog posts kept the good vibes flowing and many people seemed to be having a lot of fun.

Requiring Pip/Buildout - It's already made the start of the judging process significantly easier (no more dependency hunting, yay!) and neatly matches what we feel are practices many people have adopted. For very little effort on the teams' part, we can ensure a much more fair judging process.

DjangoDashBot - http://github.com/toastdriven/dashbot - Because it was fun and kept the IRC room interesting.

The Bad

Commits - We had a rough patch for the first hour of the competition related to how commits were being recognized out. In addition, because they were different code paths, we had some BitBucket-specific issues that lasted slightly longer. All said and done, within three hours of the competition start, we were running smoothly.

Timezones - We had more non-US teams this year, and the CDT-centric layout of start/end times hurt many of the foreign teams. I want to improve that so all teams have a fair shot but without excess headache/hassle to the management of the contest (which is hard enough).

Email - Our email infrastructure needs to be revisited, as some teams didn't seem to get emails while others did. And someone needs to take the "Send" button away from me, because I sent more than one email off too quickly.

Judging - The judging process is a difficult and intensive process. I appreciate the excellent volunteers we have this year (& in years past). That said, we need to find a way to make this process easier and easier to distribute. The ideal would be a VPS per team and judging based off that, but we haven't been able to work that out yet.

What Now?

The judging portion of the event is underway and winners will be announced on the site on August 31st. Once those are up, this year's Dash will be largely in the bag.

We plan on hosting the Dash again next year, perhaps slightly earlier in the summer and with a couple more tweaks. When that time comes around again, we'll start posting announcements on our blog, through Twitter and perhaps other channels. Hope to see you all (and more) again next year!

Posted on August 19, 2010 @ 12:23 a.m. by Daniel