On January 20th Wellington Perl Mongers hosted a 'HackOff' event at linux.conf.au and much fun was had by all. 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 2010 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.
We ended up with 11 teams on the night. Each team comprised 2-6 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 problem 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 problem 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.
If you have photos from the event on your Flickr stream, please tag them hackoff2010.
Five teams managed to complete the first four problems before the official finish time and some of them came quite close to finishing the fifth problem. The "Samba" team were the first to complete problem four so they were declared the winners on the night. Team 'Huddle' were three minutes behind in second place and Team Manbush thirteen minutes behind in third place.
This chart shows the number of problems completed by each team over time.
The competition web site remained online after the official finish time. Most of the competitors retired to the pub for a post mortem over beer and food. Some people returned to the web site later in the evening and continued hacking away. Their progress is illustrated below:
The Samba team were first to crack problem five, but the Hack@Home team claimed a moral victory by being first to complete all six problems. The manbush team also managed to comlete the sixth problem a few minutes later.
The raw timing data is shown in the table below:
Team Name | Problem 1 | Problem 2 | Problem 3 | Problem 4 | Problem 5 | Problem 6 |
---|---|---|---|---|---|---|
Eeeple | 18:05:45 | 18:13:26 | 18:32:12 | 19:10:43 | ||
huddle | 18:03:45 | 18:10:51 | 18:27:25 | 18:41:47 | ||
The Fighting Mongooses | 18:03:50 | 18:08:04 | 18:38:23 | 19:05:52 | ||
Hack@Home | 18:16:12 | 18:23:42 | 19:10:00 | 22:20:26 | 23:05:22 | 23:25:01 |
First | 18:08:15 | 18:19:17 | 18:48:06 | |||
Capital Crackerz | 18:03:50 | 18:08:11 | 18:22:00 | 23:02:49 | ||
The Aristocrats | 18:03:43 | 18:07:55 | 18:28:11 | 19:17:30 | ||
Manbush | 18:05:50 | 18:16:50 | 18:27:45 | 18:51:03 | 22:52:20 | 23:41:46 |
SambaTeam | 18:05:43 | 18:13:17 | 18:27:26 | 18:38:56 | 22:32:57 | |
Error | 18:10:54 | 18:21:23 | 18:47:11 | |||
LimeToastBrigade | 18:03:33 | 18:11:41 | 18:29:49 |
Even if you missed the event, you can still join in the fun. Listed below are the same six problems that were used on the night. For each problem 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 | The penguins won't comment | GEAXOCDH |
2. | Data File | Don't read too much into it | DJGEFKSR |
3. | Data File | It is what is says | R12NA2 |
4. | Data File | Use your forensics skills | GF9RVIFC |
5. | Data File | Choose wisely | Y6HAPWE3 |
6. | Data File | Off the wall accounting | CBZRTLTE |
We'll post a solutions page soon, but you probably won't need it anyway.
Contact Grant McLean if you have any questions, corrections or other feedback.