Like in a few previous years, I dabbled in the annual ICFP programming contest. This year’s was the least enjoyable.

One element of the problem is of course my fault: I cannot spend the amount of time nor organizational cunning to gather up a handy group of helpers. Being a talentless hack doesn’t help either, but ….

  • The programming requirements were relatively modest. At least, they were modest in terms of quantity of code required, but the 22 pages of specifications were full of little exceptions and complications. There appeared to be only one algorithmic innovation required – the rest was make-work. Even that innovation (choice of a data structure for DNA storage that allows fast indexing and append/prepend) could be satisfied by a suitable library (e.g., C++ ropes).
  • The rest of the task was looking for clues in the 7-megabyte bit stream. It was more like an old slow adventure game (Myst) than a programming exercise. It was slightly more fun than decrypting some ZIP file.
  • The task required complete suspension of disbelief – to the point of absurdity. Here’s something supposed to be from outer space, and yet there is embedded english ascii-art text (visible only with a 32-character line wrap); embedded PNG/MP3; a bunch of images including documentation; and even the library of subroutines that constitute the final solution when correctly assembled.
  • The “game tree” seems to have been excessively linear – requiring finding a fixed sequence of hidden artifacts before all the necessary pieces were exposed. The score distribution was pretty sad – inverse-exponential – with the vast majority getting past one or two puzzles, earning them 1-2%.
  • A bunch of average contestants chantted via IRC throughout the discussion. Those that got some of the hidden data out were mouth-agape at all they found. How clever of the organizers! But they forget that it’s not a symmetric situation. The organizers deliberately put all this stuff there, and built the system to obfuscate it over several months. The delight of finding something hidden does not mean that hiding it was an extraordinary feat. If anything, it suggests that the contestants are more clever, in the same way as cryptanalysis is known to be far more difficult than plopping together your own encryption algorithm.

I look forward to next year’s contest. I’m sure those organizers will learn lots from this one.