Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
It's funny.  Laugh. Programming

21st IOCCC Source Code Released 24

First time accepted submitter johntromp writes "Source code for the 21st International Obfuscated C Code Contest was released last weekend, following announcement of the winners on Sep 30, and just over a month after the submission window closed on Sep 14, a new speed record for the judges. Happy source code browsing!"
This discussion has been archived. No new comments can be posted.

21st IOCCC Source Code Released

Comments Filter:
  • This is one of those cases where opening the source does not really mean anything.
    • by Fubari ( 196373 ) on Friday October 19, 2012 @10:02PM (#41712053)
      Surprisingly cool stuff; the hint files of the various entries [] are worth a look too. For example, this is from the zeitak/hint.html [] entry:

      Selected Judges Remarks:

      This is an extremely subtle and twisted piece of Gold award winning code!

      The judges had spent a considerable amount of time analyzing this entry. At one point we spent 18 minutes just to understand 18 key characters of this code.

      The file zeitak_deobfucate.c provides a version that has been slightly deobfuscated. You may find reading that file helpful in your attempt to understand this extremely subtle entry.

      Author’s comments:
      Nesting Errors Detector

      What does it do
      As you have probably understood by looking at the source*, this program has something to do with parenthesis (and equality of opening and closing parenthesis, if you look close enough). It goes over the file given to it and checks that every opening (, [, or { has a matching closing one and vice versa. It also checks that every “ or ‘ is closed.

      If an error is detected, an error message will be printed. If the problem is a superfluous closing bracket, it will even print a few characters around it’s position.

      Make sure you view the source with 4 spaces tab width.

      Ignores parenthesis inside strings or character constants, so no errors will be detected in the following line:


      Doesn’t get confused by the 1984/anonymous entry!

      Escapes (e.g. \") are ignored, so the following line will produce an error:


      IOCCC winners already contain entries without digits, control-flow keywords and certain operators in their source. This entry has an even more limited source, that is:

      Without any digits.
      Without any character constants.
      Without using functions from headers other than stdio.
      Without any control-flow keywords (not even the ?: operator).
      Without any arithmetic or logic operators!

  • by Anonymous Coward
    That is just nuts. Must be a bitch to debug.
  • by monkeyhybrid ( 1677192 ) on Friday October 19, 2012 @10:24PM (#41712149)

    Very clever stuff but I always found The Underhanded C Contest [] much more interesting. Sadly the last one of those was in 2009. I'd love to see that return.

  • First impressions (Score:4, Informative)

    by chebucto ( 992517 ) * on Saturday October 20, 2012 @12:02AM (#41712523) Homepage

    I've only glanced at the files, and I'm far too amateur to understand them. That said, it seems at first glance that a bit too many of the entries relied in part on turning code into ascii art. There was an entry a few years ago that calculated pi by the shape of the source file code, that was neat.. but if the whitespace is there just to look cool and break up lines, then that part of the obfuscation is 2nd rate obfuscation, in my not so well deserved opinion. Still, very very good to see the IOCCC make quick work and bring us the goods.

    • Re: (Score:1, Insightful)

      by Anonymous Coward

      When you said: "I've only glanced at the files, and I'm far too amateur to understand them" you should have stopped right there. The fact that you don't understand then should have been your clue that your so-called "at first glance" was steeped in ignorance. From there you compounded your ignorant post with even more uninformed dribble. And the fact that your post was rated "4, Informative" shows that there exist too many /. folk with rating points who rate ignorant postings like your post with the most bi

      • by mrvan ( 973822 )

        Yeah... I have to admit even the 'deobfuscated' versions of the source code are gibberish to me, so it is quite obvious that the ascii-art is nothing more than icing on the cake.

        • In general the ascii-art transformation is done after the code is written, it's just a fun thing to do that won't confuse the judges at all (they're sure to run it through a code-beautifier/auto-indenter and otherwise remove the art.)
      • When you said: "I've only glanced at the files, and I'm far too amateur to understand them" you should have stopped right there.

        Seriously?!?! just because I've never built a bridge, I can't say "that bridge could be better"

        The guy qualified his oppinions and asked people for more information (and didn't post as AC). I see no problem. Keep it up chebucto.

        Also thanks to DMUTPeregrine below who actualy addresses the issue (I was curious too).

    • it seems at first glance that a bit too many of the entries relied in part on turning code into ascii art.

      If you have been hacking for a week to squeeze a complex program into 2 kB (excluding whitespace), which by itself will lead to hard-to-read code, then spending another half hour on creative formatting is just the icing on the cake. Actually, the contest rules state that ascii obfuscation doesn't count towards the scoring; the jury will run it through a C beautifier anyway.

      That said, the program endo

  • by ardiri ( 245358 ) on Saturday October 20, 2012 @05:09AM (#41713367) Homepage

    ... while i've always been a fan of IOCCC contests, when i was teaching C programming - most of the students source code could be considered entries to such a competition :) gone are the days where we used to write clean, understandable code. i always joke when doing presentations about the fact that the reason why most people are afraid of C as a programming language is because other people write horrible C.. if you write good, clean, understandable C - it is an excellent language :)

  • Obfuscated webpage (Score:3, Insightful)

    by wonkey_monkey ( 2592601 ) on Saturday October 20, 2012 @05:20AM (#41713391) Homepage
    Who the hell thought blue links on a dark green background [] was a good idea?
  • I didn't look at all the entries, but endoh2.c is beautiful!!
    • It is a thing of beauty. OMG - that is real skill.

      Author’s comments:
      Yeah, “Again”. Sorry. But I don’t feel guilty or uncomfortable.

      This entry is based on ‘over-used themes’ such as self reproducing program and pi or e computation. I know you’re tired of them.

      But have you ever seen all-in-one?

Q: How many IBM CPU's does it take to execute a job? A: Four; three to hold it down, and one to rip its head off.