diff --git a/faq.html b/faq.html deleted file mode 100644 index 0682ee9d5..000000000 --- a/faq.html +++ /dev/null @@ -1,448 +0,0 @@ -

-

- -
IOCCC
- - -


- -
The International Obfuscated C Code Contest
- - -


- -

[ The judges | -IOCCC home page | -How to enter | -FAQ | -Contacting the IOCCC -
-IOCCC news | -People who have won | -Winning entries ]

- - -


- -
- - -

The IOCCC FAQ

- -

Q: How many entries do you receive each year?

- -

By tradition, we do not say.

- -

Q: How many judging rounds do you have?

- -

Are you trying to trick us? We will not say that either.

- -

Q: I cannot get entry XYZZY from year 19xx to compile!

- -

Some winners, particularly winners from long ago, no longer compile on more -modern systems because the C language has evolved (i.e. the modern C compilers -are much more strict in what they accept as a valid program), or the entry -depended on operation system and library features that where common back then -but are different/missing today.

- -

E.g. it is highly unlikely that you'll be able to execute -1984/mullender on a computer you're using to read -this FAQ.

- -

Q: I found a bug in a previous winner, what should I do?

- -

We do not 'maintain' the contest winners. The code is made available on an 'AS -IS' basis. If you have a FIX for -a entry, we suggest that you try and email it to the authors and to CC: -us using the instructions on the -contacting the IOCCC Judges page.

- -

IF you have a FIX, and IF the author does not object, and IF your fix -looks reasonable, we will add a web link to a copy of your email -for others to see.

- -

Q: Are there types of entries that are submitted so frequently that the judges get tired of them?

- -

Yes, there are types of entries that show up over and over again.

- -

The guidelines say:

- -

We tend to dislike programs that: are similar to previous winners

- -

We like variety. However too often we see (please look at the winning examples -given to be aware of the level of the competition):

- -

maze generator

- - - - -

tic-tac-toe game

- - - - -

solitaire/Othello game

- - - - -

generating small primes (below is the list of all prime related winners)

- - - - -

As you can see, just a list of primes (let alone small primes) does not cut it -anymore.

- -

self reproducing program

- - - - -

entries that just print "Hello, world!"

- - - - -

it's so 20th century...

- -

entries that use some complex state machine/table to print something

- - - - -

rot13

- - - - -

pi or e computation

- - - - -

HINT: It is not fatal to send in those types of entries, it is just MUCH -HARDER to win. Such an entry would have to do something really unique and -interesting to even make it into the final judging rounds. Entries that -re-use these 'worn out' themes frequently lose to other entries that do -something different.

- -

HINT: If you really MUST send in an entry based on an 'over-used theme', -be sure that it is obfuscated in several new and novel ways. Be sure to clearly -explain near the beginning of your remarks why you are submitting a entry -based on an 'over-used theme' and why the judges should not simply toss -it out as being boring.

- -

Q: What should I write in the 'remarks' (remarks.md) section of my entry, if anything at all?

- -

As much or as little as you wish.

- -

What helps:

- - - - -

What does not help:

- - - - -

Q: I am confused: what should I put to the 'build' section?

- -

The 'build' section must contain UNIX shell-style commands to compile your C -language entry in a file named prog.c and produce an executable file. More than one command is allowed, -as far as the size rule is followed. -Usually one (or more) of these commands will be an invocation of -a C compiler (use cc or gcc), but there may be exceptions -(or not anymore, see 2000/tomx).

- -

If your entry depends on a particular source file name during compilation or execution, you will have to put a line

- -
cp prog.c desired_name.c
-
- -

before the compiler invocation line.

- -

If in doubt, put

- -
cc -o prog prog.c
-
- -

in the 'build' section.

- -

Note however that with the mkiocccentry -tool we have an example Makefile -which you should update, using the instructions above if necessary.

- -

Q: What happened to the winners for 1997, 1999 2002, 2003, 2007 - 2010, 2016, 2017, 2021 and 2022 ?

- -

There are none. There was no IOCCC in those years.

- -

Q: Why don't you publish non-winners?

- -

Because the publication on the IOCCC site IS -the award! Anyone is free to put their IOCCC hopefuls, lookalikes and/or -non-winners on their web page for everyone to see.

- -

Q: How much time does it take to judge the contest?

- -

It takes a fair amount of time to setup, run, answer email, process entries, -review entries, trim down the set entries to a set of winners, doing the -write-up of the winners, announcing the winners, reviewing final edits of the -winning entry set, posting the winners, being flamed :-), tell folks who send in -late entries to wait until the next contest, etc... It takes a few weekends and -a number nights of study and work ... which is hard given that we are busy with -many other activities as well.

- -

Note that we do not contact the author if an entry does not compile or does not -work as advertised, we might attempt to fix obvious compilation problems or -incompatibilities, but no more than that - so be sure that your entry does work -on at least a couple different platforms, at least one of them being UNIX or -POSIX-conforming.

- -

Q: What platform should I assume for my entry?

- -

Your entry must compile with GCC and run under at least one flavor of UNIX (e.g. -Linux or Solaris). To improve chances to win, it should work under both BSD and -SysV style UNIX (think stty cbreak), and should not depend on endianness. -If it can compile and run on Windows and/or Mac (see -2000/thadgavin for one example, amongst others), even better.

- -

Q: I would like to mirror the IOCCC web site. May I do so?

- -

We are not accepting mirror requests at this time, sorry.

- -

Q: I want to publish some parts of the IOCCC in an article, or book, or newsletter, or use then in class/instructional notes, or quote from the IOCCC. May I do so?

- -

Please ask the IOCCC judges first. Please send your request using the -instructions on the contacting the IOCCC Judges page.

- -

Q: What are the grand prize / Best of Show winners?

- -

In 1984-1987, the grand prize winners are:

- - - - -

Starting from 1988, the entry we liked the most in that year is called -"Best of Show". Here are the "Best of Show" entries:

- - - - -

In 1993, 1994 and 1995 the judges were unable to select a clear overall -winner. So to give a nod to the entry that had the highest approval ranking -from the judges, they used the following awards:

- - - - -

These could be considered the 'best entry' for those years with 1 or -more other entries that came in close behind.

- -

Q: I managed to get entry XYZZY from year 19xx to compile; now it fails to run!

- -

switch(19xx/XYZZY) {

- - - - -

instead. Enable reverse wraparound in your xterm window for best results.

- -

break;

- - - - -

break;

- - - - -

}

- -

Q: How did the IOCCC get started?

- -

One day (23 March 1984 to be exact), 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's 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 to -net.lang.c -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. -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' 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 -were posted on 17 April 1984.

- -

There were 4 winners in 1984:

- -
    -
  1. (dis)honorable mention
  2. -
  3. 3rd place
  4. -
  5. 2nd place
  6. -
  7. 1st place
  8. -
- - -

BTW: 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"'. It was not until 2001 that another anonymous -entry received an award.

- -

BTW: The 1984 winner remains one of my (Landon -Curt Noll) all time favorites.

- -

The name used in the posting of the 1st IOCCC -winner -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 -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 fiction contest.

- -

- -

P2.S. See the -overall README -for more details.

- -

- - - -
Creative Commons License

© Copyright 1984-2020, -Leo Broukhis, Landon Curt Noll -- All rights reserved
-This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.