Merge pull request #2364 from xexyl/more-thanks

More corrections in thanks file
This commit is contained in:
Landon Curt Noll authored and GitHub committed 2024-05-27 18:10:37 -07:00
commit 3f8375e1f2
17 files changed
+353 -284

No files matched your search

-11
View File
@@ -5,17 +5,6 @@
```
### Bugs and (Mis)features:
The current status of this entry is:
```
STATUS: doesn't work with some compilers - please provide alternative code or fix for more compilers
```
For more detailed information see [1996/august in bugs.html](../../bugs.html#1996_august).
## To use:
``` <!---sh-->
-4
View File
@@ -397,10 +397,6 @@ Location: <a href="../../location.html#SE">SE</a> - <em>Kingdom of Sweden</em> (
<!-- BEFORE: 1st line of markdown file: 1996/august/README.md -->
<h2 id="to-build">To build:</h2>
<pre><code> make all</code></pre>
<h3 id="bugs-and-misfeatures">Bugs and (Mis)features:</h3>
<p>The current status of this entry is:</p>
<pre><code> STATUS: doesn&#39;t work with some compilers - please provide alternative code or fix for more compilers</code></pre>
<p>For more detailed information see <a href="../../bugs.html#1996_august">1996/august in bugs.html</a>.</p>
<h2 id="to-use">To use:</h2>
<pre><code> cat august.c test.oc | ./august &gt; test.oo
./august &lt; test.oo</code></pre>
+1
View File
@@ -203,6 +203,7 @@ clean:
clobber: clean
${RM} -f ${TARGET} ${ALT_TARGET}
${RM} -rf *.dSYM
${RM} -f obfus.c
@-if [ -e sandwich ]; then \
${RM} -f sandwich; \
echo 'ate sandwich'; \
+4
View File
@@ -57,6 +57,10 @@ appropriately. Try:
perl ./hunni.pl < hunni.c
```
NOTE: the [try.sh](%%REPO_URL%%/1996/schweikh2/try.sh) does this if you have
`perl(1)` installed to show how the output is the same as
[schweikh2.c](%%REPO_URL%%/1996/schweikh2/schweikh2.c) itself.
This entry was another crowd pleaser at the IOCCC BOF.
+3
View File
@@ -422,6 +422,9 @@ appropriately. Try:</p>
<pre><code> less hunni.c
perl ./hunni.pl &lt; hunni.c</code></pre>
<p>NOTE: the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh2/try.sh">try.sh</a> does this if you have
<code>perl(1)</code> installed to show how the output is the same as
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh2/schweikh2.c">schweikh2.c</a> itself.</p>
<p>This entry was another crowd pleaser at the IOCCC BOF.</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<p>Note: the source must be viewed with tabstop 8. To appreciate the
+27
View File
@@ -29,3 +29,30 @@ read -r -n 1 -p "Press any key to run grep -v '#' schweikh2.c (space = next page
echo 1>&2
grep -v '#' schweikh2.c | less -rEXF
echo 1>&2
PERL="$(type -P perl)"
if [[ -n "$PERL" ]]; then
read -r -n 1 -p "Press any key to run: less hunni.c (space = next page, q = quit): "
echo 1>&2
less -rEXF hunni.c
echo 1>&2
echo "$ perl ./hunni.pl < hunni.c > obfus.c" 1>&2
read -r -n 1 -p "Press any key to obfuscate hunni.c as obfus.c (space = next page, q = quit): "
echo 1>&2
perl ./hunni.pl < hunni.c > obfus.c
read -r -n 1 -p "Press any key to run: diff -s obfus.c schweikh2.c: "
echo 1>&2
diff -s obfus.c schweikh2.c
rm -f obfus.c
fi
read -r -p "Do you want to run the author's suggested command (Y/N)? "
if [[ "$REPLY" = "y" || "$REPLY" = "Y" ]]; then
echo "Warning: this command is an infinite loop. Press ctrl-c or whatever your" 1>&2
echo "intr is to end it." 1>&2
read -r -n 1 -p "Press any key to continue: "
echo 1>&2
while :; do grep -v '#' schweikh2.c; sleep 2; echo; done
fi
+1 -1
View File
@@ -62,7 +62,7 @@ Example:
Try using the same random seed and varying the context size.
BTW: what on Middle-earth is `lámatyávë`? It's Quenya, one of the languages of
the Elves in Tolkien's Legendarium. It means sound taste (plural is lámatyáver)
the Elves in Tolkien's Legendarium. It means sound taste (plural is `lámatyáver`)
and it refers to phonaesthesia - in other words, it refers to the pleasure of
sound and form of words. It's discussed in [Morgoth's
Ring](https://en.wikipedia.org/wiki/Morgoth%27s_Ring), volume X of [History of
+1 -1
View File
@@ -426,7 +426,7 @@ Example:</p>
<hr style="width:10%;text-align:left;margin-left:0">
<p>Try using the same random seed and varying the context size.</p>
<p>BTW: what on Middle-earth is <code>lámatyávë</code>? It’s Quenya, one of the languages of
the Elves in Tolkien’s Legendarium. It means sound taste (plural is lámatyáver)
the Elves in Tolkien’s Legendarium. It means sound taste (plural is <code>lámatyáver</code>)
and it refers to phonaesthesia - in other words, it refers to the pleasure of
sound and form of words. It’s discussed in <a href="https://en.wikipedia.org/wiki/Morgoth%27s_Ring">Morgoth’s
Ring</a>, volume X of <a href="https://en.wikipedia.org/wiki/The_History_of_Middle-earth">History of
+26 -26
View File
@@ -408,7 +408,7 @@ Jump to authors sorted by: [
<hr>
<!-- a a a a a a a a a a a a a a a a a a a a a a -->
<div id="a">
<h2 id="a-is-for-atoi"><i>a is for</i> <code>atoi</code></h2>
<h2 id="a-is-for-atoi"><i>a</i> is for <code>atoi</code></h2>
<!-- a a a a a a a a a a a a a a a a a a a a a a -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -643,7 +643,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- b b b b b b b b b b b b b b b b b b b b b b -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="b">
<h2 id="b-is-for-break"><i>b is for</i> <code>break</code></h2>
<h2 id="b-is-for-break"><i>b</i> is for <code>break</code></h2>
<!-- b b b b b b b b b b b b b b b b b b b b b b -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -1056,7 +1056,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- c c c c c c c c c c c c c c c c c c c c c c -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="c">
<h2 id="c-is-for-const"><i>c is for</i> <code>const</code></h2>
<h2 id="c-is-for-const"><i>c</i> is for <code>const</code></h2>
<!-- c c c c c c c c c c c c c c c c c c c c c c -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -1181,7 +1181,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- d d d d d d d d d d d d d d d d d d d d d d -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="d">
<h2 id="d-is-for-do"><i>d is for</i> <code>do</code></h2>
<h2 id="d-is-for-do"><i>d</i> is for <code>do</code></h2>
<!-- d d d d d d d d d d d d d d d d d d d d d d -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -1438,7 +1438,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- e e e e e e e e e e e e e e e e e e e e e e -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="e">
<h2 id="e-is-for-else"><i>e is for</i> <code>else</code></h2>
<h2 id="e-is-for-else"><i>e</i> is for <code>else</code></h2>
<!-- e e e e e e e e e e e e e e e e e e e e e e -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -1528,7 +1528,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- f f f f f f f f f f f f f f f f f f f f f f -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="f">
<h2 id="f-is-for-float"><i>f is for</i> <code>float</code></h2>
<h2 id="f-is-for-float"><i>f</i> is for <code>float</code></h2>
<!-- f f f f f f f f f f f f f f f f f f f f f f -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -1662,7 +1662,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- g g g g g g g g g g g g g g g g g g g g g g -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="g">
<h2 id="g-is-for-getc"><i>g is for</i> <code>getc</code></h2>
<h2 id="g-is-for-getc"><i>g</i> is for <code>getc</code></h2>
<!-- g g g g g g g g g g g g g g g g g g g g g g -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -1802,7 +1802,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- h h h h h h h h h h h h h h h h h h h h h h -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="h">
<h2 id="h-is-for-hypot"><i>h is for</i> <code>hypot</code></h2>
<h2 id="h-is-for-hypot"><i>h</i> is for <code>hypot</code></h2>
<!-- h h h h h h h h h h h h h h h h h h h h h h -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -2112,7 +2112,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- i i i i i i i i i i i i i i i i i i i i i i -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="i">
<h2 id="i-is-for-int"><i>i is for</i> <code>int</code></h2>
<h2 id="i-is-for-int"><i>i</i> is for <code>int</code></h2>
<!-- i i i i i i i i i i i i i i i i i i i i i i -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -2134,7 +2134,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- j j j j j j j j j j j j j j j j j j j j j j -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="j">
<h2 id="j-is-for-jmp_buf"><i>j is for</i> <code>jmp_buf</code></h2>
<h2 id="j-is-for-jmp_buf"><i>j</i> is for <code>jmp_buf</code></h2>
<!-- j j j j j j j j j j j j j j j j j j j j j j -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -2190,7 +2190,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- k k k k k k k k k k k k k k k k k k k k k k -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="k">
<h2 id="k-is-for-killchar"><i>k is for</i> <code>killchar</code></h2>
<h2 id="k-is-for-killchar"><i>k</i> is for <code>killchar</code></h2>
<!-- k k k k k k k k k k k k k k k k k k k k k k -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -2350,7 +2350,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- l l l l l l l l l l l l l l l l l l l l l l -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="l">
<h2 id="l-is-for-long"><i>l is for</i> <code>long</code></h2>
<h2 id="l-is-for-long"><i>l</i> is for <code>long</code></h2>
<!-- l l l l l l l l l l l l l l l l l l l l l l -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -2533,7 +2533,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- m m m m m m m m m m m m m m m m m m m m m m -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="m">
<h2 id="m-is-for-malloc"><i>m is for</i> <code>malloc</code></h2>
<h2 id="m-is-for-malloc"><i>m</i> is for <code>malloc</code></h2>
<!-- m m m m m m m m m m m m m m m m m m m m m m -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -2792,7 +2792,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- n n n n n n n n n n n n n n n n n n n n n n -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="n">
<h2 id="n-is-for-nullptr"><i>n is for</i> <code>nullptr</code></h2>
<h2 id="n-is-for-nullptr"><i>n</i> is for <code>nullptr</code></h2>
<!-- n n n n n n n n n n n n n n n n n n n n n n -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -2863,7 +2863,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- o o o o o o o o o o o o o o o o o o o o o o -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="o">
<h2 id="o-is-for-open"><i>o is for</i> <code>open</code></h2>
<h2 id="o-is-for-open"><i>o</i> is for <code>open</code></h2>
<!-- o o o o o o o o o o o o o o o o o o o o o o -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -2940,7 +2940,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- p p p p p p p p p p p p p p p p p p p p p p -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="p">
<h2 id="p-is-for-printf"><i>p is for</i> <code>printf</code></h2>
<h2 id="p-is-for-printf"><i>p</i> is for <code>printf</code></h2>
<!-- p p p p p p p p p p p p p p p p p p p p p p -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -3082,13 +3082,13 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- q q q q q q q q q q q q q q q q q q q q q q -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="q">
<h2 id="q-is-for-qsort"><i>q is for</i> <code>qsort</code></h2>
<h2 id="q-is-for-qsort"><i>q</i> is for <code>qsort</code></h2>
<!-- q q q q q q q q q q q q q q q q q q q q q q -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
<!-- r r r r r r r r r r r r r r r r r r r r r r -->
<div id="r">
<h2 id="r-is-for-return"><i>r is for</i> <code>return</code></h2>
<h2 id="r-is-for-return"><i>r</i> is for <code>return</code></h2>
<!-- r r r r r r r r r r r r r r r r r r r r r r -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -3249,7 +3249,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- s s s s s s s s s s s s s s s s s s s s s s -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="s">
<h2 id="s-is-for-switch"><i>s is for</i> <code>switch</code></h2>
<h2 id="s-is-for-switch"><i>s</i> is for <code>switch</code></h2>
<!-- s s s s s s s s s s s s s s s s s s s s s s -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -3551,7 +3551,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- t t t t t t t t t t t t t t t t t t t t t t -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="t">
<h2 id="t-is-for-true"><i>t is for</i> <code>true</code></h2>
<h2 id="t-is-for-true"><i>t</i> is for <code>true</code></h2>
<!-- t t t t t t t t t t t t t t t t t t t t t t -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -3666,13 +3666,13 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- u u u u u u u u u u u u u u u u u u u u u u -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="u">
<h2 id="u-is-for-union"><i>u is for</i> <code>union</code></h2>
<h2 id="u-is-for-union"><i>u</i> is for <code>union</code></h2>
<!-- u u u u u u u u u u u u u u u u u u u u u u -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
<!-- v v v v v v v v v v v v v v v v v v v v v v -->
<div id="v">
<h2 id="v-is-for-volatile"><i>v is for</i> <code>volatile</code></h2>
<h2 id="v-is-for-volatile"><i>v</i> is for <code>volatile</code></h2>
<!-- v v v v v v v v v v v v v v v v v v v v v v -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -3731,7 +3731,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- w w w w w w w w w w w w w w w w w w w w w w -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="w">
<h2 id="w-is-for-while"><i>w is for</i> <code>while</code></h2>
<h2 id="w-is-for-while"><i>w</i> is for <code>while</code></h2>
<!-- w w w w w w w w w w w w w w w w w w w w w w -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -3860,13 +3860,13 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- x x x x x x x x x x x x x x x x x x x x x x -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="x">
<h2 id="x-is-for-xor"><i>x is for</i> <code>xor</code></h2>
<h2 id="x-is-for-xor"><i>x</i> is for <code>xor</code></h2>
<!-- x x x x x x x x x x x x x x x x x x x x x x -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
<!-- y y y y y y y y y y y y y y y y y y y y y y -->
<div id="y">
<h2 id="y-is-for-y0"><i>y is for</i> <code>y0</code></h2>
<h2 id="y-is-for-y0"><i>y</i> is for <code>y0</code></h2>
<!-- y y y y y y y y y y y y y y y y y y y y y y -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
@@ -3899,7 +3899,7 @@ author_handle: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<!-- z z z z z z z z z z z z z z z z z z z z z z -->
<hr style="width:10%;text-align:left;margin-left:0">
<div id="z">
<h2 id="z-is-for-zlib"><i>z is for</i> <code>zlib</code></h2>
<h2 id="z-is-for-zlib"><i>z</i> is for <code>zlib</code></h2>
<!-- z z z z z z z z z z z z z z z z z z z z z z -->
</div>
<hr style="width:10%;text-align:left;margin-left:0">
+26 -26
View File
@@ -114,32 +114,32 @@ export EXIT_CODE="0"
#
unset IS_FOR
declare -Ag IS_FOR
IS_FOR[a]="<i>a is for</i> <code>atoi</code>"
IS_FOR[b]="<i>b is for</i> <code>break</code>"
IS_FOR[c]="<i>c is for</i> <code>const</code>"
IS_FOR[d]="<i>d is for</i> <code>do</code>"
IS_FOR[e]="<i>e is for</i> <code>else</code>"
IS_FOR[f]="<i>f is for</i> <code>float</code>"
IS_FOR[g]="<i>g is for</i> <code>getc</code>"
IS_FOR[h]="<i>h is for</i> <code>hypot</code>"
IS_FOR[i]="<i>i is for</i> <code>int</code>"
IS_FOR[j]="<i>j is for</i> <code>jmp_buf</code>"
IS_FOR[k]="<i>k is for</i> <code>killchar</code>"
IS_FOR[l]="<i>l is for</i> <code>long</code>"
IS_FOR[m]="<i>m is for</i> <code>malloc</code>"
IS_FOR[n]="<i>n is for</i> <code>nullptr</code>"
IS_FOR[o]="<i>o is for</i> <code>open</code>"
IS_FOR[p]="<i>p is for</i> <code>printf</code>"
IS_FOR[q]="<i>q is for</i> <code>qsort</code>"
IS_FOR[r]="<i>r is for</i> <code>return</code>"
IS_FOR[s]="<i>s is for</i> <code>switch</code>"
IS_FOR[t]="<i>t is for</i> <code>true</code>"
IS_FOR[u]="<i>u is for</i> <code>union</code>"
IS_FOR[v]="<i>v is for</i> <code>volatile</code>"
IS_FOR[w]="<i>w is for</i> <code>while</code>"
IS_FOR[x]="<i>x is for</i> <code>xor</code>"
IS_FOR[y]="<i>y is for</i> <code>y0</code>"
IS_FOR[z]="<i>z is for</i> <code>zlib</code>"
IS_FOR[a]="<i>a</i> is for <code>atoi</code>"
IS_FOR[b]="<i>b</i> is for <code>break</code>"
IS_FOR[c]="<i>c</i> is for <code>const</code>"
IS_FOR[d]="<i>d</i> is for <code>do</code>"
IS_FOR[e]="<i>e</i> is for <code>else</code>"
IS_FOR[f]="<i>f</i> is for <code>float</code>"
IS_FOR[g]="<i>g</i> is for <code>getc</code>"
IS_FOR[h]="<i>h</i> is for <code>hypot</code>"
IS_FOR[i]="<i>i</i> is for <code>int</code>"
IS_FOR[j]="<i>j</i> is for <code>jmp_buf</code>"
IS_FOR[k]="<i>k</i> is for <code>killchar</code>"
IS_FOR[l]="<i>l</i> is for <code>long</code>"
IS_FOR[m]="<i>m</i> is for <code>malloc</code>"
IS_FOR[n]="<i>n</i> is for <code>nullptr</code>"
IS_FOR[o]="<i>o</i> is for <code>open</code>"
IS_FOR[p]="<i>p</i> is for <code>printf</code>"
IS_FOR[q]="<i>q</i> is for <code>qsort</code>"
IS_FOR[r]="<i>r</i> is for <code>return</code>"
IS_FOR[s]="<i>s</i> is for <code>switch</code>"
IS_FOR[t]="<i>t</i> is for <code>true</code>"
IS_FOR[u]="<i>u</i> is for <code>union</code>"
IS_FOR[v]="<i>v</i> is for <code>volatile</code>"
IS_FOR[w]="<i>w</i> is for <code>while</code>"
IS_FOR[x]="<i>x</i> is for <code>xor</code>"
IS_FOR[y]="<i>y</i> is for <code>y0</code>"
IS_FOR[z]="<i>z</i> is for <code>zlib</code>"
# clear options we will add to tools
#
+24 -12
View File
@@ -111,6 +111,18 @@ if [[ -z "$JPARSE_TOOL" ]]; then
echo "$0: FATAL: jparse tool is not installed or not in \$PATH" 1>&2
exit 5
fi
STAT_TOOL=$(type -P stat)
if [[ -z "$STAT_TOOL" ]]; then
echo "$0: FATAL: stat tool is not installed or not in \$PATH" 1>&2
exit 5
fi
LS_TOOL=$(type -P ls)
if [[ -z "$LS_TOOL" ]]; then
echo "$0: FATAL: ls tool is not installed or not in \$PATH" 1>&2
exit 5
fi
export IOCCC_STATUS_VERSION="1.0 2024-03-09"
#
export NOOP=
@@ -153,11 +165,11 @@ function output_modtime
# macOS stat
#
macos_stat)
TZ=UTC stat -f '%Sm' -t '%FT%T+00:00' "$FILENAME"
TZ=UTC "$STAT_TOOL" -f '%Sm' -t '%FT%T+00:00' "$FILENAME"
status="$?"
if [[ $status -ne 0 ]]; then
echo "$0: ERROR: in output_modtime:" \
"TZ=UTC stat -f '%Sm' -t '%FT%T+00:00' $FILENAME failed, error code: $status" 1>&2
"TZ=UTC $STAT_TOOL -f '%Sm' -t '%FT%T+00:00' $FILENAME failed, error code: $status" 1>&2
exit 1
fi
;;
@@ -165,12 +177,12 @@ function output_modtime
# RHEL Linux stat
#
RHEL_stat)
TZ=UTC stat -c '%y' "$FILENAME" | sed -e 's/ /T/' -e 's/\.[0-9]* //' -e 's/\([0-9][0-9]\)$/:&/'
TZ=UTC "$STAT_TOOL" -c '%y' "$FILENAME" | sed -e 's/ /T/' -e 's/\.[0-9]* //' -e 's/\([0-9][0-9]\)$/:&/'
status0="${PIPESTATUS[0]}"
status1="${PIPESTATUS[1]}"
if [[ $status0 -ne 0 || $status1 -ne 0 ]]; then
echo "$0: ERROR: in output_modtime:" \
"TZ=UTC stat -c '%y' $FILENAME | sed .. failed, error codes: $status0 and $status1" 1>&2
"TZ=UTC $STAT_TOOL -c '%y' $FILENAME | sed .. failed, error codes: $status0 and $status1" 1>&2
exit 1
fi
;;
@@ -181,12 +193,12 @@ function output_modtime
# SC2012 (info): Use find instead of ls to better handle non-alphanumeric filenames.
# https://www.shellcheck.net/wiki/SC2012
# shellcheck disable=SC2012
TZ=UTZ ls -D '%FT%T+00:00' -ld "$FILENAME" | awk '{print $6;}'
TZ=UTZ "$LS_TOOL" -D '%FT%T+00:00' -ld "$FILENAME" | awk '{print $6;}'
status0="${PIPESTATUS[0]}"
status1="${PIPESTATUS[1]}"
if [[ $status0 -ne 0 || $status1 -ne 0 ]]; then
echo "$0: ERROR: in output_modtime:" \
"TZ=UTZ ls -D '%FT%T+00:00' -ld $FILENAME | awk .. failed, error codes: $status0 and $status1" 1>&2
"TZ=UTZ $LS_TOOL -D '%FT%T+00:00' -ld $FILENAME | awk .. failed, error codes: $status0 and $status1" 1>&2
exit 1
fi
;;
@@ -687,12 +699,12 @@ export NEXT_DIR="next"
#
# TZ=UTC stat -f '%Sm' -t '%FT%T+00:00' filename
#
TZ=UTC stat -f '%Sm' -t '%FT%T+00:00' "$TOP_FILE" > /dev/null 2>&1
TZ=UTC "$STAT_TOOL" -f '%Sm' -t '%FT%T+00:00' "$TOP_FILE" > /dev/null 2>&1
status="$?"
if [[ $status -eq 0 ]]; then
MODTIME_METHOD="macos_stat"
if [[ $V_FLAG -ge 5 ]]; then
echo "$0: debug[5]: TZ=UTC stat -f '%Sm' -t '%FT%T+00:00' works, MODTIME_METHOD: $MODTIME_METHOD" 1>&2
echo "$0: debug[5]: TZ=UTC $STAT_TOOL -f '%Sm' -t '%FT%T+00:00' works, MODTIME_METHOD: $MODTIME_METHOD" 1>&2
fi
else
@@ -703,12 +715,12 @@ else
#
# NOTE: We only need to test the stat command.
#
TZ=UTC stat -c '%y' "$TOP_FILE" > /dev/null 2>&1
TZ=UTC "$STAT_TOOL" -c '%y' "$TOP_FILE" > /dev/null 2>&1
status="$?"
if [[ $status -eq 0 ]]; then
MODTIME_METHOD="RHEL_stat"
if [[ $V_FLAG -ge 5 ]]; then
echo "$0: debug[5]: TZ=UTC stat -c '%y' works, MODTIME_METHOD: $MODTIME_METHOD" 1>&2
echo "$0: debug[5]: TZ=UTC $STAT_TOOL -c '%y' works, MODTIME_METHOD: $MODTIME_METHOD" 1>&2
fi
else
@@ -717,12 +729,12 @@ else
#
# TZ=UTZ ls -D '%FT%T+00:00' -ld
#
TZ=UTZ ls -D '%FT%T+00:00' -ld "$TOP_FILE" > /dev/null 2>&1
TZ=UTZ "$LS_TOOL" -D '%FT%T+00:00' -ld "$TOP_FILE" > /dev/null 2>&1
status="$?"
if [[ $status -eq 0 ]]; then
MODTIME_METHOD="ls_D"
if [[ $V_FLAG -ge 5 ]]; then
echo "$0: debug[5]: TZ=UTZ ls -D '%FT%T+00:00' -ld works, MODTIME_METHOD: $MODTIME_METHOD" 1>&2
echo "$0: debug[5]: TZ=UTZ $LS_TOOL -D '%FT%T+00:00' -ld works, MODTIME_METHOD: $MODTIME_METHOD" 1>&2
fi
else
-4
View File
@@ -1846,10 +1846,6 @@ even if you can but it cannot compile as an ELF binary (not elf binary :-) )
you run it on the compiled <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/anonymous/anonymous.ten.c">anonymous.ten.c</a> but
if nothing else it will not modify the target executable (this part of the fix
at least should be correct).</p>
<p>The file <code>2001/anonymous/anonymous.ten.32</code> is a pre-compiled
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/anonymous/anonymous.ten.c">2001/anonymous/anonymous.ten.c</a> as a 32-bit ELF binary in case you
can run ELF binaries but cannot compile 32-bit binaries.</p>
<p>Other BSD Unices were not tested.</p>
<p>Note also that if you don’t specify a file or you specify a non-32-bit ELF file
this program will very likely crash or do something strange like slaughter the
elves of Imladris :-(</p>
-6
View File
@@ -2156,12 +2156,6 @@ you run it on the compiled [anonymous.ten.c](%%REPO_URL%%/2001/anonymous/anonymo
if nothing else it will not modify the target executable (this part of the fix
at least should be correct).
The file `2001/anonymous/anonymous.ten.32` is a pre-compiled
[2001/anonymous/anonymous.ten.c](%%REPO_URL%%/2001/anonymous/anonymous.ten.c) as a 32-bit ELF binary in case you
can run ELF binaries but cannot compile 32-bit binaries.
Other BSD Unices were not tested.
Note also that if you don't specify a file or you specify a non-32-bit ELF file
this program will very likely crash or do something strange like slaughter the
elves of Imladris :-(
+20 -4
View File
@@ -463,6 +463,7 @@ other inconsistencies with the original entry?</a></li>
<li><a href="#faq6_11">6.11 - Am I allowed to use IOCCC content?</a></li>
<li><a href="#faq6_12">6.12 - What is Mastodon and why does IOCCC use it?</a></li>
<li><a href="#faq6_13">6.13 - How may I find my author handle?</a></li>
<li><a href="#faq6_14">6.14 - How do I set certain tabstops for viewing source code in vi(m)?</a></li>
</ul>
<h1 id="the-ioccc-faq">The IOCCC FAQ</h1>
<div id="faq0">
@@ -737,11 +738,11 @@ See also <a href="https://spec.commonmark.org/current/">CommonMark Spec</a>.</p>
</div>
</div>
<p>One day (1984 March 23 to be exact), Larry Bassel and I (Landon Curt
Noll) were working for National Semiconductor’s Genix porting group, we
Noll) were working for National Semiconductor’s Genix porting group, and we
were both in our offices trying to fix some very broken code.</p>
<p>Larry had been trying to fix a bug in the classic Bourne shell (C code <code>#define</code>d
to death to sort of look like Algol) and I had been working on the finger
program from early BSD (a bug ridden finger implementation to be sure).</p>
to death to sort of look like Algol) and I had been working on the <code>finger(1)</code>
program from early BSD (a bug ridden <code>finger</code> implementation to be sure).</p>
<p>We happened to both wander (at the same time) out to the hallway
in Building 7C to clear our heads.</p>
<p>We began to compare notes: ‘<em>You won’t believe the code I am trying to fix</em>’.</p>
@@ -795,7 +796,7 @@ and the tradition continues as the longest running contest on the Internet.</p>
</div>
<p>Some years, such as 1997, 1999, 2002-2003, 2007-2010, 2016-2017, 2021-2023, no IOCCC was held.</p>
<p>While we try to hold the IOCCC every year, sometime the other demands on the IOCCC judges
so not permit us to hold a new IOCCC.</p>
do not permit us to hold a new IOCCC.</p>
<p>The pause during the 2021-2023 period was due to the IOCCC judges developing tools to
make is much more likely for the IOCCC to be held in a yearly basis later on.</p>
<div id="faq1_2">
@@ -2908,6 +2909,10 @@ and topics like science, technology, <a href="https://en.wikipedia.org/wiki/Free
have a good home. The <a href="https://fosstodon.org/@fosstodon">fosstodon.org</a> folk made the IOCCC feel welcome.</p>
<p>While using Mastodon is free, the <a href="judges.html">IOCCC judges</a> are pleased to
<a href="https://hub.fosstodon.org/support/">support the Fosstodon Hub</a>.</p>
<p>If you have a phone or tablet there is also an official app that you can get
from the App Store or whatever equivalent your device has. Please note that the
app does not at this time seem to give push notifications when someone you
follow posts something so you will have to check the IOCCC feed manually.</p>
<div id="faq6_13">
<div id="find_author_handle">
<h3 id="faq-6.13-how-may-i-find-my-author-handle">FAQ 6.13: How may I find my author handle?</h3>
@@ -2932,6 +2937,17 @@ and/or correct IOCCC author information.</p>
<p>See <a href="#author_json">FAQ 6.6</a> for information about the contents of these JSON file and
how they are used.</p>
<p>See <a href="#terms">FAQ 6.9</a> for more information on terms such as <em>author</em>, <em>entry</em>, and <em>submission</em>.</p>
<div id="faq6_14">
<div id="tabstops">
<h3 id="faq-6.14-how-do-i-set-certain-tabstops-for-viewing-source-code-in-vim">FAQ 6.14: How do I set certain tabstops for viewing source code in vi(m)?</h3>
</div>
</div>
<p>Sometimes an author will state that for best viewing purposes you should have
your tabstop set at say 4 or 8. If you use vim or vi or vim in no compatible
mode you can do this easily: make sure you’re in command mode (in most cases you
can hit ESC to do this) and then type the command:</p>
<pre><code> :set tabstop=4</code></pre>
<p>where <code>4</code> is the value you wish to set the tabstop to.</p>
<hr style="width:10%;text-align:left;margin-left:0">
<p>Jump to: <a href="#">top</a></p>
<!--
+28 -4
View File
@@ -86,6 +86,7 @@ other inconsistencies with the original entry?](#faq4_3)
- [6.11 - Am I allowed to use IOCCC content?](#faq6_11)
- [6.12 - What is Mastodon and why does IOCCC use it?](#faq6_12)
- [6.13 - How may I find my author handle?](#faq6_13)
- [6.14 - How do I set certain tabstops for viewing source code in vi(m)?](#faq6_14)
# The IOCCC FAQ
@@ -462,12 +463,12 @@ See also [CommonMark Spec](https://spec.commonmark.org/current/).
</div>
One day (1984 March 23 to be exact), Larry Bassel and I (Landon Curt
Noll) were working for National Semiconductor's Genix porting group, we
Noll) were working for National Semiconductor's Genix porting group, and we
were both in our offices trying to fix some very broken code.
Larry had been trying to fix a bug in the classic Bourne shell (C code `#define`d
to death to sort of look like Algol) and I had been working on the finger
program from early BSD (a bug ridden finger implementation to be sure).
to death to sort of look like Algol) and I had been working on the `finger(1)`
program from early BSD (a bug ridden `finger` implementation to be sure).
We happened to both wander (at the same time) out to the hallway
in Building 7C to clear our heads.
@@ -542,7 +543,7 @@ P.S. Part of the inspiration for making the IOCCC a contest goes to the
Some years, such as 1997, 1999, 2002-2003, 2007-2010, 2016-2017, 2021-2023, no IOCCC was held.
While we try to hold the IOCCC every year, sometime the other demands on the IOCCC judges
so not permit us to hold a new IOCCC.
do not permit us to hold a new IOCCC.
The pause during the 2021-2023 period was due to the IOCCC judges developing tools to
make is much more likely for the IOCCC to be held in a yearly basis later on.
@@ -3777,6 +3778,11 @@ have a good home. The [fosstodon.org](https://fosstodon.org/@fosstodon) folk ma
While using Mastodon is free, the [IOCCC judges](judges.html) are pleased to
[support the Fosstodon Hub](https://hub.fosstodon.org/support/).
If you have a phone or tablet there is also an official app that you can get
from the App Store or whatever equivalent your device has. Please note that the
app does not at this time seem to give push notifications when someone you
follow posts something so you will have to check the IOCCC feed manually.
<div id="faq6_13">
<div id="find_author_handle">
@@ -3812,6 +3818,24 @@ how they are used.
See [FAQ 6.9](#terms) for more information on terms such as _author_, _entry_, and _submission_.
<div id="faq6_14">
<div id="tabstops">
### FAQ 6.14: How do I set certain tabstops for viewing source code in vi(m)?
</div>
</div>
Sometimes an author will state that for best viewing purposes you should have
your tabstop set at say 4 or 8. If you use vim or vi or vim in no compatible
mode you can do this easily: make sure you're in command mode (in most cases you
can hit ESC to do this) and then type the command:
```
:set tabstop=4
```
where `4` is the value you wish to set the tabstop to.
<hr style="width:10%;text-align:left;margin-left:0">
+96 -92
View File
@@ -401,7 +401,7 @@ on an IOCCC entry by entry basis.</p>
<li><a href="#neglect">Did we neglect to credit you?</a></li>
</ul>
<div id="1984">
<h1 id="section"><a href="1984/index.html">1984</a></h1>
<h1 id="the-1st-ioccc"><a href="1984/index.html">1984 - The 1st IOCCC</a></h1>
</div>
<div id="1984_anonymous">
<h2 id="winning-entry-1984anonymous">Winning entry: <a href="1984/anonymous/index.html">1984/anonymous</a></h2>
@@ -507,7 +507,7 @@ copy of it as to what it should have been at the time, in the fabulous <a href="
History
Repo</a>.</p>
<div id="1985">
<h1 id="section-1"><a href="1985/index.html">1985</a></h1>
<h1 id="the-2nd-ioccc"><a href="1985/index.html">1985 - The 2nd IOCCC</a></h1>
</div>
<div id="1985_applin">
<h2 id="winning-entry-1984applin">Winning entry: <a href="1985/applin/index.html">1984/applin</a></h2>
@@ -652,7 +652,7 @@ should they object to <code>main()</code> having only one arg.</p>
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1985/sicherman/try.sh">try.sh</a> and
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1985/sicherman/try.alt.sh">try.alt.sh</a> scripts.</p>
<div id="1986">
<h1 id="section-2"><a href="1986/index.html">1986</a></h1>
<h1 id="the-3rd-ioccc"><a href="1986/index.html">1986 - The 3rd IOCCC</a></h1>
</div>
<div id="1986_applin">
<h2 id="winning-entry-1986applin">Winning entry: <a href="1986/applin/index.html">1986/applin</a></h2>
@@ -811,7 +811,7 @@ work with <code>gcc</code> - but it still required <code>-traditional-cpp</code>
</ul>
<p>There might have been other changes as well.</p>
<div id="1987">
<h1 id="section-3"><a href="1987/index.html">1987</a></h1>
<h1 id="the-4th-ioccc"><a href="1987/index.html">1987 - The 4th IOCCC</a></h1>
</div>
<div id="1987_biggar">
<h2 id="winning-entry-1987biggar">Winning entry: <a href="1987/biggar/index.html">1987/biggar</a></h2>
@@ -899,7 +899,7 @@ instead as it does look more symmetrical now.</p>
<p>Cody also added to the Makefile <code>-include stdio.h</code> in the nowadays very
unlikely(?) but nevertheless suggested case that <code>putchar(3)</code> is not available.</p>
<div id="1988">
<h1 id="section-4"><a href="1988/index.html">1988</a></h1>
<h1 id="the-5th-ioccc"><a href="1988/index.html">1988 - The 5th IOCCC</a></h1>
</div>
<div id="1988_dale">
<h2 id="winning-entry-1988dale">Winning entry: <a href="1988/dale/index.html">1988/dale</a></h2>
@@ -1025,7 +1025,7 @@ entry as seeing the code with the result at once is far more beautiful.</p>
<p>Cody also changed the <code>int</code>s to be <code>float</code> as that’s what they are printed as:
not strictly necessary but nonetheless more correct, even if not warned against.</p>
<div id="1989">
<h1 id="section-5"><a href="1989/index.html">1989</a></h1>
<h1 id="the-6th-ioccc"><a href="1989/index.html">1989 - The 6th IOCCC</a></h1>
</div>
<div id="1989_fubar">
<h2 id="winning-entry-1989fubar">Winning entry: <a href="1989/fubar/index.html">1989/fubar</a></h2>
@@ -1232,7 +1232,7 @@ output.</p>
<p>The <code>compile.sh</code> script allows one to specify the compiler with the <code>CC</code>
environmental variable; see the index.html for details.</p>
<div id="1990">
<h1 id="section-6"><a href="1990/index.html">1990</a></h1>
<h1 id="the-7th-ioccc"><a href="1990/index.html">1990 - The 7th IOCCC</a></h1>
</div>
<div id="1990_baruch">
<h2 id="winning-entry-1990baruch">Winning entry: <a href="1990/baruch/index.html">1990/baruch</a></h2>
@@ -1393,7 +1393,7 @@ deemed a problem to be fixed.</p>
original code.</p>
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1990/westley/try.sh">try.sh</a> script.</p>
<div id="1991">
<h1 id="section-7"><a href="1991/index.html">1991</a></h1>
<h1 id="the-8th-ioccc"><a href="1991/index.html">1991 - The 8th IOCCC</a></h1>
</div>
<div id="1991_ant">
<h2 id="winning-entry-1991ant">Winning entry: <a href="1991/ant/index.html">1991/ant</a></h2>
@@ -1590,7 +1590,7 @@ is based on the author’s remarks, a version that supposedly (:-) ) always wins
<p>Cody also fixed the make clobber rule where a file was left lying about when it
should have been removed.</p>
<div id="1992">
<h1 id="section-8"><a href="1992/index.html">1992</a></h1>
<h1 id="the-9th-ioccc"><a href="1992/index.html">1992 - The 9th IOCCC</a></h1>
</div>
<div id="1992_adrian">
<h2 id="winning-entry-1992adrian">Winning entry: <a href="1992/adrian/index.html">1992/adrian</a></h2>
@@ -1653,7 +1653,7 @@ generated.</p>
<p><a href="#cody">Cody</a> fixed this to compile with modern systems. Note that in 1996 a bug fix was
applied to the code, provided as the alt code as that version is not obfuscated.
Thus Cody’s fix applies to the original entry. The problems were that <code>malloc.h</code>
is not the correct header file now (at least in some systems?) and a non-void
is not the correct header file now (at least in some systems) and a non-void
(implicit <code>int</code>) function returning without a value. That function was changed to
return <code>void</code>.</p>
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/albert/try.sh">try.sh</a> and
@@ -1833,7 +1833,7 @@ world</a> or just the
args (2). And not that we need the help or anything for this :-) but we
encourage you to try the original without two args :-)</p>
<div id="1993">
<h1 id="section-9"><a href="1993/index.html">1993</a></h1>
<h1 id="the-10th-ioccc"><a href="1993/index.html">1993 - The 10th IOCCC</a></h1>
</div>
<div id="1993_ant">
<h2 id="winning-entry-1993ant">Winning entry: <a href="1993/ant/index.html">1993/ant</a></h2>
@@ -1950,7 +1950,7 @@ work).</p>
this code. Other code is also described there.</p>
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1993/vanb/try.sh">try.sh</a> script.</p>
<div id="1994">
<h1 id="section-10"><a href="1994/index.html">1994</a></h1>
<h1 id="the-11th-ioccc"><a href="1994/index.html">1994 - The 11th IOCCC</a></h1>
</div>
<div id="1994_dodsond2">
<h2 id="winning-entry-1994dodsond2">Winning entry: <a href="1994/dodsond2/index.html">1994/dodsond2</a></h2>
@@ -2112,7 +2112,7 @@ that will look fine on terminals not set to 80 columns and the
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1994/westley/try.alt.sh">try.alt.sh</a> script to automate the play
along the lines of the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1994/westley/try.sh">try.sh</a> script.</p>
<div id="1995">
<h1 id="section-11"><a href="1995/index.html">1995</a></h1>
<h1 id="the-12th-ioccc"><a href="1995/index.html">1995 - The 12th IOCCC</a></h1>
</div>
<div id="1995_cdua">
<h2 id="winning-entry-1995cdua">Winning entry: <a href="1995/cdua/index.html">1995/cdua</a></h2>
@@ -2197,14 +2197,15 @@ extract it. The exception is when the files are created by the entry or the
entry decrypts the text or something like that.</p>
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/try.sh">try.sh</a> script.</p>
<div id="1996">
<h1 id="section-12"><a href="1996/index.html">1996</a></h1>
<h1 id="the-13th-ioccc"><a href="1996/index.html">1996 - The 13th IOCCC</a></h1>
</div>
<div id="1996_august">
<h2 id="winning-entry-1996august">Winning entry: <a href="1996/august/index.html">1996/august</a></h2>
<h3 id="winning-entry-source-code-august.c-1">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/august/august.c">august.c</a></h3>
</div>
<p><a href="#cody">Cody</a> fixed a segfault in this program that prevented it from working right and
also fixed an infinite loop in the try commands.</p>
also fixed an infinite loop in the try commands. This infinite loop prevented it
from working with some systems or compilers which we noted a long time ago.</p>
<p>The problem with the infinite loop is that the file <code>august.oc</code> had to have
lines starting with <code>#</code> removed and it was not being done. After this is done
with say <code>sed(1)</code> (like <code>sed -i'' '/^#/d' august.oc</code> which has been added to
@@ -2227,18 +2228,16 @@ but he missed that Yusuke added a’…’ after the result which made him think
the fix was wrong.</p>
<p>Cody also made the recommended change of the author to make it so that each
number is printed on a line by itself rather than having a long string of
numbers on the same line. This was not put in an alternate version but perhaps
it should be.</p>
numbers on the same line.</p>
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/dalbec/try.sh">try.sh</a> script.</p>
<div id="1996_eldby">
<h2 id="winning-entry-1996eldby">Winning entry: <a href="1996/eldby/index.html">1996/eldby</a></h2>
<h3 id="winning-entry-source-code-eldby.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/eldby/eldby.c">eldby.c</a></h3>
</div>
<p><a href="#cody">Cody</a> provided an <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/eldby/eldby.alt.c">alternate version</a> which uses
<code>usleep()</code> in between writing the output to make it easier to see what is going
on with faster systems and importantly also for those who are sensitive to text
flashing by rapidly (it affects him too but he also thinks it moves too fast
nowadays anyway). We recommend that you try the alternate version first due to
<code>usleep()</code> in between writing the output to make it easier to see what it looked
like back in 1996 with modern systems and importantly also for those who are sensitive to text
flashing by rapidly. We recommend that you try the alternate version first due to
these reasons.</p>
<div id="1996_gandalf">
<h2 id="winning-entry-1996gandalf">Winning entry: <a href="1996/gandalf/index.html">1996/gandalf</a></h2>
@@ -2281,20 +2280,21 @@ error due to the redefinition of <code>main</code> but the <code>-I</code> optio
working <code>/usr/include/rrno.h</code> is found first, which shouldn’t cause any problems
on other systems (the other file is
<code>gcc-lib/sparc-sun-solaris2.5/2.7.2/include/errno.h</code>). Thus Cody also added this to
the Makefile despite the fact that very few probably use Solaris nowadays.</p>
the Makefile for the (likely?) few who still use Solaris.</p>
<div id="1996_schweikh2">
<h2 id="winning-entry-1996schweikh2">Winning entry: <a href="1996/schweikh2/index.html">1996/schweikh2</a></h2>
<h3 id="winning-entry-source-code-schweikh2.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh2/schweikh2.c">schweikh2.c</a></h3>
</div>
<p><a href="#cody">Cody</a> added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh2/try.sh">try.sh</a> script with a few commands to try
along with a shorter version of something the author suggested one try (it is
suggested that one try the longer version too but it will run in an infinite
loop so having it in a script is less desired).</p>
<p><a href="#cody">Cody</a> added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh2/try.sh">try.sh</a> script with
a few commands to try along with a shorter version of something the author
suggested one try (at the end of the script it prompts if you wish to run the
author’s idea, with a <code>sleep</code> and <code>echo</code> in between to help one distinguish the
output better, with the warning that it is an infinite loop).</p>
<div id="1996_schweikh3">
<h2 id="winning-entry-1996schweikh3">Winning entry: <a href="1996/schweikh3/index.html">1996/schweikh3</a></h2>
<h2 id="source-code-schweikh3.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh3/schweikh3.c">schweikh3.c</a></h2>
</div>
<p><a href="#cody">Cody</a> updated the Makefile so that if it fails to compile it will try he
<p><a href="#cody">Cody</a> updated the Makefile so that if it fails to compile it will try the
method suggested for SunOS rather than having to update the Makefile manually or
running a more complicated command: now one can just run <code>make</code>.</p>
<div id="1996_westley">
@@ -2306,26 +2306,26 @@ variables. Although the scripts showed correct output, it somewhat lessened the
usability because they segfaulted and showed (an) environmental variable,
interspersed with the output of the program. With the fix they no longer have
this problem. If <code>argc &lt; 5</code> (<code>argv[4]</code> is referenced) it will not do anything
and it will not segfault either - this was caused by the body of the for() loop
and it will not segfault either - this was caused by the body of the <code>for()</code> loop
which is now empty (it doesn’t appear to be needed at all at least modernly).
Note that you should check the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/westley/westley.alt.c">westley.alt.c</a> file
when reading the author’s comments. To see how to use the original, see the
index.html file.</p>
<p>Cody also added the two scripts, <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/westley/try.sh">try.sh</a> and
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/westley/try.alt.sh">try.alt.sh</a> to automate showing the different
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/westley/try.sh">try.sh</a> and
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/westley/try.alt.sh">try.alt.sh</a> scripts to automate showing the different
clocks, both with the fixed version and the original (alt) version.</p>
<p>Also, to fix any potential problem with displaying in GitHub the scripts
provided by the author, Cody added ‘.sh’ to the <code>clock[1-3].sh</code> scripts.</p>
<div id="1998">
<h1 id="section-13"><a href="1998/index.html">1998</a></h1>
<h1 id="the-14th-ioccc"><a href="1998/index.html">1998 - The 14th IOCCC</a></h1>
</div>
<div id="1998_banks">
<h2 id="winning-entry-1998banks">Winning entry: <a href="1998/banks/index.html">1998/banks</a></h2>
<h3 id="winning-entry-source-code-banks.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/banks/banks.c">/banks.c</a></h3>
<h3 id="winning-entry-source-code-banks.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/banks/banks.c">banks.c</a></h3>
</div>
<p><a href="#cody">Cody</a> improved the Makefile to allow for easier redefining the control
<p><a href="#cody">Cody</a> improved the <code>Makefile</code> to allow for easier redefining the control
keys and time step that the author set up.</p>
<p>Cody also set up the Makefile to have an alt build (using the same code) for those
<p>Cody also set up the <code>Makefile</code> to have an alt build (using the same code) for those
who do not have a page up or page down key and added the
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/banks/keysym.h">keysym.h</a> header file as a reference for other keys one
can use if they wish to modify the controls. One can certainly do this even if
@@ -2386,7 +2386,7 @@ program, a local pootifier of web pages and a CGI pootifier. See <a href="1998/d
remarks</a> for more details on the
pootify scripts.</p>
<div id="1998_dloweneil">
<h2 id="winning-entry-c1998dloweneil">Winning entry: <a href="1998/dloweneil/index.html">c1998/dloweneil</a></h2>
<h2 id="winning-entry-1998dloweneil">Winning entry: <a href="1998/dloweneil/index.html">1998/dloweneil</a></h2>
<h3 id="winning-entry-source-code-dloweneil.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/dloweneil/dloweneil.c">dloweneil.c</a></h3>
</div>
<p><a href="#cody">Cody</a> added <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/dloweneil/dloweneil.alt.c">alt code</a> which has vi(m) movement
@@ -2398,7 +2398,7 @@ space) keys as well as allowing one to quit the game.</p>
</div>
<p><a href="#cody">Cody</a> added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/dorssel/try.sh">try.sh</a> script.</p>
<div id="1998_fanf">
<h2 id="winning-entry-1998fanf.html">Winning entry: <a href="1998/fanf/index.html">1998/fanf.html</a></h2>
<h2 id="winning-entry-1998fanf">Winning entry: <a href="1998/fanf/index.html">1998/fanf</a></h2>
<h3 id="winning-entry-source-code-fanf.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/fanf/fanf.c">fanf.c</a></h3>
</div>
<p><a href="#cody">Cody</a> fixed this to compile. The problem was the intermediate steps to get to the
@@ -2435,7 +2435,7 @@ doing:</p>
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/schnitzi/try.sh">try.sh</a> script to help users try the
commands that we recommended as well as some added by him.</p>
<div id="1998_schweikh1">
<h2 id="winning-entry-index.html">Winning entry: <a href="1998/schweikh1/index.html">index.html</a></h2>
<h2 id="winning-entry-1998schweikh1">Winning entry: <a href="1998/schweikh1/index.html">1998/schweikh1</a></h2>
<h3 id="winning-entry-source-code-1998schweikh1">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/schweikh1/schweikh1.c">1998/schweikh1</a></h3>
</div>
<p><a href="#cody">Cody</a> fixed this for modern systems (it did not work at all) and added an
@@ -2500,7 +2500,8 @@ question.</p>
<h2 id="winning-entry-1998schweikh3">Winning entry: <a href="1998/schweikh3/index.html">1998/schweikh3</a></h2>
<h3 id="winning-entry-source-code-schweikh3.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/schweikh3/schweikh3.c">schweikh3.c</a></h3>
</div>
<p><a href="#cody">Cody</a> added the <a href="1998/schweikh3/index.html#alternate-code">alternate code</a> which allows one
<p><a href="#cody">Cody</a> added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/schweikh3/schweikh3.alt.c">alternate
code</a> which allows one
to reconfigure the size constant in the rare case that the author wrote about
occurs.</p>
<p>Cody made <code>main()</code> have two args out of an abundance of caution as some versions
@@ -2524,7 +2525,7 @@ for more details.</p>
information for the entry. It has not been added to any JSON file.</p>
<div id="1998_tomtorfs">
<h2 id="winning-entry-1998tomtorfs">Winning entry: <a href="1998/tomtorfs/index.html">1998/tomtorfs</a></h2>
<h3 id="winning-entry-source-code-tomtorfs.chttpsgithub.comioccc-srctemp-test-iocccblobmaster1998tomtorfstomtorfs.c">Winning entry source code: /tomtorfs.c](https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/tomtorfs/tomtorfs.c)</h3>
<h3 id="winning-entry-source-code-tomtorfs.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/tomtorfs/tomtorfs.c">tomtorfs.c</a></h3>
</div>
<p><a href="#cody">Cody</a> fixed the assumption that <code>EOF</code> is <code>-1</code> (the author noted that it assumes
it is <code>-1</code> and it’s indeed a valid concern as the standard only guarantees that
@@ -2536,7 +2537,7 @@ program had <code>return 1</code>).</p>
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/tomtorfs/try.sh">try.sh</a> script to try out a few
commands that we recommended.</p>
<div id="2000">
<h1 id="section-14"><a href="2000/index.html">2000</a></h1>
<h1 id="the-15th-ioccc"><a href="2000/index.html">2000 - The 15th IOCCC</a></h1>
</div>
<div id="2000_anderson">
<h2 id="winning-entry-2000anderson">Winning entry: <a href="2000/anderson/index.html">2000/anderson</a></h2>
@@ -2574,8 +2575,7 @@ feeling a bit too confident, cocky or even happy :-)</p>
<h3 id="winning-entry-source-code-dlowe.c-1">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/dlowe//dlowe.c">dlowe.c</a></h3>
</div>
<p><a href="#cody">Cody</a> fixed this to compile with more recent perl versions; the symbol that’s now
<code>PL_na</code> was once <code>na</code>. He notes that this entry crashes under macOS but it works
under Linux after this change.</p>
<code>PL_na</code> was once <code>na</code>.</p>
<p>Cody also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/dlowe/try.sh">try.sh</a> script.</p>
<div id="2000_jarijyrki">
<h2 id="winning-entry-2000jarijyrki">Winning entry: <a href="2000/jarijyrki/index.html">2000/jarijyrki</a></h2>
@@ -2588,8 +2588,10 @@ includes of <code>Xlib.h</code> and <code>keysym.h</code>.</p>
<h3 id="winning-entry-source-code-natori.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/natori//natori.c">natori.c</a></h3>
</div>
<p><a href="#cody">Cody</a> fixed this for modern compilers. Depending on the compiler it would either
segfault when run or not compile at all (<code>gcc</code> and <code>clang</code> respectively).</p>
<p>Cody also provided alternate code that supports the southern hemisphere.</p>
segfault when run or not compile at all (<code>gcc</code> and <code>clang</code> respectively). The
compiler fix is due to <code>clang</code> being more strict about arg types to <code>main()</code>.</p>
<p>Cody also provided <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/natori/natori.alt.c">alternate code</a> that
supports the southern hemisphere, based on the author’s remarks.</p>
<p>Cody also provided the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/natori/try.sh">try.sh</a> and
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/natori/try.alt.sh">try.alt.sh</a> scripts that show the Moon phase in
artistic ways. It is recommended one try both a number of times in a row on
@@ -2603,7 +2605,7 @@ itself a one-line like the code is in the original entry. Now it looks much more
like the original entry but with the two fixes.</p>
<p>Finally Cody fixed the Makefile that had the <code>-Wno-foo</code> options in the <code>CDEFINE</code>
variable which although works it is incongruent with the other Makefiles and is
more confusing (even if not confusing).</p>
more confusing (though not really).</p>
<div id="2000_primenum">
<h2 id="winning-entry-2000primenum">Winning entry: <a href="2000/primenum/index.html">2000/primenum</a></h2>
<h3 id="winning-entry-source-code-primenum.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/primenum//primenum.c">primenum.c</a></h3>
@@ -2623,8 +2625,9 @@ more confusing (even if not confusing).</p>
the screen with:</p>
<pre><code> Black position and direction: illegal</code></pre>
<p>This was fixed by having the <code>scanf(3)</code> read in a string and then use <code>atoi(3)</code>
on it to assign to the <code>int</code>s, much like with <code>1987/lievaart</code>. The strings are
<code>char[5]</code> and the <code>%</code> specifier is <code>%4s</code> which is enough for the game.</p>
on it to assign to the <code>int</code>s, much like with <a href="#1987_lievaart">1987/lievaart</a>.
The strings are <code>char[5]</code> and the <code>%</code> specifier is <code>%4s</code> which is enough for the
game.</p>
<div id="2000_schneiderwent">
<h2 id="winning-entry-2000schneiderwent">Winning entry: <a href="2000/schneiderwent/index.html">2000/schneiderwent</a></h2>
<h3 id="winning-entry-source-code-schneiderwent.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/schneiderwent//schneiderwent.c">schneiderwent.c</a></h3>
@@ -2636,12 +2639,16 @@ on it to assign to the <code>int</code>s, much like with <code>1987/lievaart</co
</div>
<p><a href="#cody">Cody</a> fixed the code and added an appropriate make rule so that the
<a href="https://www.libsdl.org">SDL</a> version works independent from the curses version
(using the same code).</p>
<p>Cody also added alt code to allow one to slow down the code. This code also, at
least for the curses mode, allows one to quit at any time by pressing ‘q’. See
below for more details.</p>
(using the same code). See below for an interesting problem that occurred that
had to be resolved for SDL1.</p>
<p>Cody also added <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/thadgavin/thadgavin.alt.c">alt code</a> to allow
one to slow down the code to get a better idea of what the program looked like
back in 2000, with modern systems. This code also, at least for the curses mode, allows
one to quit at any time by pressing ‘q’. Note that this alternate version only
will impact the curses and the SDL versions as Cody does not have a DOS system
to test the other version in.</p>
<p>Due to a terrible design choice of the SDL1 developers something had to be
changed. As was noted in the log:</p>
changed. As was noted in the log at the time:</p>
<pre><code> The SDL version did not work for a number of reasons. First of all the
code requires that SDL is defined. Second the path[sic] wrong header file was
included. Third the SDL1 developers thought it would be a great idea
@@ -2662,23 +2669,18 @@ changed. As was noted in the log:</p>
make: *** [thadgavin_sdl] Error 1
Thus main() was changed to &#39;int main(int argc, char **argv)&#39;.</code></pre>
<p>Cody also added an alternate version to help see what is going on in more modern
systems and in case you’re sensitive to rapidly moving swirling. See the
index.html for details on that. Note that this alternate version only will impact
the curses and the SDL versions as Cody does not have a DOS system to test the
other version in.</p>
<div id="2000_tomx">
<h2 id="winning-entry-2000tomx">Winning entry: <a href="2000/tomx/index.html">2000/tomx</a></h2>
<h3 id="winning-entry-source-code-tomx.c">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/tomx//tomx.c">tomx.c</a></h3>
</div>
<p><a href="#cody">Cody</a> added the <a href="2000/tomx/index.html#alternate-code">alt code</a> based on the
<p><a href="#cody">Cody</a> added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/tomx/tomx.alt.c">alt code</a> based on the
author’s remarks with a fix for modern systems and he also added the two
scripts, <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/tomx/try.sh">try.sh</a> and <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/tomx/try.alt.sh">try.alt.sh</a> for
the main code and the alt code respectively.</p>
<p>And although the scripts do <code>chmod +x</code> on the source code (see the index.html for
details) the source code is now executable by default.</p>
<div id="2001">
<h1 id="section-15"><a href="2001/index.html">2001</a></h1>
<h1 id="the-16th-ioccc"><a href="2001/index.html">2001 - The 16th IOCCC</a></h1>
</div>
<div id="2001_anonymous">
<h2 id="winning-entry-2001anonymous">Winning entry: <a href="2001/anonymous/index.html">2001/anonymous</a></h2>
@@ -2688,7 +2690,7 @@ details) the source code is now executable by default.</p>
segfaulted and once that was fixed only the binary was modified; it was not run
but according to the author’s remarks it should be executed). He managed to do
this with Linux but it will not work with any system that does not allow one to
compile 32-bit ELF binaries. See <a href="bugs.html#2001anonymous-readmemd">bugs.html</a> for
compile 32-bit ELF binaries. See <a href="bugs.html#2001_anonymous">2001/anonymous in bugs.html</a> for
why this is; <em>this is <strong>not</strong> a bug, it’s a feature</em> inherent in what it does!</p>
<p>The following had to be done to fix this:</p>
<ul>
@@ -2698,7 +2700,8 @@ this prevented <code>main()</code> from entering an infinite recursive loop.</li
</ul>
<p>Without these it would crash and prevent modification of the 32-bit
<a href="https://en.wikipedia.org/wiki/Executable_and_Linkable_Format">ELF</a> (not elf :-) )
binary. But again see <a href="bugs.html">bugs.html</a> here.</p>
binary. But again see <a href="bugs.html#2001_anonymous">2001/anonymous in bugs.html</a>
for this.</p>
<p>These also had to be done:</p>
<ul>
<li>when <code>open()</code>ing the file the file descriptor had to be saved so it could be
@@ -2733,11 +2736,12 @@ wish to see, try the following commands from the <code>2001/anonymous</code> dir
<pre><code> git diff d2a42f42e8f477f29e9d5ed09ce2bb349eaf7397..4bc03de321612869aebf855850c6500df95cb6ef anonymous.c</code></pre>
<p>or to not use <code>git</code>:</p>
<pre><code> make diff_orig_prog</code></pre>
<p>Cody also added a <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/anonymous/anonymous.bed.c">program</a>
like <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/anonymous/anonymous.ten.c">anonymous.ten.c</a>
<a href="https://en.wikipedia.org/wiki/Ten_Green_Bottles">Ten Green Bottles</a> but which
sings <a href="https://allnurseryrhymes.com/ten-in-the-bed/">Ten in the Bed</a> instead.</p>
<p>As well he added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/anonymous/try.sh">try.sh</a> so that one can
<p>Cody also added a <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/anonymous/anonymous.bed.c">program</a> like
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/anonymous/anonymous.ten.c">anonymous.ten.c</a> which ‘sings’ the
lyrics to <a href="https://en.wikipedia.org/wiki/Ten_Green_Bottles">Ten Green Bottles</a>
but which sings <a href="https://allnurseryrhymes.com/ten-in-the-bed/">Ten in the Bed</a>
instead.</p>
<p>As well he added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/anonymous/try.sh">try.sh</a> script so that one can
attempt to use the program as it was designed but if compiling as 32-bit fails
it will at least run the supplementary program as a 64-bit program directly.</p>
<div id="2001_bellard">
@@ -2901,7 +2905,7 @@ that we, the IOCCC judges, suggested, as well as some additional ones that he
thought would be fun. He also provided the sort and punch card versions,
described in the index.html, based on the author’s remarks.</p>
<div id="2004">
<h1 id="section-16"><a href="2004/index.html">2004</a></h1>
<h1 id="the-17th-ioccc"><a href="2004/index.html">2004 - The 17th IOCCC</a></h1>
</div>
<div id="2004_anonymous">
<h2 id="winning-entry-2004anonymous">Winning entry: <a href="2004/anonymous/index.html">2004/anonymous</a></h2>
@@ -3121,7 +3125,7 @@ which used to be generated by the Makefile via <code>cc -E</code>.</p>
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/vik2/vik2.possible.cat.death.c">vik2.possible.cat.death.c</a>!) <code>__FILE__</code>
just to make it a bit easier to compile.</p>
<div id="2005">
<h1 id="section-17"><a href="2005/index.html">2005</a></h1>
<h1 id="the-18th-ioccc"><a href="2005/index.html">2005 - The 18th IOCCC</a></h1>
</div>
<div id="2005_aidan">
<h2 id="winning-entry-2005aidan">Winning entry: <a href="2005/aidan/index.html">2005/aidan</a></h2>
@@ -3317,7 +3321,7 @@ find it’ but the source code file name is not always the same as the executabl
with the appropriate extension so this might be called a bug fix as well though
if one runs it from another directory, specifying the directory, it’ll not catch it.</p>
<div id="2006">
<h1 id="section-18"><a href="2006/index.html">2006</a></h1>
<h1 id="the-19th-ioccc"><a href="2006/index.html">2006 - The 19th IOCCC</a></h1>
</div>
<div id="2006_birken">
<h2 id="winning-entry-2006birken">Winning entry: <a href="2006/birken/index.html">2006/birken</a></h2>
@@ -3454,7 +3458,7 @@ have been a problem in Linux with the old <code>int</code>s but this is no longe
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2006/toledo3/toledo3.alt.c">toledo3.alt.c</a>, based on the author’s remarks.
We’re not able to test this.</p>
<div id="2011">
<h1 id="section-19"><a href="2011/index.html">2011</a></h1>
<h1 id="the-20th-ioccc"><a href="2011/index.html">2011 - The 20th IOCCC</a></h1>
</div>
<div id="2011_akari">
<h2 id="winning-entry-2011akari">Winning entry: <a href="2011/akari/index.html">2011/akari</a></h2>
@@ -3573,7 +3577,7 @@ and text then <code>stdout</code> needs to be set to binary mode.</p>
<a href="2011/zucker/sphere-tracing.pdf">sphere-tracing.pdf</a> in case the link
eventually dies.</p>
<div id="2012">
<h1 id="section-20"><a href="2012/index.html">2012</a></h1>
<h1 id="the-21st-ioccc"><a href="2012/index.html">2012 - The 21st IOCCC</a></h1>
</div>
<div id="2012_blakely">
<h2 id="winning-entry-2012blakely">Winning entry: <a href="2012/blakely/index.html">2012/blakely</a></h2>
@@ -3729,7 +3733,7 @@ look at the program source with tab space of 4 characters so Cody added the
command to do this in vim for those who use it, in the judges’ remarks, to make
it easier for those who do not know how, and to make it more obvious to try it.</p>
<div id="2013">
<h1 id="section-21"><a href="2013/index.html">2013</a></h1>
<h1 id="the-22nd-ioccc"><a href="2013/index.html">2013 - The 22nd IOCCC</a></h1>
</div>
<div id="2013_birken">
<h2 id="winning-entry-2013birken">Winning entry: <a href="2013/birken/index.html">2013/birken</a></h2>
@@ -3907,7 +3911,7 @@ implicitly (Linux doesn’t seem to but macOS does).</p>
</div>
<p><a href="#cody">Cody</a> added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/robison/try.sh">try.sh</a> script.</p>
<div id="2014">
<h1 id="section-22"><a href="2014/index.html">2014</a></h1>
<h1 id="the-23rd-ioccc"><a href="2014/index.html">2014 - The 23rd IOCCC</a></h1>
</div>
<div id="2014_birken">
<h2 id="winning-entry-2014birken">Winning entry: <a href="2014/birken/index.html">2014/birken</a></h2>
@@ -4040,7 +4044,7 @@ should they want to. It also checks that both of these two tools exist and are
executable and it pipes it through less as it’s longer than a page worth of
output.</p>
<div id="2015">
<h1 id="section-23"><a href="2015/index.html">2015</a></h1>
<h1 id="the-24th-ioccc"><a href="2015/index.html">2015 - The 24th IOCCC</a></h1>
</div>
<div id="2015_burton">
<h2 id="winning-entry-2015burton">Winning entry: <a href="2015/burton/index.html">2015/burton</a></h2>
@@ -4166,7 +4170,7 @@ files from compiling properly, trying instead to compile already compiled code.<
(Linux seems to not but macOS does).</p>
<p>He also added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/yang/try.sh">try.sh</a> script.</p>
<div id="2018">
<h1 id="section-24"><a href="2018/index.html">2018</a></h1>
<h1 id="the-25th-ioccc"><a href="2018/index.html">2018 - The 25th IOCCC</a></h1>
</div>
<div id="2018_anderson">
<h2 id="winning-entry-2018anderson">Winning entry: <a href="2018/anderson/index.html">2018/anderson</a></h2>
@@ -4309,7 +4313,7 @@ configuration).</p>
if the user wants to see some of the spoilers and only show them if they type
<code>y</code> or <code>Y</code>.</p>
<div id="2019">
<h1 id="section-25"><a href="2019/index.html">2019</a></h1>
<h1 id="the-26th-ioccc"><a href="2019/index.html">2019 - The 26th IOCCC</a></h1>
</div>
<div id="2019_adamovsky">
<h2 id="winning-entry-2019adamovsky">Winning entry: <a href="2019/adamovsky/index.html">2019/adamovsky</a></h2>
@@ -4468,7 +4472,7 @@ slightly updating the <a href="2019/yang/sample_input.txt">sample_input.txt</a>
(removed trailing newlines as it resulted in <code>diff</code> showing differences when it
shouldn’t) and adding the <a href="2019/yang/ioccc.txt">ioccc.txt</a> file.</p>
<div id="2020">
<h1 id="section-26"><a href="2020/index.html">2020</a></h1>
<h1 id="the-27th-ioccc"><a href="2020/index.html">2020 - The 27th IOCCC</a></h1>
</div>
<div id="2020_burton">
<h2 id="winning-entry-2020burton">Winning entry: <a href="2020/burton/index.html">2020/burton</a></h2>
@@ -4509,8 +4513,7 @@ funny error when running it:</p>
<pre><code> /bin/bash: ./run_clock.sh: /usr/bin/end: bad interpreter: No such file or directory</code></pre>
<p>though this was only noticed later on after it was fixed.</p>
<p>What was wrong? A typo in the shebang which had <code>/usr/bin/end</code> instead of
<code>/usr/bin/env</code>. Anyone who knows Cody would know that he’d zoom in on that quite
quick.</p>
<code>/usr/bin/env</code>.</p>
<p>Also if <code>clock</code> did not exist and one tried to run the script it would make an
invalid <code>clock.c</code> which meant it could not compile so it now runs <code>make clock</code>
first.</p>
@@ -4540,10 +4543,6 @@ fixed typos and formatting and he also fixed some issues that occurred when
files were renamed to <code>.html</code> from <code>.markdown</code>.</p>
<p>Most importantly he also added some corrections to the vital <a href="2020/ferguson1/chocolate-cake.html">Double
layered chocolate fudge cake recipe</a> :-)</p>
<p>Yes the irony here is as rich as the chocolate cake: the question is do you know
how rich it is? If not and you like chocolate I (that is Cody :-) ) highly
recommend you give it a go! :-) You’re welcome to ask me questions if you wish
and I encourage you to do so as the cake is quite picky!</p>
<div id="2020_ferguson2">
<h2 id="winning-entry-2020ferguson2">Winning entry: <a href="2020/ferguson2/index.html">2020/ferguson2</a></h2>
<h3 id="winning-entry-source-code-prog.c-57">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2//prog.c">prog.c</a></h3>
@@ -4609,13 +4608,17 @@ more jumbled but we know of others too.</p>
</div>
<p><a href="#cody">Cody</a> added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov4/try.sh">try.sh</a> script.</p>
<p>Cody also added from <a href="2019/mills/index.html">2019/mills</a> the text file
<a href="2020/kurdyukov4/Shakespeare.txt">Shakespeare.txt</a> as we are considering to
have each entry have a tarball with the entry by itself.</p>
<p>Also, to explain the confusing to most people award, Cody gave a quick
translation of <code>lámatyávë</code>, which comes from History of Middle-earth [HoMe],
volume X, Morgoth’s Ring, which he also has (and which is part of the 12 volume
set by the late Christopher Tolkien, son and literary executor and heir to
J.R.R. Tolkien).</p>
<a href="2020/kurdyukov4/Shakespeare.txt">Shakespeare.txt</a> as we now provide a tarball
of each entry by itself.</p>
<p>Also, as a fellow Tolkienist, to explain the confusing (to most people) award
title, Cody gave a quick translation of <code>lámatyávë</code>, which comes from <a href="https://en.wikipedia.org/wiki/Morgoth%27s_Ring">Morgoth’s
Ring</a>, volume X of the 12
volume <a href="https://en.wikipedia.org/wiki/The_History_of_Middle-earth">History of
Middle-earth</a> (known
to us Tolkienists as <code>HoMe</code>), which he naturally :-) has, by the late and great
<a href="https://en.wikipedia.org/wiki/Christopher_Tolkien">Christopher Tolkien</a>, son
and literary executor and heir to <a href="https://www.tolkienestate.com/life/biography/">J.R.R.
Tolkien</a>.</p>
<div id="2020_otterness">
<h2 id="winning-entry-2020otterness">Winning entry: <a href="2020/otterness/index.html">2020/otterness</a></h2>
<h3 id="winning-entry-source-code-prog.c-63">Winning entry source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/otterness//prog.c">prog.c</a></h3>
@@ -4719,7 +4722,7 @@ although some might not make as much sense unless one looks into the entry.</p>
changes</strong>, fixes and <strong>many important improvements</strong> that we
wish to <strong>especially thank</strong>.</p>
<h3 id="authors">Authors</h3>
<p>A good number of the <a href="authors.html">wining entries of the
<p>A good number of the <a href="authors.html">winning entries of the
IOCCC</a> tested, identified and helped correct
and/or improve the write-ups of fellow IOCCC entries for the year that they won.
The list of those entries is too long to mention: nevertheless the <a href="judges.html">IOCCC
@@ -4762,7 +4765,8 @@ inconsistent award titles in the README files and CSV file (that he generated
from the SQL file).</p>
<p>Additionally Cody greatly improved the manifest of the winning entries and
checked that the generated html files, index.html and otherwise, look well and
presentable.</p>
presentable and suggested a CSS rule for <code>&lt;img&gt;</code> to make images more responsive
on smaller screens.</p>
<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 past entries for modern
systems!</p>
+96 -93
View File
@@ -30,7 +30,7 @@ on an IOCCC entry by entry basis.
<div id="1984">
# [1984](1984/index.html)
# [1984 - The 1st IOCCC](1984/index.html)
</div>
@@ -173,7 +173,7 @@ Repo](https://github.com/dspinellis/unix-history-repo/tree/Research-Release).
<div id="1985">
# [1985](1985/index.html)
# [1985 - The 2nd IOCCC](1985/index.html)
</div>
@@ -371,7 +371,7 @@ Cody also added the [try.sh](%%REPO_URL%%/1985/sicherman/try.sh) and
<div id="1986">
# [1986](1986/index.html)
# [1986 - The 3rd IOCCC](1986/index.html)
</div>
@@ -624,7 +624,7 @@ There might have been other changes as well.
<div id="1987">
# [1987](1987/index.html)
# [1987 - The 4th IOCCC](1987/index.html)
</div>
@@ -747,7 +747,7 @@ unlikely(?) but nevertheless suggested case that `putchar(3)` is not available.
<div id="1988">
# [1988](1988/index.html)
# [1988 - The 5th IOCCC](1988/index.html)
</div>
@@ -929,7 +929,7 @@ not strictly necessary but nonetheless more correct, even if not warned against.
<div id="1989">
# [1989](1989/index.html)
# [1989 - The 6th IOCCC](1989/index.html)
</div>
@@ -1208,7 +1208,7 @@ environmental variable; see the index.html for details.
<div id="1990">
# [1990](1990/index.html)
# [1990 - The 7th IOCCC](1990/index.html)
</div>
@@ -1444,7 +1444,7 @@ Cody also added the [try.sh](%%REPO_URL%%/1990/westley/try.sh) script.
<div id="1991">
# [1991](1991/index.html)
# [1991 - The 8th IOCCC](1991/index.html)
</div>
@@ -1734,7 +1734,7 @@ should have been removed.
<div id="1992">
# [1992](1992/index.html)
# [1992 - The 9th IOCCC](1992/index.html)
</div>
@@ -1827,7 +1827,7 @@ generated.
[Cody](#cody) fixed this to compile with modern systems. Note that in 1996 a bug fix was
applied to the code, provided as the alt code as that version is not obfuscated.
Thus Cody's fix applies to the original entry. The problems were that `malloc.h`
is not the correct header file now (at least in some systems?) and a non-void
is not the correct header file now (at least in some systems) and a non-void
(implicit `int`) function returning without a value. That function was changed to
return `void`.
@@ -2068,7 +2068,7 @@ encourage you to try the original without two args :-)
<div id="1993">
# [1993](1993/index.html)
# [1993 - The 10th IOCCC](1993/index.html)
</div>
@@ -2240,7 +2240,7 @@ Cody also added the [try.sh](%%REPO_URL%%/1993/vanb/try.sh) script.
<div id="1994">
# [1994](1994/index.html)
# [1994 - The 11th IOCCC](1994/index.html)
</div>
@@ -2451,7 +2451,7 @@ along the lines of the [try.sh](%%REPO_URL%%/1994/westley/try.sh) script.
<div id="1995">
# [1995](1995/index.html)
# [1995 - The 12th IOCCC](1995/index.html)
</div>
@@ -2573,7 +2573,7 @@ Cody also added the [try.sh](%%REPO_URL%%/1995/vanschnitz/try.sh) script.
<div id="1996">
# [1996](1996/index.html)
# [1996 - The 13th IOCCC](1996/index.html)
</div>
@@ -2583,7 +2583,8 @@ Cody also added the [try.sh](%%REPO_URL%%/1995/vanschnitz/try.sh) script.
</div>
[Cody](#cody) fixed a segfault in this program that prevented it from working right and
also fixed an infinite loop in the try commands.
also fixed an infinite loop in the try commands. This infinite loop prevented it
from working with some systems or compilers which we noted a long time ago.
The problem with the infinite loop is that the file `august.oc` had to have
lines starting with `#` removed and it was not being done. After this is done
@@ -2612,8 +2613,7 @@ the fix was wrong.
Cody also made the recommended change of the author to make it so that each
number is printed on a line by itself rather than having a long string of
numbers on the same line. This was not put in an alternate version but perhaps
it should be.
numbers on the same line.
Cody also added the [try.sh](%%REPO_URL%%/1996/dalbec/try.sh) script.
@@ -2624,10 +2624,9 @@ Cody also added the [try.sh](%%REPO_URL%%/1996/dalbec/try.sh) script.
</div>
[Cody](#cody) provided an [alternate version](%%REPO_URL%%/1996/eldby/eldby.alt.c) which uses
`usleep()` in between writing the output to make it easier to see what is going
on with faster systems and importantly also for those who are sensitive to text
flashing by rapidly (it affects him too but he also thinks it moves too fast
nowadays anyway). We recommend that you try the alternate version first due to
`usleep()` in between writing the output to make it easier to see what it looked
like back in 1996 with modern systems and importantly also for those who are sensitive to text
flashing by rapidly. We recommend that you try the alternate version first due to
these reasons.
@@ -2689,7 +2688,7 @@ error due to the redefinition of `main` but the `-I` option makes sure the
working `/usr/include/rrno.h` is found first, which shouldn't cause any problems
on other systems (the other file is
`gcc-lib/sparc-sun-solaris2.5/2.7.2/include/errno.h`). Thus Cody also added this to
the Makefile despite the fact that very few probably use Solaris nowadays.
the Makefile for the (likely?) few who still use Solaris.
<div id="1996_schweikh2">
@@ -2697,10 +2696,11 @@ the Makefile despite the fact that very few probably use Solaris nowadays.
### Winning entry source code: [schweikh2.c](%%REPO_URL%%/1996/schweikh2/schweikh2.c)
</div>
[Cody](#cody) added the [try.sh](%%REPO_URL%%/1996/schweikh2/try.sh) script with a few commands to try
along with a shorter version of something the author suggested one try (it is
suggested that one try the longer version too but it will run in an infinite
loop so having it in a script is less desired).
[Cody](#cody) added the [try.sh](%%REPO_URL%%/1996/schweikh2/try.sh) script with
a few commands to try along with a shorter version of something the author
suggested one try (at the end of the script it prompts if you wish to run the
author's idea, with a `sleep` and `echo` in between to help one distinguish the
output better, with the warning that it is an infinite loop).
<div id="1996_schweikh3">
@@ -2708,7 +2708,7 @@ loop so having it in a script is less desired).
## Source code: [schweikh3.c](%%REPO_URL%%/1996/schweikh3/schweikh3.c)
</div>
[Cody](#cody) updated the Makefile so that if it fails to compile it will try he
[Cody](#cody) updated the Makefile so that if it fails to compile it will try the
method suggested for SunOS rather than having to update the Makefile manually or
running a more complicated command: now one can just run `make`.
@@ -2723,14 +2723,14 @@ variables. Although the scripts showed correct output, it somewhat lessened the
usability because they segfaulted and showed (an) environmental variable,
interspersed with the output of the program. With the fix they no longer have
this problem. If `argc < 5` (`argv[4]` is referenced) it will not do anything
and it will not segfault either - this was caused by the body of the for() loop
and it will not segfault either - this was caused by the body of the `for()` loop
which is now empty (it doesn't appear to be needed at all at least modernly).
Note that you should check the [westley.alt.c](%%REPO_URL%%/1996/westley/westley.alt.c) file
when reading the author's comments. To see how to use the original, see the
index.html file.
Cody also added the two scripts, [try.sh](%%REPO_URL%%/1996/westley/try.sh) and
[try.alt.sh](%%REPO_URL%%/1996/westley/try.alt.sh) to automate showing the different
Cody also added the [try.sh](%%REPO_URL%%/1996/westley/try.sh) and
[try.alt.sh](%%REPO_URL%%/1996/westley/try.alt.sh) scripts to automate showing the different
clocks, both with the fixed version and the original (alt) version.
Also, to fix any potential problem with displaying in GitHub the scripts
@@ -2738,19 +2738,19 @@ provided by the author, Cody added '.sh' to the `clock[1-3].sh` scripts.
<div id="1998">
# [1998](1998/index.html)
# [1998 - The 14th IOCCC](1998/index.html)
</div>
<div id="1998_banks">
## Winning entry: [1998/banks](1998/banks/index.html)
### Winning entry source code: [/banks.c](%%REPO_URL%%/1998/banks/banks.c)
### Winning entry source code: [banks.c](%%REPO_URL%%/1998/banks/banks.c)
</div>
[Cody](#cody) improved the Makefile to allow for easier redefining the control
[Cody](#cody) improved the `Makefile` to allow for easier redefining the control
keys and time step that the author set up.
Cody also set up the Makefile to have an alt build (using the same code) for those
Cody also set up the `Makefile` to have an alt build (using the same code) for those
who do not have a page up or page down key and added the
[keysym.h](%%REPO_URL%%/1998/banks/keysym.h) header file as a reference for other keys one
can use if they wish to modify the controls. One can certainly do this even if
@@ -2833,7 +2833,7 @@ pootify scripts.
<div id="1998_dloweneil">
## Winning entry: [c1998/dloweneil](1998/dloweneil/index.html)
## Winning entry: [1998/dloweneil](1998/dloweneil/index.html)
### Winning entry source code: [dloweneil.c](%%REPO_URL%%/1998/dloweneil/dloweneil.c)
</div>
@@ -2851,7 +2851,7 @@ space) keys as well as allowing one to quit the game.
<div id="1998_fanf">
## Winning entry: [1998/fanf.html](1998/fanf/index.html)
## Winning entry: [1998/fanf](1998/fanf/index.html)
### Winning entry source code: [fanf.c](%%REPO_URL%%/1998/fanf/fanf.c)
</div>
@@ -2903,7 +2903,7 @@ commands that we recommended as well as some added by him.
<div id="1998_schweikh1">
## Winning entry: [index.html](1998/schweikh1/index.html)
## Winning entry: [1998/schweikh1](1998/schweikh1/index.html)
### Winning entry source code: [1998/schweikh1](%%REPO_URL%%/1998/schweikh1/schweikh1.c)
</div>
@@ -2994,7 +2994,8 @@ Cody also added the [try.sh](%%REPO_URL%%/1998/schweikh2/try.sh) script.
### Winning entry source code: [schweikh3.c](%%REPO_URL%%/1998/schweikh3/schweikh3.c)
</div>
[Cody](#cody) added the [alternate code](1998/schweikh3/index.html#alternate-code) which allows one
[Cody](#cody) added the [alternate
code](%%REPO_URL%%/1998/schweikh3/schweikh3.alt.c) which allows one
to reconfigure the size constant in the rare case that the author wrote about
occurs.
@@ -3029,7 +3030,7 @@ information for the entry. It has not been added to any JSON file.
<div id="1998_tomtorfs">
## Winning entry: [1998/tomtorfs](1998/tomtorfs/index.html)
### Winning entry source code: /tomtorfs.c](%%REPO_URL%%/1998/tomtorfs/tomtorfs.c)
### Winning entry source code: [tomtorfs.c](%%REPO_URL%%/1998/tomtorfs/tomtorfs.c)
</div>
[Cody](#cody) fixed the assumption that `EOF` is `-1` (the author noted that it assumes
@@ -3046,7 +3047,7 @@ commands that we recommended.
<div id="2000">
# [2000](2000/index.html)
# [2000 - The 15th IOCCC](2000/index.html)
</div>
@@ -3102,8 +3103,7 @@ He also added the [try.sh](%%REPO_URL%%/2000/dhyang/try.sh) script.
</div>
[Cody](#cody) fixed this to compile with more recent perl versions; the symbol that's now
`PL_na` was once `na`. He notes that this entry crashes under macOS but it works
under Linux after this change.
`PL_na` was once `na`.
Cody also added the [try.sh](%%REPO_URL%%/2000/dlowe/try.sh) script.
@@ -3123,9 +3123,11 @@ includes of `Xlib.h` and `keysym.h`.
</div>
[Cody](#cody) fixed this for modern compilers. Depending on the compiler it would either
segfault when run or not compile at all (`gcc` and `clang` respectively).
segfault when run or not compile at all (`gcc` and `clang` respectively). The
compiler fix is due to `clang` being more strict about arg types to `main()`.
Cody also provided alternate code that supports the southern hemisphere.
Cody also provided [alternate code](%%REPO_URL%%/2000/natori/natori.alt.c) that
supports the southern hemisphere, based on the author's remarks.
Cody also provided the [try.sh](%%REPO_URL%%/2000/natori/try.sh) and
[try.alt.sh](%%REPO_URL%%/2000/natori/try.alt.sh) scripts that show the Moon phase in
@@ -3142,7 +3144,7 @@ like the original entry but with the two fixes.
Finally Cody fixed the Makefile that had the `-Wno-foo` options in the `CDEFINE`
variable which although works it is incongruent with the other Makefiles and is
more confusing (even if not confusing).
more confusing (though not really).
<div id="2000_primenum">
@@ -3176,8 +3178,9 @@ the screen with:
```
This was fixed by having the `scanf(3)` read in a string and then use `atoi(3)`
on it to assign to the `int`s, much like with `1987/lievaart`. The strings are
`char[5]` and the `%` specifier is `%4s` which is enough for the game.
on it to assign to the `int`s, much like with [1987/lievaart](#1987_lievaart).
The strings are `char[5]` and the `%` specifier is `%4s` which is enough for the
game.
<div id="2000_schneiderwent">
@@ -3195,14 +3198,18 @@ on it to assign to the `int`s, much like with `1987/lievaart`. The strings are
[Cody](#cody) fixed the code and added an appropriate make rule so that the
[SDL](https://www.libsdl.org) version works independent from the curses version
(using the same code).
(using the same code). See below for an interesting problem that occurred that
had to be resolved for SDL1.
Cody also added alt code to allow one to slow down the code. This code also, at
least for the curses mode, allows one to quit at any time by pressing 'q'. See
below for more details.
Cody also added [alt code](%%REPO_URL%%/2000/thadgavin/thadgavin.alt.c) to allow
one to slow down the code to get a better idea of what the program looked like
back in 2000, with modern systems. This code also, at least for the curses mode, allows
one to quit at any time by pressing 'q'. Note that this alternate version only
will impact the curses and the SDL versions as Cody does not have a DOS system
to test the other version in.
Due to a terrible design choice of the SDL1 developers something had to be
changed. As was noted in the log:
changed. As was noted in the log at the time:
```
The SDL version did not work for a number of reasons. First of all the
@@ -3227,19 +3234,13 @@ changed. As was noted in the log:
Thus main() was changed to 'int main(int argc, char **argv)'.
```
Cody also added an alternate version to help see what is going on in more modern
systems and in case you're sensitive to rapidly moving swirling. See the
index.html for details on that. Note that this alternate version only will impact
the curses and the SDL versions as Cody does not have a DOS system to test the
other version in.
<div id="2000_tomx">
## Winning entry: [2000/tomx](2000/tomx/index.html)
### Winning entry source code: [tomx.c](%%REPO_URL%%/2000/tomx//tomx.c)
</div>
[Cody](#cody) added the [alt code](2000/tomx/index.html#alternate-code) based on the
[Cody](#cody) added the [alt code](%%REPO_URL%%/2000/tomx/tomx.alt.c) based on the
author's remarks with a fix for modern systems and he also added the two
scripts, [try.sh](%%REPO_URL%%/2000/tomx/try.sh) and [try.alt.sh](%%REPO_URL%%/2000/tomx/try.alt.sh) for
the main code and the alt code respectively.
@@ -3249,7 +3250,7 @@ details) the source code is now executable by default.
<div id="2001">
# [2001](2001/index.html)
# [2001 - The 16th IOCCC](2001/index.html)
</div>
@@ -3262,7 +3263,7 @@ details) the source code is now executable by default.
segfaulted and once that was fixed only the binary was modified; it was not run
but according to the author's remarks it should be executed). He managed to do
this with Linux but it will not work with any system that does not allow one to
compile 32-bit ELF binaries. See [bugs.html](bugs.html#2001anonymous-readmemd) for
compile 32-bit ELF binaries. See [2001/anonymous in bugs.html](bugs.html#2001_anonymous) for
why this is; _this is **not** a bug, it's a feature_ inherent in what it does!
The following had to be done to fix this:
@@ -3273,7 +3274,8 @@ this prevented `main()` from entering an infinite recursive loop.
Without these it would crash and prevent modification of the 32-bit
[ELF](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format) (not elf :-) )
binary. But again see [bugs.html](bugs.html) here.
binary. But again see [2001/anonymous in bugs.html](bugs.html#2001_anonymous)
for this.
These also had to be done:
@@ -3333,12 +3335,13 @@ or to not use `git`:
make diff_orig_prog
```
Cody also added a [program](%%REPO_URL%%/2001/anonymous/anonymous.bed.c)
like [anonymous.ten.c](%%REPO_URL%%/2001/anonymous/anonymous.ten.c)
[Ten Green Bottles](https://en.wikipedia.org/wiki/Ten_Green_Bottles) but which
sings [Ten in the Bed](https://allnurseryrhymes.com/ten-in-the-bed/) instead.
Cody also added a [program](%%REPO_URL%%/2001/anonymous/anonymous.bed.c) like
[anonymous.ten.c](%%REPO_URL%%/2001/anonymous/anonymous.ten.c) which 'sings' the
lyrics to [Ten Green Bottles](https://en.wikipedia.org/wiki/Ten_Green_Bottles)
but which sings [Ten in the Bed](https://allnurseryrhymes.com/ten-in-the-bed/)
instead.
As well he added the [try.sh](%%REPO_URL%%/2001/anonymous/try.sh) so that one can
As well he added the [try.sh](%%REPO_URL%%/2001/anonymous/try.sh) script so that one can
attempt to use the program as it was designed but if compiling as 32-bit fails
it will at least run the supplementary program as a 64-bit program directly.
@@ -3576,7 +3579,7 @@ described in the index.html, based on the author's remarks.
<div id="2004">
# [2004](2004/index.html)
# [2004 - The 17th IOCCC](2004/index.html)
</div>
@@ -3867,7 +3870,7 @@ just to make it a bit easier to compile.
<div id="2005">
# [2005](2005/index.html)
# [2005 - The 18th IOCCC](2005/index.html)
</div>
@@ -4154,7 +4157,7 @@ if one runs it from another directory, specifying the directory, it'll not catch
<div id="2006">
# [2006](2006/index.html)
# [2006 - The 19th IOCCC](2006/index.html)
</div>
@@ -4351,7 +4354,7 @@ We're not able to test this.
<div id="2011">
# [2011](2011/index.html)
# [2011 - The 20th IOCCC](2011/index.html)
</div>
@@ -4523,7 +4526,7 @@ eventually dies.
<div id="2012">
# [2012](2012/index.html)
# [2012 - The 21st IOCCC](2012/index.html)
</div>
@@ -4739,7 +4742,7 @@ it easier for those who do not know how, and to make it more obvious to try it.
<div id="2013">
# [2013](2013/index.html)
# [2013 - The 22nd IOCCC](2013/index.html)
</div>
@@ -4995,7 +4998,7 @@ Cody also added the [try.sh](%%REPO_URL%%/2013/morgan1/try.sh) script.
<div id="2014">
# [2014](2014/index.html)
# [2014 - The 23rd IOCCC](2014/index.html)
</div>
@@ -5177,7 +5180,7 @@ output.
<div id="2015">
# [2015](2015/index.html)
# [2015 - The 24th IOCCC](2015/index.html)
</div>
@@ -5363,7 +5366,7 @@ He also added the [try.sh](%%REPO_URL%%/2015/yang/try.sh) script.
<div id="2018">
# [2018](2018/index.html)
# [2018 - The 25th IOCCC](2018/index.html)
</div>
@@ -5565,7 +5568,7 @@ if the user wants to see some of the spoilers and only show them if they type
<div id="2019">
# [2019](2019/index.html)
# [2019 - The 26th IOCCC](2019/index.html)
</div>
@@ -5787,7 +5790,7 @@ shouldn't) and adding the [ioccc.txt](2019/yang/ioccc.txt) file.
<div id="2020">
# [2020](2020/index.html)
# [2020 - The 27th IOCCC](2020/index.html)
</div>
@@ -5852,8 +5855,7 @@ If run from within vim a different error message occurred:
though this was only noticed later on after it was fixed.
What was wrong? A typo in the shebang which had `/usr/bin/end` instead of
`/usr/bin/env`. Anyone who knows Cody would know that he'd zoom in on that quite
quick.
`/usr/bin/env`.
Also if `clock` did not exist and one tried to run the script it would make an
invalid `clock.c` which meant it could not compile so it now runs `make clock`
@@ -5892,10 +5894,6 @@ files were renamed to `.html` from `.markdown`.
Most importantly he also added some corrections to the vital [Double
layered chocolate fudge cake recipe](2020/ferguson1/chocolate-cake.html) :-)
Yes the irony here is as rich as the chocolate cake: the question is do you know
how rich it is? If not and you like chocolate I (that is Cody :-) ) highly
recommend you give it a go! :-) You're welcome to ask me questions if you wish
and I encourage you to do so as the cake is quite picky!
<div id="2020_ferguson2">
@@ -5989,14 +5987,18 @@ more jumbled but we know of others too.
[Cody](#cody) added the [try.sh](%%REPO_URL%%/2020/kurdyukov4/try.sh) script.
Cody also added from [2019/mills](2019/mills/index.html) the text file
[Shakespeare.txt](2020/kurdyukov4/Shakespeare.txt) as we are considering to
have each entry have a tarball with the entry by itself.
[Shakespeare.txt](2020/kurdyukov4/Shakespeare.txt) as we now provide a tarball
of each entry by itself.
Also, to explain the confusing to most people award, Cody gave a quick
translation of `lámatyávë`, which comes from History of Middle-earth [HoMe],
volume X, Morgoth's Ring, which he also has (and which is part of the 12 volume
set by the late Christopher Tolkien, son and literary executor and heir to
J.R.R. Tolkien).
Also, as a fellow Tolkienist, to explain the confusing (to most people) award
title, Cody gave a quick translation of `lámatyávë`, which comes from [Morgoth's
Ring](https://en.wikipedia.org/wiki/Morgoth%27s_Ring), volume X of the 12
volume [History of
Middle-earth](https://en.wikipedia.org/wiki/The_History_of_Middle-earth) (known
to us Tolkienists as `HoMe`), which he naturally :-) has, by the late and great
[Christopher Tolkien](https://en.wikipedia.org/wiki/Christopher_Tolkien), son
and literary executor and heir to [J.R.R.
Tolkien](https://www.tolkienestate.com/life/biography/).
<div id="2020_otterness">
@@ -6145,7 +6147,7 @@ wish to **especially thank**.
### Authors
</div>
A good number of the [wining entries of the
A good number of the [winning entries of the
IOCCC](authors.html) tested, identified and helped correct
and/or improve the write-ups of fellow IOCCC entries for the year that they won.
The list of those entries is too long to mention: nevertheless the [IOCCC
@@ -6193,7 +6195,8 @@ from the SQL file).
Additionally Cody greatly improved the manifest of the winning entries and
checked that the generated html files, index.html and otherwise, look well and
presentable.
presentable and suggested a CSS rule for `<img>` to make images more responsive
on smaller screens.
**THANK YOU VERY MUCH** for your extensive efforts in helping improve the IOCCC
presentation of past IOCCC entries and fixing almost all past entries for modern