replace old ASCII > style with markdown code blocks

This commit is contained in:
Landon Curt Noll committed 2024-04-17 00:45:05 -07:00
1 parent 4c3649a3c1
commit e695c5cf03
45 files changed
+437 -480

No files matched your search

+1 -1
View File
@@ -386,7 +386,7 @@ format randomly. So we wrote a program to choose an appropriate format at
random. The program we wrote for that follows. This program actually also random. The program we wrote for that follows. This program actually also
extracted the machine code from the object file. extracted the machine code from the object file.
> NOTE from judges: see [gentab.c](gentab.c) for a copy of this file that can be NOTE from judges: see [gentab.c](gentab.c) for a copy of this file that can be
compiled in modern systems. compiled in modern systems.
``` <!---c--> ``` <!---c-->
-2
View File
@@ -434,10 +434,8 @@ formats for each constant in the resulting array, and we wanted to choose the
format randomly. So we wrote a program to choose an appropriate format at format randomly. So we wrote a program to choose an appropriate format at
random. The program we wrote for that follows. This program actually also random. The program we wrote for that follows. This program actually also
extracted the machine code from the object file.</p> extracted the machine code from the object file.</p>
<blockquote>
<p>NOTE from judges: see <a href="gentab.c">gentab.c</a> for a copy of this file that can be <p>NOTE from judges: see <a href="gentab.c">gentab.c</a> for a copy of this file that can be
compiled in modern systems.</p> compiled in modern systems.</p>
</blockquote>
<pre><code> #include &lt;stdio.h&gt; <pre><code> #include &lt;stdio.h&gt;
#include &lt;a.out.h&gt; #include &lt;a.out.h&gt;
+1 -1
View File
@@ -19,7 +19,7 @@ out. See [alternate code](#alternate-code) below for more details.
This version was described by the author like: This version was described by the author like:
> I could have squeezed the program under 1024 bytes without the I could have squeezed the program under 1024 bytes without the
trace subroutine, but I felt it was important for understanding trace subroutine, but I felt it was important for understanding
the program. Besides it is fun to watch the tape zooming back the program. Besides it is fun to watch the tape zooming back
and forth as the program runs. A much better debugger or trace and forth as the program runs. A much better debugger or trace
-2
View File
@@ -158,13 +158,11 @@ out. See <a href="#alternate-code">alternate code</a> below for more details.</p
<pre><code> ./paul</code></pre> <pre><code> ./paul</code></pre>
<h2 id="alternate-code">Alternate code:</h2> <h2 id="alternate-code">Alternate code:</h2>
<p>This version was described by the author like:</p> <p>This version was described by the author like:</p>
<blockquote>
<p>I could have squeezed the program under 1024 bytes without the <p>I could have squeezed the program under 1024 bytes without the
trace subroutine, but I felt it was important for understanding trace subroutine, but I felt it was important for understanding
the program. Besides it is fun to watch the tape zooming back the program. Besides it is fun to watch the tape zooming back
and forth as the program runs. A much better debugger or trace and forth as the program runs. A much better debugger or trace
could easily be added.</p> could easily be added.</p>
</blockquote>
<h3 id="alternate-build">Alternate build:</h3> <h3 id="alternate-build">Alternate build:</h3>
<pre><code> make alt</code></pre> <pre><code> make alt</code></pre>
<h3 id="alternate-use">Alternate use:</h3> <h3 id="alternate-use">Alternate use:</h3>
+4 -6
View File
@@ -69,13 +69,11 @@ Universities Space Research Association<br>
NASA Ames Research Center NASA Ames Research Center
--- ```
"Use an algorithm, go to jail."
> "Use an algorithm, go to jail." -- anon., circa 1988, pre-[Morris worm](https://en.wikipedia.org/wiki/Morris_worm) era
> ```
> -- anon., circa 1988, pre-[Morris worm](https://en.wikipedia.org/wiki/Morris_worm) era
----
Myriad formats have been proposed for network-mailable data. A major difficulty Myriad formats have been proposed for network-mailable data. A major difficulty
+3 -6
View File
@@ -193,12 +193,9 @@ directory it is run from.</p>
<p>James A. Woods<br> <p>James A. Woods<br>
Universities Space Research Association<br> Universities Space Research Association<br>
NASA Ames Research Center</p> NASA Ames Research Center</p>
<hr /> <pre><code> &quot;Use an algorithm, go to jail.&quot;
<blockquote>
<p>“Use an algorithm, go to jail.”</p> -- anon., circa 1988, pre-[Morris worm](https://en.wikipedia.org/wiki/Morris_worm) era</code></pre>
<p>– anon., circa 1988, pre-<a href="https://en.wikipedia.org/wiki/Morris_worm">Morris worm</a> era</p>
</blockquote>
<hr />
<p>Myriad formats have been proposed for network-mailable data. A major difficulty <p>Myriad formats have been proposed for network-mailable data. A major difficulty
undermining the popularity of most file/message bundlers is that the sender undermining the popularity of most file/message bundlers is that the sender
assumes prior installation of the computational dual of such bundling software assumes prior installation of the computational dual of such bundling software
+3 -1
View File
@@ -59,7 +59,9 @@ to functions!
This program prints out the string: This program prints out the string:
> the quick brown fox jumped over the lazy dog ```
the quick brown fox jumped over the lazy dog
```
## Author's remarks: ## Author's remarks:
+1 -3
View File
@@ -176,9 +176,7 @@ it is done?</p>
to functions!</p> to functions!</p>
<h3 id="spoiler">Spoiler:</h3> <h3 id="spoiler">Spoiler:</h3>
<p>This program prints out the string:</p> <p>This program prints out the string:</p>
<blockquote> <pre><code> the quick brown fox jumped over the lazy dog</code></pre>
<p>the quick brown fox jumped over the lazy dog</p>
</blockquote>
<h2 id="authors-remarks">Author’s remarks:</h2> <h2 id="authors-remarks">Author’s remarks:</h2>
<p>It is simple to make the program print other strings. Each <p>It is simple to make the program print other strings. Each
alphabetical character from a to z is printed out as its alphabetical character from a to z is printed out as its
+6 -4
View File
@@ -28,10 +28,12 @@ ISO character set.
The Author sent us this note after he was informed that he won: The Author sent us this note after he was informed that he won:
> Although I am quite grateful for the "ANSI Committee's Worst Abuse of C" title ```
> (were you aware that I am a member of the committee or is the double meaning Although I am quite grateful for the "ANSI Committee's Worst Abuse of C" title
> unintentional?), I was really hoping for something more along the lines of (were you aware that I am a member of the committee or is the double meaning
> "Closest Resemblance to Line Noise." :-) unintentional?), I was really hoping for something more along the lines of
"Closest Resemblance to Line Noise." :-)
```
... it was unintentional. ... it was unintentional.
+4 -6
View File
@@ -162,12 +162,10 @@ was a dark and stormy night for C when the ANSI C committee added trigraphs to
the standard. Too bad that they didn’t just simply require a more reasonable the standard. Too bad that they didn’t just simply require a more reasonable
ISO character set.</p> ISO character set.</p>
<p>The Author sent us this note after he was informed that he won:</p> <p>The Author sent us this note after he was informed that he won:</p>
<blockquote> <pre><code> Although I am quite grateful for the &quot;ANSI Committee&#39;s Worst Abuse of C&quot; title
<p>Although I am quite grateful for the “ANSI Committee’s Worst Abuse of C” title (were you aware that I am a member of the committee or is the double meaning
(were you aware that I am a member of the committee or is the double meaning unintentional?), I was really hoping for something more along the lines of
unintentional?), I was really hoping for something more along the lines of &quot;Closest Resemblance to Line Noise.&quot; :-)</code></pre>
“Closest Resemblance to Line Noise.” :-)</p>
</blockquote>
<p>… it was unintentional.</p> <p>… it was unintentional.</p>
<h2 id="authors-remarks">Author’s remarks:</h2> <h2 id="authors-remarks">Author’s remarks:</h2>
<p>Since this year’s contest is dedicated to ANSI C, here is a strictly conforming <p>Since this year’s contest is dedicated to ANSI C, here is a strictly conforming
+3 -1
View File
@@ -257,7 +257,9 @@ many seconds.
If either `adbasename` or `adsleep` is invoked with too few parameters, If either `adbasename` or `adsleep` is invoked with too few parameters,
the program will print the error message: the program will print the error message:
> Segmentation fault (core dumped) ```
Segmentation fault (core dumped)
```
(The exact text of the above error messages varies from machine to (The exact text of the above error messages varies from machine to
machine.) The four programs which read from stdin require lines machine.) The four programs which read from stdin require lines
+1 -3
View File
@@ -286,9 +286,7 @@ command. Invoke with a single integer parameter, and it will pause for that
many seconds.</p> many seconds.</p>
<p>If either <code>adbasename</code> or <code>adsleep</code> is invoked with too few parameters, <p>If either <code>adbasename</code> or <code>adsleep</code> is invoked with too few parameters,
the program will print the error message:</p> the program will print the error message:</p>
<blockquote> <pre><code> Segmentation fault (core dumped)</code></pre>
<p>Segmentation fault (core dumped)</p>
</blockquote>
<p>(The exact text of the above error messages varies from machine to <p>(The exact text of the above error messages varies from machine to
machine.) The four programs which read from stdin require lines machine.) The four programs which read from stdin require lines
shorter than 999 characters.</p> shorter than 999 characters.</p>
+4 -2
View File
@@ -61,8 +61,10 @@ this program. Note that this alt file is currently missing. See
The basic theme (pun) of this program is: The basic theme (pun) of this program is:
> "This time (everything) is not where it should be." ```
> ~~~~ "This time (everything) is not where it should be."
~~~~
```
My entry ([shapiro.c](shapiro.c)) is mostly comments, formatted in the shape of a My entry ([shapiro.c](shapiro.c)) is mostly comments, formatted in the shape of a
+2 -4
View File
@@ -181,10 +181,8 @@ this program. Note that this alt file is currently missing. See
<a href="../../bugs.html#1994_shapiro">1994 shapiro bugs</a> for details.</p> <a href="../../bugs.html#1994_shapiro">1994 shapiro bugs</a> for details.</p>
<h2 id="authors-remarks">Author’s remarks:</h2> <h2 id="authors-remarks">Author’s remarks:</h2>
<p>The basic theme (pun) of this program is:</p> <p>The basic theme (pun) of this program is:</p>
<blockquote> <pre><code> &quot;This time (everything) is not where it should be.&quot;
<p>“This time (everything) is not where it should be.” ~~~~</code></pre>
~~~~</p>
</blockquote>
<p>My entry (<a href="shapiro.c">shapiro.c</a>) is mostly comments, formatted in the shape of a <p>My entry (<a href="shapiro.c">shapiro.c</a>) is mostly comments, formatted in the shape of a
clock. If you strip out the comments and look at the code you will clock. If you strip out the comments and look at the code you will
quickly realize that the comments were the important part and that quickly realize that the comments were the important part and that
+3 -1
View File
@@ -53,7 +53,9 @@ keeping the program portable between different encodings
This entry displays the current time to the console, for example: This entry displays the current time to the console, for example:
> it's just after ten 'til 6 in the evening ```
it's just after ten 'til 6 in the evening
```
FWIW, none of the compilers with which this entry was tested issued FWIW, none of the compilers with which this entry was tested issued
any warnings or errors in compiling the source for this entry. No any warnings or errors in compiling the source for this entry. No
+1 -3
View File
@@ -175,9 +175,7 @@ keeping the program portable between different encodings
(Chinese, Japanese, Russian - anyone?) may be an entertaining task.</p> (Chinese, Japanese, Russian - anyone?) may be an entertaining task.</p>
<h2 id="authors-remarks">Author’s remarks:</h2> <h2 id="authors-remarks">Author’s remarks:</h2>
<p>This entry displays the current time to the console, for example:</p> <p>This entry displays the current time to the console, for example:</p>
<blockquote> <pre><code> it&#39;s just after ten &#39;til 6 in the evening</code></pre>
<p>it’s just after ten ’til 6 in the evening</p>
</blockquote>
<p>FWIW, none of the compilers with which this entry was tested issued <p>FWIW, none of the compilers with which this entry was tested issued
any warnings or errors in compiling the source for this entry. No any warnings or errors in compiling the source for this entry. No
doubt lint will complain about the goto statements.</p> doubt lint will complain about the goto statements.</p>
+3 -1
View File
@@ -58,7 +58,9 @@ To listen to what the program says directly, invoke
The program then speaks out something like The program then speaks out something like
> The time is HH hours MM minutes SS seconds ```
The time is HH hours MM minutes SS seconds
```
in military time (24 hours). Of course, you need to have permissions in military time (24 hours). Of course, you need to have permissions
to write to `/dev/audio`, have your sound card enabled, the volume up, to write to `/dev/audio`, have your sound card enabled, the volume up,
+1 -3
View File
@@ -182,9 +182,7 @@ that can do sound, as a lowest-denominator sound I/O interface.</p>
<p>To listen to what the program says directly, invoke</p> <p>To listen to what the program says directly, invoke</p>
<pre><code> ./coupard &gt; /dev/audio</code></pre> <pre><code> ./coupard &gt; /dev/audio</code></pre>
<p>The program then speaks out something like</p> <p>The program then speaks out something like</p>
<blockquote> <pre><code> The time is HH hours MM minutes SS seconds</code></pre>
<p>The time is HH hours MM minutes SS seconds</p>
</blockquote>
<p>in military time (24 hours). Of course, you need to have permissions <p>in military time (24 hours). Of course, you need to have permissions
to write to <code>/dev/audio</code>, have your sound card enabled, the volume up, to write to <code>/dev/audio</code>, have your sound card enabled, the volume up,
the speakers connected … :-)</p> the speakers connected … :-)</p>
+4 -2
View File
@@ -62,8 +62,10 @@ some circumflexes missing! That's okay though due to I/O of the entry and in
earlier drafts sometimes the û had no diacritic but H after the `u` in earlier drafts sometimes the û had no diacritic but H after the `u` in
it. The real text is: it. The real text is:
> Ash nazg durbatulûk, ash nazg gimbatul, ash nazg thrakatulûk, agh ```
> burzum-ishi krimpatul. Ash nazg durbatulûk, ash nazg gimbatul, ash nazg thrakatulûk, agh
burzum-ishi krimpatul.
```
which when translated from [Black which when translated from [Black
Speech](https://www.glyphweb.com/arda/b/blackspeech.html) means: Speech](https://www.glyphweb.com/arda/b/blackspeech.html) means:
+2 -4
View File
@@ -189,10 +189,8 @@ You’ll find out the source of the text above though you’ll see that there ar
some circumflexes missing! That’s okay though due to I/O of the entry and in some circumflexes missing! That’s okay though due to I/O of the entry and in
earlier drafts sometimes the û had no diacritic but H after the <code>u</code> in earlier drafts sometimes the û had no diacritic but H after the <code>u</code> in
it. The real text is:</p> it. The real text is:</p>
<blockquote> <pre><code> Ash nazg durbatulûk, ash nazg gimbatul, ash nazg thrakatulûk, agh
<p>Ash nazg durbatulûk, ash nazg gimbatul, ash nazg thrakatulûk, agh burzum-ishi krimpatul.</code></pre>
burzum-ishi krimpatul.</p>
</blockquote>
<p>which when translated from <a href="https://www.glyphweb.com/arda/b/blackspeech.html">Black <p>which when translated from <a href="https://www.glyphweb.com/arda/b/blackspeech.html">Black
Speech</a> means:</p> Speech</a> means:</p>
<pre><code> [One Ring](https://www.glyphweb.com/arda/o/onering.html) to rule them all, <pre><code> [One Ring](https://www.glyphweb.com/arda/o/onering.html) to rule them all,
+2 -2
View File
@@ -95,7 +95,7 @@ Yes, the test suite really is 5 times larger than the actual program. You
`./sudoku-sf`. If you rename it, please change the definition of `$sf_exe` to the `./sudoku-sf`. If you rename it, please change the definition of `$sf_exe` to the
new name. new name.
> Judges' note: this was done. **Judges' note**: this was done.
### Legal blurb ### Legal blurb
@@ -150,7 +150,7 @@ Now, with modern computers this **can** be solved using brute force, e.g.:
:n%27?"\n":n%81?"\n------+-------+------\n":"\n\n"));}return z;} :n%27?"\n":n%81?"\n------+-------+------\n":"\n\n"));}return z;}
``` ```
> Judges' note: this was added as [aidan.alt.c](aidan.alt.c). **Judges' note**: this was added as [aidan.alt.c](aidan.alt.c).
That isn't the approach I've used; it's slow (particularly in worst-case or That isn't the approach I've used; it's slow (particularly in worst-case or
nearly so scenarios), inelegant, and not a good starting point for sudoku nearly so scenarios), inelegant, and not a good starting point for sudoku
+2 -6
View File
@@ -201,9 +201,7 @@ generate new ones.</p>
<p><a href="test-su.perl">test.perl</a> expects the <code>sudoku-sf</code> executable to be <p><a href="test-su.perl">test.perl</a> expects the <code>sudoku-sf</code> executable to be
<code>./sudoku-sf</code>. If you rename it, please change the definition of <code>$sf_exe</code> to the <code>./sudoku-sf</code>. If you rename it, please change the definition of <code>$sf_exe</code> to the
new name.</p> new name.</p>
<blockquote> <p><strong>Judges’ note</strong>: this was done.</p>
<p>Judges’ note: this was done.</p>
</blockquote>
<h3 id="legal-blurb">Legal blurb</h3> <h3 id="legal-blurb">Legal blurb</h3>
<p>This program comes with NO WARRANTY, not even that it’ll do what I say it <p>This program comes with NO WARRANTY, not even that it’ll do what I say it
should. Any misfortunes that occur as a result of using this are not my fault. should. Any misfortunes that occur as a result of using this are not my fault.
@@ -241,9 +239,7 @@ Telegraph</a>, a UK newspaper.</p>
d;for(n=p;i[++p];);s[p]=n;i[p]=1;goto f;d:z=p&lt;81;printf(&quot;\n%s!\n\n&quot;,z?&quot;Fail&quot;: d;for(n=p;i[++p];);s[p]=n;i[p]=1;goto f;d:z=p&lt;81;printf(&quot;\n%s!\n\n&quot;,z?&quot;Fail&quot;:
&quot;Success&quot;);for(n=0;n&lt;81;){p=i[n];printf(&quot;%c %s&quot;,(p?p|48:&#39;.&#39;),(++n%3?&quot;&quot;:n%9?&quot;| &quot; &quot;Success&quot;);for(n=0;n&lt;81;){p=i[n];printf(&quot;%c %s&quot;,(p?p|48:&#39;.&#39;),(++n%3?&quot;&quot;:n%9?&quot;| &quot;
:n%27?&quot;\n&quot;:n%81?&quot;\n------+-------+------\n&quot;:&quot;\n\n&quot;));}return z;}</code></pre> :n%27?&quot;\n&quot;:n%81?&quot;\n------+-------+------\n&quot;:&quot;\n\n&quot;));}return z;}</code></pre>
<blockquote> <p><strong>Judges’ note</strong>: this was added as <a href="aidan.alt.c">aidan.alt.c</a>.</p>
<p>Judges’ note: this was added as <a href="aidan.alt.c">aidan.alt.c</a>.</p>
</blockquote>
<p>That isn’t the approach I’ve used; it’s slow (particularly in worst-case or <p>That isn’t the approach I’ve used; it’s slow (particularly in worst-case or
nearly so scenarios), inelegant, and not a good starting point for sudoku nearly so scenarios), inelegant, and not a good starting point for sudoku
generation. It’s also much too easy to understand ;-) Instead, I’ve written a generation. It’s also much too easy to understand ;-) Instead, I’ve written a
+2 -2
View File
@@ -108,7 +108,7 @@ factors.
Therefore this entry is limited to Therefore this entry is limited to
> ![floor\bigg(\frac{10^6}{4\times(sizeof(double)+1)}-1\bigg)](eqn.png) ![floor\bigg(\frac{10^6}{4\times(sizeof(double)+1)}-1\bigg)](eqn.png)
points and won't even be suitable for more than a few thousand; although points and won't even be suitable for more than a few thousand; although
generated files did pass the [W3C SVG generated files did pass the [W3C SVG
@@ -181,7 +181,7 @@ viewport and potentially every
### Example Output ### Example Output
> ![Voronoi diagram of two regular pentagon vertices](Voronoi.png) ![Voronoi diagram of two regular pentagon vertices](Voronoi.png)
<!-- <!--
-4
View File
@@ -209,12 +209,10 @@ hard to qualify under the IOCCC size limit. So guess what I did? A compromise
favoring innermost obfuscation, sacrificing sometimes speed and other tedious favoring innermost obfuscation, sacrificing sometimes speed and other tedious
factors.</p> factors.</p>
<p>Therefore this entry is limited to</p> <p>Therefore this entry is limited to</p>
<blockquote>
<figure> <figure>
<img src="eqn.png" alt="floor(-1)" /> <img src="eqn.png" alt="floor(-1)" />
<figcaption aria-hidden="true">floor(-1)</figcaption> <figcaption aria-hidden="true">floor(-1)</figcaption>
</figure> </figure>
</blockquote>
<p>points and won’t even be suitable for more than a few thousand; although <p>points and won’t even be suitable for more than a few thousand; although
generated files did pass the <a href="https://validator.w3.org/#validate_by_upload+with_options">W3C SVG generated files did pass the <a href="https://validator.w3.org/#validate_by_upload+with_options">W3C SVG
Validator</a>, and are Validator</a>, and are
@@ -266,12 +264,10 @@ viewport and potentially every
<li><a href="http://www.snibbe.com/scott/bf">Voronoi and Art</a></li> <li><a href="http://www.snibbe.com/scott/bf">Voronoi and Art</a></li>
</ul> </ul>
<h3 id="example-output">Example Output</h3> <h3 id="example-output">Example Output</h3>
<blockquote>
<figure> <figure>
<img src="Voronoi.png" alt="Voronoi diagram of two regular pentagon vertices" /> <img src="Voronoi.png" alt="Voronoi diagram of two regular pentagon vertices" />
<figcaption aria-hidden="true">Voronoi diagram of two regular pentagon vertices</figcaption> <figcaption aria-hidden="true">Voronoi diagram of two regular pentagon vertices</figcaption>
</figure> </figure>
</blockquote>
<!-- <!--
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved. Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
+4 -2
View File
@@ -92,8 +92,10 @@ Since ray-tracing was an obvious choice to return to a web server, I needed
something to ray-trace. A static scene would be uninteresting. I took something to ray-trace. A static scene would be uninteresting. I took
inspiration (as I often do) from the IOCCC remarks file which says inspiration (as I often do) from the IOCCC remarks file which says
> At least one judge prefers to maintain the use of the leap-second ```
> as part of the world's time standard. At least one judge prefers to maintain the use of the leap-second
as part of the world's time standard.
```
Then it was obvious; the code should display the time. It is believed (but Then it was obvious; the code should display the time. It is believed (but
not confirmed) that the code will, in fact, display leap seconds correctly. not confirmed) that the code will, in fact, display leap seconds correctly.
+2 -4
View File
@@ -203,10 +203,8 @@ big-endian encodings at different spec layers.</p>
<p>Since ray-tracing was an obvious choice to return to a web server, I needed <p>Since ray-tracing was an obvious choice to return to a web server, I needed
something to ray-trace. A static scene would be uninteresting. I took something to ray-trace. A static scene would be uninteresting. I took
inspiration (as I often do) from the IOCCC remarks file which says</p> inspiration (as I often do) from the IOCCC remarks file which says</p>
<blockquote> <pre><code> At least one judge prefers to maintain the use of the leap-second
<p>At least one judge prefers to maintain the use of the leap-second as part of the world&#39;s time standard.</code></pre>
as part of the world’s time standard.</p>
</blockquote>
<p>Then it was obvious; the code should display the time. It is believed (but <p>Then it was obvious; the code should display the time. It is believed (but
not confirmed) that the code will, in fact, display leap seconds correctly.</p> not confirmed) that the code will, in fact, display leap seconds correctly.</p>
<p>To display the time, of course we would need a font. This font is encoded <p>To display the time, of course we would need a font. This font is encoded
+12 -7
View File
@@ -65,7 +65,7 @@ as having one of the largest "yummo quotients" in number theory:
[Erdős](https://en.wikipedia.org/wiki/Paul_Erdős) privately told one of the IOCCC judges: [Erdős](https://en.wikipedia.org/wiki/Paul_Erdős) privately told one of the IOCCC judges:
> Solving the [Generalized Riemann Solving the [Generalized Riemann
hypothesis](https://en.wikipedia.org/wiki/Generalized_Riemann_hypothesis#Extended_Riemann_hypothesis_.28ERH.29) hypothesis](https://en.wikipedia.org/wiki/Generalized_Riemann_hypothesis#Extended_Riemann_hypothesis_.28ERH.29)
would be a good warm-up exercise for someone to get ready to begin to work on would be a good warm-up exercise for someone to get ready to begin to work on
the [Collatz conjecture](https://en.wikipedia.org/wiki/Collatz_conjecture). the [Collatz conjecture](https://en.wikipedia.org/wiki/Collatz_conjecture).
@@ -128,14 +128,17 @@ you eventually reach `1`.
Paul Erdős said about the Collatz conjecture: Paul Erdős said about the Collatz conjecture:
```
> "Mathematics may not be ready for such problems." "Mathematics may not be ready for such problems."
```
He also offered $500 for its solution. He also offered $500 for its solution.
For example, the sequence of numbers for `n` = 6 is For example, the sequence of numbers for `n` = 6 is
> 6, 3, 10, 5, 16, 8, 4, 2, 1. ```
6, 3, 10, 5, 16, 8, 4, 2, 1.
```
Continuing past one leads to the *cycle* 1, 4, 2, 1, 4, 2, 1, ... Continuing past one leads to the *cycle* 1, 4, 2, 1, 4, 2, 1, ...
Interesting factoid: if you allow *negative* start values, there are Interesting factoid: if you allow *negative* start values, there are
@@ -537,9 +540,11 @@ scratching it hit me. The only chance I have is telling the system I no
longer want to do I/O, maybe then it would free that buffer. A reading longer want to do I/O, maybe then it would free that buffer. A reading
of C99 7.19.5.1, "The fclose function", was encouraging: of C99 7.19.5.1, "The fclose function", was encouraging:
> Whether or not the call succeeds, the stream is disassociated from the file ```
> and any buffer set by the `setbuf` or `setvbuf` function is disassociated from the stream Whether or not the call succeeds, the stream is disassociated from the file
> (and deallocated if it was automatically allocated). and any buffer set by the `setbuf` or `setvbuf` function is disassociated from the stream
(and deallocated if it was automatically allocated).
```
So I `fclose(stdout)` before returning and now: So I `fclose(stdout)` before returning and now:
+5 -13
View File
@@ -180,12 +180,10 @@ as having one of the largest “yummo quotients” in number theory:</p>
yummo quotient = ----------------------------------- yummo quotient = -----------------------------------
complexity of the problem statement</code></pre> complexity of the problem statement</code></pre>
<p><a href="https://en.wikipedia.org/wiki/Paul_Erdős">Erdős</a> privately told one of the IOCCC judges:</p> <p><a href="https://en.wikipedia.org/wiki/Paul_Erdős">Erdős</a> privately told one of the IOCCC judges:</p>
<blockquote>
<p>Solving the <a href="https://en.wikipedia.org/wiki/Generalized_Riemann_hypothesis#Extended_Riemann_hypothesis_.28ERH.29">Generalized Riemann <p>Solving the <a href="https://en.wikipedia.org/wiki/Generalized_Riemann_hypothesis#Extended_Riemann_hypothesis_.28ERH.29">Generalized Riemann
hypothesis</a> hypothesis</a>
would be a good warm-up exercise for someone to get ready to begin to work on would be a good warm-up exercise for someone to get ready to begin to work on
the <a href="https://en.wikipedia.org/wiki/Collatz_conjecture">Collatz conjecture</a>.</p> the <a href="https://en.wikipedia.org/wiki/Collatz_conjecture">Collatz conjecture</a>.</p>
</blockquote>
<p>You may explore this famous conjecture using this entry:</p> <p>You may explore this famous conjecture using this entry:</p>
<pre><code> ./prog 2410 <pre><code> ./prog 2410
./prog abfff ./prog abfff
@@ -225,14 +223,10 @@ process indefinitely.</p>
<p>The conjecture is that no matter what number you start with, <p>The conjecture is that no matter what number you start with,
you eventually reach <code>1</code>.</p> you eventually reach <code>1</code>.</p>
<p>Paul Erdős said about the Collatz conjecture:</p> <p>Paul Erdős said about the Collatz conjecture:</p>
<blockquote> <pre><code> &quot;Mathematics may not be ready for such problems.&quot;</code></pre>
<p>“Mathematics may not be ready for such problems.”</p>
</blockquote>
<p>He also offered $500 for its solution.</p> <p>He also offered $500 for its solution.</p>
<p>For example, the sequence of numbers for <code>n</code> = 6 is</p> <p>For example, the sequence of numbers for <code>n</code> = 6 is</p>
<blockquote> <pre><code> 6, 3, 10, 5, 16, 8, 4, 2, 1.</code></pre>
<p>6, 3, 10, 5, 16, 8, 4, 2, 1.</p>
</blockquote>
<p>Continuing past one leads to the <em>cycle</em> 1, 4, 2, 1, 4, 2, 1, … <p>Continuing past one leads to the <em>cycle</em> 1, 4, 2, 1, 4, 2, 1, …
Interesting factoid: if you allow <em>negative</em> start values, there are Interesting factoid: if you allow <em>negative</em> start values, there are
a few more cycles, each of different length:</p> a few more cycles, each of different length:</p>
@@ -534,11 +528,9 @@ down in the guts of the Standard I/O library? After some serious head
scratching it hit me. The only chance I have is telling the system I no scratching it hit me. The only chance I have is telling the system I no
longer want to do I/O, maybe then it would free that buffer. A reading longer want to do I/O, maybe then it would free that buffer. A reading
of C99 7.19.5.1, “The fclose function”, was encouraging:</p> of C99 7.19.5.1, “The fclose function”, was encouraging:</p>
<blockquote> <pre><code> Whether or not the call succeeds, the stream is disassociated from the file
<p>Whether or not the call succeeds, the stream is disassociated from the file and any buffer set by the `setbuf` or `setvbuf` function is disassociated from the stream
and any buffer set by the <code>setbuf</code> or <code>setvbuf</code> function is disassociated from the stream (and deallocated if it was automatically allocated).</code></pre>
(and deallocated if it was automatically allocated).</p>
</blockquote>
<p>So I <code>fclose(stdout)</code> before returning and now:</p> <p>So I <code>fclose(stdout)</code> before returning and now:</p>
<pre><code> valgrind --leak-check=full --show-leak-kinds=all ./prog 6 <pre><code> valgrind --leak-check=full --show-leak-kinds=all ./prog 6
==14571== Memcheck, a memory error detector ==14571== Memcheck, a memory error detector
+7 -5
View File
@@ -157,11 +157,13 @@ designed to allow exhaustive, hand-counted values for comparison with the tool v
These test cases were vital in debugging and regression testing, and provided a way to These test cases were vital in debugging and regression testing, and provided a way to
determine which tool was correct when there were differences. determine which tool was correct when there were differences.
> A version of this tool in more clearly written C ([tac.c](tac.c)) ```
> is presented for the Judge's consideration as a more accurate replacement for `iocccsize`. A version of this tool in more clearly written C ([tac.c](tac.c))
> This obfuscated entry is derived from (and compatible with) that code, is presented for the Judge's consideration as a more accurate replacement for `iocccsize`.
> but due to obfuscation, has had some significant, deep changes for the contest. This obfuscated entry is derived from (and compatible with) that code,
> Nevertheless, the more clearly written code remains a spoiler for this entry. but due to obfuscation, has had some significant, deep changes for the contest.
Nevertheless, the more clearly written code remains a spoiler for this entry.
```
NB: `iocccsize` gets a different answer from `tac` on its own NB: `iocccsize` gets a different answer from `tac` on its own
([iocccsize.c](../../2018/iocccsize.c)) source code; ([iocccsize.c](../../2018/iocccsize.c)) source code;
+5 -7
View File
@@ -255,13 +255,11 @@ whitespace surrounds English words, not necessarily C tokens, as in <code>a+=1;<
designed to allow exhaustive, hand-counted values for comparison with the tool values. designed to allow exhaustive, hand-counted values for comparison with the tool values.
These test cases were vital in debugging and regression testing, and provided a way to These test cases were vital in debugging and regression testing, and provided a way to
determine which tool was correct when there were differences.</p> determine which tool was correct when there were differences.</p>
<blockquote> <pre><code> A version of this tool in more clearly written C ([tac.c](tac.c))
<p>A version of this tool in more clearly written C (<a href="tac.c">tac.c</a>) is presented for the Judge&#39;s consideration as a more accurate replacement for `iocccsize`.
is presented for the Judge’s consideration as a more accurate replacement for <code>iocccsize</code>. This obfuscated entry is derived from (and compatible with) that code,
This obfuscated entry is derived from (and compatible with) that code, but due to obfuscation, has had some significant, deep changes for the contest.
but due to obfuscation, has had some significant, deep changes for the contest. Nevertheless, the more clearly written code remains a spoiler for this entry.</code></pre>
Nevertheless, the more clearly written code remains a spoiler for this entry.</p>
</blockquote>
<p>NB: <code>iocccsize</code> gets a different answer from <code>tac</code> on its own <p>NB: <code>iocccsize</code> gets a different answer from <code>tac</code> on its own
(<a href="../../2018/iocccsize.c">iocccsize.c</a>) source code; (<a href="../../2018/iocccsize.c">iocccsize.c</a>) source code;
<code>tac</code> gets the correct answer. This is due to the aforementioned bugs within <code>iocccsize</code>, <code>tac</code> gets the correct answer. This is due to the aforementioned bugs within <code>iocccsize</code>,
+115 -99
View File
@@ -206,14 +206,16 @@ It is an implementation of Richard Dawkins' [Weasel program][] (Wikipedia).
According to Wikipedia in chapter three of his book [The Blind Watchmaker][] According to Wikipedia in chapter three of his book [The Blind Watchmaker][]
Dawkins wrote: Dawkins wrote:
> I don't know who it was first pointed out that, given enough time, a monkey ```
> bashing away at random on a typewriter could produce all the works of I don't know who it was first pointed out that, given enough time, a monkey
> Shakespeare. The operative phrase is, of course, *given enough time.* Let us bashing away at random on a typewriter could produce all the works of
> limit the task facing our monkey somewhat. Suppose that he has to produce, not Shakespeare. The operative phrase is, of course, *given enough time.* Let us
> the complete works of Shakespeare but just the short sentence 'Methinks it is limit the task facing our monkey somewhat. Suppose that he has to produce, not
> like a weasel', and we shall make it relatively easy by giving him a typewriter the complete works of Shakespeare but just the short sentence 'Methinks it is
> with a restricted keyboard, one with just the 26 (capital) letters, and a space like a weasel', and we shall make it relatively easy by giving him a typewriter
> bar. How long will he take to write this one little sentence? with a restricted keyboard, one with just the 26 (capital) letters, and a space
bar. How long will he take to write this one little sentence?
```
He refers to the [Infinite Monkey Theorem][] (Wikipedia). As he points out the He refers to the [Infinite Monkey Theorem][] (Wikipedia). As he points out the
operative phrase is *given enough time*; but even if it's extremely unlikely operative phrase is *given enough time*; but even if it's extremely unlikely
@@ -244,16 +246,18 @@ Here you can find a general explanation of a *[genetic algorithm][]* as well as
brief history. Although the link provides more information (including images to brief history. Although the link provides more information (including images to
try and show the way they work) for those interested I will cite the summary: try and show the way they work) for those interested I will cite the summary:
> Genetic Algorithms (GAs) are adaptive heuristic search algorithm based on the ```
> evolutionary ideas of natural selection and genetics. As such they represent an Genetic Algorithms (GAs) are adaptive heuristic search algorithm based on the
> intelligent exploitation of a random search used to solve optimization problems. evolutionary ideas of natural selection and genetics. As such they represent an
> Although randomised, GAs are by no means random, instead they exploit historical intelligent exploitation of a random search used to solve optimization problems.
> information to direct the search into the region of better performance within Although randomised, GAs are by no means random, instead they exploit historical
> the search space. The basic techniques of the GAs are designed to simulate information to direct the search into the region of better performance within
> processes in natural systems necessary for evolution, specially those follow the the search space. The basic techniques of the GAs are designed to simulate
> principles first laid down by Charles Darwin of "survival of the fittest.". processes in natural systems necessary for evolution, specially those follow the
> Since in nature, competition among individuals for scanty resources results in principles first laid down by Charles Darwin of "survival of the fittest.".
> the fittest individuals dominating over the weaker ones. Since in nature, competition among individuals for scanty resources results in
the fittest individuals dominating over the weaker ones.
```
**SPOILER WARNING: Some of the below might help you follow the code more **SPOILER WARNING: Some of the below might help you follow the code more
easily.** easily.**
@@ -284,7 +288,9 @@ Note that the generation is checked *before the scoring takes place* by a prefix
increment equality check; when the generation is `SIZE_MAX - 1` the fitness increment equality check; when the generation is `SIZE_MAX - 1` the fitness
test loop will not be entered; instead the outer loop will end after printing: test loop will not be entered; instead the outer loop will end after printing:
> Too many attempts, blaming the monkey Eric even if he isn't typing or doesn't exist. Bye. ```
Too many attempts, blaming the monkey Eric even if he isn't typing or doesn't exist. Bye.
```
Why '*Eric*'? Because the judges stated in the [2018 guidelines][] that when Why '*Eric*'? Because the judges stated in the [2018 guidelines][] that when
there is a user input error the program should insult the pet fish Eric even if there is a user input error the program should insult the pet fish Eric even if
@@ -292,16 +298,18 @@ such a fish (no, weasels do not equate monkeys to fish but see below) doesn't
exist. The second to last example limitation example note (it's improved in the exist. The second to last example limitation example note (it's improved in the
final but this is relevant) they give is: final but this is relevant) they give is:
> The judges might not have a pet fish named Eric, so might want to state: The judges might not have a pet fish named Eric, so might want to state:
>
> This entry factors integers between 1 and 2305567963945518424753102147331756070. ```
> Attempting to factor anything else will cause the program to insult your This entry factors integers between 1 and 2305567963945518424753102147331756070.
> pet fish Eric, or in the case that you lack such a pet, will insult the Attempting to factor anything else will cause the program to insult your
> pet that you do not have. pet fish Eric, or in the case that you lack such a pet, will insult the
pet that you do not have.
```
After the final message they ask: After the final message they ask:
> BTW: **What is so special about 2305567963945518424753102147331756070**? You tell us! BTW: **What is so special about 2305567963945518424753102147331756070**? You tell us!
The answer is this: **it is the primorial prime of 97:** the product of all The answer is this: **it is the primorial prime of 97:** the product of all
prime numbers less than or equal to N; **and the primorial prime of `N == 97` is prime numbers less than or equal to N; **and the primorial prime of `N == 97` is
@@ -905,16 +913,18 @@ Skip to [How to build](#build).
On the subject of beauty: the judges stated in the guidelines the following: On the subject of beauty: the judges stated in the guidelines the following:
> We want to get away from source that is simply **a compact blob of ```
> octets.** Really try to be more creative than **blob coding.** *HINT!* We want to get away from source that is simply **a compact blob of
octets.** Really try to be more creative than **blob coding.** *HINT!*
```
And if you'll notice that although it *might look like a compact blob of octets* And if you'll notice that although it *might look like a compact blob of octets*
at first glance if you look throughout the file you'll see two statements to at first glance if you look throughout the file you'll see two statements to
set your thinking straight: set your thinking straight:
> **NO BLOB CODING** **NO BLOB CODING**
> **THIS IS NOT A COMPACT BLOB OF OCTETS** **THIS IS NOT A COMPACT BLOB OF OCTETS**
So you see even if your eyes are trying to deceive you they're quite wrong. Yes So you see even if your eyes are trying to deceive you they're quite wrong. Yes
some of it might look like a blob but this is clearly false; *as all good some of it might look like a blob but this is clearly false; *as all good
@@ -1133,48 +1143,50 @@ two things I think are rather amusing (in order of least to most):
<a name="dmr">Dennis Ritchie's</a> Anti-Foreword: <a name="dmr">Dennis Ritchie's</a> Anti-Foreword:
> Anti-Foreword ```
Anti-Foreword
> By Dennis Ritchie By Dennis Ritchie
> From: dmr@plan9.research.att.com From: dmr@plan9.research.att.com
> Date: Tue, 15 Mar 1994 00:38:07 EST Date: Tue, 15 Mar 1994 00:38:07 EST
> Subject: anti-foreword Subject: anti-foreword
> To the contributers to this book: To the contributers to this book:
> I have succumbed to the temptation you offered in your preface: I do write you I have succumbed to the temptation you offered in your preface: I do write you
> off as envious malcontents and romantic keepers of memories. The systems you off as envious malcontents and romantic keepers of memories. The systems you
> remember so fondly (TOPS-20, ITS, Multics, Lisp Machine, Cedar/Mesa, the Dorado) remember so fondly (TOPS-20, ITS, Multics, Lisp Machine, Cedar/Mesa, the Dorado)
> are not just out to pasture, they are fertilizing it from below. are not just out to pasture, they are fertilizing it from below.
> Your judgments are not keen, they are intoxicated by metaphor. In the Preface Your judgments are not keen, they are intoxicated by metaphor. In the Preface
> you suffer first from heat, lice, and malnourishment, then become prisoners in you suffer first from heat, lice, and malnourishment, then become prisoners in
> a Gulag. In Chapter 1 you are in turn infected by a virus, racked by drug a Gulag. In Chapter 1 you are in turn infected by a virus, racked by drug
> addiction, and addled by puffiness of the genome. addiction, and addled by puffiness of the genome.
> Yet your prison without coherent design continues to imprison you. How can Yet your prison without coherent design continues to imprison you. How can
> this be, if it has no strong places? The rational prisoner exploits the weak this be, if it has no strong places? The rational prisoner exploits the weak
> places, creates order from chaos: instead, collectives like the FSF vindicate places, creates order from chaos: instead, collectives like the FSF vindicate
> their jailers by building cells almost compatible with the existing ones, albeit their jailers by building cells almost compatible with the existing ones, albeit
> with more features. The journalist with three undergraduate degrees from MIT, with more features. The journalist with three undergraduate degrees from MIT,
> the researcher at Microsoft, and the senior scientist at Apple might volunteer a the researcher at Microsoft, and the senior scientist at Apple might volunteer a
> few words about the regulations of the prisons to which they have been few words about the regulations of the prisons to which they have been
> transferred. transferred.
> Your sense of the possible is in no sense pure: sometimes you want the same Your sense of the possible is in no sense pure: sometimes you want the same
> thing you have, but wish you had done it yourselves; other times you want thing you have, but wish you had done it yourselves; other times you want
> something different, but can't seem to get people to use it; sometimes one something different, but can't seem to get people to use it; sometimes one
> wonders why you just don't shut up and tell people to buy a PC with Windows or a wonders why you just don't shut up and tell people to buy a PC with Windows or a
> Mac. No Gulag or lice, just a future whose intellectual tone and interaction Mac. No Gulag or lice, just a future whose intellectual tone and interaction
> style is set by Sonic the Hedgehog. You claim to seek progress, but you succeed style is set by Sonic the Hedgehog. You claim to seek progress, but you succeed
> mainly in whining. mainly in whining.
> Here is my metaphor: your book is a pudding stuffed with apposite Here is my metaphor: your book is a pudding stuffed with apposite
> observations, many well-conceived. Like excrement, it contains enough undigested observations, many well-conceived. Like excrement, it contains enough undigested
> nuggets of nutrition to sustain life for some. But it is not a tasty pie: it nuggets of nutrition to sustain life for some. But it is not a tasty pie: it
> reeks too much of contempt and of envy. reeks too much of contempt and of envy.
> Bon appetit! Bon appetit!
```
Yes he misspelt *'contributors'*! But then again we're talking about obfuscation Yes he misspelt *'contributors'*! But then again we're talking about obfuscation
and since it doesn't break his message it's not broken - it's just obfuscated and since it doesn't break his message it's not broken - it's just obfuscated
@@ -1183,52 +1195,56 @@ contest is about? :)
<a name="ken">Ken Thompson's</a> ending: <a name="ken">Ken Thompson's</a> ending:
> Creators Admit C, Unix Were Hoax ```
Creators Admit C, Unix Were Hoax
> FOR IMMEDIATE RELEASE FOR IMMEDIATE RELEASE
> In an announcement that has stunned the computer industry, Ken Thompson, In an announcement that has stunned the computer industry, Ken Thompson,
Dennis Ritchie, and Brian Kernighan admitted that the Unix operating system and Dennis Ritchie, and Brian Kernighan admitted that the Unix operating system and
C programming language created by them is an elaborate April Fools prank kept C programming language created by them is an elaborate April Fools prank kept
alive for more than 20 years. Speaking at the recent UnixWorld Software alive for more than 20 years. Speaking at the recent UnixWorld Software
Development Forum, Thompson revealed the following: Development Forum, Thompson revealed the following:
> "In 1969, AT&T had just terminated their work with the GE/AT&T Multics "In 1969, AT&T had just terminated their work with the GE/AT&T Multics
project. Brian and I had just started working with an early release of Pascal project. Brian and I had just started working with an early release of Pascal
from Professor Nichlaus Wirth's ETH labs in Switzerland, and we were impressed from Professor Nichlaus Wirth's ETH labs in Switzerland, and we were impressed
with its elegant simplicity and power. Dennis had just finished reading Bored of with its elegant simplicity and power. Dennis had just finished reading Bored of
the Rings, a hilarious National Lampoon parody of the great Tolkien Lord of the the Rings, a hilarious National Lampoon parody of the great Tolkien Lord of the
Rings trilogy. As a lark, we decided to do parodies of the Multics environment Rings trilogy. As a lark, we decided to do parodies of the Multics environment
and Pascal. Dennis and I were responsible for the operating environment. We and Pascal. Dennis and I were responsible for the operating environment. We
looked at Multics and designed the new system to be as complex and cryptic as looked at Multics and designed the new system to be as complex and cryptic as
possible to maximize casual users' frustration levels, calling it Unix as a possible to maximize casual users' frustration levels, calling it Unix as a
parody of Multics, as well as other more risque allusions. parody of Multics, as well as other more risque allusions.
> "Then Dennis and Brian worked on a truly warped version of Pascal, called "A." "Then Dennis and Brian worked on a truly warped version of Pascal, called "A."
When we found others were actually trying to programs with A, we quickly added When we found others were actually trying to programs with A, we quickly added
additional cryptic features and evolved into B, BCPL, and finally C. We stopped additional cryptic features and evolved into B, BCPL, and finally C. We stopped
when we got a clean compile on the following syntax: when we got a clean compile on the following syntax:
```
``` <!---c--> ``` <!---c-->
for(;P("\n"),R=;P("|"))for(e=C;e=P("_"+(*u++/ for(;P("\n"),R=;P("|"))for(e=C;e=P("_"+(*u++/
8)%2))P("|"+(*u/4)%2); 8)%2))P("|"+(*u/4)%2);
``` ```
> "To think that modern programmers would try to use a language that allowed ```
such a statement was beyond our comprehension! We actually thought of selling "To think that modern programmers would try to use a language that allowed
this to the Soviets to set their computer science progress back 20 or more such a statement was beyond our comprehension! We actually thought of selling
years. Imagine our surprise when AT&T and other U.S. corporations actually began this to the Soviets to set their computer science progress back 20 or more
trying to use Unix and C! It has taken them 20 years to develop enough years. Imagine our surprise when AT&T and other U.S. corporations actually began
expertise to generate even marginally useful applications using this 1960s trying to use Unix and C! It has taken them 20 years to develop enough
technological parody, but we are impressed with the tenacity (if not common expertise to generate even marginally useful applications using this 1960s
sense) of the general Unix and C programmer. technological parody, but we are impressed with the tenacity (if not common
sense) of the general Unix and C programmer.
> "In any event, Brian, Dennis, and I have been working exclusively in Lisp on "In any event, Brian, Dennis, and I have been working exclusively in Lisp on
the Apple Macintosh for the past few years and feel really guilty about the the Apple Macintosh for the past few years and feel really guilty about the
chaos, confusion, and truly bad programming that has resulted from our silly chaos, confusion, and truly bad programming that has resulted from our silly
prank so long ago." prank so long ago."
```
> Major Unix and C vendors and customers, including AT&T, Microsoft, Major Unix and C vendors and customers, including AT&T, Microsoft,
Hewlett-Packard, GTE, NCR, and DEC have refused comment at this time. Borland Hewlett-Packard, GTE, NCR, and DEC have refused comment at this time. Borland
International, a leading vendor of Pascal and C tools, including the popular International, a leading vendor of Pascal and C tools, including the popular
Turbo Pascal, Turbo C, and Turbo C++, stated they had suspected this for a Turbo Pascal, Turbo C, and Turbo C++, stated they had suspected this for a
@@ -1240,7 +1256,7 @@ cryptic statement, Professor Wirth of the ETH Institute and father of the
Pascal, Modula 2, and Oberon structured languages, merely stated that P. T. Pascal, Modula 2, and Oberon structured languages, merely stated that P. T.
Barnum was correct. Barnum was correct.
**So is it a hoax about a non-hoax, a non-hoax about a hoax, a non-hoax about a So is it a hoax about a non-hoax, a non-hoax about a hoax, a non-hoax about a
non-hoax or is it a hoax about a hoax ? :) And if it's any of those what does it non-hoax or is it a hoax about a hoax ? :) And if it's any of those what does it
mean about Unix and C?** And if a hoax is involved *what is the hoax?* The pedant mean about Unix and C?** And if a hoax is involved *what is the hoax?* The pedant
and Tolkienist that I am has to state that **Tolkien didn't consider The Lord of and Tolkienist that I am has to state that **Tolkien didn't consider The Lord of
+107 -144
View File
@@ -287,16 +287,14 @@ dedicated to this entry beyond what will be published on the IOCCC website.</p>
<p>It is an implementation of Richard Dawkins’ <a href="https://en.wikipedia.org/wiki/Weasel_program">Weasel program</a> (Wikipedia). <p>It is an implementation of Richard Dawkins’ <a href="https://en.wikipedia.org/wiki/Weasel_program">Weasel program</a> (Wikipedia).
According to Wikipedia in chapter three of his book <a href="https://en.wikipedia.org/wiki/The_Blind_Watchmaker">The Blind Watchmaker</a> According to Wikipedia in chapter three of his book <a href="https://en.wikipedia.org/wiki/The_Blind_Watchmaker">The Blind Watchmaker</a>
Dawkins wrote:</p> Dawkins wrote:</p>
<blockquote> <pre><code> I don&#39;t know who it was first pointed out that, given enough time, a monkey
<p>I don’t know who it was first pointed out that, given enough time, a monkey bashing away at random on a typewriter could produce all the works of
bashing away at random on a typewriter could produce all the works of Shakespeare. The operative phrase is, of course, *given enough time.* Let us
Shakespeare. The operative phrase is, of course, <em>given enough time.</em> Let us limit the task facing our monkey somewhat. Suppose that he has to produce, not
limit the task facing our monkey somewhat. Suppose that he has to produce, not the complete works of Shakespeare but just the short sentence &#39;Methinks it is
the complete works of Shakespeare but just the short sentence ‘Methinks it is like a weasel&#39;, and we shall make it relatively easy by giving him a typewriter
like a weasel’, and we shall make it relatively easy by giving him a typewriter with a restricted keyboard, one with just the 26 (capital) letters, and a space
with a restricted keyboard, one with just the 26 (capital) letters, and a space bar. How long will he take to write this one little sentence?</code></pre>
bar. How long will he take to write this one little sentence?</p>
</blockquote>
<p>He refers to the <a href="https://en.wikipedia.org/wiki/Infinite_monkey_theorem">Infinite Monkey Theorem</a> (Wikipedia). As he points out the <p>He refers to the <a href="https://en.wikipedia.org/wiki/Infinite_monkey_theorem">Infinite Monkey Theorem</a> (Wikipedia). As he points out the
operative phrase is <em>given enough time</em>; but even if it’s extremely unlikely operative phrase is <em>given enough time</em>; but even if it’s extremely unlikely
<em>technically the probability is greater than 0</em>. He simplified it for the <em>technically the probability is greater than 0</em>. He simplified it for the
@@ -317,18 +315,16 @@ comparison and output will always be capitalised).</p>
<p>Here you can find a general explanation of a <em><a href="https://web.archive.org/web/20180308131613/http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol1/hmw/article1.html">genetic algorithm</a></em> as well as a <p>Here you can find a general explanation of a <em><a href="https://web.archive.org/web/20180308131613/http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol1/hmw/article1.html">genetic algorithm</a></em> as well as a
brief history. Although the link provides more information (including images to brief history. Although the link provides more information (including images to
try and show the way they work) for those interested I will cite the summary:</p> try and show the way they work) for those interested I will cite the summary:</p>
<blockquote> <pre><code> Genetic Algorithms (GAs) are adaptive heuristic search algorithm based on the
<p>Genetic Algorithms (GAs) are adaptive heuristic search algorithm based on the evolutionary ideas of natural selection and genetics. As such they represent an
evolutionary ideas of natural selection and genetics. As such they represent an intelligent exploitation of a random search used to solve optimization problems.
intelligent exploitation of a random search used to solve optimization problems. Although randomised, GAs are by no means random, instead they exploit historical
Although randomised, GAs are by no means random, instead they exploit historical information to direct the search into the region of better performance within
information to direct the search into the region of better performance within the search space. The basic techniques of the GAs are designed to simulate
the search space. The basic techniques of the GAs are designed to simulate processes in natural systems necessary for evolution, specially those follow the
processes in natural systems necessary for evolution, specially those follow the principles first laid down by Charles Darwin of &quot;survival of the fittest.&quot;.
principles first laid down by Charles Darwin of “survival of the fittest.”. Since in nature, competition among individuals for scanty resources results in
Since in nature, competition among individuals for scanty resources results in the fittest individuals dominating over the weaker ones.</code></pre>
the fittest individuals dominating over the weaker ones.</p>
</blockquote>
<p><strong>SPOILER WARNING: Some of the below might help you follow the code more <p><strong>SPOILER WARNING: Some of the below might help you follow the code more
easily.</strong></p> easily.</strong></p>
<p>For each <em>generation</em> there is a total of <code>N</code> <em>offspring</em>; generation 0 is <p>For each <em>generation</em> there is a total of <code>N</code> <em>offspring</em>; generation 0 is
@@ -354,25 +350,19 @@ found.</p>
<p>Note that the generation is checked <em>before the scoring takes place</em> by a prefix <p>Note that the generation is checked <em>before the scoring takes place</em> by a prefix
increment equality check; when the generation is <code>SIZE_MAX - 1</code> the fitness increment equality check; when the generation is <code>SIZE_MAX - 1</code> the fitness
test loop will not be entered; instead the outer loop will end after printing:</p> test loop will not be entered; instead the outer loop will end after printing:</p>
<blockquote> <pre><code> Too many attempts, blaming the monkey Eric even if he isn&#39;t typing or doesn&#39;t exist. Bye.</code></pre>
<p>Too many attempts, blaming the monkey Eric even if he isn’t typing or doesn’t exist. Bye.</p>
</blockquote>
<p>Why ‘<em>Eric</em>’? Because the judges stated in the <a href="../../2018/guidelines.txt">2018 guidelines</a> that when <p>Why ‘<em>Eric</em>’? Because the judges stated in the <a href="../../2018/guidelines.txt">2018 guidelines</a> that when
there is a user input error the program should insult the pet fish Eric even if there is a user input error the program should insult the pet fish Eric even if
such a fish (no, weasels do not equate monkeys to fish but see below) doesn’t such a fish (no, weasels do not equate monkeys to fish but see below) doesn’t
exist. The second to last example limitation example note (it’s improved in the exist. The second to last example limitation example note (it’s improved in the
final but this is relevant) they give is:</p> final but this is relevant) they give is:</p>
<blockquote>
<p>The judges might not have a pet fish named Eric, so might want to state:</p> <p>The judges might not have a pet fish named Eric, so might want to state:</p>
<p>This entry factors integers between 1 and 2305567963945518424753102147331756070. <pre><code> This entry factors integers between 1 and 2305567963945518424753102147331756070.
Attempting to factor anything else will cause the program to insult your Attempting to factor anything else will cause the program to insult your
pet fish Eric, or in the case that you lack such a pet, will insult the pet fish Eric, or in the case that you lack such a pet, will insult the
pet that you do not have.</p> pet that you do not have.</code></pre>
</blockquote>
<p>After the final message they ask:</p> <p>After the final message they ask:</p>
<blockquote>
<p>BTW: <strong>What is so special about 2305567963945518424753102147331756070</strong>? You tell us!</p> <p>BTW: <strong>What is so special about 2305567963945518424753102147331756070</strong>? You tell us!</p>
</blockquote>
<p>The answer is this: <strong>it is the primorial prime of 97:</strong> the product of all <p>The answer is this: <strong>it is the primorial prime of 97:</strong> the product of all
prime numbers less than or equal to N; <strong>and the primorial prime of <code>N == 97</code> is prime numbers less than or equal to N; <strong>and the primorial prime of <code>N == 97</code> is
<code>2305567963945518424753102147331756070</code>. There is no reference to this number <code>2305567963945518424753102147331756070</code>. There is no reference to this number
@@ -783,19 +773,13 @@ deciphering #7 help you decipher #5).</p>
<h3 id="beauty"><a name="beauty">Beauty</a></h3> <h3 id="beauty"><a name="beauty">Beauty</a></h3>
<p>Skip to <a href="#build">How to build</a>.</p> <p>Skip to <a href="#build">How to build</a>.</p>
<p>On the subject of beauty: the judges stated in the guidelines the following:</p> <p>On the subject of beauty: the judges stated in the guidelines the following:</p>
<blockquote> <pre><code> We want to get away from source that is simply **a compact blob of
<p>We want to get away from source that is simply <strong>a compact blob of octets.** Really try to be more creative than **blob coding.** *HINT!*</code></pre>
octets.</strong> Really try to be more creative than <strong>blob coding.</strong> <em>HINT!</em></p>
</blockquote>
<p>And if you’ll notice that although it <em>might look like a compact blob of octets</em> <p>And if you’ll notice that although it <em>might look like a compact blob of octets</em>
at first glance if you look throughout the file you’ll see two statements to at first glance if you look throughout the file you’ll see two statements to
set your thinking straight:</p> set your thinking straight:</p>
<blockquote>
<p><strong>NO BLOB CODING</strong></p> <p><strong>NO BLOB CODING</strong></p>
</blockquote>
<blockquote>
<p><strong>THIS IS NOT A COMPACT BLOB OF OCTETS</strong></p> <p><strong>THIS IS NOT A COMPACT BLOB OF OCTETS</strong></p>
</blockquote>
<p>So you see even if your eyes are trying to deceive you they’re quite wrong. Yes <p>So you see even if your eyes are trying to deceive you they’re quite wrong. Yes
some of it might look like a blob but this is clearly false; <em>as all good some of it might look like a blob but this is clearly false; <em>as all good
programmers know if something is potentially confusing or misleading it should programmers know if something is potentially confusing or misleading it should
@@ -934,113 +918,93 @@ code must be quite difficult (though maybe not as much as if you were to have to
look at Microsoft Windows code or code for Windows in any case ? :)) and these look at Microsoft Windows code or code for Windows in any case ? :)) and these
two things I think are rather amusing (in order of least to most):</p> two things I think are rather amusing (in order of least to most):</p>
<p><a name="dmr">Dennis Ritchie’s</a> Anti-Foreword:</p> <p><a name="dmr">Dennis Ritchie’s</a> Anti-Foreword:</p>
<blockquote> <pre><code> Anti-Foreword
<p>Anti-Foreword</p>
</blockquote> By Dennis Ritchie
<blockquote> From: dmr@plan9.research.att.com
<p>By Dennis Ritchie Date: Tue, 15 Mar 1994 00:38:07 EST
From: dmr@plan9.research.att.com Subject: anti-foreword
Date: Tue, 15 Mar 1994 00:38:07 EST
Subject: anti-foreword</p> To the contributers to this book:
</blockquote>
<blockquote> I have succumbed to the temptation you offered in your preface: I do write you
<p>To the contributers to this book:</p> off as envious malcontents and romantic keepers of memories. The systems you
</blockquote> remember so fondly (TOPS-20, ITS, Multics, Lisp Machine, Cedar/Mesa, the Dorado)
<blockquote> are not just out to pasture, they are fertilizing it from below.
<p>I have succumbed to the temptation you offered in your preface: I do write you
off as envious malcontents and romantic keepers of memories. The systems you Your judgments are not keen, they are intoxicated by metaphor. In the Preface
remember so fondly (TOPS-20, ITS, Multics, Lisp Machine, Cedar/Mesa, the Dorado) you suffer first from heat, lice, and malnourishment, then become prisoners in
are not just out to pasture, they are fertilizing it from below.</p> a Gulag. In Chapter 1 you are in turn infected by a virus, racked by drug
</blockquote> addiction, and addled by puffiness of the genome.
<blockquote>
<p>Your judgments are not keen, they are intoxicated by metaphor. In the Preface Yet your prison without coherent design continues to imprison you. How can
you suffer first from heat, lice, and malnourishment, then become prisoners in this be, if it has no strong places? The rational prisoner exploits the weak
a Gulag. In Chapter 1 you are in turn infected by a virus, racked by drug places, creates order from chaos: instead, collectives like the FSF vindicate
addiction, and addled by puffiness of the genome.</p> their jailers by building cells almost compatible with the existing ones, albeit
</blockquote> with more features. The journalist with three undergraduate degrees from MIT,
<blockquote> the researcher at Microsoft, and the senior scientist at Apple might volunteer a
<p>Yet your prison without coherent design continues to imprison you. How can few words about the regulations of the prisons to which they have been
this be, if it has no strong places? The rational prisoner exploits the weak transferred.
places, creates order from chaos: instead, collectives like the FSF vindicate
their jailers by building cells almost compatible with the existing ones, albeit Your sense of the possible is in no sense pure: sometimes you want the same
with more features. The journalist with three undergraduate degrees from MIT, thing you have, but wish you had done it yourselves; other times you want
the researcher at Microsoft, and the senior scientist at Apple might volunteer a something different, but can&#39;t seem to get people to use it; sometimes one
few words about the regulations of the prisons to which they have been wonders why you just don&#39;t shut up and tell people to buy a PC with Windows or a
transferred.</p> Mac. No Gulag or lice, just a future whose intellectual tone and interaction
</blockquote> style is set by Sonic the Hedgehog. You claim to seek progress, but you succeed
<blockquote> mainly in whining.
<p>Your sense of the possible is in no sense pure: sometimes you want the same
thing you have, but wish you had done it yourselves; other times you want Here is my metaphor: your book is a pudding stuffed with apposite
something different, but can’t seem to get people to use it; sometimes one observations, many well-conceived. Like excrement, it contains enough undigested
wonders why you just don’t shut up and tell people to buy a PC with Windows or a nuggets of nutrition to sustain life for some. But it is not a tasty pie: it
Mac. No Gulag or lice, just a future whose intellectual tone and interaction reeks too much of contempt and of envy.
style is set by Sonic the Hedgehog. You claim to seek progress, but you succeed
mainly in whining.</p> Bon appetit!</code></pre>
</blockquote>
<blockquote>
<p>Here is my metaphor: your book is a pudding stuffed with apposite
observations, many well-conceived. Like excrement, it contains enough undigested
nuggets of nutrition to sustain life for some. But it is not a tasty pie: it
reeks too much of contempt and of envy.</p>
</blockquote>
<blockquote>
<p>Bon appetit!</p>
</blockquote>
<p>Yes he misspelt <em>‘contributors’</em>! But then again we’re talking about obfuscation <p>Yes he misspelt <em>‘contributors’</em>! But then again we’re talking about obfuscation
and since it doesn’t break his message it’s not broken - it’s just obfuscated and since it doesn’t break his message it’s not broken - it’s just obfuscated
albeit not very much (and it still <em>‘compiles’!</em>); and isn’t that what this albeit not very much (and it still <em>‘compiles’!</em>); and isn’t that what this
contest is about? :)</p> contest is about? :)</p>
<p><a name="ken">Ken Thompson’s</a> ending:</p> <p><a name="ken">Ken Thompson’s</a> ending:</p>
<blockquote> <pre><code> Creators Admit C, Unix Were Hoax
<p>Creators Admit C, Unix Were Hoax</p>
</blockquote> FOR IMMEDIATE RELEASE
<blockquote>
<p>FOR IMMEDIATE RELEASE</p> In an announcement that has stunned the computer industry, Ken Thompson,
</blockquote> Dennis Ritchie, and Brian Kernighan admitted that the Unix operating system and
<blockquote> C programming language created by them is an elaborate April Fools prank kept
<p>In an announcement that has stunned the computer industry, Ken Thompson, alive for more than 20 years. Speaking at the recent UnixWorld Software
Dennis Ritchie, and Brian Kernighan admitted that the Unix operating system and Development Forum, Thompson revealed the following:
C programming language created by them is an elaborate April Fools prank kept
alive for more than 20 years. Speaking at the recent UnixWorld Software &quot;In 1969, AT&amp;T had just terminated their work with the GE/AT&amp;T Multics
Development Forum, Thompson revealed the following:</p> project. Brian and I had just started working with an early release of Pascal
</blockquote> from Professor Nichlaus Wirth&#39;s ETH labs in Switzerland, and we were impressed
<blockquote> with its elegant simplicity and power. Dennis had just finished reading Bored of
<p>“In 1969, AT&amp;T had just terminated their work with the GE/AT&amp;T Multics the Rings, a hilarious National Lampoon parody of the great Tolkien Lord of the
project. Brian and I had just started working with an early release of Pascal Rings trilogy. As a lark, we decided to do parodies of the Multics environment
from Professor Nichlaus Wirth’s ETH labs in Switzerland, and we were impressed and Pascal. Dennis and I were responsible for the operating environment. We
with its elegant simplicity and power. Dennis had just finished reading Bored of looked at Multics and designed the new system to be as complex and cryptic as
the Rings, a hilarious National Lampoon parody of the great Tolkien Lord of the possible to maximize casual users&#39; frustration levels, calling it Unix as a
Rings trilogy. As a lark, we decided to do parodies of the Multics environment parody of Multics, as well as other more risque allusions.
and Pascal. Dennis and I were responsible for the operating environment. We
looked at Multics and designed the new system to be as complex and cryptic as &quot;Then Dennis and Brian worked on a truly warped version of Pascal, called &quot;A.&quot;
possible to maximize casual users’ frustration levels, calling it Unix as a When we found others were actually trying to programs with A, we quickly added
parody of Multics, as well as other more risque allusions.</p> additional cryptic features and evolved into B, BCPL, and finally C. We stopped
</blockquote> when we got a clean compile on the following syntax:</code></pre>
<blockquote>
<p>“Then Dennis and Brian worked on a truly warped version of Pascal, called”A.”
When we found others were actually trying to programs with A, we quickly added
additional cryptic features and evolved into B, BCPL, and finally C. We stopped
when we got a clean compile on the following syntax:</p>
</blockquote>
<pre><code> for(;P(&quot;\n&quot;),R=;P(&quot;|&quot;))for(e=C;e=P(&quot;_&quot;+(*u++/ <pre><code> for(;P(&quot;\n&quot;),R=;P(&quot;|&quot;))for(e=C;e=P(&quot;_&quot;+(*u++/
8)%2))P(&quot;|&quot;+(*u/4)%2);</code></pre> 8)%2))P(&quot;|&quot;+(*u/4)%2);</code></pre>
<blockquote> <pre><code> &quot;To think that modern programmers would try to use a language that allowed
<p>“To think that modern programmers would try to use a language that allowed such a statement was beyond our comprehension! We actually thought of selling
such a statement was beyond our comprehension! We actually thought of selling this to the Soviets to set their computer science progress back 20 or more
this to the Soviets to set their computer science progress back 20 or more years. Imagine our surprise when AT&amp;T and other U.S. corporations actually began
years. Imagine our surprise when AT&amp;T and other U.S. corporations actually began trying to use Unix and C! It has taken them 20 years to develop enough
trying to use Unix and C! It has taken them 20 years to develop enough expertise to generate even marginally useful applications using this 1960s
expertise to generate even marginally useful applications using this 1960s technological parody, but we are impressed with the tenacity (if not common
technological parody, but we are impressed with the tenacity (if not common sense) of the general Unix and C programmer.
sense) of the general Unix and C programmer.</p>
</blockquote> &quot;In any event, Brian, Dennis, and I have been working exclusively in Lisp on
<blockquote> the Apple Macintosh for the past few years and feel really guilty about the
<p>“In any event, Brian, Dennis, and I have been working exclusively in Lisp on chaos, confusion, and truly bad programming that has resulted from our silly
the Apple Macintosh for the past few years and feel really guilty about the prank so long ago.&quot;</code></pre>
chaos, confusion, and truly bad programming that has resulted from our silly
prank so long ago.”</p>
</blockquote>
<blockquote>
<p>Major Unix and C vendors and customers, including AT&amp;T, Microsoft, <p>Major Unix and C vendors and customers, including AT&amp;T, Microsoft,
Hewlett-Packard, GTE, NCR, and DEC have refused comment at this time. Borland Hewlett-Packard, GTE, NCR, and DEC have refused comment at this time. Borland
International, a leading vendor of Pascal and C tools, including the popular International, a leading vendor of Pascal and C tools, including the popular
@@ -1052,10 +1016,9 @@ the RS/6000, merely stating “Workplace OS will be available Real Soon Now.”
cryptic statement, Professor Wirth of the ETH Institute and father of the cryptic statement, Professor Wirth of the ETH Institute and father of the
Pascal, Modula 2, and Oberon structured languages, merely stated that P. T. Pascal, Modula 2, and Oberon structured languages, merely stated that P. T.
Barnum was correct.</p> Barnum was correct.</p>
</blockquote> <p>So is it a hoax about a non-hoax, a non-hoax about a hoax, a non-hoax about a
<p><strong>So is it a hoax about a non-hoax, a non-hoax about a hoax, a non-hoax about a
non-hoax or is it a hoax about a hoax ? :) And if it’s any of those what does it non-hoax or is it a hoax about a hoax ? :) And if it’s any of those what does it
mean about Unix and C?</strong> And if a hoax is involved <em>what is the hoax?</em> The pedant mean about Unix and C?** And if a hoax is involved <em>what is the hoax?</em> The pedant
and Tolkienist that I am has to state that <strong>Tolkien didn’t consider The Lord of and Tolkienist that I am has to state that <strong>Tolkien didn’t consider The Lord of
the Rings a trilogy</strong> <em>(and he made that very clear)</em> but that doesn’t take away the Rings a trilogy</strong> <em>(and he made that very clear)</em> but that doesn’t take away
from the humour by any stretch (<em>if anyone wants me to elaborate or debate the from the humour by any stretch (<em>if anyone wants me to elaborate or debate the
+13 -9
View File
@@ -387,12 +387,14 @@ respectively. Let's try the Dennis Richie's `dmr` account:
Even though this is not Ken's doing, I feel this gives me licence to Even though this is not Ken's doing, I feel this gives me licence to
include this quote from the BSD `fortune` program: include this quote from the BSD `fortune` program:
> Ken Thompson has an automobile which he helped design. Unlike ```
> most automobiles, it has neither speedometer, nor gas gauge, Ken Thompson has an automobile which he helped design. Unlike
> nor any of the numerous idiot lights which plague the modern most automobiles, it has neither speedometer, nor gas gauge,
> driver. Rather, if the driver makes any mistake, a giant "?" nor any of the numerous idiot lights which plague the modern
> lights up in the center of the dashboard. "The experienced driver. Rather, if the driver makes any mistake, a giant "?"
> driver", he says, "will usually know what's wrong." lights up in the center of the dashboard. "The experienced
driver", he says, "will usually know what's wrong."
```
What's the deal here? Well, that's a slightly long story. The short version What's the deal here? Well, that's a slightly long story. The short version
is we have gone so far back in the history of UNIX that *we don't have is we have gone so far back in the history of UNIX that *we don't have
@@ -466,9 +468,11 @@ convenience of writing code in a high-level language -- Multics was written
in a version of PL/1 -- and wanted the same convenience in UNIX. He preferred in a version of PL/1 -- and wanted the same convenience in UNIX. He preferred
BCPL (a typeless language) to PL/1. As Dennis Ritchie [wrote] [6]: BCPL (a typeless language) to PL/1. As Dennis Ritchie [wrote] [6]:
> B can be thought of as C without types; more accurately, ```
> it is BCPL squeezed into 8K bytes of memory and filtered B can be thought of as C without types; more accurately,
> through Thompson's brain. it is BCPL squeezed into 8K bytes of memory and filtered
through Thompson's brain.
```
A look at the B reference manual will show the strong correlation with C, and A look at the B reference manual will show the strong correlation with C, and
shows the source of a lot of C's mysteriousness -- some of which is preserved shows the source of a lot of C's mysteriousness -- some of which is preserved
+9 -13
View File
@@ -405,14 +405,12 @@ respectively. Let’s try the Dennis Richie’s <code>dmr</code> account:</p>
. ?</code></pre> . ?</code></pre>
<p>Even though this is not Ken’s doing, I feel this gives me licence to <p>Even though this is not Ken’s doing, I feel this gives me licence to
include this quote from the BSD <code>fortune</code> program:</p> include this quote from the BSD <code>fortune</code> program:</p>
<blockquote> <pre><code> Ken Thompson has an automobile which he helped design. Unlike
<p>Ken Thompson has an automobile which he helped design. Unlike most automobiles, it has neither speedometer, nor gas gauge,
most automobiles, it has neither speedometer, nor gas gauge, nor any of the numerous idiot lights which plague the modern
nor any of the numerous idiot lights which plague the modern driver. Rather, if the driver makes any mistake, a giant &quot;?&quot;
driver. Rather, if the driver makes any mistake, a giant “?” lights up in the center of the dashboard. &quot;The experienced
lights up in the center of the dashboard. “The experienced driver&quot;, he says, &quot;will usually know what&#39;s wrong.&quot;</code></pre>
driver”, he says, “will usually know what’s wrong.”</p>
</blockquote>
<p>What’s the deal here? Well, that’s a slightly long story. The short version <p>What’s the deal here? Well, that’s a slightly long story. The short version
is we have gone so far back in the history of UNIX that <em>we don’t have is we have gone so far back in the history of UNIX that <em>we don’t have
filesystem paths yet</em>. In other words, we can’t say something like filesystem paths yet</em>. In other words, we can’t say something like
@@ -474,11 +472,9 @@ the [B programming language] <a href="https://www.bell-labs.com/usr/dmr/www/kbma
convenience of writing code in a high-level language – Multics was written convenience of writing code in a high-level language – Multics was written
in a version of PL/1 – and wanted the same convenience in UNIX. He preferred in a version of PL/1 – and wanted the same convenience in UNIX. He preferred
BCPL (a typeless language) to PL/1. As Dennis Ritchie [wrote] <a href="https://www.bell-labs.com/usr/dmr/www/chist.html" title="C History">6</a>:</p> BCPL (a typeless language) to PL/1. As Dennis Ritchie [wrote] <a href="https://www.bell-labs.com/usr/dmr/www/chist.html" title="C History">6</a>:</p>
<blockquote> <pre><code> B can be thought of as C without types; more accurately,
<p>B can be thought of as C without types; more accurately, it is BCPL squeezed into 8K bytes of memory and filtered
it is BCPL squeezed into 8K bytes of memory and filtered through Thompson&#39;s brain.</code></pre>
through Thompson’s brain.</p>
</blockquote>
<p>A look at the B reference manual will show the strong correlation with C, and <p>A look at the B reference manual will show the strong correlation with C, and
shows the source of a lot of C’s mysteriousness – some of which is preserved shows the source of a lot of C’s mysteriousness – some of which is preserved
simply so that C could compile the <em>dozens</em> of lines of existing B code…</p> simply so that C could compile the <em>dozens</em> of lines of existing B code…</p>
+1 -1
View File
@@ -96,7 +96,7 @@ and run it like this:
./prog advent.unl ./prog advent.unl
``` ```
> NOTE: the file was added to the entry so there is no need to download it. **NOTE**: the file was added to the entry so there is no need to download it.
You can also try other programs from the Web. Many example programs are in the official You can also try other programs from the Web. Many example programs are in the official
[Unlambda distribution][3] on the Unlambda homepage. The most complex programs there are [Unlambda distribution][3] on the Unlambda homepage. The most complex programs there are
+1 -3
View File
@@ -196,9 +196,7 @@ by the sheer length of the dividing line and totally overlooks the rest of the p
download the <a href="https://github.com/irori/advent-unlambda" title="Adventure">Colossal Cave Adventure</a> (the <a href="advent.unl">advent.unl</a> file) download the <a href="https://github.com/irori/advent-unlambda" title="Adventure">Colossal Cave Adventure</a> (the <a href="advent.unl">advent.unl</a> file)
and run it like this:</p> and run it like this:</p>
<pre><code> ./prog advent.unl</code></pre> <pre><code> ./prog advent.unl</code></pre>
<blockquote> <p><strong>NOTE</strong>: the file was added to the entry so there is no need to download it.</p>
<p>NOTE: the file was added to the entry so there is no need to download it.</p>
</blockquote>
<p>You can also try other programs from the Web. Many example programs are in the official <p>You can also try other programs from the Web. Many example programs are in the official
<a href="http://www.madore.org/~david/programs/unlambda/#distrib" title="Reference Unlambda distribution">Unlambda distribution</a> on the Unlambda homepage. The most complex programs there are <a href="http://www.madore.org/~david/programs/unlambda/#distrib" title="Reference Unlambda distribution">Unlambda distribution</a> on the Unlambda homepage. The most complex programs there are
entries from <a href="http://www.madore.org/~david/programs/unlambda/#quine" title="Unlambda quine contest">quine contest</a>.</p> entries from <a href="http://www.madore.org/~david/programs/unlambda/#quine" title="Unlambda quine contest">quine contest</a>.</p>
+1 -2
View File
@@ -62,8 +62,7 @@ right now. And exactly the same shape. Nevertheless, it is portable C99 code
that runs on 32-bit and 64-bit platforms. It compiles without warnings on both that runs on 32-bit and 64-bit platforms. It compiles without warnings on both
GCC and Clang even with `-Wextra and -Weverything`. GCC and Clang even with `-Wextra and -Weverything`.
> 2023 note: the above paragraph might not be true as far as number of bytes **2023 note**: the above paragraph might not be true as far as number of bytes goes.
goes.
<!-- <!--
+1 -4
View File
@@ -180,10 +180,7 @@ compressed, too: It has exactly the same size as the paragraph you are reading
right now. And exactly the same shape. Nevertheless, it is portable C99 code right now. And exactly the same shape. Nevertheless, it is portable C99 code
that runs on 32-bit and 64-bit platforms. It compiles without warnings on both that runs on 32-bit and 64-bit platforms. It compiles without warnings on both
GCC and Clang even with <code>-Wextra and -Weverything</code>.</p> GCC and Clang even with <code>-Wextra and -Weverything</code>.</p>
<blockquote> <p><strong>2023 note</strong>: the above paragraph might not be true as far as number of bytes goes.</p>
<p>2023 note: the above paragraph might not be true as far as number of bytes
goes.</p>
</blockquote>
<!-- <!--
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved. Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
+11 -3
View File
@@ -130,16 +130,24 @@ file `poikola.pdf`. This requires the
### What this entry does: ### What this entry does:
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
jumper](https://en.wikipedia.org/wiki/Matti_Nyk%C3%A4nen) and [amateur jumper](https://en.wikipedia.org/wiki/Matti_Nyk%C3%A4nen) and [amateur
+5 -9
View File
@@ -211,22 +211,18 @@ Nykänen</a>.</p>
file <code>poikola.pdf</code>. This requires the 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>An old wise man mumbled to me:</p>
&gt; Implement a program, which can calculate SHA-3 checksum for a file –</p> <pre><code> Implement a program, which can calculate SHA-3 checksum for a file --</code></pre>
<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>
<blockquote> <pre><code> and primes and Fibonacci numbers.</code></pre>
<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>
<blockquote> <pre><code> But use only `main()`, and do not use `math.h` nor predefined stuff at all.</code></pre>
<p>But use only <code>main()</code>, and do not use <code>math.h</code> nor predefined stuff at all. <p>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ä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
philosopher</a>, philosopher</a>,
who passed away on fourth of February 2019.</p> who passed away on fourth of February 2019.</p>
</blockquote>
<h3 id="oh-boys">Oh boys:</h3> <h3 id="oh-boys">Oh boys:</h3>
<p>So, I followed the rules given by <a href="https://www.glyphweb.com/arda/g/gandalf.html">Gandalf the <p>So, I followed the rules given by <a href="https://www.glyphweb.com/arda/g/gandalf.html">Gandalf the
White</a> and the <a href="../../judges.html">Judges of White</a> and the <a href="../../judges.html">Judges of
+14 -12
View File
@@ -210,18 +210,20 @@ With my entry we can complete the loop!
The author [Nathan Sidwell](../../authors.html#Nathan_Sidwell) of the [1992 Worst The author [Nathan Sidwell](../../authors.html#Nathan_Sidwell) of the [1992 Worst
Abuse of the Rules][] had this to say about his program: Abuse of the Rules][] had this to say about his program:
> This program is a hello world text encrypter/decrypter. It uses an ```
[enigma](https://www.cryptomuseum.com/crypto/enigma/index.htm) (I think) style This program is a hello world text encrypter/decrypter. It uses an
encryption algorithm, where the encryption key character is modified by a value, [enigma](https://www.cryptomuseum.com/crypto/enigma/index.htm) (I think) style
determined from the previous character. Non-printable characters (those with encryption algorithm, where the encryption key character is modified by a value,
ASCII values `< ' '` or `> 0x7e`) are passed unaltered, thus any kind of file determined from the previous character. Non-printable characters (those with
may be successfully processed, but if the original is printable, the processed ASCII values `< ' '` or `> 0x7e`) are passed unaltered, thus any kind of file
file will be too. The input is read from stdin, and the output presented to may be successfully processed, but if the original is printable, the processed
stdout. The key, a text string, is presented as a command argument. This is file will be too. The input is read from stdin, and the output presented to
optional, and if omitted, the file is self-{de,en}crypted. To specify stdout. The key, a text string, is presented as a command argument. This is
decryption, a `-` should be given before the key. (Actually encryption and optional, and if omitted, the file is self-{de,en}crypted. To specify
decryption proper inverse operations, so you can use decrypt to scramble and decryption, a `-` should be given before the key. (Actually encryption and
encrypt to descramble, if you're perverse.) decryption proper inverse operations, so you can use decrypt to scramble and
encrypt to descramble, if you're perverse.)
```
But the Enigma algorithm is more complex than that and my entry can encipher But the Enigma algorithm is more complex than that and my entry can encipher
+12 -14
View File
@@ -293,20 +293,18 @@ With my entry we can complete the loop!</p>
<h3 id="the-1992-nathan-sidwell-entry"><a name="nathan" href="#toc">The 1992 Nathan Sidwell entry</a></h3> <h3 id="the-1992-nathan-sidwell-entry"><a name="nathan" href="#toc">The 1992 Nathan Sidwell entry</a></h3>
<p>The author <a href="../../authors.html#Nathan_Sidwell">Nathan Sidwell</a> of the <a href="../../1992/nathan/index.html">1992 Worst <p>The author <a href="../../authors.html#Nathan_Sidwell">Nathan Sidwell</a> of the <a href="../../1992/nathan/index.html">1992 Worst
Abuse of the Rules</a> had this to say about his program:</p> Abuse of the Rules</a> had this to say about his program:</p>
<blockquote> <pre><code> This program is a hello world text encrypter/decrypter. It uses an
<p>This program is a hello world text encrypter/decrypter. It uses an [enigma](https://www.cryptomuseum.com/crypto/enigma/index.htm) (I think) style
<a href="https://www.cryptomuseum.com/crypto/enigma/index.htm">enigma</a> (I think) style encryption algorithm, where the encryption key character is modified by a value,
encryption algorithm, where the encryption key character is modified by a value, determined from the previous character. Non-printable characters (those with
determined from the previous character. Non-printable characters (those with ASCII values `&lt; &#39; &#39;` or `&gt; 0x7e`) are passed unaltered, thus any kind of file
ASCII values <code>&lt; ' '</code> or <code>&gt; 0x7e</code>) are passed unaltered, thus any kind of file may be successfully processed, but if the original is printable, the processed
may be successfully processed, but if the original is printable, the processed file will be too. The input is read from stdin, and the output presented to
file will be too. The input is read from stdin, and the output presented to stdout. The key, a text string, is presented as a command argument. This is
stdout. The key, a text string, is presented as a command argument. This is optional, and if omitted, the file is self-{de,en}crypted. To specify
optional, and if omitted, the file is self-{de,en}crypted. To specify decryption, a `-` should be given before the key. (Actually encryption and
decryption, a <code>-</code> should be given before the key. (Actually encryption and decryption proper inverse operations, so you can use decrypt to scramble and
decryption proper inverse operations, so you can use decrypt to scramble and encrypt to descramble, if you&#39;re perverse.)</code></pre>
encrypt to descramble, if you’re perverse.)</p>
</blockquote>
<p>But the Enigma algorithm is more complex than that and my entry can encipher <p>But the Enigma algorithm is more complex than that and my entry can encipher
(and by extension decipher) text in the manner of the Enigma machines of the (and by extension decipher) text in the manner of the Enigma machines of the
<a href="https://en.wikipedia.org/wiki/German_Army_(1935%E2%80%931945)">Heer</a> (army) and <a href="https://en.wikipedia.org/wiki/Luftwaffe">Luftwaffe</a> (air <a href="https://en.wikipedia.org/wiki/German_Army_(1935%E2%80%931945)">Heer</a> (army) and <a href="https://en.wikipedia.org/wiki/Luftwaffe">Luftwaffe</a> (air
+9 -5
View File
@@ -21,9 +21,11 @@ context length decreases:
./try.sh ./try.sh
``` ```
> Performance depends on the number of same hashes found. ```
> Too many identical strings if the context length is small. Performance depends on the number of same hashes found.
> -- Author Too many identical strings if the context length is small.
-- Author
```
## Judges' remarks: ## Judges' remarks:
@@ -49,8 +51,10 @@ Example:
# more ones in output # more ones in output
``` ```
> But this will happen very rarely on real data. ```
> -- Author But this will happen very rarely on real data.
-- Author
```
--- ---
+5 -9
View File
@@ -158,11 +158,9 @@ Location: <a href="../../location.html#RU">RU</a> - <em>Russian Federation</em>
<p>When running this, ask yourself why it gets progressively slower when the <p>When running this, ask yourself why it gets progressively slower when the
context length decreases:</p> context length decreases:</p>
<pre><code> ./try.sh</code></pre> <pre><code> ./try.sh</code></pre>
<blockquote> <pre><code> Performance depends on the number of same hashes found.
<p>Performance depends on the number of same hashes found. Too many identical strings if the context length is small.
Too many identical strings if the context length is small. -- Author</code></pre>
– Author</p>
</blockquote>
<h2 id="judges-remarks">Judges’ remarks:</h2> <h2 id="judges-remarks">Judges’ remarks:</h2>
<p>We were able to <a href="rand.c">write our own program</a> performing the same trick using <p>We were able to <a href="rand.c">write our own program</a> performing the same trick using
the (still non-standard, for some reason) library function <code>memmem()</code>, but that the (still non-standard, for some reason) library function <code>memmem()</code>, but that
@@ -178,10 +176,8 @@ Example:</p>
# more twos in output # more twos in output
./rand test.txt 1000 2 123 ./rand test.txt 1000 2 123
# more ones in output</code></pre> # more ones in output</code></pre>
<blockquote> <pre><code> But this will happen very rarely on real data.
<p>But this will happen very rarely on real data. -- Author</code></pre>
– Author</p>
</blockquote>
<hr /> <hr />
<p>Try using the same random seed and varying the context size.</p> <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 <p>BTW: what on Middle-earth is <code>lámatyávë</code>? It’s Quenya, one of the languages of
+45 -45
View File
@@ -162,7 +162,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1984/mullender/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1984/mullender/index.html</loc>
<lastmod>2024-04-16T23:13:34+00:00</lastmod> <lastmod>2024-04-17T07:41:52+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1984/mullender/Makefile</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1984/mullender/Makefile</loc>
@@ -186,7 +186,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1984/mullender/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1984/mullender/README.md</loc>
<lastmod>2024-04-14T18:11:41+00:00</lastmod> <lastmod>2024-04-17T07:29:28+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1984/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1984/README.md</loc>
@@ -1746,7 +1746,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1989/paul/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1989/paul/index.html</loc>
<lastmod>2024-04-16T23:13:52+00:00</lastmod> <lastmod>2024-04-17T07:42:10+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1989/paul/Makefile</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1989/paul/Makefile</loc>
@@ -1770,7 +1770,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1989/paul/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1989/paul/README.md</loc>
<lastmod>2024-04-12T18:22:04+00:00</lastmod> <lastmod>2024-04-17T07:29:33+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1989/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1989/README.md</loc>
@@ -2178,7 +2178,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/jaw/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1990/jaw/index.html</loc>
<lastmod>2024-04-17T07:17:58+00:00</lastmod> <lastmod>2024-04-17T07:42:15+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/jaw/jaw.c</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1990/jaw/jaw.c</loc>
@@ -2198,7 +2198,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/jaw/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1990/jaw/README.md</loc>
<lastmod>2024-04-17T07:14:21+00:00</lastmod> <lastmod>2024-04-17T07:29:55+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/jaw/shark.sh</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1990/jaw/shark.sh</loc>
@@ -2226,7 +2226,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/pjr/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1990/pjr/index.html</loc>
<lastmod>2024-04-16T23:13:57+00:00</lastmod> <lastmod>2024-04-17T07:42:16+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/pjr/Makefile</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1990/pjr/Makefile</loc>
@@ -2250,7 +2250,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/pjr/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1990/pjr/README.md</loc>
<lastmod>2024-04-12T18:22:04+00:00</lastmod> <lastmod>2024-04-17T07:30:05+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1990/README.md</loc>
@@ -2274,7 +2274,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/scjones/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1990/scjones/index.html</loc>
<lastmod>2024-04-16T23:13:58+00:00</lastmod> <lastmod>2024-04-17T07:42:16+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/scjones/Makefile</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1990/scjones/Makefile</loc>
@@ -2286,7 +2286,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/scjones/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1990/scjones/README.md</loc>
<lastmod>2024-04-12T18:22:04+00:00</lastmod> <lastmod>2024-04-17T07:30:17+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/scjones/scjones.c</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1990/scjones/scjones.c</loc>
@@ -2898,7 +2898,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1991/westley/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1991/westley/README.md</loc>
<lastmod>2024-04-17T07:05:22+00:00</lastmod> <lastmod>2024-04-17T07:22:47+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1991/westley/ttt.alt.sh</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1991/westley/ttt.alt.sh</loc>
@@ -2978,7 +2978,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1992/adrian/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1992/adrian/index.html</loc>
<lastmod>2024-04-16T23:14:05+00:00</lastmod> <lastmod>2024-04-17T07:42:23+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1992/adrian/Makefile</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1992/adrian/Makefile</loc>
@@ -2990,7 +2990,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1992/adrian/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1992/adrian/README.md</loc>
<lastmod>2024-04-12T18:22:04+00:00</lastmod> <lastmod>2024-04-17T07:30:26+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1992/adrian/try.sh</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1992/adrian/try.sh</loc>
@@ -4494,7 +4494,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1994/shapiro/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1994/shapiro/index.html</loc>
<lastmod>2024-04-16T23:14:20+00:00</lastmod> <lastmod>2024-04-17T07:42:38+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1994/shapiro/Makefile</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1994/shapiro/Makefile</loc>
@@ -4506,7 +4506,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1994/shapiro/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1994/shapiro/README.md</loc>
<lastmod>2024-04-12T18:22:04+00:00</lastmod> <lastmod>2024-04-17T07:30:44+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/1994/shapiro/shapiro.c</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/1994/shapiro/shapiro.c</loc>
@@ -7010,7 +7010,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2000/schneiderwent/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2000/schneiderwent/index.html</loc>
<lastmod>2024-04-16T23:14:47+00:00</lastmod> <lastmod>2024-04-17T07:43:05+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2000/schneiderwent/Makefile</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2000/schneiderwent/Makefile</loc>
@@ -7022,7 +7022,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2000/schneiderwent/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2000/schneiderwent/README.md</loc>
<lastmod>2024-04-12T18:22:04+00:00</lastmod> <lastmod>2024-04-17T07:30:58+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2000/schneiderwent/schneiderwent.c</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2000/schneiderwent/schneiderwent.c</loc>
@@ -7294,7 +7294,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2001/coupard/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2001/coupard/index.html</loc>
<lastmod>2024-04-16T23:14:50+00:00</lastmod> <lastmod>2024-04-17T07:43:08+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2001/coupard/Makefile</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2001/coupard/Makefile</loc>
@@ -7306,7 +7306,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2001/coupard/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2001/coupard/README.md</loc>
<lastmod>2024-04-12T18:22:04+00:00</lastmod> <lastmod>2024-04-17T07:31:07+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2001/coupard/try.sh</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2001/coupard/try.sh</loc>
@@ -7834,7 +7834,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2004/anonymous/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2004/anonymous/index.html</loc>
<lastmod>2024-04-17T07:18:57+00:00</lastmod> <lastmod>2024-04-17T07:43:14+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2004/anonymous/Makefile</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2004/anonymous/Makefile</loc>
@@ -7846,7 +7846,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2004/anonymous/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2004/anonymous/README.md</loc>
<lastmod>2024-04-17T07:07:53+00:00</lastmod> <lastmod>2024-04-17T07:31:20+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2004/anonymous/try.sh</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2004/anonymous/try.sh</loc>
@@ -8754,7 +8754,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2005/aidan/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2005/aidan/index.html</loc>
<lastmod>2024-04-16T23:15:04+00:00</lastmod> <lastmod>2024-04-17T07:43:22+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2005/aidan/insane1.sudoku</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2005/aidan/insane1.sudoku</loc>
@@ -8786,7 +8786,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2005/aidan/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2005/aidan/README.md</loc>
<lastmod>2024-04-12T18:22:04+00:00</lastmod> <lastmod>2024-04-17T07:32:09+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2005/aidan/test-su.perl</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2005/aidan/test-su.perl</loc>
@@ -8874,7 +8874,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2005/boutines/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2005/boutines/index.html</loc>
<lastmod>2024-04-16T23:15:05+00:00</lastmod> <lastmod>2024-04-17T07:43:23+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2005/boutines/input.txt</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2005/boutines/input.txt</loc>
@@ -8890,7 +8890,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2005/boutines/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2005/boutines/README.md</loc>
<lastmod>2024-04-12T18:22:04+00:00</lastmod> <lastmod>2024-04-17T07:32:28+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2005/boutines/try.sh</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2005/boutines/try.sh</loc>
@@ -13602,7 +13602,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2013/mills/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2013/mills/index.html</loc>
<lastmod>2024-04-16T23:15:39+00:00</lastmod> <lastmod>2024-04-17T07:43:57+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2013/mills/Makefile</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2013/mills/Makefile</loc>
@@ -13622,7 +13622,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2013/mills/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2013/mills/README.md</loc>
<lastmod>2024-04-12T18:22:04+00:00</lastmod> <lastmod>2024-04-17T07:32:45+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2013/misaka/2013_misaka.tar.bz2</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2013/misaka/2013_misaka.tar.bz2</loc>
@@ -15142,7 +15142,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2015/schweikhardt/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2015/schweikhardt/index.html</loc>
<lastmod>2024-04-17T07:19:53+00:00</lastmod> <lastmod>2024-04-17T07:44:11+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2015/schweikhardt/Makefile</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2015/schweikhardt/Makefile</loc>
@@ -15162,7 +15162,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2015/schweikhardt/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2015/schweikhardt/README.md</loc>
<lastmod>2024-04-17T07:11:22+00:00</lastmod> <lastmod>2024-04-17T07:33:27+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2015/schweikhardt/try.sh</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2015/schweikhardt/try.sh</loc>
@@ -15478,7 +15478,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/burton2/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2018/burton2/index.html</loc>
<lastmod>2024-04-17T07:19:56+00:00</lastmod> <lastmod>2024-04-17T07:44:14+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/burton2/iocccbug01.c</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2018/burton2/iocccbug01.c</loc>
@@ -15554,7 +15554,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/burton2/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2018/burton2/README.md</loc>
<lastmod>2024-04-17T07:12:04+00:00</lastmod> <lastmod>2024-04-17T07:33:43+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/burton2/results</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2018/burton2/results</loc>
@@ -15850,7 +15850,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/ferguson/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2018/ferguson/index.html</loc>
<lastmod>2024-04-17T07:19:58+00:00</lastmod> <lastmod>2024-04-17T07:44:16+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/ferguson/Makefile</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2018/ferguson/Makefile</loc>
@@ -15882,7 +15882,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/ferguson/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2018/ferguson/README.md</loc>
<lastmod>2024-04-17T07:13:06+00:00</lastmod> <lastmod>2024-04-17T07:38:26+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/ferguson/rpm.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2018/ferguson/rpm.html</loc>
@@ -16058,7 +16058,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/mills/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2018/mills/index.html</loc>
<lastmod>2024-04-16T23:16:00+00:00</lastmod> <lastmod>2024-04-17T07:44:18+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/mills/Makefile</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2018/mills/Makefile</loc>
@@ -16078,7 +16078,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/mills/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2018/mills/README.md</loc>
<lastmod>2024-04-12T18:22:04+00:00</lastmod> <lastmod>2024-04-17T07:38:49+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/mills/v0.image.fs</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2018/mills/v0.image.fs</loc>
@@ -16274,7 +16274,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/adamovsky/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2019/adamovsky/index.html</loc>
<lastmod>2024-04-16T23:16:02+00:00</lastmod> <lastmod>2024-04-17T07:44:20+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/adamovsky/iocccsize_2018.c</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2019/adamovsky/iocccsize_2018.c</loc>
@@ -16302,7 +16302,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/adamovsky/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2019/adamovsky/README.md</loc>
<lastmod>2024-04-12T18:22:04+00:00</lastmod> <lastmod>2024-04-17T07:39:04+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/adamovsky/sierpinski.unl</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2019/adamovsky/sierpinski.unl</loc>
@@ -16506,7 +16506,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/diels-grabsch1/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2019/diels-grabsch1/index.html</loc>
<lastmod>2024-04-16T23:16:04+00:00</lastmod> <lastmod>2024-04-17T07:44:21+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/diels-grabsch1/Makefile</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2019/diels-grabsch1/Makefile</loc>
@@ -16526,7 +16526,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/diels-grabsch1/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2019/diels-grabsch1/README.md</loc>
<lastmod>2024-04-12T18:22:04+00:00</lastmod> <lastmod>2024-04-17T07:39:16+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/diels-grabsch1/Shakespeare.txt</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2019/diels-grabsch1/Shakespeare.txt</loc>
@@ -17042,7 +17042,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/poikola/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2019/poikola/index.html</loc>
<lastmod>2024-04-16T23:16:09+00:00</lastmod> <lastmod>2024-04-17T07:44:26+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/poikola/Makefile</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2019/poikola/Makefile</loc>
@@ -17070,7 +17070,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/poikola/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2019/poikola/README.md</loc>
<lastmod>2024-04-12T18:22:04+00:00</lastmod> <lastmod>2024-04-17T07:39:47+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/poikola/try.alt.sh</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2019/poikola/try.alt.sh</loc>
@@ -17622,7 +17622,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2020/ferguson2/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2020/ferguson2/index.html</loc>
<lastmod>2024-04-17T06:57:11+00:00</lastmod> <lastmod>2024-04-17T07:44:30+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2020/ferguson2/input.txt</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2020/ferguson2/input.txt</loc>
@@ -17670,7 +17670,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2020/ferguson2/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2020/ferguson2/README.md</loc>
<lastmod>2024-04-17T07:00:58+00:00</lastmod> <lastmod>2024-04-17T07:40:06+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2020/ferguson2/recode.1</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2020/ferguson2/recode.1</loc>
@@ -17958,7 +17958,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2020/kurdyukov4/index.html</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2020/kurdyukov4/index.html</loc>
<lastmod>2024-04-16T23:16:15+00:00</lastmod> <lastmod>2024-04-17T07:44:33+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2020/kurdyukov4/Makefile</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2020/kurdyukov4/Makefile</loc>
@@ -17982,7 +17982,7 @@
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2020/kurdyukov4/README.md</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2020/kurdyukov4/README.md</loc>
<lastmod>2024-04-12T18:22:04+00:00</lastmod> <lastmod>2024-04-17T07:40:29+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ioccc-src.github.io/temp-test-ioccc/2020/kurdyukov4/Shakespeare.txt</loc> <loc>https://ioccc-src.github.io/temp-test-ioccc/2020/kurdyukov4/Shakespeare.txt</loc>