The IOCCC Competition Is Back posting and IOCCC Home Page tell that The International Obfuscated C Code Contest is open again. The 20th International Obfuscated C Code Contest is open from 12-Nov-2011 11:00 UTC to 12-Jan-2012 12:12 UTC.
The International Obfuscated C Code Contest (abbreviated IOCCC) is a programming contest for the most creatively obfuscated C code. Winning entries are awarded with a category, such as “Worst Abuse of the C preprocessor” or “Most Erratic Behavior”, and then announced on the official IOCCC website. Due to the nature of the contest, entries often employ strange or unusual tricks, such as using the C preprocessor to do things it was not designed to do, or avoiding commonly-used constructs in the C programming language in favor of much more obscure ways of achieving the same thing. Wikipedia International Obfuscated C Code Contest has some nice examples of obfuscated code. This is a good competition because it helps exploit the guts of C in new and exciting ways.
A good programmer can (and does) write well structured, clean, documented and maintainable product in any language. Many bad C coders seem to achieve obfuscation without any additional incentive, but this competition is looking for the most creative ways to obfuscate the C code. Good coders know how to create good code, but for fun they can write a really obfuscated code for the competition. The entries for the IOCCC can show a lot of cleverness, but nobody in their right mind would accept such code. When someone knows C well enough to create a truly obfuscated or compressed piece of portable C code that follows the rule of the language to a tee, i.e. that can be compiled strict or linted, and wins the IOCCC, it’s a very good sign that this someone can create excellent C code.
Another coding competition to look is Underhanded C Contest. The aim is to write innocent-looking C code implementing malicious behavior. The beauty of the Underhanded C ones is that the code looks reasonable, but does extremely undesirable things. In many ways this is the exact opposite of the Obfuscated C Code Contest: in this contest you must write code that is as readable, clear, innocent and straightforward as possible, and yet it must fail to perform at its apparent function. To be more specific, it should do something subtly evil.