In most cases the word was changed to 'obfuscation' as it was about
obfuscation, not deobfuscation. In some cases like 1995/leo since the
file was (in 1995/leo) about a secret switch it was changed to
'secret.md' (and 'secret.html') but there were others like that as well.
One entry had the words 'spoiling the size rule' but this had been
changed to 'deobfuscating the size rule' which was obviously wrong.
In the latter YYYY/README.md files the judges had written after some
entries (brief summaries) '...
...We'll stop spouting spoilers now. Have fun exploring all the
entries!
but that was changed to:
...We'll stop spouting deobfuscation information now. Have fun
exploring all the entries!
which wasn't really about deobfuscation but just a brief summary of what
the entries did.
And in the most problematic case (at least for me :-), 2018/ferguson) I
had put a joke in:
... but it's the only Easter egg I won't spoil
but it was changed to 'won't deobfuscate' which not only is not what it
is but it spoilt the joke.
In some cases the word was changed back to 'SPOILER' (or similar) but in
most cases not. I believe it should be better now. There are some
caveats, however, as below.
Although make find_missing_links is okay I do not remember if this will
catch links that refer to '%%REPO_URL%%' or other pandoc tokens. This
means I might have to go back to some earlier years to verify links are
okay. That should not take that much time I hope.
It might also be that some wording can still be improved some but it is
hoped this will be discovered when checking links and looking over the
manifest (which obviously changed).
Seventeenth International Obfuscated C Code Contest
Standard IOCCC stuff
View the index.html web page for the given winning entry for information on how
on how to compile the entry and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
Some ANSI C compilers are not quite as good as they should be. If
yours is lacking, you may need to compile using gcc instead of your
local compiler.
The IOCCC has a website and now has a number of international mirrors. The primary website can be found at https://www.ioccc.org/.
Remarks on some of the entries
We believe you will be impressed with this year's winning entries. The Best of Show is a fine example of obfuscation. But don't ignore the other entries! There are games, utilities, programs that output images and a one-liner that is incredibly compact for what it can do.
The Best abuse of the guidelines is technically allowed by the rules. This year we allowed it due to the functionality of the program. This entry is one of the easiest to read! Don't assume you can win using similar techniques next time ... :-)
This year a single person won two awards! We also had repeat authors with their 6th, 4th and 2nd winning entries this year! (Please note that judging is done completely anonymously. Be warned that we may disqualify entries that reveal the identity of the submitter.)
Remarks on some losing entries
There were some outstanding entries that did not win. Unfortunately some very good entries lost because they:
- depended too much on non-portable side effects in expressions; and/or
- depended too much on a particular byte order; and/or
- required the use of a special script, data file or pseudo-machine language that was not supplied with the entry.
We hope the authors of some of those entries will fix and re-submit them for the next IOCCC.
Final Comments
IMPORTANT NOTE: See contact.html for up to date contact details as well as details on how to provide fixes to any of the entries. See also the IOCCC FAQ for additional information on the IOCCC.