This is a fun one because the scripts that are used to update the manifest did not report any problem because the problematic file (though see below as I did rename another file too for very similar rationale, also discussed below) actually exists on file system but when linked to from a web server it does not exist. This is because the filename had the html encodings for [ and ] (again see below) which the web server interpreted as [ and ] but the file doesn't exist on the filesystem in that form: instead it had the html encodings for those characters. This file was 2011/dlowe/dlowe-aux-data/english-0/CIR_APE_08_doc%5B1%5D.txt and it has been renamed to 2011/dlowe/dlowe-aux-data/english-0/CIR_APE_08_doc.txt The other file h ad the literal [ and ] but as this is also not POSIX safe the [ and ] plus what was in between it was removed. Thus the file 2011/dlowe/dlowe-aux-data/png-1/image_thumb[40].png was renamed to just 2011/dlowe/dlowe-aux-data/png-1/image_thumb.png Updated the manifest and regenerated the .entry.json and index.html files. As a side effect of the manifest and rebuild of the .entry.json and index.html file two other entries were touched that somehow were not done when I changed 'Best of show' to 'Best of Show' even though a git diff will show the same thing (seemingly of course): - "award" : "Best Of Show", + "award" : "Best of Show", plus a diff in their index.html files. Those entries are 1991/brnstnd and 2001/jason though I am not sure why as I'm pretty sure other entries also had the same change made and they did not show up here. Nevertheless that problem should now be resolved and the links in 2011/dlowe manifest now work (at least those two have been checked for validity: others will be checked when I verify format and links in that entry which will not be done until after the top level html files and the earlier years).
Twentieth 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 it 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.
The IOCCC has a website and now has a number of international mirrors. The primary site can be found at www.ioccc.org.
Use make to compile entries. It is possible that on non-Unix / non-Linux
systems the Makefile needs to be changed. See the Makefile for details.
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).
Read over the Makefile for compile/build issues. Your system may require
certain changes (add or remove a library, add or remove a #define).
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.
Remarks on some of the entries
There were some outstanding entries that did not win. Unfortunately some very good entries lost because they:
-
did not follow the "one program - one file" rule;
-
depended too much on 32 bit architectures;
-
were more of the "obfuscated math" kind rather than the "obfuscated C" kind.
We hope the authors of some of those entries will fix and re-submit them for the next IOCCC.
We believe you will be impressed with this year's winning entries. The Best of Show is a fine example of character stitching. But don't ignore the other entries! There are games, puzzle solvers, utilities, eye candy, calculators and graphical and audio tools.
This year all authors are different, and there is a authors from a new country - China! Many authors won for the first time. (Please note that judging is done completely anonymously. Be warned that we may disqualify entries that reveal the identity of the submitter).
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.