That's the great thing about a hackathon. When you have the right people in the room, productivity shoots up. I arrived on the Saturday morning after 4 hours of sleep and a long drive from Gateshead, but the atmosphere in around the place was so positive and focused that it was easy to simply pull out my laptop, hook up to some power and get straight to work. I didn't even say hello to everyone until we broke for lunch.
David Golden told me that "one of the brilliant things about the hackathon is that there's just enough time to do one or two things and it makes you really focus." He and Ricardo Signes did a fabulous job of welding a team together to work on Metabase, which is intended to replace the NNTP server at the heart of the CPAN Testers collaborative CPAN integration testing cloud. There's a whole academic paper to be written on how to get a team welded together and doing good work in the space of three days. The key ingredients appear to be good people, proximity, trust and, surprisingly the three day limit. In the time they had available, the Metabase team went from seven people, only two of whom really knew what the Metabase was, to a coherent team who had produced something that, while not _finished_, has all the core components designed for real world use by CPAN Testers. David reckons he's about half an ideal day away from having the whole stack running locally and a few months away from smoke testing with the kind of load the real CPAN testers see every day.
TAP & Metabase not the only projects
Michael Peters spent the weekend ripping his custom installation and upgrade toolchain out of the Smolder continuous integration reporting server. He pushed out the first CPAN releases of that application on the Monday of the hackathon.
Antonia Mayer worked on a draft TAP specification as part of the effort to turn it into an IETF standard.
When he wasn't involved in the details of nested TAP support, Schwern worked with Colin Newell on Test::Builder2, a new, easier to use version of Test::Builder.
Others took advantage of the presence of almost all of the toolchain team to sort out the last few details of things like MYMETA.yml and the 'configure_requires' key. Plumbing is boring, but if you don't get it right you end up with sewage everywhere.
There's something about a hackathon
What is it about a hackathon that encourages this kind of productivity? The recipe seems to be "Choose an area of endeavour. Fill a smallish conference room with a couple of dozen decent and interested programmers. Make sure that the key people in the field are there - pay their travel expenses if necessary. Run a short progress report each morning encouraging everyone to outline what they've achieved and what they plan to do for the rest of the day. Keep them fed, watered and caffeinated for three days. Have a final progress report on the last day and then repair to the pub. You'll be amazed what gets done." Nothing to it. The people who are there are already motivated to take full advantage of the high quality time that comes from being in close proximity to everyone else.
It's simple really. Good people + proximity + sharp focus + trust = amazing results.