Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Announcements Programming Technology

IOCCC Winners Announced 175

Arachn1d writes "The IOCCC has finally announced the winners of the 2004 contest.
With winners this year including a mini-OS and a ray-tracer, the submissions should be interesting indeed - if you can make sense of them. According to the page, the actual code for the winners should be up mid-october."
This discussion has been archived. No new comments can be posted.

IOCCC Winners Announced

Comments Filter:
  • Obfuscation (Score:5, Informative)

    by BoldAC ( 735721 ) on Monday August 30, 2004 @08:37AM (#10108237)
    For those who don't know what this is all about...

    It's all about how to obfuscate [demon.nl] baby!

    • Re:Obfuscation (Score:5, Interesting)

      by Anonymous Coward on Monday August 30, 2004 @08:53AM (#10108346)
      How-to-obfuscate in Python

      http://p-nand-q.com/python/lambdaizing_quicksort.h tml [p-nand-q.com]

      • Here's a bit of python obfuscation for you...

        print (lambda A,D,B,C,E,F,G,H,Q:"\n".join(["".join([(Q[int(
        __i mport__( "math").log((reduce(lambda x,y:abs(x[1])=D and
        (x[0]+1,x[1]**2+y[1]) or x,[(0,complex(r/B,i/B))]*A))[0]+1)
        )%len(Q)]) for i in range(F*B,G*B,H)]) for r in range(C*B,
        E*B,H)]))(1500,4,100.0,-2.25,1.5,-1.25 ,1.25,4,".^: /I&@*%$#")

        I know there's no way this is getting past the lameness filter.
        • The following code is not obfuscation. It's an honest attempt to split a Red Hat RPM filename into product and version.

          while($rpm=<>){ chomp $rpm;
          if( $rpm =~ s/-((?!(g77|8514|gui)-)(([0-9][-.0-9]*)?_?(?!X11)( (?i)trunk|[abix]|horde|alpha|stable|cvs|beta|gamma ))?[-_.0-9]*(([a-zZ]|([0-9]*(svn|fc|EL|FIT|FC|x|fi nal|rh|ii|pl|tp|horde|fcs|rc|pre)))[-.0-9]*)?)\.(s rc|noarch|i[3456]86).rpm//){;
          printf "name=%23s \t vers=%s\n",$rpm, $1;
          }else{ print "ugh!\n" };
          }

          Remember to remove the whitespace

    • Re:Obfuscation (Score:4, Informative)

      by Davak ( 526912 ) on Monday August 30, 2004 @08:56AM (#10108380) Homepage
      How to obfuscate in .NET

      Thwart Reverse Engineering of Your Visual Basic .NET or C# Code [microsoft.com]

    • by Ford Prefect ( 8777 ) on Monday August 30, 2004 @09:28AM (#10108576) Homepage
    • Re:More tricks (Score:5, Interesting)

      by Bastian ( 66383 ) on Monday August 30, 2004 @09:35AM (#10108611)
      Recursive calls to main(), if handled with interesting tricks like vectored execution and such, can really spice up a program.

      If you use the trick of storing all of your data in one huge 'array', try to overlap anything you can get away with overlapping. For example, if you have a constant whose most significant byte is the same as the least significant byte in a string, there's not sense in storing that byte twice.

      While not allowed in IOCCC itself, try mixing your C with a language that's even more incomprehensible than C. I had good luck with writing a C program that sent PostScript code to a printer and having all the real work be done in the PostScript code.
      • I recall reading an article about how Gates and Allen developed the first Microsoft BASIC, and that they had to use one of those tricks to get it into the required space.

        So, for example, if the most significant byte of a single command was shared with the least significant byte of another.. they could jump into the middle of another instruction. Crazy.
        • It's a much ignored fact the Gates was a good programmer.

          One of the craziest hacks I've heard of was in an article by this guy who was hired to make some changes to an early calculator design. The calculator used a spinning magnetic drum for storage, a head that could read and write at the same time, and a buffer. It seems the original designer had extended the working memory of the machine by reading the 'OS' into the buffer while the head wrote data. The calculation would then have to finish in one revol

          • Re:More tricks (Score:3, Interesting)

            by Bastian ( 66383 )
            While a lot of stuff folks did back in the day, a lot of times there wasn't much choice. If you don't have enough (memory | speed) to accomplish the task at hand, you'll start resorting to ugly hacks. There are some interesting articles out there on all the horrible things programmers did to old game systems like the Atari 2600 and the Intellivision that would be considered Hateful today but were necessary to create a lot of good games at the time.

            The real problem is lack of documentation, and it's a pro

    • > For those who don't know what this is all about...

      Darn. I clicked it in hopes of seeing pix from the International Olympic Committee Contortionist Competition.

      > It's all about how to obfuscate baby!

      Was the article text one of the contest entries?

  • Umm (Score:3, Interesting)

    by stratjakt ( 596332 ) on Monday August 30, 2004 @08:37AM (#10108239) Journal
    Who's the IOCCC and what was this contest about? Some programming thing obviously. Is this that obfuscated perl thing?

    Seriously, a sentence or two of information in the submissions doesn't hurt.
    • Re:Umm (Score:5, Funny)

      by TheShadowHawk ( 789754 ) on Monday August 30, 2004 @08:39AM (#10108261) Homepage

      Maybe that's the whole point. Everything (including the article) is well... obfuscated.

    • Re:Umm (Score:5, Funny)

      by ophix ( 680455 ) on Monday August 30, 2004 @08:44AM (#10108299) Homepage
      wouldnt it need to be an UNobfuscated perl code contest? ;}
    • by GillBates0 ( 664202 ) on Monday August 30, 2004 @08:48AM (#10108317) Homepage Journal
      Every self respecting geek knows what the IOCCC is. By admitting that you don't, you've demonstrated your inability to cope with the rigorous demands of abiding by the high standards of geekiness.

      Please hand in your Geek membership card on your way out. Thank you.

      • Please hand in your Geek membership card on your way out.

        Do I get to turn in my virgin card as well?? Please say its so!
  • Windows CE? (Score:5, Funny)

    by wackysootroom ( 243310 ) on Monday August 30, 2004 @08:38AM (#10108242) Homepage
    Was the Mini-Os Windows CE by any chance? I'd bet that's pretty obfuscated!
  • by dtfinch ( 661405 ) * on Monday August 30, 2004 @08:39AM (#10108259) Journal
    When there was no contest at all. "Yeah, everyone send in your entries. Oh, nevermind, maybe next year."

    Of course it looks like those extra 2 years paid off. This year's winners look very interesting.
  • by Omega1045 ( 584264 ) on Monday August 30, 2004 @08:40AM (#10108268)
    If the IOCCC is anything like the IOC, I am sure they will ask some of the winners to give back their prizes because of judging mistakes, and probably screwed over several Russian participants.
  • by GillBates0 ( 664202 ) on Monday August 30, 2004 @08:41AM (#10108272) Homepage Journal
    10333 r0x0rzz. 0bf534710n rul3zz!

    C0N6R47UL4710N5 W1NN3RZZ!

  • by pedestrian crossing ( 802349 ) on Monday August 30, 2004 @08:41AM (#10108275) Homepage Journal
    Since the summary isn't very informative, and the servers are rapidly slowing down, it is the International Obsfucated C Code Contest. About all that is (was?) on their page is the list of winners...
  • Additional Mirror (Score:5, Informative)

    by pikine ( 771084 ) on Monday August 30, 2004 @08:42AM (#10108287) Journal
    us1 mirror [ioccc.org] and see Google cache [216.239.41.104] for more.
  • Comment removed (Score:5, Informative)

    by account_deleted ( 4530225 ) on Monday August 30, 2004 @08:44AM (#10108296)
    Comment removed based on user account deletion
    • Re:Site content (Score:1, Offtopic)

      by SILIZIUMM ( 241333 )
      Damn you beat me by 2 minutes :) I wanted to paste the original HTML but Slashdot complained because "Your comment has too few characters per linetoo short lines" (?). So I pasted the content without the formatting just like you did. Heh, still funny.
  • Mirrors (Score:5, Informative)

    by lachlan76 ( 770870 ) on Monday August 30, 2004 @08:46AM (#10108311)
    Before it all goes down, here are the mirrors:

    Asia
    * http://www.tw.ioccc.org/ [ioccc.org] - Hsin-Chu, Taiwan (24 48' N 120 59' E)

    * Australia and other Pacific http://www.au.ioccc.org/ [ioccc.org] - Sydney, Australia (34 0' S 151 0' E)

    Europe
    * http://www.de.ioccc.org/ [ioccc.org] - Hamburg, Germany (53 33' N 10 2' E)
    * http://www.es.ioccc.org/ [ioccc.org] - Madrid, Spain (40 25' N 3 41' W)
    * http://www.gr.ioccc.org/ [ioccc.org] - Athens, Greece (38 00' N 23 44' E)
    * 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)
  • by Anonymous Coward on Monday August 30, 2004 @08:48AM (#10108320)
    I always though this contest was funny, but in a dark and sinister way. I can't tell you how many times I've looked at someone else's code and spent hours trying to figure it out. In the real world, it's not funny.
    I'm amazed at how someone can acheive such obfuscated code without really trying.
    • I'm amazed at how someone can acheive such obfuscated code without really trying.

      I'm not amazed at all - I pay special attention to my code so that someone else could come in and use it. That doesn't mean they'll be able to just step in and understand everything, it'll be hard no matter what. But if I didn't try, I think everything I made would be unusable by anyone else. In my mind that makes the code worth very little - it is the ability to reuse code that makes it valuable. I've debugged or added f
    • by wiredog ( 43288 )
      Comment seen in someone else's code just before a block of especially hairy code which, it turned out, used pow() to determine which bits were set in a 16 bit int which was used to hold flags used to determine if certain data was being used. It looked sort of like:

      while(pow(something,16)==n)
      {
      if(something)
      {
      for(something else)
      {
      ...

      This was on an embedded system where using one 16 bit int instead of 16 8-bit chars to hold the flags resulted in a vital savings of memory.

    • missing the point (Score:3, Insightful)

      by Speare ( 84249 )

      Anyone can write unreadable code.

      It takes an artist to write code that is both unreadable and beautiful at the same time.

      If your entry isn't beautiful, you're just a bad programmer.

    • You forgot to say we should never drink beer, even if it's free!
  • Transcript (Score:5, Funny)

    by k4_pacific ( 736911 ) <k4_pacific@yahoo . c om> on Monday August 30, 2004 @08:50AM (#10108331) Homepage Journal
    Here's an excerpt from the award ceremony:

    winner: I won! I won!
    MC: No, you're failing computer science.
    winner: [Segmentation fault]
  • by TheShadowHawk ( 789754 ) on Monday August 30, 2004 @09:08AM (#10108458) Homepage

    Since the Olympics have just finished and still reasonably fresh on my mind, did anyone else read that as a stuttered IOC-C-C? (International Olympic C-C-Committee)

    No? J-J-Just me then?

    • >International Olympic C-C-Committee

      Sounds like these guys would be the judges if writing C compilers ever became an Olympic event. Pity this wasn't mentioned in the recent poll "Olympic Sports Needed in 2008?" [slashdot.org].

      I wonder how other Olympic events would benefit from obfuscation. Perhaps all the race-tracks would resemble spaghetti junctions.

  • by pr0nbot ( 313417 ) on Monday August 30, 2004 @09:09AM (#10108466)
    Chucklesome bumper sticker mentioned by someone on Slashdot...

    "Eschew Obfuscation"
  • by account_deleted ( 4530225 ) on Monday August 30, 2004 @09:12AM (#10108485)
    Comment removed based on user account deletion
  • by kkovach ( 267551 ) on Monday August 30, 2004 @09:17AM (#10108516)
    obfuscated their webserver. :-)

    - Kevin
  • by jtnishi ( 610495 ) on Monday August 30, 2004 @09:48AM (#10108691) Homepage
    For at least one of the entries (Don Yang's, who won the Best Utility category), the code is already up on the internet:

    http://uguu.org/src_rinia_c.html [uguu.org]

    The only reason I can even remember where this entry would be is because he's the one a few years ago that won with that strange Saitou-Aku-Soku-Zan combination program. Yeah, I could find utilities to do what his code can do on many other places, but what better way to show your anime fandom & code fanaticism by running something like this instead. ^_^

  • by KoolDude ( 614134 ) on Monday August 30, 2004 @09:48AM (#10108695)

    All prize money for the latest IOCCC have been used up for bandwidth after a %^&*@#@%#^% ( obfuscated ) slashdot effect hit the site soon after results were published. We are sorry for the winners...
  • Slightly offtopic, but this will serve the needs of those of us reading this thread for a fix of C-related humour. The Infrequently asked questions in C (C-IAQ) [plethora.net]
  • IOCCC mirrors needed (Score:5, Informative)

    by chongo ( 113839 ) * on Monday August 30, 2004 @01:48PM (#10110914) Homepage Journal
    When we release the IOCCC winners, we are going to need more mirrors. If you want to mirror the IOCCC, please send EMail to Simon Cooper at:

    mirror-request at ioccc dot org

    Please include the following words in the subject of your EMail message:

    IOCCC 2004

    We will ask you a few questions and provide you with information on how we would prefer you to mirror the site. Please don't start mirroring until we have responded and processed your mirror request. Thanks in advance for your willingness to help.

  • by chongo ( 113839 ) * on Monday August 30, 2004 @02:20PM (#10111202) Homepage Journal
    Several people have asked / wondered what the International Obfuscated Code Content [ioccc.org] was all about, how it got start, etc.

    Definition

    Obfuscate: tr.v. -cated, -cating, -cates. 1. a. To render obscure. b. To darken. 2. To confuse: his emotions obfuscated his judgment. [LLat. obfuscare, to darken : ob(intensive) + Lat. fuscare, to darken < fuscus, dark.] -obfuscation n. obfuscatory adj.

    Goals:

    • To write the most Obscure/Obfuscated C program under the content rules [ioccc.org].
    • To show the importance of programming style, in an ironic way.
    • To stress C compilers with unusual code.
    • To illustrate some of the subtleties of the C language.
    • To provide a safe forum for poor C code. :-)

    And here is one entry from the IOCCC FAQ [ioccc.org] that talks about how the IOCCC got started:

    One day (23 March 1984 to be exact), back Larry Bassel and I (

    Landon Curt Noll [isthe.com]) were working for National Semiconductor's Genix porting group, we were both in our offices trying to fix some very broken code. Larry had been trying to fix a bug in the classic Bourne shell (C code #defined to death to sort of look like Algol) and I had been working on the finger program from early BSD (a bug ridden finger implementation to be sure). We happened to both wander (at the same time) out to the hallway in Building 7C to clear our heads.

    We began to compare notes: ''You won't believe the code I am trying to fix''. And: ''Well you cannot imagine the brain damage level of the code I'm trying to fix''. As well as: ''It more than bad code, the author really had to try to make it this bad!''.

    After a few minutes we wandered back into my office where I posted a flame to net.lang.c [google.com] inviting people to try and out obfuscate the UN*X source code we had just been working on.

    BTW: I (Landon Curt Noll) had to post this

    typo correction [google.com]. Thus began the tradition of putting typos in the contest rules and guidelines ... to make them more obfuscated of course! :-)

    BTW: This posting was made back in the days when AT&T was the evil giant. Now, Microsoft makes AT&T look mild and kind in comparison. :-( (IMHO) ).

    BTW: See the story about the '' Bill Gates [ioccc.org]'' award. :-)

    OK, back to the story. We (Larry and I) received a number of entries by EMail. When we began to receive messages from outside of the US, Larry and I decided to include International in the name. The 1st IOCCC winners [google.com] were posted on 17 April 1984.

    There were 4 winners in 1984:

    <dis>honorable mention [google.com]

  • According to the page, the actual code for the wineners should be up mid-October.

    They intended to have the winning code available today, but the website was designed by last year's winner, and they're guessing it'll take another 6 weeks to figure it out.

    They started in January.

A committee takes root and grows, it flowers, wilts and dies, scattering the seed from which other committees will bloom. -- Parkinson

Working...