The mobile About menu was missing the IOCCC markdown guidelines. This has been added to the mobile menu but moved to 'Status' which is where guidelines are (it has been renamed to be 'IOCCC Markdown Guidelines' to match the style of the other items in that menu). The About menu now has two more links, one for the website tools and the other for the include files of the tools. It might be, looking at the generated html files, better to have another menu instead, but what that should be is unclear. The reason it might be better is because the 'About' menu is rather long. In retrospect it might be better to not have the script include files in the html files but this can be decided and dealt with later. The script bin/find-missing-links.sh now ignores the directory NOTES/. A better approach might be using git ls-files --exclude but a quick test did not work right. Another option, at least for NOTES/, might be to use 'git ls-files --exclude-standard'. The bin/index.html file has been updated. Run make www to rebuild all html files.
Eighteenth 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.
This year we included most of the information included by the submitters
in the README.md files (that were used to build the index.html web pages).
Historical note:
The IOCCC has a website and now has a number of international mirrors. The primary website can be found at www.ioccc.org.
Historical update:
The IOCCC website once had a number of international mirrors. As of 2020 Dec 29, GitHub serves as the distributed server farm for the IOCCC winner repo that GitHub renders as Official IOCCC web site - www.ioccc.org.
Remarks on some of the entries
We believe you will be impressed with this year's winning entries.
In particular:
-
The Abuse of the rules - 2005/klausler used local dictionary data to get around the size limit.
-
The Most beauteous visuals - 2005/vince made clever use of
{}s and whitespace in their source code and during execution. -
The Most circuitous walk - 2005/vik entry is just amazing.
-
The Best game - 2005/toledo makes full use of its single function.
-
The Best emulator - 2005/sykes may allow you to reconnect to your first PET.
-
Our Best of Show - 2005/persano this year was simply (or non-simply :-) ) the best!
-
(And we need only mention (parenthetically speaking) that the Best use of parenthesis is self reproducing).
-
The Most sonorous output - 2005/jetro might
sound:-) like a good idea. -
The Best 2D puzzle - 2005/giljade takes editorial license with expressions as well as the with the vi editor.
-
The Most ambiguous language - 2005/chia entry is really a C program.
-
The Most superfluous output - 2005/boutines entry is simply Voronoi-lific!
-
Try not to have your sense of good coding offended by the Most discourteous interpreter - 2005/timwi entry.
-
The Best use of the www - 2005/mynx doesn't include those letters.
-
You will be puzzled by the Best 3D puzzle - 2005/anon entry; we are sure!
-
The Most ingenious puzzle solution - 2005/aidan might puzzle you more while it puzzles out some puzzles: all in a puzzling way! :-)
Remarks on some of the 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 resubmit 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.