On July 15th Wellington Perl Mongers hosted a 'HackOff' event - and it was fun! Even if you missed the event, you can still join in the fun by solving the problems listed below.
From the original email announcement ...
HackOff 2008 is a fun evening for teams of hackers to compete at solving programming problems.
Remember when coding was fun? Before you got bogged down with UML diagrams, architecture planning meetings, spec documents, units tests and user documentation? For one evening, we'll take you back to how coding was meant to be - see a problem, solve it, move on. The first team to solve all the problems will be declared the winners and will receive the adulation of their peers.
Plus there was beer and pizza.
We ended up with 5 teams on the night (a sixth team had to withdraw due to illness). Each team comprised 2-4 people, with one or more laptops connected over wireless to the competition web server.
Once the teams were all logged in to the web server, the first question was made available. The teams downloaded a data file from the server and set to work 'decoding' (and I use that term very loosely) the file to reveal a 'token'. Here's an example of a token:
When a team successfully revealed a token, they would type it into the web server, which would validate the token and then make the next question available. The web application also gave teams the opportunity to show their work - upload program files or shell command histories etc, for later analysis.
It's important to note that although this was billed as a programming competition, there was no requirement that teams use only their own code. All teams had full internet access for using search engines, downloading software packages and submitting files to web services. The only thing that mattered was finding the right answer as quickly as possible.
flickr tag: hackoff2008
The official start time was 6:30pm although it was a few minutes after that when the first question became available. The chart below shows the progress of all the teams as recorded by the web server in minutes from 6:30 ...
As you can see, Team Amorphous took an early lead. Team Cabbage caught up by question two, moved into the lead with question three and maintained the lead through to the end. After 8:00pm, when Team Cabbage were declared the winners, Team Orange and The Terminators packed up and moved on to socialising. However Starsky and Hutch kept plugging away and eventually completed the third question at around 9:30 (not shown on the chart).
Even if you missed the event, you can still join in the fun. Listed below are the same 5 questions that were used on the night. For each question there is a data file and a 'hint'. The correct solution (token) is also listed but this is largely redundant because in each case it's pretty obvious when you've solved it.
|1.||Data File||An old-style message in a new-style wrapper.||
|2.||Data File||Elementary numbers are worth a thousand words.||
|3.||Data File||It's a banner - of sorts||
|4.||Data File||Style corrupts, computed style corrupts absolutely||
|5.||Data File||Use the comments to clue you in to the big picture||
The solutions page provides an analysis of what was required to solve the problems and how the teams implemented their solutions. The page is obviously all spoilers so you might not want to visit it until you've solved the problems yourself.
Contact Grant McLean if you have any questions, corrections or other feedback.