Underhanded and unobfuscated
Programming
today is a race between software engineers striving to build bigger and
better idiot-proof programs, and the Universe trying to produce bigger
and better idiots. So far, the Universe is winning.-- Rick Cook
If you're one of those bold souls doing battle with the universe, here's a couple of fun contests that might interest you ...
The Underhanded C Contest, a relative newcomer to the field, is currently calling for entries. The idea is write innocent-looking C code that implements malicious behaviour. The code should be "readable, clear, innocent and straightforward as possible, and yet it must fail to perform its apparent function. To be more specific, it should do something subtly evil."
Last year's contest involved making apparently strong encryption weak. The winning entry contained "a beautifully spiteful bug... concealed in debugging code, without which everything would work fine. Moreover, it vanishes whenever debugging is turned on."
You'll find details of this year's challenge on the site. Deadline is September 30th.
The International Obfuscated C Code Contest (IOCCC) has been around since the early '80s and is, in a sense, the opposite of the Underhanded one. Here the aim is to write the most unreadable, obscure, and bizarre (but fully functional) C program you can manage. Here, for example, is a wee gem from 1985 ...
/* |
What does it do? Isn't it obvious? (It just displays the message "Hello, world!")
The website hasn't yet announced the 2008 contest, but the Previous Winners page should keep you entertained. Or use the Spoilers page to clue you in to what each entry does. (For another gem, check out this 1998 entry; a flight simulator that actually looks like a plane!)







PC World is New Zealand’s top selling computing and technology magazine.