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

 



Forgot your password?
typodupeerror
×
Programming IT Technology

16th IOCCC Winners Released 99

An anonymous submitter wrote: "A while ago the 16th IOCCC winners were announced. Apparently "releas[ing] the winning source by mid April 2002" actually means "within a year", but you can finally enjoy them here. Or, if you don't enjoy them, you can beat your head against the wall trying to figure out how these programs work ;-)"
This discussion has been archived. No new comments can be posted.

16th IOCCC Winners Released

Comments Filter:
  • from the my-brane-hurts dept.

    That would be "brain".

    • Actually, no... (Score:3, Informative)

      by devphil ( 51341 )


      Longtime readers of alt.religion.kibology recognize "brane" as "the way brain is spelled after your own brain fails you."

      However, this is a slashdot editor we're talking about here, so you're probably right. :-)

      • ACTUALLY, it predates the Internet by a quite a few years; it's from the Molesworth books (English public skool humour) by Willans and Searle. See here [simonbarne.com] for details. They are very funny, as any fule kno.

        Jon.

  • woah (Score:4, Funny)

    by klocwerk ( 48514 ) on Tuesday February 04, 2003 @09:49AM (#5222693) Homepage
    well that was an incredibly fast slashdotting.
    and I was looking forward to having no freakin clue as to what any of the programs did.
    • Re:woah (Score:2, Funny)

      by dereklam ( 621517 )
      and I was looking forward to having no freakin clue as to what any of the programs did.

      That's still the case, now that the server's slashdotted.

  • ...by the /.-ing the site is currently experiencing.

    "Security through denial of service" Copyright 2003 by me!
  • Lost here ... (Score:2, Interesting)

    by SuperDuG ( 134989 )
    Okay so this is a contest to make a program where you have no idea what the program does by the source code?

    Hell wouldn't that be like 60% of the open source projects out there? Don't belive me?? Open up one of those .cpp or .c files next time you "Download the source" and never take a look at it.

    I can't confirm/deny this because I only got to see one program by "anonymous" who seems to post here on slashdot a whole lot.

    But yeah this seems ... kinda cool, but goes against every coding practice/standard I've ever seen, seems to me this is comparable in non-geek terms to a upside down watermellon eating contest.

    • Re:Lost here ... (Score:5, Informative)

      by pmcneill ( 146350 ) on Tuesday February 04, 2003 @10:47AM (#5223020)
      No, the contest is to demonstrate a mastery of ANSI C. Only someone who truly understands every intricacy of the preprocessor and the compiler can write one of these. A much better comparison might be something like an NBA slam dunk contest -- you'll see stuff that you won't see anywhere else and is completely stunning. Very, very few programmers could hope to create an entry such as these.
      • Especially the missle command code (williams.c).

        My GOD!
        • I'm convinced that diet soft drinks make people fat.

          Dear Sir,

          In regards to your sig. Your suspicion is correct - they do make people fat, and here is how. When a person consumes something sweet this is normally followed by sugar entering the bloodstream. What happens is that the classical conditioning takes place; the brain believes that sweet things are a reliable predictor of sugar entering the bloodstream.

          So to keep everthing in check, your body goes about lowering your blood sugar as soon as you taste something sweet, in anticipation of the sugar about to enter your system. Then something funny happens - no sugar. So then the person is on a sugar low, and goes hunting for some donuts or ho-hos or something else to save them from the crisis. Wash, rinse, repeat - and out pops a fat person.

      • the first goal of the entries should be: "To write the most Obscure/Obfuscated C program under the rules below. "
      • No, the contest is to demonstrate a mastery of ANSI C.


        I thought it was to annually prove right all C detractors.
  • My entry: (Score:5, Funny)

    by Thud457 ( 234763 ) on Tuesday February 04, 2003 @09:53AM (#5222712) Homepage Journal
    main(v,c)char**c;{for(v[c++]="First post!\n)";
    (!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[! !c]+!!c,!c));
    **c=!c)write(!!*c,*c,!!**c);}
    • Re:My entry: (Score:1, Insightful)

      by Anonymous Coward
      is anyone stupid enough to run something with execlp() posted on /. ?
      • is anyone stupid enough to run something with execlp() posted on /. ?

        Take a look at your sibling posts. ;)

        However, it's perfectly safe if you just compile and run it in your heaSegmentation fault

    • error: 'execlp' : undeclared identifier
      error: 'write' : undeclared identifier
      warning: 'main' : function should return a value; 'void' return type assumed
  • by Domingos Neto ( 621498 ) on Tuesday February 04, 2003 @09:53AM (#5222713)
    They work here at my company, I'm sure! I always see this kind of obfuscation when I have to debug code writen by other programmers that work with me!

    No, I'm being unfair. IOCCC code is much easier to understand :o)

  • Mirrors (Score:5, Informative)

    by Nidhogg ( 161640 ) <shr@thanatos.gmail@com> on Tuesday February 04, 2003 @09:54AM (#5222723) Journal
    Google cache of mirrors [216.239.57.100]

    Enjoy them while they last.
    • Re:Mirrors (Score:1, Redundant)

      by WPIDalamar ( 122110 )
      Great, now all the mirrors are slashdotted!

      Does slashdot contact the webmaster before a link? It seems pretty careless if they don't. I wonder if they will slashdot the wrong site sometime and get sued.

      "Your honor, 30% of the time they post a link to a site, it becomes unavailable. Script kiddies have a far less success ration. Surely they are far worse than the average hacker"

      • I'm not sure slashdot will answer, its kind of comprimising to do so. I'm much smaller potatoes then they are but I did have an interesting correspondance recently with a site that could give some insite.

        Before I did an article on the coolest DIY 29psi Mustang Turbo I've ever seen, I asked Michael (the owner of the car and the site about it) if he would mind me linking to him. He liked the idea, and even appreciated the attention.

        But even though I only sent about 200 hits his way (total) it was enough (with the linking on a popular mailing list) to finish off what bandwidth he had left on his free monthly contract with his host. I asked him if he would mind me paying for an upgrade in his service to get around the bandwidth cap, and he actually said no, and he also declined my offer to link directly to a cached copy of his website.

        I wonder more now, if we could take a poll of people who have been slashdotted and find out how many thought it was cool, or uncool when it took down their servers. I know there have been real studies of the slashdot effect, now that I'm insterested I'll have to go hunt those down to see if such a poll was administered.

        -------------------
        OnRoad [onlawn.net]: It gets you there and back again.
  • Better still .. (Score:5, Informative)

    by artg ( 24127 ) on Tuesday February 04, 2003 @09:54AM (#5222726)
    .. look at one of the mirrors [google.com]
  • by szquirrel ( 140575 ) on Tuesday February 04, 2003 @10:05AM (#5222777) Homepage
    yx; double u, b, tmin, sqrt(), tan(); double vdot(A, B) vec A, B; { return A.x*B.x + A.y*B.y + A.z*B.z; } vec vcomb(a, A, B) double a; vec A, B; { B.x += a*A.x; B.y += a*A.y; B.z += a*A.z; return B; } vec vunit(A) vec A; { return vcomb(1./sqrt(vdot(A, A)), A, black); } struct sphere *intersect(P, D) vec P, D; { best = 0; tmin = 1e30; s = sph+NSPHERE; while (s-->sph) b = vdot(D, U = vcomb(-1., P, s->cen)), u = b*b-vdot(U, U)+s->rad*s->rad, u = u>0 ? sqrt(u) : 1e31, u = b-u>TOL ? b-u : b+u, tmin = u>=TOL && u<tmin ? best = s, u : tmin; return best; } vec trace(level, P, D) vec P, D; { double d, eta, e; vec N, color; struct sphere *s, *l; if (!level--) return black; if (s = intersect(P, D)); else return amb; color = amb; eta = s->ir; d = -vdot(D, N = vunit(vcomb(-1., P = vcomb(tmin, D, P), s->cen))); if (d<0) N = vcomb(-1., N, black), eta = 1/eta, d = -d; l = sph+NSPHERE; while (l-->sph) if ((e = l->kl*vdot(N, U = vunit(vcomb(-1., P, l->cen)))) > 0 && intersect(P, U)==l) color = vcomb(e, l->color, color); U = s->color; color.x *= U.x; color.y *= U.y; color.z *= U.z; e = 1-eta*eta*(1-d*d); return vcomb(s->kt, e>0 ? trace(level, P, vcomb(eta, D, vcomb(eta*d-sqrt(e), N, black))) : black, vcomb(s->ks, trace(level, P, vcomb(2*d, N, D)), vcomb(s->kd, color, vcomb(s->kl, U, black)))); } main() { printf("%d %d\n", SIZE, SIZE); while (yx<SIZE*SIZE) U.x = yx%SIZE-SIZE/2, U.z = SIZE/2-yx++/SIZE, U.y = SIZE/2/tan(AOV/114.5915590261), U = vcomb(255., trace(DEPTH, black, vunit(U)), black), printf("%.0f %.0f %.0f\n", U); }
    (with apologies to minray [acm.org])
  • by magwm ( 466805 ) on Tuesday February 04, 2003 @10:11AM (#5222805) Homepage Journal
    • Australia and other Pacific
    • www.au.ioccc.org [ioccc.org]
      - Sydney, Australia (34 0' S 151 0' E)
    • Extraterrestrial

      SETI [seti.org] is looking for some sites :-)
    • South America
      none

    We are looking for more mirrors.
    Do you want to mirror [slashdot.org] the IOCCC web site?

  • by Anonymous Coward

    Seeing as the site is already /.ed, I've mirrored it here for your perusal:


    IOCCC Winning Code

    30198urj218328ui9235s3490123801-28309812u90j
    09178290jufrlkjklsdmf23u93223403128u90jmfpj3
    mc9-42if23-if23-0fjk-02k2r-0233245jd239jd902
    3jd9023jd9230jd9j90reg41-02icjlk23j90d31u2v9
    0931j0d92j2309mn90fm2390fj2390j2390j3129dj32
    390uc3c848fwdjweoj3r8329vrmdi3m-2ie23ei3eei2
    cj032mid9023m923dv2im92d3mdv90i390dn3d09d323
    2eopv023jcv0jfjweur890usdajfosdfjewiornwerpw
    dldfsijnuweoiweu90riu439292rivm9rm34902ir32v
    • by Anonymous Coward
      $ gcc ioccc.c
      ioccc.c:2: missing white space after number `30198u'
      ioccc.c:2: parse error before `30198u'
      ioccc.c:2: missing white space after number `28309812u'
      ioccc.c:3: numeric constant contains digits beyond the radix
      ioccc.c:3: missing white space after number `09178290ju'
      ioccc.c:4: missing white space after number `42i'
      ioccc.c:4: nondigits in number and not hexadecimal
      ioccc.c:4: missing white space after number `0fj'
      ioccc.c:4: nondigits in number and not hexadecimal
      ioccc.c:4: nondigits in number and not hexadecimal
      ioccc.c:4: missing white space after number `0233245j'
      ioccc.c:5: missing white space after number `3j'
      ioccc.c:5: missing white space after number `02i'
      ioccc.c:6: numeric constant contains digits beyond the radix
      ioccc.c:6: missing white space after number `0931j'
      ioccc.c:6: nondigits in number and not hexadecimal
      ioccc.c:6: missing white space after number `0d92j'
      ioccc.c:6: nondigits in number and not hexadecimal
      ioccc.c:6: nondigits in number and not hexadecimal
      ioccc.c:6: nondigits in number and not hexadecimal
      ioccc.c:6: nondigits in number and not hexadecimal
      ioccc.c:6: nondigits in number and not hexadecimal
      ioccc.c:6: complex integer constant is too wide for `complex int'
      ioccc.c:6: missing white space after number `2309mn90fm2390fj'
      ioccc.c:6: missing white space after number `2390j'
      ioccc.c:6: missing white space after number `2390j'
      ioccc.c:6: nondigits in number and not hexadecimal
      ioccc.c:6: missing white space after number `3129dj'
      ioccc.c:7: missing white space after number `390u'
      ioccc.c:7: missing white space after number `2i'
      ioccc.c:9: floating constant exponent has no digits
      ioccc.c:9: missing white space after number `2e'
  • IOCCC? (Score:2, Funny)

    by lucasw ( 303536 )
    This story is something about the obfuscated code writing contest. I read something about this years ago but I certainly don't recognize the contest purely on its initials, and of course the writeup says very little, all the links are slashdotted, and the initial posts aren't very descriptive.

    So the story itself is obfuscated? That would almost be vaguely clever, though I think poorly done is the more likely answer...

  • Or, if you don't enjoy them, you can beat your head against the wall trying to figure out how these programs work ;-)

    Actually I really do enjoy them, every contest really, but I still do beat my head against wall trying to figure out how they work...
  • by SL33Z3 ( 104748 ) on Tuesday February 04, 2003 @10:34AM (#5222918)
    To the average VB Developer, the words "Obfuscated C" is redundant.

  • http://fly.cc.fer.hr/ioccc/
    http://stone.newton.c am.ac.uk/mirrors/IOCCC/realit y.sgi.com/csp/ioccc/

    but just don't try to click this link : http://www.candy.net.au/IOCCC/
  • by Doctor Hu ( 628508 ) on Tuesday February 04, 2003 @10:56AM (#5223093)
    Security by obscurity.

    Security by Obfuscation.

    Security by Slashdot Effect.

    Ah well, I guess it means I won't be using working hours today trying to work out how to use these "insights" in my own code.

    • As one professional programmer to another, I have to say that if you need this site to write stable, solid, unreadable code you consider a career change. A good programmer won't be able to understand what he wrote yesterday - I never do!
  • Good code examples (Score:2, Interesting)

    by phrantic ( 630202 )
    If you read the hints (the only bit that makes [some] sense to me) some of the code is pretty damn cool, and I've only got to the networked pong example. Does anyone know where you can get any of these programs with some nice comments like

    /*this bit deals with n/w connection dummy */
    :
    :
    /*this does something else */
    • ... the book by Don Libes. Out of print, I think, and doesn't cover more recent contests, but still very interesting. Alternates chapters of analysis of IOCCC programs with chapters that deal with obscure corners of C and programming in general. I've actually used it as a reference on occasion.
    • #ifdef SHAMELESS_SELF_PROMOTION_PLUG


      Yes, one of them has made it into a quite useful system utility. Look at http://ioccc.org/years.html#1998_schweikh3
      The real world version of this is available as a FreeBSD port in sysutils/samefile or as a

      ./configure;make;make install


      application from this comment author's homepage :-) See URL above. Don't forget to check out this year's one liner.

  • by msouth ( 10321 ) on Tuesday February 04, 2003 @11:29AM (#5223348) Homepage Journal
    ...I didn't even know the International Olympic Committee had a c compiler.

    (yeah, yeah, ObReinterpretedAcronymComment, I know)
    • ...I didn't even know the International Olympic Committee had a c compiler.


      No, that would be IOCCC.

      However, they don't have one. Using C would produce results too opaque and corrupt even for them.
    • Of course they have silly. They've also got the hard diskus throw, which is part of track and field. The biathlon is sponsored by AMD. The triathlon was just a gimmick to sell 50% more chips, but it flopped. Synchronized swimming is going to be joined by asynchronized swimming soon - promises to be a much faster competition. Boxing will be replaced by boxen because of complaints it was too violent. Of course, there are many computer geeks that play handball, especially when viewing porn. Though not strictly computers, may programmers will appreciate the Bob Dobbs Sled event.
  • by Arjuna Theban ( 143564 ) on Tuesday February 04, 2003 @11:43AM (#5223526)

    My all-time favorite IOCCC winner has been savastio [ioccc.org].

    It's been up on my cube wall for a while. If anyone complains about my code here at work I threaten them to code like it.

    Always works!
  • by m0nkyman ( 7101 ) on Tuesday February 04, 2003 @11:52AM (#5223622) Homepage Journal
    The IOCCC is an ASCII modern art competition right?
    • Wow, that took me off guard. But instead of posting something like "OMG LOL!", I think that I could momentarily pontificate on the validity of your statement.

      That said, yes, it is somewhat of an ASCII art competition (ignoring the sarcasm of your comment). There is art in this obscure, confusing code. Somewhat of a "gee, I'm really not that good" kind of a factor, like what happens when you look at a really good painting that you could NEVER POSSIBLY make on your own, or the complexity and chaos found in one of those paintings by that guy that Ed Bundy played in that one movie.

      Hilarity through complexity, art through chaos.
  • I for one... (Score:3, Interesting)

    by FroMan ( 111520 ) on Tuesday February 04, 2003 @12:04PM (#5223753) Homepage Journal
    I for one, am glad my entry didn't win. Considering I submitted my entry *november 2001*. If I hadn't been released until yesterday I'd be pretty crabby. My wife would be really pissed also.

    So, are there any interviews with the winners. I'd be curious where they were held and why it took so long to release them.

    • There were rumours that they were being jailed in someplace called "Chroot" which I think is in Lebanon. I never heard if there was confirmation.

      -- MarkusQ

  • Formatting? (Score:4, Insightful)

    by Quixote ( 154172 ) on Tuesday February 04, 2003 @12:11PM (#5223822) Homepage Journal
    Is it me, or is relying on formatting to obfuscate your code a bit cheesy? IMHO, a true work of art would be nicely formatted and all that, and still be incomprehensible beyond belief.
  • I read a "rationale" for why the contest existed. If I recall, it was something along the lines of "program X was so mangled that we said WTF, let's have a contest..."

    I searched pretty thoroughly on the IOCCC site, and didn't see the story anymore. Anyone know where I can find it?

  • Look, this is one of the most basic concepts of journalistic writing. The first time you use an acronym, you need to spell out what it stands for. If you don't, your audience will be confused.

    This is 'News For Nerds', I know, but IOCCC isn't exactly an acronym that John Q. Slashdot is likely to come across more than once or twice a year. SPELL IT OUT.

    • It's only this year that it's not been spelled out

      16th IOCCC Winners Released
      On February 4th, 2003 with 97 comments
      An anonymous submitter wrote: "A while ago the 16th IOCCC winners were announced. Apparently "releas[ing] the winning source by mid April 2002" actually means...
      Section: Developers > Programming

      16th IOCCC Winners Announced
      On March 8th, 2002 with 147 comments
      chongo writes: "The winners of the 16th International Obfuscated C Code Contest (IOCCC) have been selected. The judges are in the process of notifying the...
      Section: Developers > Programming

      IOCCC Accepting New, 'Improved' Entries
      On October 2nd, 2001 with 144 comments
      Rudolf writes: "The 16th International Obfuscated C Code Contest is open from now until 01 Dec 2001 23:59:59 UTC. Details are at the IOCCC web site. From the...
      Section: Developers > Programming

      15th IOCCC Results Posted
      On January 26th, 2001 with 69 comments
      leob writes: "FWIW, the 15th International Obfuscated C Code Contest finally came to a conclusion. Read the main page, or, get one big tarball." The contest...
      Section: Main > Programming

      Contests: Mind-Twisting Winners And Tiny Entrants
      On December 27th, 2000 with 34 comments
      leob writes: "The names of the winners of the 15th International Obfuscated C Code Contest along with the one-line descriptions of the winning entries have...
      Section: Main > Slashback

      Death Of The Obfuscated C Code Contest?
      On October 10th, 2000 with 19 comments
      slashdot-me asks: "The International Obfuscated C Code Contest that we all know and love seems to be stalled. The judging phase of the contest began six...
      Section: Ask Slashdot > Programming

      Obfuscated C Code Contest Begins
      On February 2nd, 2000 with 227 comments
      slashdot-me writes "The International Obfuscated C Code Contest (IOCCC) has begun. See the rules at the IOCCC homepage. The contest runs from Feb. 1 to March...
      Section: Main > Programming

  • by chongo ( 113839 ) on Tuesday February 04, 2003 @04:36PM (#5226346) Homepage Journal
    Speaking for myself, as only one of the IOCCC judges:

    I want to make a Public apology for the extremely late posting of the 2001 winners. The delay was discourteous to the people who put a great deal of effort into their submissions.

    Rather than go into the reasons for the delay here: Let me say that when the 17th IOCCC occurs, things will be done differently.

    Thank you all those who encouraged us to complete the 16th IOCCC. And a very big S O R R Y for the lateness of the release.

  • by chongo ( 113839 ) on Tuesday February 04, 2003 @04:53PM (#5226510) Homepage Journal
    One day (23 March 1984 to be exact), back Larry Bassel and I (Landon Curt Noll) 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 [google.com] to net.lang.c inviting people to try and out obfuscate the UN*X source code we had just been working on.

    (I 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 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.
    1. <dis>honorable mention [google.com]
    2. 3rd place [google.com]
    3. 2nd place [google.com]
    4. 1st place [google.com]

    The <dis>honorable mention wished to remain anonymous. While many have asked who it was, we have continued to follow the author's wish to remain anonymous. A few years ago, we asked the author if they still wanted to remain anonymous. They said: "Yes, I want to keep my anonymity. But you can tell them that I am a well known for my connection to the C language". The only other anonymous winner occurred this year [ioccc.org].

    The 1984 winner [google.com] remains one of my all time favorites.

    The name used in the posting of the 1st IOCCC winner [google.com] posting was International Obfuscated C Code Contest or IOCCC for short.

    The posting said 1st annual, so in 1985 we held the 2nd IOCCC contest [ioccc.org] and the tradition continues as the longest running contest on the Internet.

    P.S. Part of the inspiration for making the IOCCC a contest goes to the Bulwer-Lytton [bulwer-lytton.com] fiction contest.

    P^2.S. See the overall README [ioccc.org] for more details.

    P^3.S. See also the IOCCC FAQ [ioccc.org].

    P^4.S. Please see my apology [slashdot.org] for the late posting of the 2001 winners.

  • I'm probably just being dense, but I'm not seeing how the Worst Abuse of the Rules winner this year actually abuses the rules in any way. Just because it's a compiler to x86 native code? If that's all, it doesn't seem very abusive. The compiler itself appears to be perfectly good (well okay, maybe that's an exaggeration) portable C code, and to not depend on x86 code for its correct operation.

    It's definitely a way cool program, but I don't get the fit to the category. Suggestions?

    • The "Worst Abuse 2001" entry at abuses the rules not because it is a compiler to x86 native code, but because it jumps to the code it produced, expecting it to execute, and therefore dumps core on any architecture but x86.
  • Damn that network pong was top notch. Holler.

Utility is when you have one telephone, luxury is when you have two, opulence is when you have three -- and paradise is when you have none. -- Doug Larson

Working...