Contests: Mind-Twisting Winners And Tiny Entrants 34
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 been posted. The winners have been notified and are given some time to review and amend their entries. The source code of the winning entries will be released after January 15, 2001." I think I like Don Yang's entry best -- "A program that prints a program that prints a program that prints a program that prints the second program." Huh?! Those with smaller ambitions will be pleased to know (via
Virtex) that there will be a
new 5k Web contest contest for 2001. "The rules? Simple. Just create a Web page or site that is no larger than 5K, including all html and graphics. Oh, and there's no server-side scripting allowed (client side scripting is OK, though). Interested? The contest officially kicks off March 1, but why wait until then?" (Last year's iteration drew some pretty wacky entries.)
Am I famous now? (Score:1)
15th IOCCC contest was in 1999. (Score:1)
Re:obfuscating c just ain't that hard. :) (Score:2)
Heck, I want to see the unobfuscated APL contest...
Re:Quality (Score:1)
main(a,b,c,d,e,f,g,h){ return aa?main(!a,-24):!a?!b?b:main(-79,++b,a):!c?putcha
Ages ago, I had access to a PL/I compiler... (Score:2)
1. Select dataset at random.
2. Stuff into input of PL/I compiler, with all warnings turned off.
3. Link, load, run, and view output, if any.
4. Use reverse compile option to produce source code from above module.
As I said, I was bored. What came out the bottom of this process bears an amazing similarity to the obfuscated programs presented on the contest web site.
Has anyone tried compiling web pages at random?
Speaking of Quality (Score:1)
main(a,b,c,d,e,f,g,h){return a<<1>a?main(!a,-24):!a?!b?b:main(-79,++b, a):!c?putchar(((c=main(a,b,1,main(a+1,b,0),0,0,0,
Re:Quality (Score:1)
Quality (Score:2)
3D demo's especially and anyone who's seen the 70k "Please the cookie thing" demo might agree with me.
The Winning Entries (Score:1)
obfuscating c just ain't that hard. :) (Score:2)
i only wish these contests went more into the extremes: use languages that really lend themselves to obfuscation - such as perl, the king of polymorphic semantics - or abuse the hell out of languages that were designed to be pristine clean - such as scheme or smalltalk (to a degree).
i mean, come on, obfuscating c just ain't that hard.
My entry (Score:1)
The Really Sad Part (Score:2)
Is that these is real world code just as unreadable as these. I mean, these things look like binaries; they belong in museums, not in production.
It's sad that it's so much easier to write obfuscated code than it is to write elegant code. Someone should start a contest for the most small and interesting code that is the most obvious and elegant.
What we need is a language that promotes concise but readable code. Then these could be purely academic exercises. I work in Perl, and believe me, some of these could win clairity contests.
program of a program..... (Score:1)
The teacher gave us the assignment and told us that it didn't matter if we did it his way, only that it worked. He (remaining namless) got on my bad side earlier that week by waking me up in the middle of my nap. To get back at him I put two or three format statements on each line of code. To further anger him, I used half a dozen subroutines just to set up the Read statements.
Oh Well
{/. should put a time of day filter, I'm sure that 90% of the crap posted wouldn't be if posts weren't done at 4 AM}
Now this is fun....... (Score:1)
This is just the thing to get those creative juices flowing!
Re:I don't get it (Score:3)
If you were watching the Harlem Globetrotters play basketball, would you complain that they wern't getting to the basket as quickly as possible?
Re:The Winning Entries (Score:1)
Developers VS Maintainer (Score:1)
Re:I don't get it (Score:1)
Ever seen the Obfuscated "Twelve Days of Christmas" code? It not only looks like it doesn't do anything, it looks like it would be impossible to do anything. Much less print out a single character. But it does.
It's a challenge. Why do people climb mountains? Because they're there. Why do coders write obfuscated code? Because they can.
Kierthos
Re:obfuscating c just ain't that hard. :) (Score:2)
Re:I don't get it (Score:1)
Enuf Rant 4 Now
nested programs... oh the horror (Score:1)
Hmm sorta sounds like a program I wrote a while back in perl and c and shell script that does something like this. its at http://www.irni.net/software.php3 [irni.net].
Re:program of a program..... (Score:1)
Re:I don't get it (Score:2)
Another is for the other reason that people do crossword puzzles; it is a way to exercise and stretch your use of a language, and that makes you better at using the language *even in non-obfuscated contexts*.
Another is that studying *why* bad code is hard to read helps you avoid the pitfalls that lead to it.
In short, it's fun and educational.
Re:nested programs... oh the horror (Score:1)
Re:The Really Sad Part (Score:2)
I believe that was one of the goals of Python [python.org]. If nothing else, it forces you to indent your code properly.
--
I can't find the winning entries either (Score:1)
Re:The Winning Entries (Score:1)
My hole point was that why post the stuff before we can see the source-code. There isn't much fun in just the name of the winners.
It's not out yet (Score:2)
Re:The Winning Entries (Score:1)
My hole point was that why post the stuff before we can see the source-code. There isn't much fun in just the name of the winners.
- Don't serve irony to angry people
Re:obfuscating c just ain't that hard. :) (Score:1)
but then they started introducing macros, and we were back to syntactic obfuscation.
Re:I don't get it (Score:1)
Really? that's the opposite of what OO experts say. I forget which one said "Anyone can write code that the machine can understand. The trick is to write code that another programmer can understand."
this will be my 5k entry haiku (Score:1)
Page under 5k
communicates so little
downloads quickly, though
Re:Quality (Score:1)
It's a bit difficult to do if you don't plan. I started by coming up with the idea of what I wanted the program to do. I then wrote the program out. Then I stepped back and tried to figure how could obfuscate it by doing things like using recursion instead of loops and then seeing if I could fit all my recursion into one function, then seeing if all my recursion and logic would fit on one line, and then I modified the main function so I wouldn't have to make a fuction call to get things started.
There are a lot of ways that you can obfuscate as well, like giving all of your variables similar names like combinations of o, O, and 0 or i, I and 1. You can also add redudant information like !I||!1.
Re:obfuscating c just ain't that hard. :) (Score:1)