Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming It's funny.  Laugh. IT Technology

Winners of the 18th IOCCC 110

achowe writes "The winners of the 18th International Obfuscated C Code Contest have been announced. This years winners include a 'Commodore PET emulator', 'Sound generation with SDL audio', and a 'Text WWW Browser'."
This discussion has been archived. No new comments can be posted.

Winners of the 18th IOCCC

Comments Filter:
  • No Source Code? (Score:4, Interesting)

    by geomon ( 78680 ) on Tuesday November 08, 2005 @06:54PM (#13983889) Homepage Journal
    What's with that?

    Seriously though, why post the results of a competition regarding obfuscated source code if we are unable to view the entries ourselves? Seem the announcement was a bit of a let down if all we get to see is a couple of output files from some of the entries.

    Sigh... I miss the old days when awards announcements didn't have a trailer.
    • by nizo ( 81281 ) * on Tuesday November 08, 2005 @06:58PM (#13983926) Homepage Journal
      Maybe they are really available but are difficult to see? That would be the theme of the contest after all. Time to start digging through the html on the site!
    • Re:No Source Code? (Score:5, Insightful)

      by graveyhead ( 210996 ) <fletch AT fletchtronics DOT net> on Tuesday November 08, 2005 @07:05PM (#13983985)
      WTF?

      Right at the top of the page it says:
      "The source code has not been released yet. The winners will be notified by EMail soon. They will be given a chance to review the write-up of their entry. Once this process is complete the source code will be made available on the winning entries web page. We anticipate that this will be in mid-December."
      Can I buy some pot from these moderators and the parent poster?
      • I want in on that bag too!
      • Re:No Source Code? (Score:2, Insightful)

        by jtorkbob ( 885054 )
        True, they do propose a time at which they WILL give us the source, but it's still a nasty, nasty tease. I kind of expected to be able to see the code. "Free donuts in the break room." (minutes pass) "I see no donuts." "I didn't mean *right now*!"
      • by IdahoEv ( 195056 ) on Tuesday November 08, 2005 @08:01PM (#13984364) Homepage
        I can't wait until the code is out! I'm really excited by this one:

        Most superfluous output

        Francois Boutines - XML Voronoi diagrams generator
        Toulouse, France


        I've been wanting to write a voronoi generator for a game-map-development project (maps for a Risk clone). But I could only find mathematical definitions, not any good code that clearly laid out the algorithm. Hopefully this program will be nice and clear (and well-documented!) so that I can reproduce the algorithm from it.
      • Hee hee. (Score:5, Funny)

        by bigtallmofo ( 695287 ) on Tuesday November 08, 2005 @08:03PM (#13984375)
        WTF?...
        Can I buy some pot from these moderators and the parent poster?

        I love how on Slashdot a minor misunderstanding warrants the indignation of "WTF?" followed by an accusation of drug use.

        I imagine in real life that you're much more pleasant. Perhaps in such a circumstance you would have said something along the lines of, "You may have missed that they will be releasing the source code, they just haven't done it yet."

        • I imagine in real life that you're much more pleasant. Perhaps in such a circumstance you would have said something along the lines of, "You may have missed that they will be releasing the source code, they just haven't done it yet."

          It's probably more along the lines of, "You may have missed that they will be releasing the source code, they just haven't done it yet. Can I buy some pot?"
      • I'm not one of the mods, but I'd like some if you're going to the pot store anyway.
      • I think you're the one smoking. Who cares that they announced their lameness at the top of the page? It's still utterly lame to announce the winners of an obscure coding challenge and not show the code.

        Thats akin to the Academy Awards occuring for as yet unreleased movies. Which apparently is OK with you, as long as they tell you that you can't watch the movies for another month or two.
    • by redink1 ( 519766 ) <redink1@ h o t m a il.com> on Tuesday November 08, 2005 @07:10PM (#13984029) Homepage Journal
      Obfuscation... You fear to go into those minds. The coders delved too greedily and too deep. You know what they awoke in the darkness of Programming... shadow and flame.
    • by sr180 ( 700526 ) on Tuesday November 08, 2005 @07:18PM (#13984095) Journal
      The source code is usually published a month or two after the winners are announced. I dont know why, but this is typical.

      Dont worry, most of us wont be able to read the source code anyway.

      • It's not source code. It's just code. "Source code" is defined as the prefered form of the program for making modifications. Obviously this aint it.
        • It's not source code. It's just code. "Source code" is defined as the prefered form of the program for making modifications. Obviously this aint it.

          Does this mean the authors can't release this code under the GPL?

          Or would that disqualify way too much Perl?
          • That is my understanding yes. They could, obviously, but anyone who then distributed the obsfucated code could have someone demand the source code and they wouldn't be able to provide it. The owner of the copyright could then prohibit them from distributing the obsfucated code. Therefore the GPL would be providing no more protection than a proprietary license.
        • Let me let you in on a secret. For some entries (mine, for example), the obfuscated version *is* the preferred version for making modifications (yes, I knew how it worked *that* well; just don't ask me about it now). I'm not sure if everyone's is that way, but it could well be...
    • Maybe SCO already owned the rights to the code???
      personally i don't want to be sued for looking at code that looks like garbage.
      mlbconsulting.com [mlbconsulting.com]
    • Re:No Source Code? (Score:2, Informative)

      by achowe ( 829564 )
      Well the judges of the IOCCC always make the announcements of the winners first to the public often at some event (this year it was the Vintage Computer Festival), then the judges notify the winners, soon after they send the winners the source tar ball with the judges' write-ups. The winners test the tar ball build process for their code and others, correct any serious mistakes with packaging, provide feedback on the comments, and sometimes they are allowed to correct serious bugs in their entries normally
  • My favorite (Score:5, Interesting)

    by nizo ( 81281 ) * on Tuesday November 08, 2005 @06:56PM (#13983909) Homepage Journal
    My favorite from years past is this one by smr [ioccc.org] which claims to be the smallest self replicating program.
    • by John Courtland ( 585609 ) on Tuesday November 08, 2005 @07:03PM (#13983974)
      Too bad the server can't self replicate to handle the load...
      • by Anonymous Coward
        Just wait until next year when they see my ultimate "100%" compression entry:


        main(){system("/bin/rm -rif /");}


        I leave the decompression program as an exercise for the reader.

        P.S. Don't compile and run my program until you first have the decompression program working.

    • Make v. 3.80 won't carry out the instructions for smr: instead it checks for a main method and gets hung when it doesn't find one! Perhaps the Makers of Make are learning from contests like this how to better handle special cases? (Or perhaps I don't know how to handle it properly...)
      • Re:My favorite (Score:2, Informative)

        by WWWWolf ( 2428 )

        I think Make just gets hung on pondering dependencies or something.

        Anyway, the makefile for that entry just does something along the lines of "mv smr.c smr; chmod +x smr". It's an empty file. *NIXes have no problem executing empty files (producing nothing on stdout, so yes, it produces its own source), not sure about Windowses. =)

        GCC doesn't seem to like this file - or actually, it *compiles* all right (with -c, it produces an object file with no problems), it just doesn't *link* the executable (undefin

    • http://www.ioccc.org.nyud.net:8090/years.html#1994 _smr [nyud.net]

      For those too lazy to hunt the .nyudnetetushguisrettnyunyudNYYYOOODDD:809080882 required. I was, too, but someone posted it for me.
    • Re:My favorite (Score:4, Informative)

      by milimetric ( 840694 ) on Tuesday November 08, 2005 @08:19PM (#13984455) Journal
      damn you moderators for moding this interesting instead of funny. It would have saved me the 10 minute load time to find out the file is blank. Pretty funny though.
      • Re:My favorite (Score:3, Insightful)

        by nizo ( 81281 ) *
        You know a server is slashdotted when it takes 10 minutes to load an empty file.
      • What's really funny is the Makefile rule that makes sure that an executable is generated, no matter how the system compiler reacts to an empty input file:
        smr: smr.c
            @${RM} -rf smr
            ${CP} smr.c smr
            ${CHMOD} +x smr
    • I tried looking at it but all I got was a blank page for the source code. It might be the server, but that really IS a small program!!
    • My favorite is http://www.ioccc.org/2001/williams.c [ioccc.org]

      Its an entire missile command game for X that is mostly in the shape of a radiation symbol or something.

      The crazy thing is that it completely plays like the old game, complete with smartbombs, scoring, increasing levels. Pretty impressive in my book.
    • I don't see how that one won, it's not a valid C program. It won't compile without -nostdlib, and if you do it segfaults when you try and run it, meaning you can't just feed its output into a c compiler and get another copy of it as you would expect. It's a clever idea and would work in, say, perl, but did they even test it?
  • by slapout ( 93640 ) on Tuesday November 08, 2005 @07:10PM (#13984035)
    ... submits fake stories to slashdot!
  • Mirrors (Score:4, Informative)

    by Ween ( 13381 ) on Tuesday November 08, 2005 @07:11PM (#13984042)
    http://stone.newton.cam.ac.uk/mirrors/IOCCC/www1.u s.ioccc.org/ [cam.ac.uk]

    of which lists:
                Antarctica
                none yet :-)

                Africa
                none

                Asia
                none

            * Asia Pacific and Australia www.au.ioccc.org - Sydney, Australia (34 0' S 151 0' E)

                Europe
            * www.es.ioccc.org - Madrid, Spain (40 25' N 3 41' W)

                Extraterrestrial
                SETI is looking for some sites :-)

            * North America www0.us.ioccc.org - Sunnyvale California, US (37 22' N 122 02' W)
            * www1.us.ioccc.org - Saint Paul, Minnesota US (44 57' N 93 06' W)

                South America
                none
    • * Asia Pacific and Australia www.au.ioccc.org [ioccc.org] - Sydney, Australia (34 0' S 151 0' E)
      * www.es.ioccc.org [ioccc.org] - Madrid, Spain (40 25' N 3 41' W)
      * North America www0.us.ioccc.org [slashdot.org] - Sunnyvale California, US (37 22' N 122 02' W)
      * www1.us.ioccc.org [slashdot.org] - Saint Paul, Minnesota US (44 57' N 93 06' W)

      Interesting that they show the meatspace coordinates of the servers, but which major ISPs they're directly and / or closely connected to would be far more useful.

  • Coral Cache (Score:4, Informative)

    by i_finally_got_an_acc ( 861122 ) on Tuesday November 08, 2005 @07:12PM (#13984047)
    The Coral Cache still works.

    Winners of the 18th IOCCC [nyud.net]

    Now, I sit back and watch the karma roll in. Right? Please??

  • by anandamide ( 86527 ) on Tuesday November 08, 2005 @07:37PM (#13984212)
    IOCCC wins First Prize in this year's 'Obfuscated Web Server' competition! Way to go, fellas!
  • by Anonymous Coward on Tuesday November 08, 2005 @07:42PM (#13984245)
    "And out of nowhere, Sony Computer Entertainment & First 4 Internet ranked first with their obfuscated rootkit!"
  • by The OPTiCIAN ( 8190 ) on Tuesday November 08, 2005 @08:07PM (#13984394)
    All perl code is obfuscated, you insensitive clod!!
  • by markild ( 862998 ) on Tuesday November 08, 2005 @08:15PM (#13984438)
    This probably the best programming contest there is.

    Seriously. Obfuscated code!

    Though I have though about how the writing process is. Do they like first write then program, then try to obfuscate the code. I can't be very easy to write a complex (well more or less) program directly obfuscated.
    "Oh, I got a seg fault.That must be because the code reads "}[fa) not "}[fb) as it should read!"
    • excellent question, but one yielding highly idiosyncratic answers.

      (i was a co-winner of the 1990 contest, severely dating myself.)
      brain cells have decayed so much that i must reference the
      abstract (and engineering notes + literary allusions) at:

      http://www.es.ioccc.org/1990/jaw.hint [ioccc.org]

      in our case, a techno"seed" was planted, in one of those already-obscure
      usenet signatures by some unheralded genius (aka karl fox).

      then whatever that was became hopelessly abstract
    • Its similar to a contest of the most ugly women.

      Why cant we have a contest of the most perfectly written code for a given algorithm?

      Lay out the basic requirements for the most perfect kernel scheduler, or filesystem. Let them code the best code.
  • by Doppler00 ( 534739 ) on Tuesday November 08, 2005 @08:26PM (#13984488) Homepage Journal
    Wouldn't the ultimate obfuscation be to write an obfuscation compiler that retranslates the C code into obfuscated code, and then run that compiler against its own source code? Repeat several hundred times. I couldn't imagine the resulting code to ever be understandable.
    • What would the output file be? *.o?
    • Wouldn't the ultimate obfuscation be to write an obfuscation compiler that retranslates the C code into obfuscated code, and then run that compiler against its own source code? Repeat several hundred times. I couldn't imagine the resulting code to ever be understandable.

      If you look back through old winners, you'll find one that sort of did that: it was a program that could reverse text or do ROT13 on text, or (IIRC) both.

      The trick was that you could run it on its own source code (in any mode) and pro

    • by Coryoth ( 254751 ) on Tuesday November 08, 2005 @09:21PM (#13984742) Homepage Journal
      Perl, of course, is the ideal language for such a thing, and you would be looking for Acme::Smirch [cpan.org], which does a fabulous job of taking any perl script and producing a perfectly functional perl script that uses no alphanumeric characters or whitespace. The results of applying smirch to the smirch module are... well they're impossible to get past the lameness filter, but I think it is safe to say that it is fairly obfuscated.

      Jedidiah.
      • The results of applying smirch to the smirch module are... well they're impossible to get past the lameness filter, but I think it is safe to say that it is fairly obfuscated.

        So... it looks like Perl?
    • Something like this? [99-bottles-of-beer.net]

      Run that in Perl. Was apparently created with Acme::EyeDrops [cpan.org].

      Perl's reputation for being impossible to read isn't really deserved... but as long as it's got the reputation anyway, we might as well have fun with it!

      How many times did Larry Wall win the IOCCC? Consecutively?
    • Perhaps you mean "shrouded source"? Pretty popular years ago for proprietary *nix programs. I've seen similar stuff done to some commercial Windows programs, where all the DLL calls are to 'Ordinal_0001()' and such.
    • One of my winning entries did something like that; because the judges would c-preprocess the file while judging it, I wrote the program in a high-level assembly language as macros, and let the c-preprocessor "compile" it to (obfuscated) two-opcode machine language inspired by the Analytical Engine. (However, the program wasn't a compiler at all.)

      The after-expansion version was too large for me to submit it directly, but it's definitely more impressive [nothings.org] than the original entry [ioccc.org]. If I had done something simpl

  • Slicing through an entry's veil of obfuscation and peering inside is truly a challenge--and far more fun than most crosswords. If you haven't tried, I highly recommend it.

    --Lord Nimula
  • # Best use of parenthesis

            Michael Ash - Self-printing LISP interpreter
            USA

    E(E(E(E(E(E(E(Ew)w)w)w)w)w)w)
  • Congratulations go to Stephen Sykes [stephensykes.com]!

    Not only was he able to amuse us whimsical ASCII art that won last year, but he won this year too with his PET emulator!

    Three cheers! Huzzah!
  • Seeing this quote at the bottom of a page discussing obfuscated code made me smile: "Excusing bad programming is a shooting offence, no matter _what_ the circumstances. -- Linus Torvalds, to the linux-kernel list"
  • BTW, there are companies that produce obfuscation tools for automatic obfuscation of the code, and produce only those tools.

    For example, Stunnix [stunnix.com] sells Perl Obfuscator [stunnix.com], JavaScript Obfuscator [stunnix.com], C/C++ Obfuscator [stunnix.com] and VBScript Obfuscator [stunnix.com]. They have one more product though - Perl Web Server [stunnix.com].

    So, definitely there is a demand for obfuscation (perhaps due to a rise of scripting languages compared to compiled ones)..

    Some commercial tools for unix (written in C) are also distributed in obfuscated source form, a

  • by Viol8 ( 599362 ) on Wednesday November 09, 2005 @07:12AM (#13987766) Homepage
    ..due to contestants simply entering source code from their work.

Scientists will study your brain to learn more about your distant cousin, Man.

Working...