Merge pull request #2770 from xexyl/various-updates

Various somewhat interconnected fixes
This commit is contained in:
Landon Curt Noll authored and GitHub committed 2024-12-23 01:00:29 -08:00
commit bf74a12ad9
20 files changed
+175 -154

No files matched your search

+1
View File
@@ -5,6 +5,7 @@
.auth.json .auth.json
.info.json .info.json
.s[a-zA-Z][a-zA-Z0-9] .s[a-zA-Z][a-zA-Z0-9]
.*.s[a-zA-Z][a-zA-Z0-9]
.tmp.* .tmp.*
/NOTES /NOTES
/archive/historic/[12][0-9][0-9][0-9] /archive/historic/[12][0-9][0-9][0-9]
+1 -1
View File
@@ -6,7 +6,7 @@
"dir" : "wall", "dir" : "wall",
"entry_id" : "1986_wall", "entry_id" : "1986_wall",
"title" : "1986.wall", "title" : "1986.wall",
"abstract" : "dvorak keyboard emulator", "abstract" : "Dvorak keyboard emulator",
"author_set" : [ "author_set" : [
{ {
"author_handle" : "Larry_Wall" "author_handle" : "Larry_Wall"
+1 -1
View File
@@ -406,7 +406,7 @@
</a> </a>
<h1>The International Obfuscated C Code Contest</h1> <h1>The International Obfuscated C Code Contest</h1>
<h2>1986/wall - Grand Prize - Most well rounded in confusion</h2> <h2>1986/wall - Grand Prize - Most well rounded in confusion</h2>
<h3>dvorak keyboard emulator</h3> <h3>Dvorak keyboard emulator</h3>
</div> </div>
<!-- END: this line ends content from: inc/header.default.html --> <!-- END: this line ends content from: inc/header.default.html -->
+1 -1
View File
@@ -6,7 +6,7 @@
"dir" : "lievaart", "dir" : "lievaart",
"entry_id" : "1987_lievaart", "entry_id" : "1987_lievaart",
"title" : "1987.lievaart", "title" : "1987.lievaart",
"abstract" : "very good othello player", "abstract" : "very good Othello player",
"author_set" : [ "author_set" : [
{ {
"author_handle" : "Roemer_B_Lievaart" "author_handle" : "Roemer_B_Lievaart"
+1 -1
View File
@@ -406,7 +406,7 @@
</a> </a>
<h1>The International Obfuscated C Code Contest</h1> <h1>The International Obfuscated C Code Contest</h1>
<h2>1987/lievaart - Grand Prize</h2> <h2>1987/lievaart - Grand Prize</h2>
<h3>very good othello player</h3> <h3>very good Othello player</h3>
</div> </div>
<!-- END: this line ends content from: inc/header.default.html --> <!-- END: this line ends content from: inc/header.default.html -->
+1 -1
View File
@@ -6,7 +6,7 @@
"dir" : "applin", "dir" : "applin",
"entry_id" : "1988_applin", "entry_id" : "1988_applin",
"title" : "1988.applin", "title" : "1988.applin",
"abstract" : "massive #define that includes itself prints table of primes", "abstract" : "massive #define that includes itself and prints a table of primes",
"author_set" : [ "author_set" : [
{ {
"author_handle" : "Jack_Applin" "author_handle" : "Jack_Applin"
+1 -1
View File
@@ -406,7 +406,7 @@
</a> </a>
<h1>The International Obfuscated C Code Contest</h1> <h1>The International Obfuscated C Code Contest</h1>
<h2>1988/applin - Best of Show</h2> <h2>1988/applin - Best of Show</h2>
<h3>massive #define that includes itself prints table of primes</h3> <h3>massive #define that includes itself and prints a table of primes</h3>
</div> </div>
<!-- END: this line ends content from: inc/header.default.html --> <!-- END: this line ends content from: inc/header.default.html -->
+4 -4
View File
@@ -110,8 +110,8 @@ Can you figure out why the board looks different than the
What happens if you make a move already made? What happens if you make a move already made?
Now go try and draw or better yet win (without cheating which is very easy :-) )! Now go try and draw or better yet win! Why is win better than draw? Because
Why is win better than draw? Because everyone knows how to draw: everyone knows how to draw:
> **Professor Falken**: Did you ever play **tic-tac-toe**? > **Professor Falken**: Did you ever play **tic-tac-toe**?
> >
@@ -126,8 +126,8 @@ Why is win better than draw? Because everyone knows how to draw:
> **Jennifer**: Because it's a boring game. It's always a tie. > **Jennifer**: Because it's a boring game. It's always a tie.
> >
> **Falken**: Exactly. There's no way to win. The game itself is pointless. But > **Falken**: Exactly. There's no way to win. The game itself is pointless. But
back at the [International Obfuscated C Code Contest judges' room](../../judges.html) they believe > back at the [International Obfuscated C Code Contest judges' room](../../judges.html) they believe
that you can win **tic-tac-toe**, that there can be acceptable draws. > that you can win **tic-tac-toe**, that there can be acceptable draws.
Try not to cheat (even though it's very easy :-) ), the computer has not learned Try not to cheat (even though it's very easy :-) ), the computer has not learned
how to catch you doing it. how to catch you doing it.
+1 -1
View File
@@ -6,7 +6,7 @@
"dir" : "dodsond1", "dir" : "dodsond1",
"entry_id" : "1994_dodsond1", "entry_id" : "1994_dodsond1",
"title" : "1994.dodsond1", "title" : "1994.dodsond1",
"abstract" : "plays a game of othello", "abstract" : "plays a game of Othello",
"author_set" : [ "author_set" : [
{ {
"author_handle" : "Don_Dodson" "author_handle" : "Don_Dodson"
+1 -1
View File
@@ -406,7 +406,7 @@
</a> </a>
<h1>The International Obfuscated C Code Contest</h1> <h1>The International Obfuscated C Code Contest</h1>
<h2>1994/dodsond1 - Best game</h2> <h2>1994/dodsond1 - Best game</h2>
<h3>plays a game of othello</h3> <h3>plays a game of Othello</h3>
</div> </div>
<!-- END: this line ends content from: inc/header.default.html --> <!-- END: this line ends content from: inc/header.default.html -->
+1 -1
View File
@@ -6,7 +6,7 @@
"dir" : "dodsond2", "dir" : "dodsond2",
"entry_id" : "1994_dodsond2", "entry_id" : "1994_dodsond2",
"title" : "1994.dodsond2", "title" : "1994.dodsond2",
"abstract" : "Hunt the Wumpus (gziped source)", "abstract" : "Hunt the Wumpus (gzipped source)",
"author_set" : [ "author_set" : [
{ {
"author_handle" : "Don_Dodson" "author_handle" : "Don_Dodson"
+1 -1
View File
@@ -406,7 +406,7 @@
</a> </a>
<h1>The International Obfuscated C Code Contest</h1> <h1>The International Obfuscated C Code Contest</h1>
<h2>1994/dodsond2 - Most obfuscated packaging</h2> <h2>1994/dodsond2 - Most obfuscated packaging</h2>
<h3>Hunt the Wumpus (gziped source)</h3> <h3>Hunt the Wumpus (gzipped source)</h3>
</div> </div>
<!-- END: this line ends content from: inc/header.default.html --> <!-- END: this line ends content from: inc/header.default.html -->
+1 -1
View File
@@ -6,7 +6,7 @@
"dir" : "bas1", "dir" : "bas1",
"entry_id" : "1998_bas1", "entry_id" : "1998_bas1",
"title" : "1998.bas1", "title" : "1998.bas1",
"abstract" : "Outputs a gziped 3D beam maze in Postscript", "abstract" : "Outputs a gzipped 3D beam maze in Postscript",
"author_set" : [ "author_set" : [
{ {
"author_handle" : "Bas_de_Bakker" "author_handle" : "Bas_de_Bakker"
+1 -1
View File
@@ -406,7 +406,7 @@
</a> </a>
<h1>The International Obfuscated C Code Contest</h1> <h1>The International Obfuscated C Code Contest</h1>
<h2>1998/bas1 - Best encapsulation</h2> <h2>1998/bas1 - Best encapsulation</h2>
<h3>Outputs a gziped 3D beam maze in Postscript</h3> <h3>Outputs a gzipped 3D beam maze in Postscript</h3>
</div> </div>
<!-- END: this line ends content from: inc/header.default.html --> <!-- END: this line ends content from: inc/header.default.html -->
+52 -46
View File
@@ -452,7 +452,7 @@
<ul> <ul>
<li><strong>Q 2.0</strong>: <a class="normal" href="#questions">What is the best way to ask a question about the IOCCC rules, guideline and tools?</a></li> <li><strong>Q 2.0</strong>: <a class="normal" href="#questions">What is the best way to ask a question about the IOCCC rules, guideline and tools?</a></li>
<li><strong>Q 2.1</strong>: <a class="normal" href="#feedback">How can I comment or make a suggestion on IOCCC rules, guidelines and tools?</a></li> <li><strong>Q 2.1</strong>: <a class="normal" href="#feedback">How can I comment or make a suggestion on IOCCC rules, guidelines and tools?</a></li>
<li><strong>Q 2.2</strong>: <a class="normal" href="#warnings">Are there any compiler warnings that I should not worry about?</a></li> <li><strong>Q 2.2</strong>: <a class="normal" href="#warnings">Are there any compiler warnings that I should not worry about in my submissions?</a></li>
<li><strong>Q 2.3</strong>: <a class="normal" href="#frequent-themes">What types of entries have been frequently submitted to the IOCCC?</a></li> <li><strong>Q 2.3</strong>: <a class="normal" href="#frequent-themes">What types of entries have been frequently submitted to the IOCCC?</a></li>
<li><strong>Q 2.4</strong>: <a class="normal" href="#rule_2_broken">How did an entry that breaks the size rule 2 win the IOCCC?</a></li> <li><strong>Q 2.4</strong>: <a class="normal" href="#rule_2_broken">How did an entry that breaks the size rule 2 win the IOCCC?</a></li>
<li><strong>Q 2.5</strong>: <a class="normal" href="#submissions">How many submissions do the judges receive for a given IOCCC?</a></li> <li><strong>Q 2.5</strong>: <a class="normal" href="#submissions">How many submissions do the judges receive for a given IOCCC?</a></li>
@@ -501,7 +501,7 @@
<ul> <ul>
<li><strong>Q 6.0</strong>: <a class="normal" href="#compile_errors">Why don’t certain IOCCC entries compile and/or run?</a> <li><strong>Q 6.0</strong>: <a class="normal" href="#compile_errors">Why don’t certain IOCCC entries compile and/or run?</a>
<ul> <ul>
<li><strong>Q 6.1.1</strong>: <a class="normal" href="#macos_compile">Why do some IOCCC entries fail to compile under macOS?</a></li> <li><strong>Q 6.1.1</strong>: <a class="normal" href="#macos">Why do some IOCCC entries fail to compile and/or run under macOS?</a></li>
</ul></li> </ul></li>
<li><strong>Q 6.2</strong>: <a class="normal" href="#weverything">Why do Makefiles use -Weverything with clang?</a></li> <li><strong>Q 6.2</strong>: <a class="normal" href="#weverything">Why do Makefiles use -Weverything with clang?</a></li>
</ul> </ul>
@@ -509,9 +509,9 @@
<ul> <ul>
<li><strong>Q 7.0</strong>: <a class="normal" href="#try">What are <code>try.sh</code> and <code>try.alt.sh</code> scripts and why should I use them?</a></li> <li><strong>Q 7.0</strong>: <a class="normal" href="#try">What are <code>try.sh</code> and <code>try.alt.sh</code> scripts and why should I use them?</a></li>
<li><strong>Q 7.1</strong>: <a class="normal" href="#sanity">An IOCCC entry messed up my terminal application, how do I fix this?</a></li> <li><strong>Q 7.1</strong>: <a class="normal" href="#sanity">An IOCCC entry messed up my terminal application, how do I fix this?</a></li>
<li><strong>Q 7.2</strong>: <a class="normal" href="#unsupported">Why does an IOCCC entry fail to run?</a> <li><strong>Q 7.2</strong>: <a class="normal" href="#unsupported">Why does an IOCCC entry fail to compile and/or run?</a>
<ul> <ul>
<li><strong>Q 7.2.1</strong>: <a class="normal" href="#64bit">Why does an IOCCC entry fail to run on my 64-bit system?</a></li> <li><strong>Q 7.2.1</strong>: <a class="normal" href="#64bit">Why does an IOCCC entry fail to compile and/or run on my 64-bit system?</a></li>
</ul></li> </ul></li>
<li><strong>Q 7.3</strong>: <a class="normal" href="#eof">How do I find out how to send interrupt/EOF etc. for entries that require it?</a></li> <li><strong>Q 7.3</strong>: <a class="normal" href="#eof">How do I find out how to send interrupt/EOF etc. for entries that require it?</a></li>
<li><strong>Q 7.4</strong>: <a class="normal" href="#download">How do I download individual winning entries or all winning entries of a given year?</a></li> <li><strong>Q 7.4</strong>: <a class="normal" href="#download">How do I download individual winning entries or all winning entries of a given year?</a></li>
@@ -913,7 +913,9 @@ program(s), clean up any files made by the program etc.</li>
<ul> <ul>
<li>run the program in a way you suggest. If you use the <code>try.sh</code> script <li>run the program in a way you suggest. If you use the <code>try.sh</code> script
system, which we do like, you can have this rule invoke the script system, which we do like, you can have this rule invoke the script
(<code>./try.sh</code>).</li> (<code>./try.sh</code>). See the
FAQ on the “<a href="#try_scripts">try.sh scripts system</a>”
for more details.</li>
</ul></li> </ul></li>
</ul> </ul>
<p>Although the <code>mkiocccentry(1)</code> tool only checks for those rules, the most up to <p>Although the <code>mkiocccentry(1)</code> tool only checks for those rules, the most up to
@@ -977,15 +979,15 @@ included in your submission), it can be helpful to include a <code>try.sh</code>
<li><a href="next/try.alt.sh">download example try.alt.sh</a></li> <li><a href="next/try.alt.sh">download example try.alt.sh</a></li>
</ul> </ul>
<p>The template <code>try.sh</code> script can be used as a starting point, or you can look at <p>The template <code>try.sh</code> script can be used as a starting point, or you can look at
some of the others in the website, to get some ideas.</p> some of the others in past winning entries, to get some ideas.</p>
<p>It is not detrimental to your chances of winning if you do not include one as <p>It is not detrimental to your chances of winning if you do not include one as
not all submissions can make use of them. Nevertheless, it is helpful to include not all submissions can make use of them. Nevertheless, it is helpful to include
ways to use your program, and if you have creative ways this can be a bonus. It ways to use your program and as submitted Makefiles should have a <code>try</code> rule, if
does not mean that a program that cannot be used with other programs is less you have creative ways this can be a bonus. It does not mean that a program that
interesting or less likely to win, but we do enjoy interesting and creative uses cannot be used with other programs is less interesting or less likely to win,
of submissions.</p> but we do enjoy interesting and creative uses of submissions.</p>
<p>If you have alternate code that you are including, then you can use the <p>If you have alternate code that you are including, then you can use the
<a href="next/try.alt.sh">try.alt.sh template</a> instead.</p> <code>try.alt.sh</code> template as well.</p>
<p>We recommend that you include the use of these scripts in the <code>try</code> rule in the <p>We recommend that you include the use of these scripts in the <code>try</code> rule in the
example Makefile that you modify for your submission. See the example Makefile that you modify for your submission. See the
FAQ on “<a href="#makefile">submission Makefiles</a>.</p> FAQ on “<a href="#makefile">submission Makefiles</a>.</p>
@@ -1102,9 +1104,9 @@ can be confusing or even seem overwhelming to some people.</p>
<p>The <a href="judges.html">IOCCC judges</a> do welcome questions about the IOCCC <p>The <a href="judges.html">IOCCC judges</a> do welcome questions about the IOCCC
and will be <strong>happy to help</strong>.</p> and will be <strong>happy to help</strong>.</p>
<p>Chances are, if you have a question, there are a number of other people who <p>Chances are, if you have a question, there are a number of other people who
have similar questions. So we recommend first view the have similar questions. So we recommend that you first view the
<a href="https://github.com/ioccc-src/winner/discussions">GitHub discussions for this repo</a> <a href="https://github.com/ioccc-src/winner/discussions">GitHub discussions for this repo</a>
so see if someone else asked already. Feel free to join in on such a discussion, to see if someone else asked it already. Feel free to join in on such a discussion,
even if to just say:</p> even if to just say:</p>
<blockquote> <blockquote>
<p>I have this question too.</p> <p>I have this question too.</p>
@@ -1162,7 +1164,7 @@ discussion</a>.</p>
<p>Jump to: <a href="#">top</a></p> <p>Jump to: <a href="#">top</a></p>
<div id="forced_warnings"> <div id="forced_warnings">
<div id="warnings"> <div id="warnings">
<h3 id="q-2.2-are-there-any-compiler-warnings-that-i-should-not-worry-about">Q 2.2: Are there any compiler warnings that I should not worry about?</h3> <h3 id="q-2.2-are-there-any-compiler-warnings-that-i-should-not-worry-about-in-my-submissions">Q 2.2: Are there any compiler warnings that I should not worry about in my submissions?</h3>
</div> </div>
</div> </div>
<p>There are unfortunately some warnings that cannot be disabled; they are always <p>There are unfortunately some warnings that cannot be disabled; they are always
@@ -1347,37 +1349,37 @@ certainly more than 3.</p>
</div> </div>
<p>In some years, the IOCCC judges discover a truly amazing IOCCC entry that <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. stands out among all of the other IOCCC entries received that year.
For such an IOCCC entry, the IOCCC judges award a “Grand Prize” For such an IOCCC entry, the IOCCC judges award a “<code>Grand Prize</code>”
or “Best of Show award.</p> or “<code>Best of Show award</code>”.</p>
<p>In 1984-1987, the grand prize winning entries are:</p> <p>In 1984-1987, the “<code>Grand Prize</code>” winning entries are:</p>
<ul> <ul>
<li><a href="years.html#1984_mullender">1984/mullender</a></li> <li><a href="1984/mullender/index.html">1984/mullender</a></li>
<li><a href="years.html#1985_shapiro">1985/shapiro</a></li> <li><a href="1985/shapiro/index.html">1985/shapiro</a></li>
<li><a href="years.html#1986_wall">1986/wall</a></li> <li><a href="1986/wall/index.html">1986/wall</a></li>
<li><a href="years.html#1987_lievaart">1987/lievaart</a></li> <li><a href="1987/lievaart/index.html">1987/lievaart</a></li>
</ul> </ul>
<p>Starting from 1988, the entry we liked the most in that year is called <p>Starting from 1988, the entry we liked the most in that year is called
“Best of Show”. Here are the “Best of Show” entries:</p> “<code>Best of Show</code>”. Here are the “<code>Best of Show</code>” entries:</p>
<ul> <ul>
<li><a href="years.html#1988_applin">1988/applin</a></li> <li><a href="1988/applin/index.html">1988/applin</a></li>
<li><a href="years.html#1989_jar.2">1989/jar.2</a></li> <li><a href="1989/jar.2/index.html">1989/jar.2</a></li>
<li><a href="years.html#1990_theorem">1990/theorem</a></li> <li><a href="1990/theorem/index.html">1990/theorem</a></li>
<li><a href="years.html#1991_brnstnd">1991/brnstnd</a></li> <li><a href="1991/brnstnd/index.html">1991/brnstnd</a></li>
<li><a href="years.html#1992_vern">1992/vern</a></li> <li><a href="1992/vern/index.html">1992/vern</a></li>
<li><a href="years.html#1996_august">1996/august</a></li> <li><a href="1996/august/index.html">1996/august</a></li>
<li><a href="years.html#1998_banks">1998/banks</a></li> <li><a href="1998/banks/index.html">1998/banks</a></li>
<li><a href="years.html#2000_jarijyrki">2000/jarijyrki</a></li> <li><a href="2000/jarijyrki/index.html">2000/jarijyrki</a></li>
<li><a href="years.html#2020_carlini">2020/carlini</a></li> <li><a href="2020/carlini/index.html">2020/carlini</a></li>
</ul> </ul>
<p>In 1993, 1994 and 1995 the judges were unable to select a clear overall <p>In 1993, 1994 and 1995 the judges were unable to select a clear overall
winning entry. So to give a nod to the entry that had the highest approval ranking winning entry. So to give a nod to the entry that had the highest approval ranking
from the judges, they used the following awards:</p> from the judges, they used the following awards:</p>
<ul> <ul>
<li><a href="years.html#1993_rince">1993/rince</a> - Most Well Rounded</li> <li><a href="1993/rince/index.html">1993/rince</a> - <code>Most Well Rounded</code></li>
<li><a href="years.html#1994_shapiro">1994/shapiro</a> - Most Well Rounded</li> <li><a href="1994/shapiro/index.html">1994/shapiro</a> - <code>Most Well Rounded</code></li>
<li><a href="years.html#1995_leo">1995/leo</a> - Best Use of Obfuscation</li> <li><a href="1995/leo/index.html">1995/leo</a> - <code>Best Use of Obfuscation</code></li>
</ul> </ul>
<p>These could be considered the ‘best entry’ for those years with 1 or <p>These could be considered the ‘<code>best entry</code>’ for those years with 1 or
more other entries that came in close behind.</p> more other entries that came in close behind.</p>
<p>Jump to: <a href="#">top</a></p> <p>Jump to: <a href="#">top</a></p>
<div id="announcing_winners"> <div id="announcing_winners">
@@ -2997,7 +2999,7 @@ There are only a few cases when <code>OK_to_edit</code> needs to be <code>false<
<p>Modifications of the <strong>original source code</strong> is only permitted it can <p>Modifications of the <strong>original source code</strong> is only permitted it can
be shown at the file is not the true <strong>original source code</strong>.</p> be shown at the file is not the true <strong>original source code</strong>.</p>
<p>See the <p>See the
FAQ on “<a href="#original_source_file">original source code</a>” FAQ on “<a href="#orig_c">original source code</a>”
for more information including how to open an <a href="https://github.com/ioccc-src/winner/issues">IOCCC issue</a> for more information including how to open an <a href="https://github.com/ioccc-src/winner/issues">IOCCC issue</a>
if you believe the <strong>original source code</strong> is not a true original.</p> if you believe the <strong>original source code</strong> is not a true original.</p>
<ul> <ul>
@@ -3216,12 +3218,12 @@ versions:</p>
<pre><code> make alt</code></pre> <pre><code> make alt</code></pre>
<p>The following Makefile rules should be in all Makefiles:</p> <p>The following Makefile rules should be in all Makefiles:</p>
<ul> <ul>
<li>all: build the entry programs (main program and any supplementary program)</li> <li><code>all</code>: build the entry programs (main program and any supplementary program)</li>
<li>alt: build alternate code</li> <li><code>alt</code>: build alternate code</li>
<li>clobber: clean up object files and all binary files (except for those that are <li><code>clobber</code>: clean up object files and all binary files (except for those that are
not compiled)</li> not compiled)</li>
<li>clean: a simpler version of <code>clobber</code> that only removes object files. <code>make clobber</code> depends on <code>clean</code> so running <code>make clobber</code> will invoke <code>make clean</code>.</li> <li><code>clean</code>: a simpler version of <code>clobber</code> that only removes object files. <code>make clobber</code> depends on <code>clean</code> so running <code>make clobber</code> will invoke <code>make clean</code>.</li>
<li>everything: equivalent to <code>make all alt</code>.</li> <li><code>everything</code>: equivalent to <code>make all alt</code>.</li>
</ul> </ul>
<p>Are there any other rules? You tell us!</p> <p>Are there any other rules? You tell us!</p>
<p>The top level and the year (e.g. <code>1984/Makefile</code>, <code>1985/Makefile</code> etc.) <p>The top level and the year (e.g. <code>1984/Makefile</code>, <code>1985/Makefile</code> etc.)
@@ -3872,7 +3874,7 @@ than Linux (due to versions and possibly other things)!</p>
<p>Given that your entry <strong>MUST</strong> work as documented, you may be safer to <p>Given that your entry <strong>MUST</strong> work as documented, you may be safer to
say that your entry keeps the number of warnings and <code>-Wno-foo</code> options while say that your entry keeps the number of warnings and <code>-Wno-foo</code> options while
compiling with <code>clang -Weverything</code> at a minimum. You might want to say the compiling with <code>clang -Weverything</code> at a minimum. You might want to say the
version number and platform too as an extra safety net. Because if you claim zero version number and platform (OS and OS version) too as an extra safety net. Because if you claim zero
warnings, and we find a warning situation, this may diminish the value of your warnings, and we find a warning situation, this may diminish the value of your
entry as it is not as documented. Thus it might be wise to point this out and entry as it is not as documented. Thus it might be wise to point this out and
if you can test it in multiple platforms (or versions of <code>clang</code>, see if you can test it in multiple platforms (or versions of <code>clang</code>, see
@@ -3922,7 +3924,7 @@ help.</p>
<p>Jump to: <a href="#">top</a></p> <p>Jump to: <a href="#">top</a></p>
<div id="no_support"> <div id="no_support">
<div id="unsupported"> <div id="unsupported">
<h3 id="q-7.2-why-does-an-ioccc-entry-fail-to-run">Q 7.2: Why does an IOCCC entry fail to run?</h3> <h3 id="q-7.2-why-does-an-ioccc-entry-fail-to-compile-andor-run">Q 7.2: Why does an IOCCC entry fail to compile and/or run?</h3>
</div> </div>
</div> </div>
<p>What may have worked years ago may not work well or work at all today. <p>What may have worked years ago may not work well or work at all today.
@@ -3956,12 +3958,16 @@ for how to submit a fix to an IOCCC entry.</p>
<p>Jump to: <a href="#">top</a></p> <p>Jump to: <a href="#">top</a></p>
<div id="64bit"> <div id="64bit">
<div id="64-bit"> <div id="64-bit">
<h3 id="q-7.2.1-why-does-an-ioccc-entry-fail-to-run-on-my-64-bit-system">Q 7.2.1: Why does an IOCCC entry fail to run on my 64-bit system?</h3> <div id="32bit">
<div id="32-bit">
<h3 id="q-7.2.1-why-does-an-ioccc-entry-fail-to-compile-andor-run-run-on-my-64-bit-system">Q 7.2.1: Why does an IOCCC entry fail to compile and/or run run on my 64-bit system?</h3>
</div>
</div>
</div> </div>
</div> </div>
<p>Unfortunately some older entries are non-portable and require 32-bit support or <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 32-bit binaries. A problem system here is that as of macOS Catalina (10.15)
version macOS no longer supports 32-bit binaries. If the entry acts on a certain macOS no longer supports 32-bit binaries. If the entry acts on a certain
type of binary, say ELF, then that will also be a problem depending on the type of binary, say ELF, then that will also be a problem depending on the
entry. For example <a href="2001/anonymous/index.html">2001/anonymous</a> requires 32-bit entry. For example <a href="2001/anonymous/index.html">2001/anonymous</a> requires 32-bit
ELF binaries.</p> ELF binaries.</p>
+52 -46
View File
@@ -26,7 +26,7 @@ This is FAQ version **28.1.8 2024-12-07**.
## 2. [IOCCC Judging process](#judging) ## 2. [IOCCC Judging process](#judging)
- **Q 2.0**: <a class="normal" href="#questions">What is the best way to ask a question about the IOCCC rules, guideline and tools?</a> - **Q 2.0**: <a class="normal" href="#questions">What is the best way to ask a question about the IOCCC rules, guideline and tools?</a>
- **Q 2.1**: <a class="normal" href="#feedback">How can I comment or make a suggestion on IOCCC rules, guidelines and tools?</a> - **Q 2.1**: <a class="normal" href="#feedback">How can I comment or make a suggestion on IOCCC rules, guidelines and tools?</a>
- **Q 2.2**: <a class="normal" href="#warnings">Are there any compiler warnings that I should not worry about?</a> - **Q 2.2**: <a class="normal" href="#warnings">Are there any compiler warnings that I should not worry about in my submissions?</a>
- **Q 2.3**: <a class="normal" href="#frequent-themes">What types of entries have been frequently submitted to the IOCCC?</a> - **Q 2.3**: <a class="normal" href="#frequent-themes">What types of entries have been frequently submitted to the IOCCC?</a>
- **Q 2.4**: <a class="normal" href="#rule_2_broken">How did an entry that breaks the size rule 2 win the IOCCC?</a> - **Q 2.4**: <a class="normal" href="#rule_2_broken">How did an entry that breaks the size rule 2 win the IOCCC?</a>
- **Q 2.5**: <a class="normal" href="#submissions">How many submissions do the judges receive for a given IOCCC?</a> - **Q 2.5**: <a class="normal" href="#submissions">How many submissions do the judges receive for a given IOCCC?</a>
@@ -74,15 +74,15 @@ This is FAQ version **28.1.8 2024-12-07**.
## 6. [Problems compiling IOCCC entries](#compile_problems) ## 6. [Problems compiling IOCCC entries](#compile_problems)
- **Q 6.0**: <a class="normal" href="#compile_errors">Why don't certain IOCCC entries compile and/or run?</a> - **Q 6.0**: <a class="normal" href="#compile_errors">Why don't certain IOCCC entries compile and/or run?</a>
- **Q 6.1.1**: <a class="normal" href="#macos_compile">Why do some IOCCC entries fail to compile under macOS?</a> - **Q 6.1.1**: <a class="normal" href="#macos">Why do some IOCCC entries fail to compile and/or run under macOS?</a>
- **Q 6.2**: <a class="normal" href="#weverything">Why do Makefiles use -Weverything with clang?</a> - **Q 6.2**: <a class="normal" href="#weverything">Why do Makefiles use -Weverything with clang?</a>
## 7. [Running IOCCC entries](#running_entries) ## 7. [Running IOCCC entries](#running_entries)
- **Q 7.0**: <a class="normal" href="#try">What are `try.sh` and `try.alt.sh` scripts and why should I use them?</a> - **Q 7.0**: <a class="normal" href="#try">What are `try.sh` and `try.alt.sh` scripts and why should I use them?</a>
- **Q 7.1**: <a class="normal" href="#sanity">An IOCCC entry messed up my terminal application, how do I fix this?</a> - **Q 7.1**: <a class="normal" href="#sanity">An IOCCC entry messed up my terminal application, how do I fix this?</a>
- **Q 7.2**: <a class="normal" href="#unsupported">Why does an IOCCC entry fail to run?</a> - **Q 7.2**: <a class="normal" href="#unsupported">Why does an IOCCC entry fail to compile and/or run?</a>
- **Q 7.2.1**: <a class="normal" href="#64bit">Why does an IOCCC entry fail to run on my 64-bit system?</a> - **Q 7.2.1**: <a class="normal" href="#64bit">Why does an IOCCC entry fail to compile and/or run on my 64-bit system?</a>
- **Q 7.3**: <a class="normal" href="#eof">How do I find out how to send interrupt/EOF etc. for entries that require it?</a> - **Q 7.3**: <a class="normal" href="#eof">How do I find out how to send interrupt/EOF etc. for entries that require it?</a>
- **Q 7.4**: <a class="normal" href="#download">How do I download individual winning entries or all winning entries of a given year?</a> - **Q 7.4**: <a class="normal" href="#download">How do I download individual winning entries or all winning entries of a given year?</a>
@@ -612,7 +612,9 @@ The following rules should exist in your Makefile:
- `try` - `try`
* run the program in a way you suggest. If you use the `try.sh` script * run the program in a way you suggest. If you use the `try.sh` script
system, which we do like, you can have this rule invoke the script system, which we do like, you can have this rule invoke the script
(`./try.sh`). (`./try.sh`). See the
FAQ on the "[try.sh scripts system](#try_scripts)"
for more details.
Although the `mkiocccentry(1)` tool only checks for those rules, the most up to Although the `mkiocccentry(1)` tool only checks for those rules, the most up to
date date
@@ -690,17 +692,17 @@ included in your submission), it can be helpful to include a `try.sh` script:
The template `try.sh` script can be used as a starting point, or you can look at The template `try.sh` script can be used as a starting point, or you can look at
some of the others in the website, to get some ideas. some of the others in past winning entries, to get some ideas.
It is not detrimental to your chances of winning if you do not include one as It is not detrimental to your chances of winning if you do not include one as
not all submissions can make use of them. Nevertheless, it is helpful to include not all submissions can make use of them. Nevertheless, it is helpful to include
ways to use your program, and if you have creative ways this can be a bonus. It ways to use your program and as submitted Makefiles should have a `try` rule, if
does not mean that a program that cannot be used with other programs is less you have creative ways this can be a bonus. It does not mean that a program that
interesting or less likely to win, but we do enjoy interesting and creative uses cannot be used with other programs is less interesting or less likely to win,
of submissions. but we do enjoy interesting and creative uses of submissions.
If you have alternate code that you are including, then you can use the If you have alternate code that you are including, then you can use the
[try.alt.sh template](next/try.alt.sh) instead. `try.alt.sh` template as well.
We recommend that you include the use of these scripts in the `try` rule in the We recommend that you include the use of these scripts in the `try` rule in the
example Makefile that you modify for your submission. See the example Makefile that you modify for your submission. See the
@@ -869,9 +871,9 @@ The [IOCCC judges](judges.html) do welcome questions about the IOCCC
and will be **happy to help**. and will be **happy to help**.
Chances are, if you have a question, there are a number of other people who Chances are, if you have a question, there are a number of other people who
have similar questions. So we recommend first view the have similar questions. So we recommend that you first view the
[GitHub discussions for this repo](https://github.com/ioccc-src/winner/discussions) [GitHub discussions for this repo](https://github.com/ioccc-src/winner/discussions)
so see if someone else asked already. Feel free to join in on such a discussion, to see if someone else asked it already. Feel free to join in on such a discussion,
even if to just say: even if to just say:
> I have this question too. > I have this question too.
@@ -945,7 +947,7 @@ Jump to: [top](#)
<div id="forced_warnings"> <div id="forced_warnings">
<div id="warnings"> <div id="warnings">
### Q 2.2: Are there any compiler warnings that I should not worry about? ### Q 2.2: Are there any compiler warnings that I should not worry about in my submissions?
</div> </div>
</div> </div>
@@ -1185,39 +1187,39 @@ Jump to: [top](#)
In some years, the IOCCC judges discover a truly amazing IOCCC entry that 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. stands out among all of the other IOCCC entries received that year.
For such an IOCCC entry, the IOCCC judges award a "Grand Prize" For such an IOCCC entry, the IOCCC judges award a "`Grand Prize`"
or "Best of Show award. or "`Best of Show award`".
In 1984-1987, the grand prize winning entries are: In 1984-1987, the "`Grand Prize`" winning entries are:
- [1984/mullender](years.html#1984_mullender) - [1984/mullender](1984/mullender/index.html)
- [1985/shapiro](years.html#1985_shapiro) - [1985/shapiro](1985/shapiro/index.html)
- [1986/wall](years.html#1986_wall) - [1986/wall](1986/wall/index.html)
- [1987/lievaart](years.html#1987_lievaart) - [1987/lievaart](1987/lievaart/index.html)
Starting from 1988, the entry we liked the most in that year is called Starting from 1988, the entry we liked the most in that year is called
"Best of Show". Here are the "Best of Show" entries: "`Best of Show`". Here are the "`Best of Show`" entries:
- [1988/applin](years.html#1988_applin) - [1988/applin](1988/applin/index.html)
- [1989/jar.2](years.html#1989_jar.2) - [1989/jar.2](1989/jar.2/index.html)
- [1990/theorem](years.html#1990_theorem) - [1990/theorem](1990/theorem/index.html)
- [1991/brnstnd](years.html#1991_brnstnd) - [1991/brnstnd](1991/brnstnd/index.html)
- [1992/vern](years.html#1992_vern) - [1992/vern](1992/vern/index.html)
- [1996/august](years.html#1996_august) - [1996/august](1996/august/index.html)
- [1998/banks](years.html#1998_banks) - [1998/banks](1998/banks/index.html)
- [2000/jarijyrki](years.html#2000_jarijyrki) - [2000/jarijyrki](2000/jarijyrki/index.html)
- [2020/carlini](years.html#2020_carlini) - [2020/carlini](2020/carlini/index.html)
In 1993, 1994 and 1995 the judges were unable to select a clear overall In 1993, 1994 and 1995 the judges were unable to select a clear overall
winning entry. So to give a nod to the entry that had the highest approval ranking winning entry. So to give a nod to the entry that had the highest approval ranking
from the judges, they used the following awards: from the judges, they used the following awards:
- [1993/rince](years.html#1993_rince) - Most Well Rounded - [1993/rince](1993/rince/index.html) - `Most Well Rounded`
- [1994/shapiro](years.html#1994_shapiro) - Most Well Rounded - [1994/shapiro](1994/shapiro/index.html) - `Most Well Rounded`
- [1995/leo](years.html#1995_leo) - Best Use of Obfuscation - [1995/leo](1995/leo/index.html) - `Best Use of Obfuscation`
These could be considered the 'best entry' for those years with 1 or These could be considered the '`best entry`' for those years with 1 or
more other entries that came in close behind. more other entries that came in close behind.
Jump to: [top](#) Jump to: [top](#)
@@ -3231,7 +3233,7 @@ Now we will describe each field of each file in the manifest:
be shown at the file is not the true **original source code**. be shown at the file is not the true **original source code**.
See the See the
FAQ on "[original source code](#original_source_file)" FAQ on "[original source code](#orig_c)"
for more information including how to open an [IOCCC issue](https://github.com/ioccc-src/winner/issues) for more information including how to open an [IOCCC issue](https://github.com/ioccc-src/winner/issues)
if you believe the **original source code** is not a true original. if you believe the **original source code** is not a true original.
@@ -3503,13 +3505,13 @@ versions:
The following Makefile rules should be in all Makefiles: The following Makefile rules should be in all Makefiles:
- all: build the entry programs (main program and any supplementary program) - `all`: build the entry programs (main program and any supplementary program)
- alt: build alternate code - `alt`: build alternate code
- clobber: clean up object files and all binary files (except for those that are - `clobber`: clean up object files and all binary files (except for those that are
not compiled) not compiled)
- clean: a simpler version of `clobber` that only removes object files. `make - `clean`: a simpler version of `clobber` that only removes object files. `make
clobber` depends on `clean` so running `make clobber` will invoke `make clean`. clobber` depends on `clean` so running `make clobber` will invoke `make clean`.
- everything: equivalent to `make all alt`. - `everything`: equivalent to `make all alt`.
Are there any other rules? You tell us! Are there any other rules? You tell us!
@@ -4657,7 +4659,7 @@ than Linux (due to versions and possibly other things)!
Given that your entry **MUST** work as documented, you may be safer to Given that your entry **MUST** work as documented, you may be safer to
say that your entry keeps the number of warnings and `-Wno-foo` options while say that your entry keeps the number of warnings and `-Wno-foo` options while
compiling with `clang -Weverything` at a minimum. You might want to say the compiling with `clang -Weverything` at a minimum. You might want to say the
version number and platform too as an extra safety net. Because if you claim zero version number and platform (OS and OS version) too as an extra safety net. Because if you claim zero
warnings, and we find a warning situation, this may diminish the value of your warnings, and we find a warning situation, this may diminish the value of your
entry as it is not as documented. Thus it might be wise to point this out and entry as it is not as documented. Thus it might be wise to point this out and
if you can test it in multiple platforms (or versions of `clang`, see if you can test it in multiple platforms (or versions of `clang`, see
@@ -4726,7 +4728,7 @@ Jump to: [top](#)
<div id="no_support"> <div id="no_support">
<div id="unsupported"> <div id="unsupported">
### Q 7.2: Why does an IOCCC entry fail to run? ### Q 7.2: Why does an IOCCC entry fail to compile and/or run?
</div> </div>
</div> </div>
@@ -4770,13 +4772,17 @@ Jump to: [top](#)
<div id="64bit"> <div id="64bit">
<div id="64-bit"> <div id="64-bit">
### Q 7.2.1: Why does an IOCCC entry fail to run on my 64-bit system? <div id="32bit">
<div id="32-bit">
### Q 7.2.1: Why does an IOCCC entry fail to compile and/or run run on my 64-bit system?
</div>
</div>
</div> </div>
</div> </div>
Unfortunately some older entries are non-portable and require 32-bit support or 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 32-bit binaries. A problem system here is that as of macOS Catalina (10.15)
version macOS no longer supports 32-bit binaries. If the entry acts on a certain macOS no longer supports 32-bit binaries. If the entry acts on a certain
type of binary, say ELF, then that will also be a problem depending on the type of binary, say ELF, then that will also be a problem depending on the
entry. For example [2001/anonymous](2001/anonymous/index.html) requires 32-bit entry. For example [2001/anonymous](2001/anonymous/index.html) requires 32-bit
ELF binaries. ELF binaries.
+2 -2
View File
@@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# #
# try.alt.sh - demonstrate IOCCC entry YYYY/foo alternate code # try.alt.sh - demonstrate IOCCC entry YYYY/foo alternate code
# XXX - try.alt.sh example version: 1.0.0-1 11-28-2024 - XXX # XXX - try.alt.sh example version: 1.0.0-1 11-28-2024 - XXX
# #
# XXX - NOTE: if your submission wins and become an entry, then - XXX # XXX - NOTE: if your submission wins and becomes an entry, then - XXX
# XXX - YYYY/foo will be changed to the 4 digit year and directory - XXX # XXX - YYYY/foo will be changed to the 4 digit year and directory - XXX
# XXX - name. - XXX # XXX - name. - XXX
# XXX - NOTE: please remove the XXX lines in this file, including this one - XXX # XXX - NOTE: please remove the XXX lines in this file, including this one - XXX
+2 -2
View File
@@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# #
# try.sh - demonstrate IOCCC entry YYYY/foo # try.sh - demonstrate IOCCC entry YYYY/foo
# XXX - try.sh example version: 1.0.0-1 11-28-2024 - XXX # XXX - try.sh example version: 1.0.0-1 11-28-2024 - XXX
# XXX - NOTE: if your submission wins and become an entry, then - XXX # XXX - NOTE: if your submission wins and becomes an entry, then - XXX
# XXX - YYYY/foo will be changed to the 4 digit year and directory - XXX # XXX - YYYY/foo will be changed to the 4 digit year and directory - XXX
# XXX - name. - XXX # XXX - name. - XXX
# XXX - NOTE: please remove the XXX lines in this file, including this one - XXX # XXX - NOTE: please remove the XXX lines in this file, including this one - XXX
+25 -21
View File
@@ -5053,8 +5053,10 @@ compilers. See the index.html for more details.</p>
</div> </div>
<p>Jump to: <a href="#">top</a></p> <p>Jump to: <a href="#">top</a></p>
<div id="makefiles_fixes_improvements"> <div id="makefiles_fixes_improvements">
<div id="makefiles">
<h2 id="makefiles-fixes-and-improvements">Makefiles fixes and improvements</h2> <h2 id="makefiles-fixes-and-improvements">Makefiles fixes and improvements</h2>
</div> </div>
</div>
<p><a href="#cody">Cody</a> fixed the top level <code>Makefile</code> <code>all</code> rule which had a stray <code>fi;</code> <p><a href="#cody">Cody</a> fixed the top level <code>Makefile</code> <code>all</code> rule which had a stray <code>fi;</code>
without an <code>if</code> so the rule failed entirely.</p> without an <code>if</code> so the rule failed entirely.</p>
<p>Cody also made a variety of other changes in all the Makefiles, sometimes to get <p>Cody also made a variety of other changes in all the Makefiles, sometimes to get
@@ -5172,29 +5174,30 @@ helped improve the presentation of their fellow IOCCC entries.</p>
</div> </div>
<p>We call out the extensive contributions of <a href="authors.html#Cody_Boone_Ferguson">Cody Boone <p>We call out the extensive contributions of <a href="authors.html#Cody_Boone_Ferguson">Cody Boone
Ferguson</a> who is responsible for many Ferguson</a> who is responsible for many
improvements and fixes, including entries that no longer worked improvements and fixes, including fixing many <a href="faq.html#unsupported">entries that no longer
and other important fixes, often <strong>EXTREMELY HARD</strong> (for certain worked</a>,
often <strong>EXTREMELY HARD</strong> (for certain
definitions of ‘<code>HARD</code>’ :-) ), such as definitions of ‘<code>HARD</code>’ :-) ), such as
<a href="thanks-for-help.html#1988_phillipps">1988/phillipps</a>, <a href="thanks-for-help.html#1988_phillipps">1988/phillipps</a>,
<a href="thanks-for-help.html#1992_vern">1992/vern</a>, <a href="thanks-for-help.html#1992_vern">1992/vern</a>,
<a href="thanks-for-help.html#2001_anonymous">2001/anonymous</a>, <a href="thanks-for-help.html#2001_anonymous">2001/anonymous</a>,
<a href="thanks-for-help.html#2004_burley">2004/burley</a> and <a href="thanks-for-help.html#2004_burley">2004/burley</a> and
<a href="thanks-for-help.html#2005_giljade">2005/giljade</a>; fixing entries such as <a href="thanks-for-help.html#2005_giljade">2005/giljade</a>; fixing entries like
<a href="thanks-for-help.html#1985_sicherman">1985/sicherman</a> and <a href="thanks-for-help.html#1985_sicherman">1985/sicherman</a> and
<a href="thanks-for-help.html#1986_wall">1986/wall</a> to <a href="thanks-for-help.html#1986_wall">1986/wall</a> to
not require <code>-traditional-cpp</code>; fixing not require <code>-traditional-cpp</code>; fixing
entries like <a href="thanks-for-help.html#1991_dds">1991/dds</a> to work with <code>clang</code> (or, as in the case of entries like <a href="thanks-for-help.html#1991_dds">1991/dds</a> to work with
<a href="faq.html#clang">clang</a> (or, as in the case of
<a href="thanks-for-help.html#1989_westley">1989/westley</a>, a true masterpiece in <a href="thanks-for-help.html#1989_westley">1989/westley</a>, a true masterpiece in
obfuscation, to work as much as possible); porting entries such as obfuscation, to work as much as possible); porting entries like
<a href="thanks-for-help.html#1998_schweikh1">1998/schweikh1</a> to macOS; fixing code like <a href="thanks-for-help.html#1998_schweikh1">1998/schweikh1</a> to
<a href="thanks-for-help.html#2001_herrmann2">2001/herrmann2</a> to work in both 32-bit and <a href="faq.html#macos_compile">macOS</a>; fixing code like
64-bit; providing <a href="faq.html#alt_code">alternate code</a> where useful/necessary; <a href="thanks-for-help.html#2001_herrmann2">2001/herrmann2</a> to work in <a href="faq.html#32bit">both 32-bit and
improving all <code>Makefiles</code>; and writing scripts to greatly simplify running many 64-bit</a>; providing <a href="faq.html#alt_code">alternate code</a> where useful/necessary;
of the entries.</p> improving all <a href="#makefiles">Makefiles</a>; writing <a href="#try">scripts</a> to greatly simplify running many
of the entries; and other important fixes.</p>
<p>Cody also wrote the feature-rich <a href="https://github.com/xexyl/sgit">sgit</a> to easily <p>Cody also wrote the feature-rich <a href="https://github.com/xexyl/sgit">sgit</a> to easily
run <code>sed(1)</code> on files in the repo which we used to help build the website. He run <code>sed(1)</code> on files in the repo which we used earlier on to help build the website.</p>
also co-developed the <a href="faq.html#jparse">JSON parser and tools</a> with us, as the
website makes extensive use of JSON.</p>
<p>Cody Boone Ferguson also used one of his own tools to detect many dead links. <p>Cody Boone Ferguson also used one of his own tools to detect many dead links.
While the tool was not perfect it went a long way to uncover a good number of While the tool was not perfect it went a long way to uncover a good number of
bad, broken or otherwise invalid links. It was a very laborious task to copy and bad, broken or otherwise invalid links. It was a very laborious task to copy and
@@ -5206,14 +5209,15 @@ invalid links are thanks to Cody’s efforts! Another tool he wrote detected
inconsistent award titles in the <code>README.md</code> files (used to generate the inconsistent award titles in the <code>README.md</code> files (used to generate the
<code>index.html</code> files) and the CSV file that he generated from our SQL file.</p> <code>index.html</code> files) and the CSV file that he generated from our SQL file.</p>
<p>Cody also greatly improved the manifests and checked that the generated html <p>Cody also greatly improved the manifests and checked that the generated html
files look well and are presentable, suggested some CSS rules for files look good and are presentable, suggested CSS rules for
image responsiveness on smaller screens along with some other improvements, image responsiveness and other improvements, and greatly improved the FAQ.</p>
greatly improved the FAQ.</p> <p>Cody also wrote some of the <a href="bin/index.html">website scripts</a>, improved and
<p>Cody also wrote some of the <a href="bin/index.html">website scripts</a> and improved and bug fixed others, co-developed the <a href="https://github.com/xexyl/jparse">JSON parser and tools</a> with
bug fixed others.</p> us, as we now make extensive use of JSON, and helped test and fix the submit
server for IOCCC28 and beyond.</p>
<p><strong>THANK YOU VERY MUCH</strong> for your extensive efforts in helping improve the IOCCC <p><strong>THANK YOU VERY MUCH</strong> for your extensive efforts in helping improve the IOCCC
presentation of past IOCCC entries and fixing almost all entries that no presentation of past IOCCC entries, fixing almost all entries that no
longer worked, for modern systems!</p> longer worked and getting the IOCCC where it is today!</p>
<p>Jump to: <a href="#">top</a></p> <p>Jump to: <a href="#">top</a></p>
<div id="yusuke"> <div id="yusuke">
<h3 id="yusuke-endoh">Yusuke Endoh</h3> <h3 id="yusuke-endoh">Yusuke Endoh</h3>
@@ -5221,7 +5225,7 @@ longer worked, for modern systems!</p>
<p><a href="authors.html#Yusuke_Endoh">Yusuke Endoh</a> supplied a <p><a href="authors.html#Yusuke_Endoh">Yusuke Endoh</a> supplied a
number of important bug fixes to a number of past IOCCC entries, including number of important bug fixes to a number of past IOCCC entries, including
<strong>fixing <em>numerous entries</em> that no longer worked</strong>. Some of those <strong>fixing <em>numerous entries</em> that no longer worked</strong>. Some of those
fixes were <strong>EXTREMELY TECHNICALLY CHALLENGING</strong>, such as fixes were <strong>EXTREMELY TECHNICALLY CHALLENGING</strong>, like
<a href="thanks-for-help.html#1989_robison">1989/robison</a>, <a href="thanks-for-help.html#1989_robison">1989/robison</a>,
<a href="thanks-for-help.html#1990_cmills">1990/cmills</a>, <a href="thanks-for-help.html#1990_cmills">1990/cmills</a>,
<a href="thanks-for-help.html#1992_lush">1992/lush</a> and <a href="thanks-for-help.html#1992_lush">1992/lush</a> and
+25 -21
View File
@@ -6944,8 +6944,10 @@ Jump to: [top](#)
Jump to: [top](#) Jump to: [top](#)
<div id="makefiles_fixes_improvements"> <div id="makefiles_fixes_improvements">
<div id="makefiles">
## Makefiles fixes and improvements ## Makefiles fixes and improvements
</div> </div>
</div>
[Cody](#cody) fixed the top level `Makefile` `all` rule which had a stray `fi;` [Cody](#cody) fixed the top level `Makefile` `all` rule which had a stray `fi;`
without an `if` so the rule failed entirely. without an `if` so the rule failed entirely.
@@ -7111,30 +7113,31 @@ Jump to: [top](#)
We call out the extensive contributions of [Cody Boone We call out the extensive contributions of [Cody Boone
Ferguson](authors.html#Cody_Boone_Ferguson) who is responsible for many Ferguson](authors.html#Cody_Boone_Ferguson) who is responsible for many
improvements and fixes, including entries that no longer worked improvements and fixes, including fixing many [entries that no longer
and other important fixes, often **EXTREMELY HARD** (for certain worked](faq.html#unsupported),
often **EXTREMELY HARD** (for certain
definitions of '`HARD`' :-) ), such as definitions of '`HARD`' :-) ), such as
[1988/phillipps](thanks-for-help.html#1988_phillipps), [1988/phillipps](thanks-for-help.html#1988_phillipps),
[1992/vern](thanks-for-help.html#1992_vern), [1992/vern](thanks-for-help.html#1992_vern),
[2001/anonymous](thanks-for-help.html#2001_anonymous), [2001/anonymous](thanks-for-help.html#2001_anonymous),
[2004/burley](thanks-for-help.html#2004_burley) and [2004/burley](thanks-for-help.html#2004_burley) and
[2005/giljade](thanks-for-help.html#2005_giljade); fixing entries such as [2005/giljade](thanks-for-help.html#2005_giljade); fixing entries like
[1985/sicherman](thanks-for-help.html#1985_sicherman) and [1985/sicherman](thanks-for-help.html#1985_sicherman) and
[1986/wall](thanks-for-help.html#1986_wall) to [1986/wall](thanks-for-help.html#1986_wall) to
not require `-traditional-cpp`; fixing not require `-traditional-cpp`; fixing
entries like [1991/dds](thanks-for-help.html#1991_dds) to work with `clang` (or, as in the case of entries like [1991/dds](thanks-for-help.html#1991_dds) to work with
[clang](faq.html#clang) (or, as in the case of
[1989/westley](thanks-for-help.html#1989_westley), a true masterpiece in [1989/westley](thanks-for-help.html#1989_westley), a true masterpiece in
obfuscation, to work as much as possible); porting entries such as obfuscation, to work as much as possible); porting entries like
[1998/schweikh1](thanks-for-help.html#1998_schweikh1) to macOS; fixing code like [1998/schweikh1](thanks-for-help.html#1998_schweikh1) to
[2001/herrmann2](thanks-for-help.html#2001_herrmann2) to work in both 32-bit and [macOS](faq.html#macos_compile); fixing code like
64-bit; providing [alternate code](faq.html#alt_code) where useful/necessary; [2001/herrmann2](thanks-for-help.html#2001_herrmann2) to work in [both 32-bit and
improving all `Makefiles`; and writing scripts to greatly simplify running many 64-bit](faq.html#32bit); providing [alternate code](faq.html#alt_code) where useful/necessary;
of the entries. improving all [Makefiles](#makefiles); writing [scripts](#try) to greatly simplify running many
of the entries; and other important fixes.
Cody also wrote the feature-rich [sgit](https://github.com/xexyl/sgit) to easily Cody also wrote the feature-rich [sgit](https://github.com/xexyl/sgit) to easily
run `sed(1)` on files in the repo which we used to help build the website. He run `sed(1)` on files in the repo which we used earlier on to help build the website.
also co-developed the [JSON parser and tools](faq.html#jparse) with us, as the
website makes extensive use of JSON.
Cody Boone Ferguson also used one of his own tools to detect many dead links. Cody Boone Ferguson also used one of his own tools to detect many dead links.
While the tool was not perfect it went a long way to uncover a good number of While the tool was not perfect it went a long way to uncover a good number of
@@ -7148,16 +7151,17 @@ inconsistent award titles in the `README.md` files (used to generate the
`index.html` files) and the CSV file that he generated from our SQL file. `index.html` files) and the CSV file that he generated from our SQL file.
Cody also greatly improved the manifests and checked that the generated html Cody also greatly improved the manifests and checked that the generated html
files look well and are presentable, suggested some CSS rules for files look good and are presentable, suggested CSS rules for
image responsiveness on smaller screens along with some other improvements, image responsiveness and other improvements, and greatly improved the FAQ.
greatly improved the FAQ.
Cody also wrote some of the [website scripts](bin/index.html) and improved and Cody also wrote some of the [website scripts](bin/index.html), improved and
bug fixed others. bug fixed others, co-developed the [JSON parser and tools](https://github.com/xexyl/jparse) with
us, as we now make extensive use of JSON, and helped test and fix the submit
server for IOCCC28 and beyond.
**THANK YOU VERY MUCH** for your extensive efforts in helping improve the IOCCC **THANK YOU VERY MUCH** for your extensive efforts in helping improve the IOCCC
presentation of past IOCCC entries and fixing almost all entries that no presentation of past IOCCC entries, fixing almost all entries that no
longer worked, for modern systems! longer worked and getting the IOCCC where it is today!
Jump to: [top](#) Jump to: [top](#)
@@ -7170,7 +7174,7 @@ Jump to: [top](#)
[Yusuke Endoh](authors.html#Yusuke_Endoh) supplied a [Yusuke Endoh](authors.html#Yusuke_Endoh) supplied a
number of important bug fixes to a number of past IOCCC entries, including number of important bug fixes to a number of past IOCCC entries, including
**fixing _numerous entries_ that no longer worked**. Some of those **fixing _numerous entries_ that no longer worked**. Some of those
fixes were **EXTREMELY TECHNICALLY CHALLENGING**, such as fixes were **EXTREMELY TECHNICALLY CHALLENGING**, like
[1989/robison](thanks-for-help.html#1989_robison), [1989/robison](thanks-for-help.html#1989_robison),
[1990/cmills](thanks-for-help.html#1990_cmills), [1990/cmills](thanks-for-help.html#1990_cmills),
[1992/lush](thanks-for-help.html#1992_lush) and [1992/lush](thanks-for-help.html#1992_lush) and