update all IOCCC documentation to refer to new IOCCC terms

This commit is contained in:
Landon Curt Noll committed 2024-02-25 00:48:11 -08:00
1 parent a1633df222
commit ddb6c288b5
10 files changed
+263 -258

No files matched your search

+115 -111
View File
@@ -134,7 +134,8 @@ href="#faq2">IOCCC Judging process</a></h2>
given IOCCC?</a></li>
<li><a href="#faq2_1">2.1 - What should I put in the remarks.md file of
my entry?</a></li>
<li><a href="#faq2_2">2.2 - Why don’t you publish non-winners?</a></li>
<li><a href="#faq2_2">2.2 - Why don’t you publish entries that do not
win?</a></li>
<li><a href="#faq2_3">2.3 - How much time does it take to judge the
contest?</a></li>
<li><a href="#faq2_4">2.4 - How many judging rounds do you
@@ -148,32 +149,32 @@ href="#faq3">Compiling and running IOCCC entries</a></h2>
<ul>
<li><a href="#faq3_0">3.0 - What Makefile rules are available to build
or clean up IOCCC entries?</a></li>
<li><a href="#faq3_1">3.1 - Why doesn’t this IOCCC winner
<li><a href="#faq3_1">3.1 - Why doesn’t this IOCCC entry
compile?</a></li>
<li><a href="#faq3_2">3.2 - Why does a IOCCC winner fail on my 64-bit
<li><a href="#faq3_2">3.2 - Why does a IOCCC entry fail on my 64-bit
system?</a></li>
<li><a href="#faq3_3">3.3 - Why do some IOCCC entries fail to compile
under macOS?</a></li>
<li><a href="#faq3_4">3.4 - Why does clang or gcc fail to compile an
IOCCC winner?</a></li>
IOCCC entry?</a></li>
<li><a href="#faq3_5">3.5 - What is this cb tool that is mentioned in
the IOCCC?</a></li>
<li><a href="#faq3_6">3.6 - An IOCCC winner messed up my terminal
<li><a href="#faq3_6">3.6 - An IOCCC entry messed up my terminal
application, how do I fix this?</a></li>
<li><a href="#faq3_7">3.7 - How do I run an IOCCC winner that requires
<li><a href="#faq3_7">3.7 - How do I run an IOCCC entry that requires
X11?</a></li>
<li><a href="#faq3_8">3.8 - How do I compile an IOCCC winner that
<li><a href="#faq3_8">3.8 - How do I compile an IOCCC entry that
requires SDL1 or SDL2?</a></li>
<li><a href="#faq3_9">3.9 - How do I compile an IOCCC winner that
<li><a href="#faq3_9">3.9 - How do I compile an IOCCC entry that
requires (n)curses?</a></li>
<li><a href="#faq3_10">3.10 - How do I compile and use an IOCCC winner
<li><a href="#faq3_10">3.10 - How do I compile and use an IOCCC entry
that requires sound?</a></li>
<li><a href="#faq3_11">3.11 - Why do Makefiles use -Weverything with
clang?</a></li>
<li><a href="#faq3_12">3.12 - How do I find out how to send
interrupt/EOF etc. for entries that require it?</a></li>
<li><a href="#faq3_13">3.13 - Why does an IOCCC winner fail to compile
or or fail run?</a></li>
<li><a href="#faq3_13">3.13 - Why does an IOCCC entry fail to compile or
or fail run?</a></li>
<li><a href="#faq3_14">3.14 - How do I compile and install tcpserver for
entries that require it?</a></li>
<li><a href="#faq3_15">3.15 - How do I compile and install netpbm for
@@ -192,7 +193,7 @@ href="#faq4">Changes made to IOCCC entries</a></h2>
incongruent with the winning IOCCC code?</a></li>
<li><a href="#faq4_1">4.1 - Why were some calls to the libc function
<code>gets(3)</code> changed to use <code>fgets(3)</code>?</a></li>
<li><a href="#faq4_2">4.2 - What was changed in an IOCCC winner source
<li><a href="#faq4_2">4.2 - What was changed in an IOCCC entry source
code?</a></li>
<li><a href="#faq4_3">4.3 - Why do author remarks sometimes not match
the source and/or why are there other inconsistencies with the original
@@ -205,9 +206,9 @@ href="#faq5">Helping the IOCCC</a></h2>
<ul>
<li><a href="#faq5_0">5.0 - How may I help the IOCCC?</a></li>
<li><a href="#faq5_1">5.1 - How do I report a bug in an IOCCC
winner?</a></li>
entry?</a></li>
<li><a href="#faq5_2">5.2 - How may I submit a fix to an IOCCC
winner?</a></li>
entry?</a></li>
<li><a href="#faq5_3">5.3 - How may I report an IOCCC web site
problem?</a></li>
<li><a href="#faq5_4">5.4 - How may I submit a fix to the IOCCC web
@@ -305,10 +306,11 @@ of the IOCCC, like variety.</p>
competition from previous IOCCC entries make it more challenging to be
successful.</p>
<p>It is also important to note that the <a
href="/guidelines.html">guidelines</a> say:</p>
href="/guidelines.html">guidelines</a> often state something along the
lines of:</p>
<blockquote>
<p><em>We tend to dislike programs that: are similar to previous
winners</em></p>
<p><em>We tend to dislike programs that: are similar to previous winning
entries</em></p>
</blockquote>
<h4 id="maze-generator">maze generator</h4>
<ul>
@@ -332,8 +334,9 @@ and crosses/Xs and Os game</h4>
<li><p><a href="/years.html#1994_dodsond1">1994/dodsond1</a></p></li>
</ul>
<h4
id="generating-small-primes-below-is-the-list-of-all-prime-related-winners">generating
small primes (below is the list of all prime related winners)</h4>
id="generating-small-primes-below-is-the-list-of-all-prime-related-winning-entries">generating
small primes (below is the list of all prime related winning
entries)</h4>
<ul>
<li><p><a href="/years.html#1985_august">1985/august</a></p></li>
<li><p><a href="/years.html#1988_applin">1988/applin</a></p></li>
@@ -506,7 +509,7 @@ include International in the name.</p>
<p>The <a
href="http://groups.google.com/groups?q=Obfuscated&amp;hl=en&amp;lr=&amp;ie=UTF-8&amp;as_drrb=b&amp;as_mind=1&amp;as_minm=1&amp;as_miny=1983&amp;as_maxd=18&amp;as_maxm=4&amp;as_maxy=1984&amp;selm=837%40nsc.UUCP&amp;rnum=2&amp;filter=0">1st
IOCCC entries</a> were posted on 17 April 1984.</p>
<p>There were 4 winners in 1984:</p>
<p>There were 4 entries that won in 1984:</p>
<ol type="1">
<li><a
href="http://groups.google.com/groups?q=Obfuscated&amp;hl=en&amp;lr=&amp;ie=UTF-8&amp;as_drrb=b&amp;as_mind=1&amp;as_minm=1&amp;as_miny=1983&amp;as_maxd=18&amp;as_maxm=4&amp;as_maxy=1984&amp;selm=842%40nsc.UUCP&amp;rnum=8&amp;filter=0">(dis)honorable
@@ -578,7 +581,7 @@ web site.</p>
<h4 id="dec-28-bzip2-compressed-tarball-archive">2020 Dec 28 bzip2
compressed tarball archive</h4>
<p>Furthermore, a bzip2 compressed tarball containing the released IOCCC
winner source code may be found under the <a
entry source code may be found under the <a
href="/archive/histroic">archive/historic</a> directory. The file <a
href="/archive/historic/archive-all.tar.bz2">archive-all.tar.bz2</a>
contains all years and the individual years are in the form
@@ -603,8 +606,8 @@ improvements such as:</p>
<ul>
<li>Moving IOCCC entries into their own separate directories</li>
<li>Fixing lots and lots of typos</li>
<li>Fixing Makefiles and code to allow for nearly all winners to be
compiled and work on modern systems</li>
<li>Fixing Makefiles and code to allow for nearly all winning entries to
be compiled and work on modern systems</li>
<li>Reworking the Makefiles to use a consistent set of rules</li>
<li>Reworking the Makefiles specific to the gcc and clang C
compilers</li>
@@ -725,23 +728,23 @@ wins. See the guidelines if this is not clear!</p></li>
<li><p>leaving the remark section empty.</p></li>
</ul>
<h3
id="faq-2.2-why-dont-you-publish-non-winners"><a name="faq2_1"></a>FAQ
2.2: Why don’t you publish non-winners?</h3>
id="faq-2.2-why-dont-you-publish-entries-that-do-not-win"><a name="faq2_1"></a>FAQ
2.2: Why don’t you publish entries that do not win?</h3>
<p>Because the publication on the IOCCC site
<strong><em>IS</em></strong> the award! Anyone is free to put their
IOCCC hopefuls, lookalikes and/or non-winners on their web page for
everyone to see.</p>
IOCCC hopefuls, lookalikes and/or entries that do not win on their web
page for everyone to see.</p>
<h3
id="faq-2.3-how-much-time-does-it-take-to-judge-the-contest"><a name="faq2_3"></a>FAQ
2.3: How much time does it take to judge the contest?</h3>
<p>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.</p>
entries, review entries, trim down the set entries to a set of winning
entries, doing the write-up of the entries, announcing the entries,
reviewing final edits of the winning entry set, posting the winning
entries, 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.</p>
<p>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
@@ -762,10 +765,10 @@ actual number of rounds is certainly more than 3.</p>
id="faq-2.5-why-do-some-ioccc-entries-receive-the-grand-prize-or-best-of-show-award"><a name="faq2_5"></a>FAQ
2.5: Why do some IOCCC entries receive the Grand Prize or Best of Show
award?</h3>
<p>In some years, the IOCCC judges discover a truly amazing IOCCC winner
<p>In some years, the IOCCC judges discover a truly amazing IOCCC entry
that stands out among all of the other IOCCC entries received that year.
For such an IOCCC winner, the IOCCC judges award a “Grand Prize” or
“Best of Show award.</p>
For such an IOCCC entry, the IOCCC judges award a “Grand Prize” or “Best
of Show award.</p>
<p>In 1984-1987, the grand prize winners are:</p>
<ul>
<li><p><a href="/years.html#1984_mullender">1984/mullender</a></p></li>
@@ -807,10 +810,10 @@ closes, the judges will select the <a
href="https://www.ioccc.org/years.html">winning entries</a> announce
them on the <a href="https://fosstodon.org/@ioccc"><span
class="citation" data-cites="IOCCC">@IOCCC</span> mastodon feed</a>,
notify the winners via email using their previously registered email
address, and upload the winning code to the <a
href="https://github.com/ioccc-src/winner">winner repo</a> which in turn
will cause them to be displayed on the <a
notify the authors of entries that won the IOCCC via email using their
previously registered email address, and upload the winning code to the
<a href="https://github.com/ioccc-src/winner">winner repo</a> which in
turn will cause them to be displayed on the <a
href="https://www.ioccc.org/years.html">IOCCC winning entries
page</a>.</p>
<h2
@@ -859,13 +862,14 @@ enable or disable additional warnings or flags. Even so different
versions or compilers might do different things, have different defects
or other issues.</p>
<h3
id="faq-3.1-why-doesnt-this-ioccc-winner-compile"><a name="faq3_1"></a>FAQ
3.1: Why doesn’t this IOCCC winner compile?</h3>
<p>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.</p>
id="faq-3.1-why-doesnt-this-ioccc-entry-compile"><a name="faq3_1"></a>FAQ
3.1: Why doesn’t this IOCCC entry compile?</h3>
<p>Some entries that won the IOCCC, particularly entries 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.</p>
<p>Please see the other FAQs in this section as they might offer helpful
hints, especially in cases were something else needs to be
installed.</p>
@@ -876,7 +880,7 @@ design!</p>
<p>If you have a fix that makes a minimal impact to the entry, then
please consider submitting that change in the form of a pull request.
Please see FAQ 5.2 <a href="#fix_an_entry">“How may I submit a fix to an
IOCCC winner”</a> for details.</p>
IOCCC entry”</a> for details.</p>
<p>In some cases alternative code has been added that does compile on
some or most systems. Check the write up for the entry for “alt” code
and possible ways to compile and run that code. In some cases we
@@ -886,8 +890,8 @@ the <code>.orig.c</code> files (sometimes the original code is also in
the directory as a <code>winner.alt.c</code> or
<code>prog.alt.c</code>).</p>
<h3
id="faq-3.2-why-does-a-ioccc-winner-fail-on-my-64-bit-system"><a name="faq3_2"></a>FAQ
3.2: Why does a IOCCC winner fail on my 64-bit system?</h3>
id="faq-3.2-why-does-a-ioccc-entry-fail-on-my-64-bit-system"><a name="faq3_2"></a>FAQ
3.2: Why does a IOCCC entry fail on my 64-bit system?</h3>
<p>Unfortunately some older entries are non-portable and require 32-bit
support or 32-bit binaries. A problem system here is macOS Catalina
(10.15) as as of that version macOS no longer supports 32-bit binaries.
@@ -912,7 +916,7 @@ fix is wanted, consider trying to port the code to a 64-bit system and
submitting a pull request with that change. Pull requests that fix such
code while trying to minimize the impact of any changes and preserving
the spirit of the original code are very welcome! Please see FAQ 5.2
<a href="#fix_an_entry">“How may I submit a fix to an IOCCC winner”</a>
<a href="#fix_an_entry">“How may I submit a fix to an IOCCC entry”</a>
for details.</p>
<h3
id="faq-3.3-why-do-some-ioccc-entries-fail-to-compile-under-macos"><a name="faq3_3"></a>FAQ
@@ -927,10 +931,10 @@ known macOS problem with an entry. Should you manage to port the entry,
and assuming your changes also attempt to preserve the original intent
of the IOCCC entry, we would encourage you to submit a pull request with
your ported code. Please see FAQ 5.2 <a href="#fix_an_entry">“How may I
submit a fix to an IOCCC winner”</a> for details.</p>
submit a fix to an IOCCC entry”</a> for details.</p>
<h3
id="faq-3.4-why-does-clang-or-gcc-fail-to-compile-an-ioccc-winner"><a name="faq3_4"></a>FAQ
3.4: Why does clang or gcc fail to compile an IOCCC winner?</h3>
id="faq-3.4-why-does-clang-or-gcc-fail-to-compile-an-ioccc-entry"><a name="faq3_4"></a>FAQ
3.4: Why does clang or gcc fail to compile an IOCCC entry?</h3>
<p>Although we have fixed numerous entries to work with clang (sometimes
in an alt version but usually in the program itself) there are some that
simply cannot be fixed or if they are fixable they have not yet been
@@ -950,7 +954,7 @@ you have a change that fixes the problem (even if it just a change to
the <code>Makefile</code>) that doesn’t negatively impact the entry too
much, consider submitting that change in the form of a pull request.
Please see FAQ 5.2 <a href="#fix_an_entry">“How may I submit a fix to an
IOCCC winner”</a> for details.</p>
IOCCC entry”</a> for details.</p>
<h3
id="faq-3.5-what-is-this-cb-tool-that-is-mentioned-in-the-ioccc"><a name="faq3_5"></a>FAQ
3.5: What is this cb tool that is mentioned in the IOCCC?</h3>
@@ -961,8 +965,8 @@ seems to no longer be available, code wise, except for Plan 9, but Plan
href="https://www.ibm.com/docs/en/aix/7.3?topic=c-cb-command">still
exists</a>.</p>
<h3
id="faq-3.6-an-ioccc-winner-messed-up-my-terminal-application-how-do-i-fix-this"><a name="faq3_6"></a>FAQ
3.6: An IOCCC winner messed up my terminal application, how do I fix
id="faq-3.6-an-ioccc-entry-messed-up-my-terminal-application-how-do-i-fix-this"><a name="faq3_6"></a>FAQ
3.6: An IOCCC entry messed up my terminal application, how do I fix
this?</h3>
<p>The simplest way to do this is to type <code>reset</code>. If echo
was disabled you can get usually away with <code>stty echo</code>.
@@ -971,13 +975,13 @@ Sometimes you can also get away with <code>stty sane</code>.
(obviously <code>clear</code> will too but it won’t reset the
terminal).</p>
<h3
id="faq-3.7-how-do-i-run-an-ioccc-winner-that-requires-x11"><a name="faq3_7"></a><a name="X11macos"></a><a name="X11"></a>FAQ
3.7: How do I run an IOCCC winner that requires X11?</h3>
id="faq-3.7-how-do-i-run-an-ioccc-entry-that-requires-x11"><a name="faq3_7"></a><a name="X11macos"></a><a name="X11"></a>FAQ
3.7: How do I run an IOCCC entry that requires X11?</h3>
<h4
id="generally-to-compile-and-run-an-ioccc-winner-that-requires-x11"><a name="X11_general"></a>Generally,
to compile and run an IOCCC winner that requires X11:</h4>
id="generally-to-compile-and-run-an-ioccc-entry-that-requires-x11"><a name="X11_general"></a>Generally,
to compile and run an IOCCC entry that requires X11:</h4>
<p>You must have the X11 related include files and X11 libraries in
order to compile the IOCCC winner. In order to do this you will need to
order to compile the IOCCC entry. In order to do this you will need to
install Xorg and related packages including development related
packages. If you have macOS see further down for different instructions.
Otherwise: in particular you must:</p>
@@ -987,7 +991,7 @@ Otherwise: in particular you must:</p>
<li>Install a X11 terminal application.</li>
<li>Start the Xorg server.</li>
<li>Launch the X11 terminal application.</li>
<li>Run the IOCCC winner in the X11 terminal application.</li>
<li>Run the IOCCC entry in the X11 terminal application.</li>
</ul>
<p>By X11 terminal application we suggest one of:</p>
<ul>
@@ -1020,7 +1024,7 @@ RHEL, has switched to a Wayland session as it’s default windowing system
site for more details.</p>
<p><strong>IMPORTANT NOTE</strong>: We do <strong>NOT</strong> know if
IOCCC entries will run under <strong>Wayland</strong>. Some IOCCC
entries that use X11 might be OK while other IOCCC winners that use X11
entries that use X11 might be OK while other IOCCC entries that use X11
in an unusual way might fail under <strong>Wayland</strong>.</p>
<p>See the <a href="https://wayland.freedesktop.org/faq.html">Wayland
FAQ</a> for more information.</p>
@@ -1029,8 +1033,8 @@ give the IOCCC entries that use X11 a try. They might work but again we
do not know.</p>
<p><strong>IMPORTANT NOTE</strong>: The <a href="/judges.html">IOCCC
judges</a> <a href="#no_support">do not support IOCCC entries</a>. So if
an IOCCC winner that uses X11 fails under <strong>Wayland</strong>, and
you wish to provide a fix to the IOCCC winner so that it will run under
an IOCCC entry that uses X11 fails under <strong>Wayland</strong>, and
you wish to provide a fix to the IOCCC entry so that it will run under
<strong>Wayland</strong>, then consider <a
href="#fix_an_entry">submitting a fix</a> so that it will run under
<strong>Wayland</strong>.</p>
@@ -1055,7 +1059,7 @@ server has been deprecated</a>. See the above note for details.</p>
starting Xorg</a>. However, for macOS, instead of installing the Xorg
server, you need to install and launch the <a
href="https://www.xquartz.org">most recent XQuartz</a> application and
then run the IOCCC winner from the <a
then run the IOCCC entry from the <a
href="https://en.wikipedia.org/wiki/Xterm">Xterm window shell</a>.</p>
<p>As an example we will use <a
href="/1993/jonth/README.md">1993/jonth</a> which works with macOS
@@ -1131,8 +1135,8 @@ site.</p>
<p><strong>IMPORTANT NOTE</strong>: The <a href="#Xorg_deprecated">X.org
server has been deprecated</a>. See the above note for details.</p>
<h3
id="faq-3.8-how-do-i-compile-an-ioccc-winner-that-requires-sdl1-or-sdl2"><a name="faq3_8"></a><a name="SDL"></a>FAQ
3.8: How do I compile an IOCCC winner that requires SDL1 or SDL2?</h3>
id="faq-3.8-how-do-i-compile-an-ioccc-entry-that-requires-sdl1-or-sdl2"><a name="faq3_8"></a><a name="SDL"></a>FAQ
3.8: How do I compile an IOCCC entry that requires SDL1 or SDL2?</h3>
<p>This depends on your operating system but below are instructions for
Linux and macOS with alternative methods for macOS and different package
managers with Linux.</p>
@@ -1203,8 +1207,8 @@ installed it might be that you need additional SDL libraries. See the
entry’s README.md for details. If something is not noted you’re welcome
to report it as an issue or fix it and make a new pull request.</p>
<h3
id="faq-3.9-how-do-i-compile-an-ioccc-winner-that-requires-ncurses"><a name="faq3_9"></a>FAQ
3.9: How do I compile an IOCCC winner that requires (n)curses?</h3>
id="faq-3.9-how-do-i-compile-an-ioccc-entry-that-requires-ncurses"><a name="faq3_9"></a>FAQ
3.9: How do I compile an IOCCC entry that requires (n)curses?</h3>
<p>This depends on your operating system but below are instructions for
Linux and macOS with alternative methods for macOS and different package
managers with Linux.</p>
@@ -1241,8 +1245,8 @@ and using ncurses.</p>
<p>We recommend trying a method suitable for your environment first, if
possible.</p>
<h3
id="faq-3.10-how-do-i-compile-and-use-an-ioccc-winner-that-requires-sound"><a name="faq3_10"></a><a name="sox"></a>FAQ
3.10: How do I compile and use an IOCCC winner that requires sound?</h3>
id="faq-3.10-how-do-i-compile-and-use-an-ioccc-entry-that-requires-sound"><a name="faq3_10"></a><a name="sox"></a>FAQ
3.10: How do I compile and use an IOCCC entry that requires sound?</h3>
<p>This might depend on the entry but most likely the Swiss Army Knife
of sound processing programs, <a
href="https://sox.sourceforge.net">SoX</a>, will work. How to install
@@ -1278,7 +1282,7 @@ id="faq-3.10-why-do-makefiles-use--weverything-with-clang"><a name="faq3_11"></a
3.10: Why do Makefiles use -Weverything with clang?</h3>
<p>While we know that use of <code>-Weverything</code> is generally not
recommended by <code>clang</code> C compiler developers, we do use the
<code>-Weverything</code> option in a certain case in IOCCC winner
<code>-Weverything</code> option in a certain case in IOCCC entry
<code>Makefile</code>s.</p>
<p>The use of <code>-Weverything</code> is limited to when one forces
<code>CC=clang</code> or more generally if the string ‘clang’ is in
@@ -1398,12 +1402,12 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb34-1"><a href="#
strange reason it’s not you might have to do something else including
just piping it to just <code>grep intr</code> or whatever.</p>
<h3
id="faq-3.13-why-does-an-ioccc-winner-fail-to-compile-or-or-fail-run"><a name="faq3_13"></a><a name="no_support"></a>FAQ
3.13: Why does an IOCCC winner fail to compile or or fail run?</h3>
id="faq-3.13-why-does-an-ioccc-entry-fail-to-compile-or-or-fail-run"><a name="faq3_13"></a><a name="no_support"></a>FAQ
3.13: Why does an IOCCC entry fail to compile or or fail run?</h3>
<p>What may have worked years ago may not work well or work at all
today. Please note that the IOCCC judges do <strong>NOT</strong> support
IOCCC entries. Nevertheless, there may be a number of reasons why an
IOCCC winner may fail to compile or run well or fail to run on your
IOCCC entry may fail to compile or run well or fail to run on your
system.</p>
<p>In some cases the American National Standards Institute’s ANSI C
committee has damaged the C standard to the point where perfectly valid
@@ -1415,21 +1419,21 @@ no longer work on modern computers or modern operating systems. Some
IOCCC entries fail to compile under clang, or gcc. Some IOCCC entries
require operating system services that may not be present on your
system.</p>
<p>In some cases the IOCCC winner simply has bugs or (Mis)features.</p>
<p>If you are having problems compiling or running an IOCCC winner, we
<p>In some cases the IOCCC entry simply has bugs or (Mis)features.</p>
<p>If you are having problems compiling or running an IOCCC entry, we
recommend that you look in <a href="/bugs.md">bugs.md</a> to see if
there is a known bugs or (Mis)feature. In some cases what you may think
is a bug is actually an feature that was intentionally written by the
authors. In some cases the problem is well known and we are looking for
someone to attempt to fix it.</p>
<p>In some cases there is an alternate version of the IOCCC winner that
<p>In some cases there is an alternate version of the IOCCC entry that
you may wish to try.</p>
<p>It also possible that you may have discovered a bug in an IOCCC
winner. If so, you are invited to try an fix the IOCCC winner and submit
winner. If so, you are invited to try an fix the IOCCC entry and submit
that fix by way of a <a
href="https://github.com/ioccc-src/temp-test-ioccc/pulls">GitHub pull
request</a>. Please see <a href="#faq5_2">FAQ 5.2</a> for how to submit
a fix to an IOCCC winner.</p>
a fix to an IOCCC entry.</p>
<h3
id="faq-3.14---how-do-i-compile-and-install-tcpserver-for-entries-that-require-it"><a name="faq3_14"></a><a name="tcpserver"></a>FAQ
3.14 - How do I compile and install tcpserver for entries that require
@@ -1591,7 +1595,7 @@ id="how-do-i-compile-and-install-opengl-for-entries-that-require-it"><a name="fa
below.</p>
<p>In general OpenGL needs X11 to be installed and the X Window Server
to be running. See <a href="#X11_general">FAQ 3.7: How do I run an IOCCC
winner that requires X11?</a> for general information about X11.</p>
entry that requires X11?</a> for general information about X11.</p>
<p>Once X11 is install and the X Window Server is running, one needs to
compile and link with the two libraries, <em>GL</em> and
<em>GLU</em>:</p>
@@ -1718,8 +1722,8 @@ name of backward compatibility.</code></pre>
a problem and it is this that has complicated most of the fixes though
again some can look almost identical.</p>
<h3
id="faq-4.2-what-was-changed-in-an-ioccc-winner-source-code"><a name="faq4_2"></a>FAQ
4.2: What was changed in an IOCCC winner source code?</h3>
id="faq-4.2-what-was-changed-in-an-ioccc-entry-source-code"><a name="faq4_2"></a>FAQ
4.2: What was changed in an IOCCC entry source code?</h3>
<p>We have set up make rules to easily do see what was changed in the
IOCCC winner source. Using the <code>Makefile</code> in the winner
directory, use one of the following <em>make(1)</em> rules:</p>
@@ -1834,7 +1838,7 @@ cases, such as <code>1984/mullender</code>, the original code is the
same as the code as no changes were made (there is an alt version for
systems that are not VAX-11/PDP-11, however).</p>
<p>See also <a href="#faq4_2">FAQ 4.2: What was changed in an IOCCC
winner source code?</a></p>
entry source code?</a></p>
<h3
id="faq-4.4-what-is-the-meaning-of-the-file-ending-in-.orig.c-in-ioccc-entries"><a name="faq4_4"></a>FAQ
4.4: What is the meaning of the file ending in .orig.c in IOCCC
@@ -1852,12 +1856,12 @@ id="faq-5.0-how-may-i-help-the-ioccc"><a name="faq5_0"></a><a name="how_to_help"
help in fixing IOCCC entries</h3>
<p>The <a href="/bugs.md">known bugs</a> file, order by IOCCC years,
contains a list of known bugs &amp; (mis)features. If you are looking
for an IOCCC winner to try and fix, this file is a good place to
for an IOCCC entry to try and fix, this file is a good place to
start.</p>
<p>See <a href="#faq5_2">FAQ 5.2</a> for information on how to submit a
fix to an IOCCC winner. Before you consider trying to fix an IOCCC
fix to an IOCCC entry. Before you consider trying to fix an IOCCC
winner, please check the <a href="/bugs.md">known bugs</a> file for the
IOCCC winner in question. Note that in several cases what you may have
IOCCC entry in question. Note that in several cases what you may have
discovered, while a (mis)feature is not considered a bug and should
<strong>not be fixed</strong>. In cases where the bug is known, the
entry’s <a href="/bugs.md">known bugs</a> file section may offer you
@@ -1865,9 +1869,9 @@ important fixing clues.</p>
<h3 id="we-welcome-your-help-on-fixing-the-ioccc-web-site">We welcome
your help on fixing the IOCCC web site</h3>
<h3
id="faq-5.1-how-do-i-report-a-bug-in-an-ioccc-winner"><a name="faq5_1"></a><a name="report_bug"></a>FAQ
5.1: How do I report a bug in an IOCCC winner?</h3>
<p>We do not ‘maintain’ the contest winners as such. The code is made
id="faq-5.1-how-do-i-report-a-bug-in-an-ioccc-entry"><a name="faq5_1"></a><a name="report_bug"></a>FAQ
5.1: How do I report a bug in an IOCCC entry?</h3>
<p>We do not ‘maintain’ the contest entries as such. The code is made
available on an ‘AS IS’ basis. If you have a FIX for an entry, we
suggest that you submit your fixes in a <a
href="https://github.com/ioccc-src/temp-test-ioccc/pulls">GitHub pull
@@ -1875,7 +1879,7 @@ request</a> as we welcome pull requests that have a minimal impact on
the entry while improving the portability, functionality, and/or
addressing known problems.</p>
<p>If you do submit a pull request, we ask that each pull request
address just one IOCCC winner at a time.</p>
address just one IOCCC entry at a time.</p>
<p>Note that just because you have a fix does not mean it’ll be
accepted. This might be because the author objects or it doesn’t fit in
some way or another. Of course if the entry does not work we’ll
@@ -1886,8 +1890,8 @@ if you’re not we can link to your website if you wish.</p>
<p>See <a href="#faq5_2">FAQ 5.2</a> for information on how to submit a
fix to an IOCCC entry.</p>
<h3
id="faq-5.2-how-may-i-submit-a-fix-to-an-ioccc-winner"><a name="faq5_2"></a><a name="fix_an_entry"></a>FAQ
5.2: How may I submit a fix to an IOCCC winner?</h3>
id="faq-5.2-how-may-i-submit-a-fix-to-an-ioccc-entry"><a name="faq5_2"></a><a name="fix_an_entry"></a>FAQ
5.2: How may I submit a fix to an IOCCC entry?</h3>
<p>If you see a problem with an IOCCC entry, first check the <a
href="/bugs.md">known bugs</a> file. In some cases what you might think
of as a bug is instead a known feature. In some cases the bug is known,
@@ -1903,7 +1907,7 @@ href="https://github.com/ioccc-src/winner">ioccc-src/winner
repo</a>.</p>
<p>BTW: A <strong>problem</strong> is not limited to the code itself.
Fixing typos in files such as “<em>README.md</em>” files, fixing issues
in a “<em>Makefile</em>”, or otherwise correcting an IOCCC winner is
in a “<em>Makefile</em>”, or otherwise correcting an IOCCC entry is
<strong>VERY MUCH WELCOME</strong>! Please use the same <a
href="https://github.com/ioccc-src/winner/pulls">GitHub pull request</a>
process against the master <a
@@ -1916,7 +1920,7 @@ includes just missing files and we welcome these too!</p>
write-up</strong> of how IOCCC winning entries are presented!</p>
<p>In any event we will happily add you to the <a
href="/thanks-for-help.md">thanks</a> file for your help!</p>
<p>And of course, an IOCCC winner may update their own entries (metadata
<p>And of course, an IOCCC entry may update their own entries (metadata
as well as source code and any extra files) by opening a <a
href="https://github.com/ioccc-src/winner/pulls">GitHub pull request</a>
against the master <a
@@ -1929,14 +1933,14 @@ the judges have the final say in the matter.</p>
id="faq-5.3-how-may-i-report-an-ioccc-web-site-problem"><a name="faq5_3"></a><a name="report_web_problem"></a>FAQ
5.3: How may I report an IOCCC web site problem?</h3>
<p>If you discover a problem with the IOCCC web site that is related to
a particular IOCCC winner, please see <a href="#faq5_1">FAQ 5.1</a> for
information about reporting a bug in an IOCCC winner, and see <a
a particular IOCCC entry, please see <a href="#faq5_1">FAQ 5.1</a> for
information about reporting a bug in an IOCCC entry, and see <a
href="#faq5_2">FAQ 5.2</a> for information on how to submit a fix to an
IOCCC winner.</p>
IOCCC entry.</p>
<p>If you discover a problem with the IOCCC web site (such as a broken
link, which may or may not be specific to a particular IOCCC winner)
that is <strong>not related to a particular IOCCC winner</strong>, the
best way you can help is to submit a fix to the IOCCC web site. See <a
link, which may or may not be specific to a particular IOCCC entry) that
is <strong>not related to a particular IOCCC entry</strong>, the best
way you can help is to submit a fix to the IOCCC web site. See <a
href="#faq5_4">FAQ 5.4</a> for information on submitting fixes to the
IOCCC web site.</p>
<p>If you do not have a IOCCC web site fix, and just wish to report a
@@ -1949,9 +1953,9 @@ href="//github.com/ioccc-src/winner/issues">new IOCCC issue</a>.</p>
<h3
id="faq-5.4-how-may-i-submit-a-fix-to-the-ioccc-web-site"><a name="faq5_4"></a><a name="fix_web_site"></a>FAQ
5.4: How may I submit a fix to the IOCCC web site?</h3>
<p>For IOCCC web site problems that relate to a particular IOCCC winner,
<p>For IOCCC web site problems that relate to a particular IOCCC entry,
please see <a href="#faq5_2">FAQ 5.2</a> for information on how submit a
fix to an IOCCC winner.</p>
fix to an IOCCC entry.</p>
<p>You may open a <a
href="https://github.com/ioccc-src/winner/pulls">GitHub pull request</a>
against the master <a
@@ -2178,12 +2182,12 @@ help form HTML files as well to contact an author.</p>
href="https://github.com/ioccc-src/build-ioccc">build-ioccc repo</a> to
help build HTML content for the <a href="https://www.ioccc.org">official
IOCCC web site</a>. For example, the <code>index.html</code> file for
each IOCCC winner contains selected information about the authors. Tools
each IOCCC entry contains selected information about the authors. Tools
from the <a href="https://github.com/ioccc-src/build-ioccc">build-ioccc
repo</a> use the content of these JSON files to generate the
<code>index.html</code> files for each IOCCC winning entry.</p>
<p>Moreover, should the <a href="/judges.html">IOCCC judges</a> need to
contact an authors of a IOCCC winner, they will consult the contents of
contact an authors of a IOCCC entry, they will consult the contents of
the author’s JSON file for ways to contact them.</p>
<p>Each author of an IOCCC winning entry has their own
<code>author_handle.json</code> file of the form:</p>
@@ -2599,10 +2603,10 @@ id="faq-6.8-what-is-the-purpose-of-the-.top-.year-and-.path-files"><a name="faq6
<p>The <a href="/.top">.top</a> file resides at the top directory. This
file contains the complete list of IOCCC years.</p>
<p>Under each IOCCC year. one will find a <code>.year</code> file. These
files contain directory paths from the top directory, of the IOCCC
winner directories for a given year. For example, see the <a
files contain directory paths from the top directory, of the IOCCC entry
directories for a given year. For example, see the <a
href="/.1984/.year">1984/.year</a> file.</p>
<p>Under each IOCCC winner directory, you will find a <code>.path</code>
<p>Under each IOCCC entry directory, you will find a <code>.path</code>
file. These files contain the directory path from the top directory. For
example see <a
href="/1984/anonymous/.path">1984/anonymous/.path</a>.</p>