Prepare for the winners of **IOCCC28**. > However these are not the 2024 droids you are looking for. :-) The HTML menu (both JavaScript and non-JavaScript) has been updated. The `Status -> Rules and guidelines' have been replaced with two separate menus `Status -> IOCCC rules` and `Status -> IOCCC guidelines`. Added a new top level `social.html` page: built from a new `social.md`. Sorted rules for building specific web pages in the top level `Makefile`. Added `make social` to make the `social.html` page from `social.md`. The `bin/gen-top-html.sh` now is able to process a argument of **social** to process the new top level `social.html` page. Changed `bin/gen-top-html.sh` VERSION from "2.0.0 2025-03-13" to "2.0.1 2025-07-25". Below `About -> Home page` a new `About -> IOCCC social media` menu item as added. Because the menu change touched every HTML file, we changed the general copyright date range for HTML files from "1984-2024" to "1984-2025" due to the extensive changes made for **IOCCC28**. Those markdown files that were modified in 2025 had their copyright date range also changed from "1984-2024" to "1984-2025". Rebuilt tarballs and sitemap due to the extensive HTML rebuilding. Ran `make update` to perform the above.
Eighth International Obfuscated C Code Contest
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.
This year, we did not single out an entry that was better than all of the rest. We selected 3 entries that, in our opinion, went beyond all of the other entries this year:
- Grand Prize by Brian Westley
- Most well rounded by Diomidis Spinellis
- Best of Show by Daniel J. Bernstein
Name and address information are separated from the actual program prior to judging. This eliminates any chance that we would bias our judging for/against any person or group. In the end, we are surprised as you are to see who has won. Even so, it is worth noting that Brian Westley has submitted a winning entry for the past 5 years!
A few notes regarding possible changes to the contest:
We did not give awards to some traditional contest categories such as "Best Layout" or "Worst Abuse of the Rules". We felt that to do so would deny awards to more deserving entries. These categories have not been eliminated, and will likely be considered in future years.
A number of entries made use of the following C pre-processor feature:
#define X define
#X foo bar
This is not permitted under ANSI C. Some ANSI C compilers do allow this. In the future, we do not want programs to use this feature. Because this request was not stated in the 1991 rules, we did not reject entries of this type. However we provided more portable versions so that more people could compile these programs.
This year we received entries that made use of the X Window System. Since this functionality is now available on many systems, we feel that programs that use these are now portable enough to be valid entries.
We may allow programs to make use of the X Window System libs and include
files, provided that they can operate with a system running at the level
of at least X11r4. Requiring the use of imake, a specific window manager,
specific display hardware, or a specific user interface (Openl**k,
M*tif, ...) is likely not to be allowed. We will provide a more detailed
explanation of our viewpoint in next year's rules.
In order to encourage more 'normal' looking C programs, we are considering the following change to the maximum size rule:
Your source, not counting any
<space>,<tab>, and a<newline>character, and not counting any ';', '{' and '}' character followed by a<newline>character, must be 1536 bytes or less. The entire source, counting all characters, be 4096 bytes or less.
Some thought has been given to adding some C++ categories, however this is not likely to happen soon. We are waiting until C++ compilers become common place on a wide number of systems. We also need time to brace ourselves for what obfuscation C++ could wield!
Be sure to wait until the 1992 rules are posted before submitting entries. We may fine tune the rules to reflect the some ideas above.
Please send us comments and suggestions what we have expressed above. Also include anything else that you would like to see in future contests. See How to contact the IOCCC for how to provide us with your comments and suggestions today.
For those who appreciate a bit of Internet history, this is how people used to contact the IOCCC in this given year, via Unix to Unix CoPy (UUCP):
...!{sun,pacbell,uunet,pyramid}!hoptoad!judges
judges@toad.com
Final Comments
IMPORTANT NOTE: The email addresses found above are for historical purposes only, and should not be used today. 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.
Credits:
We would like to thank Barbara Frezza for her role as official chef of the contest. Landon Noll appreciated the opportunity to serve as assistant pizza chef. Larry Bassel was official taste tester. Yummo!