Merge pull request #2698 from xexyl/html2019
This commit is contained in:
10 files changed
+83
-103
No files matched your search
@@ -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
|
||||
implemented.
|
||||
|
||||
More on this in the **Obfuscation** section.
|
||||
More on this in the [Obfuscation](#obfuscation) section.
|
||||
|
||||
|
||||
### Build notes:
|
||||
|
||||
@@ -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
|
||||
implemented.</li>
|
||||
</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>
|
||||
<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
|
||||
|
||||
@@ -55,7 +55,7 @@ compresses differently? The judges know. :)
|
||||
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
|
||||
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
|
||||
|
||||
@@ -432,7 +432,7 @@ compresses differently? The judges know. :)</p>
|
||||
<h4 id="check-for-correctness">Check for correctness:</h4>
|
||||
<pre><code> zcat guidelines.txt.Z > guidelines2.txt
|
||||
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
|
||||
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
|
||||
|
||||
@@ -43,7 +43,7 @@ the program and the script.
|
||||
...This entry likely concludes the IOCCC category "Cellular automata simulators";
|
||||
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:
|
||||
|
||||
@@ -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
|
||||
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!
|
||||
|
||||
|
||||
@@ -430,7 +430,7 @@ the program and the script.</p>
|
||||
<a href="../../2011/blakely/index.html">2011/blakely</a>, …</p>
|
||||
<p>…This entry likely concludes the IOCCC category “Cellular automata simulators”;
|
||||
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>
|
||||
<ul>
|
||||
<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>
|
||||
<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
|
||||
to <code>0x10000000</code>, otherwise the entry will promptly crash. To do this you can do:</p>
|
||||
<p>make clobber MEMORY=0x10000000 all</p>
|
||||
<p>Notice that that value must be a power of two!</p></li>
|
||||
to <code>0x10000000</code>, otherwise the entry will promptly crash. To do this you can do:</p></li>
|
||||
</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>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
<h3 id="what-is-it">What is it?</h3>
|
||||
|
||||
@@ -129,22 +129,16 @@ file `poikola.pdf`. This requires the
|
||||
|
||||
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:
|
||||
|
||||
```
|
||||
and primes and Fibonacci numbers.
|
||||
```
|
||||
> and primes and Fibonacci numbers.
|
||||
|
||||
Still easy. But the [Gandalf the
|
||||
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
|
||||
of Matti Nykänen, the all-time best [ski
|
||||
|
||||
@@ -472,12 +472,18 @@ file <code>poikola.pdf</code>. This requires the
|
||||
<a href="https://en.wikipedia.org/wiki/PdfTeX">pdfTeX</a> tool.</p>
|
||||
<h3 id="what-this-entry-does">What this entry does:</h3>
|
||||
<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>
|
||||
<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
|
||||
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
|
||||
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
|
||||
|
||||
@@ -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="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>
|
||||
<p><a href="authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson</a> fixed the scripts so
|
||||
that they can work but it might end up that the scripts don’t show any output
|
||||
anyway as they use the full alphabet. To test that it works one can have a
|
||||
script like:</p>
|
||||
<p>The scripts were fixed so that they can work but it might end up that the
|
||||
scripts don’t show any output anyway as they use the full alphabet. To test that
|
||||
it works one can have a 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>
|
||||
<p>If you run this you should see:</p>
|
||||
<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
|
||||
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
|
||||
in the de.sh/de.alt.sh scripts:</p>
|
||||
letters or the Eszett are considered letters in the German alphabet, it is
|
||||
noted in the de.sh/de.alt.sh scripts:</p>
|
||||
<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
|
||||
# (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="information-2019karnsindex.html">Information: <a href="2019/karns/index.html">2019/karns/index.html</a></h3>
|
||||
<p>The author stated the following:</p>
|
||||
<pre><code> - The program must be ran in a terminal that supports ANSI
|
||||
escape codes for moving the cursor and changing colors.
|
||||
|
||||
- Segfaults happen sometimes.
|
||||
|
||||
- I don't know what memory management there is, if any.
|
||||
|
||||
- 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.
|
||||
|
||||
- Breadth first search is slow (and very slow on certain maps),
|
||||
but my A star version of this program is too big.
|
||||
|
||||
- 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.</code></pre>
|
||||
<ul>
|
||||
<li>The program must be ran in a terminal that supports ANSI escape codes for
|
||||
moving the cursor and changing colors.</li>
|
||||
<li>Segfaults happen sometimes.</li>
|
||||
<li>I don’t know what memory management there is, if any.</li>
|
||||
<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>
|
||||
<li>Breadth first search is slow (and very slow on certain maps), but my A star
|
||||
version of this program is too big.</li>
|
||||
<li>Lots of extra whitespace may be needed if you want to feed in an arbitrary
|
||||
file.</li>
|
||||
<li>It fails to compile on GCC sometimes (according to a friend of mine, I’ve not
|
||||
encountered this myself).</li>
|
||||
<li>The program could be obfuscated much further.</li>
|
||||
<li>The program contains some unused code and data.</li>
|
||||
</ul>
|
||||
<div id="2019_lynn">
|
||||
<h2 id="lynn">2019/lynn</h2>
|
||||
</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
|
||||
a crash.</p>
|
||||
<p>The author also wrote:</p>
|
||||
<pre><code> IMPORTANT NOTE: Since OMLET uses the system stack for network storage,
|
||||
larger networks may cause OMLET to crash (typically with a message like
|
||||
Segmentation fault) unless the system stack size is first increased.
|
||||
The exact command for doing so depends on your shell and your system's
|
||||
hard limits. On sh/ksh/bash shells, you can view the hard limit
|
||||
with ulimit -Hs and set it with ulimit -s 65532 (replacing 65532
|
||||
with the actual hard limit). On csh/tcsh shells, you can view
|
||||
the hard limit with limit -h stacksize and set it with
|
||||
limit stacksize 65532 (replacing 65532 with the actual hard limit).</code></pre>
|
||||
<blockquote>
|
||||
<p>IMPORTANT NOTE: Since OMLET uses the system stack for network storage, larger
|
||||
networks may cause OMLET to crash (typically with a message like Segmentation
|
||||
fault) unless the system stack size is first increased. The exact command for
|
||||
doing so depends on your shell and your system’s hard limits. On sh/ksh/bash
|
||||
shells, you can view the hard limit with ulimit -Hs and set it with ulimit -s
|
||||
65532 (replacing 65532 with the actual hard limit). On csh/tcsh shells, you can
|
||||
view the hard limit with limit -h stacksize and set it with limit stacksize
|
||||
65532 (replacing 65532 with the actual hard limit).</p>
|
||||
</blockquote>
|
||||
<div id="2019_poikola">
|
||||
<h2 id="poikola">2019/poikola</h2>
|
||||
</div>
|
||||
|
||||
@@ -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)
|
||||
### Information: [2019/ciura/index.html](2019/ciura/index.html)
|
||||
|
||||
[Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) fixed the scripts so
|
||||
that they can work but it might end up that the scripts don't show any output
|
||||
anyway as they use the full alphabet. To test that it works one can have a
|
||||
script like:
|
||||
The scripts were fixed so that they can work but it might end up that the
|
||||
scripts don't show any output anyway as they use the full alphabet. To test that
|
||||
it works one can have a script like:
|
||||
|
||||
``` <!---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
|
||||
@@ -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
|
||||
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
|
||||
in the de.sh/de.alt.sh scripts:
|
||||
letters or the Eszett are considered letters in the German alphabet, it is
|
||||
noted in the de.sh/de.alt.sh scripts:
|
||||
|
||||
```
|
||||
``` <!---sh-->
|
||||
# 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
|
||||
# (or Umlaut in German). In some (probably all) systems this script outputs
|
||||
@@ -4127,31 +4126,20 @@ touched either.
|
||||
|
||||
The author stated the following:
|
||||
|
||||
```
|
||||
- The program must be ran in a terminal that supports ANSI
|
||||
escape codes for moving the cursor and changing colors.
|
||||
|
||||
- Segfaults happen sometimes.
|
||||
|
||||
- I don't know what memory management there is, if any.
|
||||
|
||||
- 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.
|
||||
|
||||
- Breadth first search is slow (and very slow on certain maps),
|
||||
but my A star version of this program is too big.
|
||||
|
||||
- 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.
|
||||
```
|
||||
- The program must be ran in a terminal that supports ANSI escape codes for
|
||||
moving the cursor and changing colors.
|
||||
- Segfaults happen sometimes.
|
||||
- I don't know what memory management there is, if any.
|
||||
- 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.
|
||||
- Breadth first search is slow (and very slow on certain maps), but my A star
|
||||
version of this program is too big.
|
||||
- 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">
|
||||
@@ -4183,17 +4171,14 @@ a crash.
|
||||
|
||||
The author also wrote:
|
||||
|
||||
```
|
||||
IMPORTANT NOTE: Since OMLET uses the system stack for network storage,
|
||||
larger networks may cause OMLET to crash (typically with a message like
|
||||
Segmentation fault) unless the system stack size is first increased.
|
||||
The exact command for doing so depends on your shell and your system's
|
||||
hard limits. On sh/ksh/bash shells, you can view the hard limit
|
||||
with ulimit -Hs and set it with ulimit -s 65532 (replacing 65532
|
||||
with the actual hard limit). On csh/tcsh shells, you can view
|
||||
the hard limit with limit -h stacksize and set it with
|
||||
limit stacksize 65532 (replacing 65532 with the actual hard limit).
|
||||
```
|
||||
> IMPORTANT NOTE: Since OMLET uses the system stack for network storage, larger
|
||||
networks may cause OMLET to crash (typically with a message like Segmentation
|
||||
fault) unless the system stack size is first increased. The exact command for
|
||||
doing so depends on your shell and your system's hard limits. On sh/ksh/bash
|
||||
shells, you can view the hard limit with ulimit -Hs and set it with ulimit -s
|
||||
65532 (replacing 65532 with the actual hard limit). On csh/tcsh shells, you can
|
||||
view 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">
|
||||
## 2019/poikola
|
||||
|
||||
Reference in new issue
Block a user