A week ago I was killing some time waiting for M’s flight and I noticed a URL in my referrer logs from a site I was unfamiliar with. The link was to a fun technical piece I wrote and I was curious to see why, so I followed the referrer back to the source. But there it said that I needed to be logged in to read the page. The site looked benign enough, so I created an account and clicked reload. And then I started really getting curious…

The page now said I was of “insufficient level” to read further.
Level of what? The Masons? Wizard +3? Was I not horizontal enough? What was this site, anyway?
Apparently, it was OSIX, the Open Source Institute. And they had developed something called a “geek challenge.” Or rather, a series of challenges. Each progressively more difficult. And bonus levels, for when the challenges got too frustrating.
The challenges need to be solved in order for you to progress, whereas the bonus levels can be done out of sequence. The problems touch on everything from code breaking to reverse engineering to bit twiddling to unemployed pirates. In solving ten or so, I’ve used C, Java, Perl, a piece of paper and pen, pure math and a calculator, gdb, a disassembler, and x86 ASM. And for the most part, they are all rewarding and well worth the effort.
I knocked down the first few that night and have been going back every few days for another one. They are a synthesis of programming skills and abstract thinking — not unlike the mental calisthenics that I find coming up each day at the office. In fact, if you can get up to level 9 or so on the OSIX challenges, perhaps you’d be interested in sending me your resume?
(Oh, and the post that I couldn’t read at first? It was about pirates. And text messaging.)
