Merge pull request #2698 from xexyl/html2019

This commit is contained in:
Landon Curt Noll authored and GitHub committed 2024-10-15 15:37:38 -07:00
commit c01ffaf219
10 files changed
+83 -103

No files matched your search

+1 -1
View File
@@ -160,7 +160,7 @@ and the call with current continuation `c`.
is, how the state of the program is stored and how the Unlambda functions are is, how the state of the program is stored and how the Unlambda functions are
implemented. implemented.
More on this in the **Obfuscation** section. More on this in the [Obfuscation](#obfuscation) section.
### Build notes: ### Build notes:
+1 -1
View File
@@ -505,7 +505,7 @@ and the call with current continuation <code>c</code>.</li>
is, how the state of the program is stored and how the Unlambda functions are is, how the state of the program is stored and how the Unlambda functions are
implemented.</li> implemented.</li>
</ul> </ul>
<p>More on this in the <strong>Obfuscation</strong> section.</p> <p>More on this in the <a href="#obfuscation">Obfuscation</a> section.</p>
<h3 id="build-notes">Build notes:</h3> <h3 id="build-notes">Build notes:</h3>
<p>The program does not require any special treatment by compilers. Some warnings <p>The program does not require any special treatment by compilers. Some warnings
had to be suppressed when compiling with <code>-Wall -Wextra -pedantic</code>. Those were had to be suppressed when compiling with <code>-Wall -Wextra -pedantic</code>. Those were
+1 -1
View File
@@ -55,7 +55,7 @@ compresses differently? The judges know. :)
diff -s guidelines.txt guidelines2.txt diff -s guidelines.txt guidelines2.txt
``` ```
Of course you can also use [2015/mills2prog.c](%%REPO_URL%%/2015/mills2/prog.c) instead of Of course you can also use [2015/mills2](../../2015/mills2/index.html) instead of
`zcat` to verify the output file. The achieved compression ratio roughly matches `zcat` to verify the output file. The achieved compression ratio roughly matches
that of the classic Unix `compress(1)` tool. And the source code is very that of the classic Unix `compress(1)` tool. And the source code is very
compressed, too: It has exactly the same size as the paragraph you are reading compressed, too: It has exactly the same size as the paragraph you are reading
+1 -1
View File
@@ -432,7 +432,7 @@ compresses differently? The judges know. :)</p>
<h4 id="check-for-correctness">Check for correctness:</h4> <h4 id="check-for-correctness">Check for correctness:</h4>
<pre><code> zcat guidelines.txt.Z &gt; guidelines2.txt <pre><code> zcat guidelines.txt.Z &gt; guidelines2.txt
diff -s guidelines.txt guidelines2.txt</code></pre> diff -s guidelines.txt guidelines2.txt</code></pre>
<p>Of course you can also use <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/mills2/prog.c">2015/mills2prog.c</a> instead of <p>Of course you can also use <a href="../../2015/mills2/index.html">2015/mills2</a> instead of
<code>zcat</code> to verify the output file. The achieved compression ratio roughly matches <code>zcat</code> to verify the output file. The achieved compression ratio roughly matches
that of the classic Unix <code>compress(1)</code> tool. And the source code is very that of the classic Unix <code>compress(1)</code> tool. And the source code is very
compressed, too: It has exactly the same size as the paragraph you are reading compressed, too: It has exactly the same size as the paragraph you are reading
+4 -2
View File
@@ -43,7 +43,7 @@ the program and the script.
...This entry likely concludes the IOCCC category "Cellular automata simulators"; ...This entry likely concludes the IOCCC category "Cellular automata simulators";
it would be very hard to beat it on its field. it would be very hard to beat it on its field.
FYI: The `.mc` extension stands for `Golly macrocell` format. **FYI**: The `.mc` extension stands for `Golly macrocell` format.
We truly have not much more to add, except two things: We truly have not much more to add, except two things:
@@ -55,7 +55,9 @@ We truly have not much more to add, except two things:
model RAM, you'd want to reduce the value of the Z define in the Makefile model RAM, you'd want to reduce the value of the Z define in the Makefile
to `0x10000000`, otherwise the entry will promptly crash. To do this you can do: to `0x10000000`, otherwise the entry will promptly crash. To do this you can do:
make clobber MEMORY=0x10000000 all ``` <!---sh-->
make clobber MEMORY=0x10000000 all
```
Notice that that value must be a power of two! Notice that that value must be a power of two!
+4 -4
View File
@@ -430,7 +430,7 @@ the program and the script.</p>
<a href="../../2011/blakely/index.html">2011/blakely</a>, …</p> <a href="../../2011/blakely/index.html">2011/blakely</a>, …</p>
<p>…This entry likely concludes the IOCCC category “Cellular automata simulators”; <p>…This entry likely concludes the IOCCC category “Cellular automata simulators”;
it would be very hard to beat it on its field.</p> it would be very hard to beat it on its field.</p>
<p>FYI: The <code>.mc</code> extension stands for <code>Golly macrocell</code> format.</p> <p><strong>FYI</strong>: The <code>.mc</code> extension stands for <code>Golly macrocell</code> format.</p>
<p>We truly have not much more to add, except two things:</p> <p>We truly have not much more to add, except two things:</p>
<ul> <ul>
<li><p>If a large sparse pattern is given, at the start of the program <li><p>If a large sparse pattern is given, at the start of the program
@@ -438,10 +438,10 @@ you are much more likely to see a blank board rather than the loaded configurati
and to see it, you may need to zoom out a few times.</p></li> and to see it, you may need to zoom out a few times.</p></li>
<li><p>If you’re using a virtual machine with less than 4 Gb of available <li><p>If you’re using a virtual machine with less than 4 Gb of available
model RAM, you’d want to reduce the value of the Z define in the Makefile model RAM, you’d want to reduce the value of the Z define in the Makefile
to <code>0x10000000</code>, otherwise the entry will promptly crash. To do this you can do:</p> to <code>0x10000000</code>, otherwise the entry will promptly crash. To do this you can do:</p></li>
<p>make clobber MEMORY=0x10000000 all</p>
<p>Notice that that value must be a power of two!</p></li>
</ul> </ul>
<pre><code> make clobber MEMORY=0x10000000 all</code></pre>
<p>Notice that that value must be a power of two!</p>
<p>In the interest of saving lives, this entry was not fuzzed.</p> <p>In the interest of saving lives, this entry was not fuzzed.</p>
<h2 id="authors-remarks">Author’s remarks:</h2> <h2 id="authors-remarks">Author’s remarks:</h2>
<h3 id="what-is-it">What is it?</h3> <h3 id="what-is-it">What is it?</h3>
+3 -9
View File
@@ -129,22 +129,16 @@ file `poikola.pdf`. This requires the
An old wise man mumbled to me: An old wise man mumbled to me:
``` > Implement a program, which can calculate SHA-3 checksum for a file --
Implement a program, which can calculate SHA-3 checksum for a file --
```
I thought it was easy, but the wizard didn't stop yet: I thought it was easy, but the wizard didn't stop yet:
``` > and primes and Fibonacci numbers.
and primes and Fibonacci numbers.
```
Still easy. But the [Gandalf the Still easy. But the [Gandalf the
Grey](https://www.glyphweb.com/arda/g/gandalf.html) impersonator was not ready: Grey](https://www.glyphweb.com/arda/g/gandalf.html) impersonator was not ready:
``` > But use only `main()`, and do not use `math.h` nor predefined stuff at all.
But use only `main()`, and do not use `math.h` nor predefined stuff at all.
```
But wait, there are more rules: This work should reflect the extraordinary mind But wait, there are more rules: This work should reflect the extraordinary mind
of Matti Nyk&auml;nen, the all-time best [ski of Matti Nyk&auml;nen, the all-time best [ski
+9 -3
View File
@@ -472,12 +472,18 @@ file <code>poikola.pdf</code>. This requires the
<a href="https://en.wikipedia.org/wiki/PdfTeX">pdfTeX</a> tool.</p> <a href="https://en.wikipedia.org/wiki/PdfTeX">pdfTeX</a> tool.</p>
<h3 id="what-this-entry-does">What this entry does:</h3> <h3 id="what-this-entry-does">What this entry does:</h3>
<p>An old wise man mumbled to me:</p> <p>An old wise man mumbled to me:</p>
<pre><code> Implement a program, which can calculate SHA-3 checksum for a file --</code></pre> <blockquote>
<p>Implement a program, which can calculate SHA-3 checksum for a file –</p>
</blockquote>
<p>I thought it was easy, but the wizard didn’t stop yet:</p> <p>I thought it was easy, but the wizard didn’t stop yet:</p>
<pre><code> and primes and Fibonacci numbers.</code></pre> <blockquote>
<p>and primes and Fibonacci numbers.</p>
</blockquote>
<p>Still easy. But the <a href="https://www.glyphweb.com/arda/g/gandalf.html">Gandalf the <p>Still easy. But the <a href="https://www.glyphweb.com/arda/g/gandalf.html">Gandalf the
Grey</a> impersonator was not ready:</p> Grey</a> impersonator was not ready:</p>
<pre><code> But use only `main()`, and do not use `math.h` nor predefined stuff at all.</code></pre> <blockquote>
<p>But use only <code>main()</code>, and do not use <code>math.h</code> nor predefined stuff at all.</p>
</blockquote>
<p>But wait, there are more rules: This work should reflect the extraordinary mind <p>But wait, there are more rules: This work should reflect the extraordinary mind
of Matti Nykänen, the all-time best <a href="https://en.wikipedia.org/wiki/Matti_Nyk%C3%A4nen">ski of Matti Nykänen, the all-time best <a href="https://en.wikipedia.org/wiki/Matti_Nyk%C3%A4nen">ski
jumper</a> and <a href="http://telefinn.blogspot.com/2011/11/matti-nykanen-quotes.html">amateur jumper</a> and <a href="http://telefinn.blogspot.com/2011/11/matti-nykanen-quotes.html">amateur
+31 -38
View File
@@ -3186,17 +3186,16 @@ values but his implementation matches that of macOS and FreeBSD.</p>
<h3 id="status-inabiaf---please-do-not-fix-87">STATUS: INABIAF - please <strong>DO NOT</strong> fix</h3> <h3 id="status-inabiaf---please-do-not-fix-87">STATUS: INABIAF - please <strong>DO NOT</strong> fix</h3>
<h3 id="source-code-2019ciuraprog.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2019/ciura/prog.c">2019/ciura/prog.c</a></h3> <h3 id="source-code-2019ciuraprog.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2019/ciura/prog.c">2019/ciura/prog.c</a></h3>
<h3 id="information-2019ciuraindex.html">Information: <a href="2019/ciura/index.html">2019/ciura/index.html</a></h3> <h3 id="information-2019ciuraindex.html">Information: <a href="2019/ciura/index.html">2019/ciura/index.html</a></h3>
<p><a href="authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson</a> fixed the scripts so <p>The scripts were fixed so that they can work but it might end up that the
that they can work but it might end up that the scripts don’t show any output scripts don’t show any output anyway as they use the full alphabet. To test that
anyway as they use the full alphabet. To test that it works one can have a it works one can have a script like:</p>
script like:</p>
<pre><code> LC_ALL=C aäbcdefghijklmnoöpqrsßtuüvwxyz | LC_ALL=C grep .. | LC_ALL=de_DE.UTF-8 ./prog aäbcdefghijklmnoöpqrsßtuüvwxyz</code></pre> <pre><code> LC_ALL=C aäbcdefghijklmnoöpqrsßtuüvwxyz | LC_ALL=C grep .. | LC_ALL=de_DE.UTF-8 ./prog aäbcdefghijklmnoöpqrsßtuüvwxyz</code></pre>
<p>If you run this you should see:</p> <p>If you run this you should see:</p>
<pre><code> aäbcdefghijklmnoöpqrsßtuüvwxyz</code></pre> <pre><code> aäbcdefghijklmnoöpqrsßtuüvwxyz</code></pre>
<p>which shows it works. However as the de.sh script refers to all letters it can’t <p>which shows it works. However as the de.sh script refers to all letters it can’t
find a perfect pangram. BTW, as far as the question of whether the umlaut find a perfect pangram. BTW, as far as the question of whether the umlaut
letters or the Eszett are considered letters in the German alphabet, Cody noted letters or the Eszett are considered letters in the German alphabet, it is
in the de.sh/de.alt.sh scripts:</p> noted in the de.sh/de.alt.sh scripts:</p>
<pre><code> # Are the umlauts ä, ö, ü and Eszett (ß) letters in the German alphabet? There <pre><code> # Are the umlauts ä, ö, ü and Eszett (ß) letters in the German alphabet? There
# is more than one opinion on the subject but a lot of words do have an umlaut # is more than one opinion on the subject but a lot of words do have an umlaut
# (or Umlaut in German). In some (probably all) systems this script outputs # (or Umlaut in German). In some (probably all) systems this script outputs
@@ -3258,29 +3257,22 @@ touched either.</p>
<h3 id="source-code-2019karnsprog.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2019/karns/prog.c">2019/karns/prog.c</a></h3> <h3 id="source-code-2019karnsprog.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2019/karns/prog.c">2019/karns/prog.c</a></h3>
<h3 id="information-2019karnsindex.html">Information: <a href="2019/karns/index.html">2019/karns/index.html</a></h3> <h3 id="information-2019karnsindex.html">Information: <a href="2019/karns/index.html">2019/karns/index.html</a></h3>
<p>The author stated the following:</p> <p>The author stated the following:</p>
<pre><code> - The program must be ran in a terminal that supports ANSI <ul>
escape codes for moving the cursor and changing colors. <li>The program must be ran in a terminal that supports ANSI escape codes for
moving the cursor and changing colors.</li>
- Segfaults happen sometimes. <li>Segfaults happen sometimes.</li>
<li>I don’t know what memory management there is, if any.</li>
- I don&#39;t know what memory management there is, if any. <li>The program will not compile by an ANSI C compiler: it uses for loops, and it
uses C++ style comments. It should compile cleanly using a C99 standard.</li>
- The program will not compile by an ANSI C compiler: it uses <li>Breadth first search is slow (and very slow on certain maps), but my A star
for loops, and it uses C++ style comments. It should compile version of this program is too big.</li>
cleanly using a C99 standard. <li>Lots of extra whitespace may be needed if you want to feed in an arbitrary
file.</li>
- Breadth first search is slow (and very slow on certain maps), <li>It fails to compile on GCC sometimes (according to a friend of mine, I’ve not
but my A star version of this program is too big. encountered this myself).</li>
<li>The program could be obfuscated much further.</li>
- Lots of extra whitespace may be needed if you want to feed in <li>The program contains some unused code and data.</li>
an arbitrary file. </ul>
- It fails to compile on GCC sometimes (according to a friend
of mine, I&#39;ve not encountered this myself).
- The program could be obfuscated much further.
- The program contains some unused code and data.</code></pre>
<div id="2019_lynn"> <div id="2019_lynn">
<h2 id="lynn">2019/lynn</h2> <h2 id="lynn">2019/lynn</h2>
</div> </div>
@@ -3302,15 +3294,16 @@ file you should delete all the checkpoint files because the format depends on
both the network and the input – using the wrong checkpoint is likely to cause both the network and the input – using the wrong checkpoint is likely to cause
a crash.</p> a crash.</p>
<p>The author also wrote:</p> <p>The author also wrote:</p>
<pre><code> IMPORTANT NOTE: Since OMLET uses the system stack for network storage, <blockquote>
larger networks may cause OMLET to crash (typically with a message like <p>IMPORTANT NOTE: Since OMLET uses the system stack for network storage, larger
Segmentation fault) unless the system stack size is first increased. networks may cause OMLET to crash (typically with a message like Segmentation
The exact command for doing so depends on your shell and your system&#39;s fault) unless the system stack size is first increased. The exact command for
hard limits. On sh/ksh/bash shells, you can view the hard limit doing so depends on your shell and your system’s hard limits. On sh/ksh/bash
with ulimit -Hs and set it with ulimit -s 65532 (replacing 65532 shells, you can view the hard limit with ulimit -Hs and set it with ulimit -s
with the actual hard limit). On csh/tcsh shells, you can view 65532 (replacing 65532 with the actual hard limit). On csh/tcsh shells, you can
the hard limit with limit -h stacksize and set it with view the hard limit with limit -h stacksize and set it with limit stacksize
limit stacksize 65532 (replacing 65532 with the actual hard limit).</code></pre> 65532 (replacing 65532 with the actual hard limit).</p>
</blockquote>
<div id="2019_poikola"> <div id="2019_poikola">
<h2 id="poikola">2019/poikola</h2> <h2 id="poikola">2019/poikola</h2>
</div> </div>
+28 -43
View File
@@ -4012,10 +4012,9 @@ values but his implementation matches that of macOS and FreeBSD.
### Source code: [2019/ciura/prog.c](%%REPO_URL%%/2019/ciura/prog.c) ### Source code: [2019/ciura/prog.c](%%REPO_URL%%/2019/ciura/prog.c)
### Information: [2019/ciura/index.html](2019/ciura/index.html) ### Information: [2019/ciura/index.html](2019/ciura/index.html)
[Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) fixed the scripts so The scripts were fixed so that they can work but it might end up that the
that they can work but it might end up that the scripts don't show any output scripts don't show any output anyway as they use the full alphabet. To test that
anyway as they use the full alphabet. To test that it works one can have a it works one can have a script like:
script like:
``` <!---sh--> ``` <!---sh-->
LC_ALL=C aäbcdefghijklmnoöpqrsßtuüvwxyz | LC_ALL=C grep .. | LC_ALL=de_DE.UTF-8 ./prog aäbcdefghijklmnoöpqrsßtuüvwxyz LC_ALL=C aäbcdefghijklmnoöpqrsßtuüvwxyz | LC_ALL=C grep .. | LC_ALL=de_DE.UTF-8 ./prog aäbcdefghijklmnoöpqrsßtuüvwxyz
@@ -4029,10 +4028,10 @@ If you run this you should see:
which shows it works. However as the de.sh script refers to all letters it can't which shows it works. However as the de.sh script refers to all letters it can't
find a perfect pangram. BTW, as far as the question of whether the umlaut find a perfect pangram. BTW, as far as the question of whether the umlaut
letters or the Eszett are considered letters in the German alphabet, Cody noted letters or the Eszett are considered letters in the German alphabet, it is
in the de.sh/de.alt.sh scripts: noted in the de.sh/de.alt.sh scripts:
``` ``` <!---sh-->
# Are the umlauts ä, ö, ü and Eszett (ß) letters in the German alphabet? There # Are the umlauts ä, ö, ü and Eszett (ß) letters in the German alphabet? There
# is more than one opinion on the subject but a lot of words do have an umlaut # is more than one opinion on the subject but a lot of words do have an umlaut
# (or Umlaut in German). In some (probably all) systems this script outputs # (or Umlaut in German). In some (probably all) systems this script outputs
@@ -4127,31 +4126,20 @@ touched either.
The author stated the following: The author stated the following:
``` - The program must be ran in a terminal that supports ANSI escape codes for
- The program must be ran in a terminal that supports ANSI moving the cursor and changing colors.
escape codes for moving the cursor and changing colors. - Segfaults happen sometimes.
- I don't know what memory management there is, if any.
- Segfaults happen sometimes. - The program will not compile by an ANSI C compiler: it uses for loops, and it
uses C++ style comments. It should compile cleanly using a C99 standard.
- I don't know what memory management there is, if any. - Breadth first search is slow (and very slow on certain maps), but my A star
version of this program is too big.
- The program will not compile by an ANSI C compiler: it uses - Lots of extra whitespace may be needed if you want to feed in an arbitrary
for loops, and it uses C++ style comments. It should compile file.
cleanly using a C99 standard. - It fails to compile on GCC sometimes (according to a friend of mine, I've not
encountered this myself).
- Breadth first search is slow (and very slow on certain maps), - The program could be obfuscated much further.
but my A star version of this program is too big. - The program contains some unused code and data.
- Lots of extra whitespace may be needed if you want to feed in
an arbitrary file.
- It fails to compile on GCC sometimes (according to a friend
of mine, I've not encountered this myself).
- The program could be obfuscated much further.
- The program contains some unused code and data.
```
<div id="2019_lynn"> <div id="2019_lynn">
@@ -4183,17 +4171,14 @@ a crash.
The author also wrote: The author also wrote:
``` > IMPORTANT NOTE: Since OMLET uses the system stack for network storage, larger
IMPORTANT NOTE: Since OMLET uses the system stack for network storage, networks may cause OMLET to crash (typically with a message like Segmentation
larger networks may cause OMLET to crash (typically with a message like fault) unless the system stack size is first increased. The exact command for
Segmentation fault) unless the system stack size is first increased. doing so depends on your shell and your system's hard limits. On sh/ksh/bash
The exact command for doing so depends on your shell and your system's shells, you can view the hard limit with ulimit -Hs and set it with ulimit -s
hard limits. On sh/ksh/bash shells, you can view the hard limit 65532 (replacing 65532 with the actual hard limit). On csh/tcsh shells, you can
with ulimit -Hs and set it with ulimit -s 65532 (replacing 65532 view the hard limit with limit -h stacksize and set it with limit stacksize
with the actual hard limit). On csh/tcsh shells, you can view 65532 (replacing 65532 with the actual hard limit).
the hard limit with limit -h stacksize and set it with
limit stacksize 65532 (replacing 65532 with the actual hard limit).
```
<div id="2019_poikola"> <div id="2019_poikola">
## 2019/poikola ## 2019/poikola