replace old ASCII > style with markdown code blocks
This commit is contained in:
1 parent
4c3649a3c1
commit
e695c5cf03
45 files changed
+437
-480
No files matched your search
@@ -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
|
||||
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.
|
||||
|
||||
``` <!---c-->
|
||||
|
||||
@@ -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
|
||||
random. The program we wrote for that follows. This program actually also
|
||||
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
|
||||
compiled in modern systems.</p>
|
||||
</blockquote>
|
||||
<pre><code> #include <stdio.h>
|
||||
#include <a.out.h>
|
||||
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ out. See [alternate code](#alternate-code) below for more details.
|
||||
|
||||
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
|
||||
the program. Besides it is fun to watch the tape zooming back
|
||||
and forth as the program runs. A much better debugger or trace
|
||||
|
||||
@@ -158,13 +158,11 @@ out. See <a href="#alternate-code">alternate code</a> below for more details.</p
|
||||
<pre><code> ./paul</code></pre>
|
||||
<h2 id="alternate-code">Alternate code:</h2>
|
||||
<p>This version was described by the author like:</p>
|
||||
<blockquote>
|
||||
<p>I could have squeezed the program under 1024 bytes without the
|
||||
trace subroutine, but I felt it was important for understanding
|
||||
the program. Besides it is fun to watch the tape zooming back
|
||||
and forth as the program runs. A much better debugger or trace
|
||||
could easily be added.</p>
|
||||
</blockquote>
|
||||
<h3 id="alternate-build">Alternate build:</h3>
|
||||
<pre><code> make alt</code></pre>
|
||||
<h3 id="alternate-use">Alternate use:</h3>
|
||||
|
||||
+4
-6
@@ -69,13 +69,11 @@ Universities Space Research Association<br>
|
||||
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
|
||||
|
||||
+3
-6
@@ -193,12 +193,9 @@ directory it is run from.</p>
|
||||
<p>James A. Woods<br>
|
||||
Universities Space Research Association<br>
|
||||
NASA Ames Research Center</p>
|
||||
<hr />
|
||||
<blockquote>
|
||||
<p>“Use an algorithm, go to jail.”</p>
|
||||
<p>– anon., circa 1988, pre-<a href="https://en.wikipedia.org/wiki/Morris_worm">Morris worm</a> era</p>
|
||||
</blockquote>
|
||||
<hr />
|
||||
<pre><code> "Use an algorithm, go to jail."
|
||||
|
||||
-- anon., circa 1988, pre-[Morris worm](https://en.wikipedia.org/wiki/Morris_worm) era</code></pre>
|
||||
<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
|
||||
assumes prior installation of the computational dual of such bundling software
|
||||
|
||||
+3
-1
@@ -59,7 +59,9 @@ to functions!
|
||||
|
||||
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:
|
||||
|
||||
+1
-3
@@ -176,9 +176,7 @@ it is done?</p>
|
||||
to functions!</p>
|
||||
<h3 id="spoiler">Spoiler:</h3>
|
||||
<p>This program prints out the string:</p>
|
||||
<blockquote>
|
||||
<p>the quick brown fox jumped over the lazy dog</p>
|
||||
</blockquote>
|
||||
<pre><code> the quick brown fox jumped over the lazy dog</code></pre>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
<p>It is simple to make the program print other strings. Each
|
||||
alphabetical character from a to z is printed out as its
|
||||
|
||||
@@ -28,10 +28,12 @@ ISO character set.
|
||||
|
||||
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
|
||||
> unintentional?), I was really hoping for something more along the lines of
|
||||
> "Closest Resemblance to Line Noise." :-)
|
||||
```
|
||||
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
|
||||
unintentional?), I was really hoping for something more along the lines of
|
||||
"Closest Resemblance to Line Noise." :-)
|
||||
```
|
||||
|
||||
... it was unintentional.
|
||||
|
||||
|
||||
@@ -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
|
||||
ISO character set.</p>
|
||||
<p>The Author sent us this note after he was informed that he won:</p>
|
||||
<blockquote>
|
||||
<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
|
||||
unintentional?), I was really hoping for something more along the lines of
|
||||
“Closest Resemblance to Line Noise.” :-)</p>
|
||||
</blockquote>
|
||||
<pre><code> 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
|
||||
unintentional?), I was really hoping for something more along the lines of
|
||||
"Closest Resemblance to Line Noise." :-)</code></pre>
|
||||
<p>… it was unintentional.</p>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
<p>Since this year’s contest is dedicated to ANSI C, here is a strictly conforming
|
||||
|
||||
@@ -257,7 +257,9 @@ many seconds.
|
||||
If either `adbasename` or `adsleep` is invoked with too few parameters,
|
||||
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
|
||||
machine.) The four programs which read from stdin require lines
|
||||
|
||||
@@ -286,9 +286,7 @@ command. Invoke with a single integer parameter, and it will pause for that
|
||||
many seconds.</p>
|
||||
<p>If either <code>adbasename</code> or <code>adsleep</code> is invoked with too few parameters,
|
||||
the program will print the error message:</p>
|
||||
<blockquote>
|
||||
<p>Segmentation fault (core dumped)</p>
|
||||
</blockquote>
|
||||
<pre><code> Segmentation fault (core dumped)</code></pre>
|
||||
<p>(The exact text of the above error messages varies from machine to
|
||||
machine.) The four programs which read from stdin require lines
|
||||
shorter than 999 characters.</p>
|
||||
|
||||
@@ -61,8 +61,10 @@ this program. Note that this alt file is currently missing. See
|
||||
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
|
||||
|
||||
@@ -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>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
<p>The basic theme (pun) of this program is:</p>
|
||||
<blockquote>
|
||||
<p>“This time (everything) is not where it should be.”
|
||||
~~~~</p>
|
||||
</blockquote>
|
||||
<pre><code> "This time (everything) is not where it should be."
|
||||
~~~~</code></pre>
|
||||
<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
|
||||
quickly realize that the comments were the important part and that
|
||||
|
||||
@@ -53,7 +53,9 @@ keeping the program portable between different encodings
|
||||
|
||||
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
|
||||
any warnings or errors in compiling the source for this entry. No
|
||||
|
||||
@@ -175,9 +175,7 @@ keeping the program portable between different encodings
|
||||
(Chinese, Japanese, Russian - anyone?) may be an entertaining task.</p>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
<p>This entry displays the current time to the console, for example:</p>
|
||||
<blockquote>
|
||||
<p>it’s just after ten ’til 6 in the evening</p>
|
||||
</blockquote>
|
||||
<pre><code> it's just after ten 'til 6 in the evening</code></pre>
|
||||
<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
|
||||
doubt lint will complain about the goto statements.</p>
|
||||
|
||||
@@ -58,7 +58,9 @@ To listen to what the program says directly, invoke
|
||||
|
||||
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
|
||||
to write to `/dev/audio`, have your sound card enabled, the volume up,
|
||||
|
||||
@@ -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>
|
||||
<pre><code> ./coupard > /dev/audio</code></pre>
|
||||
<p>The program then speaks out something like</p>
|
||||
<blockquote>
|
||||
<p>The time is HH hours MM minutes SS seconds</p>
|
||||
</blockquote>
|
||||
<pre><code> The time is HH hours MM minutes SS seconds</code></pre>
|
||||
<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,
|
||||
the speakers connected … :-)</p>
|
||||
|
||||
@@ -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
|
||||
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
|
||||
Speech](https://www.glyphweb.com/arda/b/blackspeech.html) means:
|
||||
|
||||
@@ -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
|
||||
earlier drafts sometimes the û had no diacritic but H after the <code>u</code> in
|
||||
it. The real text is:</p>
|
||||
<blockquote>
|
||||
<p>Ash nazg durbatulûk, ash nazg gimbatul, ash nazg thrakatulûk, agh
|
||||
burzum-ishi krimpatul.</p>
|
||||
</blockquote>
|
||||
<pre><code> Ash nazg durbatulûk, ash nazg gimbatul, ash nazg thrakatulûk, agh
|
||||
burzum-ishi krimpatul.</code></pre>
|
||||
<p>which when translated from <a href="https://www.glyphweb.com/arda/b/blackspeech.html">Black
|
||||
Speech</a> means:</p>
|
||||
<pre><code> [One Ring](https://www.glyphweb.com/arda/o/onering.html) to rule them all,
|
||||
|
||||
@@ -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
|
||||
new name.
|
||||
|
||||
> Judges' note: this was done.
|
||||
**Judges' note**: this was done.
|
||||
|
||||
|
||||
### 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;}
|
||||
```
|
||||
|
||||
> 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
|
||||
nearly so scenarios), inelegant, and not a good starting point for sudoku
|
||||
|
||||
@@ -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
|
||||
<code>./sudoku-sf</code>. If you rename it, please change the definition of <code>$sf_exe</code> to the
|
||||
new name.</p>
|
||||
<blockquote>
|
||||
<p>Judges’ note: this was done.</p>
|
||||
</blockquote>
|
||||
<p><strong>Judges’ note</strong>: this was done.</p>
|
||||
<h3 id="legal-blurb">Legal blurb</h3>
|
||||
<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.
|
||||
@@ -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<81;printf("\n%s!\n\n",z?"Fail":
|
||||
"Success");for(n=0;n<81;){p=i[n];printf("%c %s",(p?p|48:'.'),(++n%3?"":n%9?"| "
|
||||
:n%27?"\n":n%81?"\n------+-------+------\n":"\n\n"));}return z;}</code></pre>
|
||||
<blockquote>
|
||||
<p>Judges’ note: this was added as <a href="aidan.alt.c">aidan.alt.c</a>.</p>
|
||||
</blockquote>
|
||||
<p><strong>Judges’ note</strong>: this was added as <a href="aidan.alt.c">aidan.alt.c</a>.</p>
|
||||
<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
|
||||
generation. It’s also much too easy to understand ;-) Instead, I’ve written a
|
||||
|
||||
@@ -108,7 +108,7 @@ factors.
|
||||
|
||||
Therefore this entry is limited to
|
||||
|
||||
> 
|
||||

|
||||
|
||||
points and won't even be suitable for more than a few thousand; although
|
||||
generated files did pass the [W3C SVG
|
||||
@@ -181,7 +181,7 @@ viewport and potentially every
|
||||
|
||||
### Example Output
|
||||
|
||||
> 
|
||||

|
||||
|
||||
|
||||
<!--
|
||||
|
||||
@@ -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
|
||||
factors.</p>
|
||||
<p>Therefore this entry is limited to</p>
|
||||
<blockquote>
|
||||
<figure>
|
||||
<img src="eqn.png" alt="floor(-1)" />
|
||||
<figcaption aria-hidden="true">floor(-1)</figcaption>
|
||||
</figure>
|
||||
</blockquote>
|
||||
<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
|
||||
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>
|
||||
</ul>
|
||||
<h3 id="example-output">Example Output</h3>
|
||||
<blockquote>
|
||||
<figure>
|
||||
<img src="Voronoi.png" alt="Voronoi diagram of two regular pentagon vertices" />
|
||||
<figcaption aria-hidden="true">Voronoi diagram of two regular pentagon vertices</figcaption>
|
||||
</figure>
|
||||
</blockquote>
|
||||
<!--
|
||||
|
||||
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
|
||||
|
||||
@@ -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
|
||||
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
|
||||
not confirmed) that the code will, in fact, display leap seconds correctly.
|
||||
|
||||
@@ -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
|
||||
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>
|
||||
<blockquote>
|
||||
<p>At least one judge prefers to maintain the use of the leap-second
|
||||
as part of the world’s time standard.</p>
|
||||
</blockquote>
|
||||
<pre><code> At least one judge prefers to maintain the use of the leap-second
|
||||
as part of the world's time standard.</code></pre>
|
||||
<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>
|
||||
<p>To display the time, of course we would need a font. This font is encoded
|
||||
|
||||
@@ -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:
|
||||
|
||||
> Solving the [Generalized Riemann
|
||||
Solving the [Generalized Riemann
|
||||
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
|
||||
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:
|
||||
|
||||
|
||||
> "Mathematics may not be ready for such problems."
|
||||
```
|
||||
"Mathematics may not be ready for such problems."
|
||||
```
|
||||
|
||||
He also offered $500 for its solution.
|
||||
|
||||
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, ...
|
||||
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
|
||||
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
|
||||
> (and deallocated if it was automatically allocated).
|
||||
```
|
||||
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 deallocated if it was automatically allocated).
|
||||
```
|
||||
|
||||
So I `fclose(stdout)` before returning and now:
|
||||
|
||||
|
||||
@@ -180,12 +180,10 @@ as having one of the largest “yummo quotients” in number theory:</p>
|
||||
yummo quotient = -----------------------------------
|
||||
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>
|
||||
<blockquote>
|
||||
<p>Solving the <a href="https://en.wikipedia.org/wiki/Generalized_Riemann_hypothesis#Extended_Riemann_hypothesis_.28ERH.29">Generalized Riemann
|
||||
hypothesis</a>
|
||||
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>
|
||||
</blockquote>
|
||||
<p>You may explore this famous conjecture using this entry:</p>
|
||||
<pre><code> ./prog 2410
|
||||
./prog abfff
|
||||
@@ -225,14 +223,10 @@ process indefinitely.</p>
|
||||
<p>The conjecture is that no matter what number you start with,
|
||||
you eventually reach <code>1</code>.</p>
|
||||
<p>Paul Erdős said about the Collatz conjecture:</p>
|
||||
<blockquote>
|
||||
<p>“Mathematics may not be ready for such problems.”</p>
|
||||
</blockquote>
|
||||
<pre><code> "Mathematics may not be ready for such problems."</code></pre>
|
||||
<p>He also offered $500 for its solution.</p>
|
||||
<p>For example, the sequence of numbers for <code>n</code> = 6 is</p>
|
||||
<blockquote>
|
||||
<p>6, 3, 10, 5, 16, 8, 4, 2, 1.</p>
|
||||
</blockquote>
|
||||
<pre><code> 6, 3, 10, 5, 16, 8, 4, 2, 1.</code></pre>
|
||||
<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
|
||||
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
|
||||
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>
|
||||
<blockquote>
|
||||
<p>Whether or not the call succeeds, the stream is disassociated from the file
|
||||
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).</p>
|
||||
</blockquote>
|
||||
<pre><code> 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 deallocated if it was automatically allocated).</code></pre>
|
||||
<p>So I <code>fclose(stdout)</code> before returning and now:</p>
|
||||
<pre><code> valgrind --leak-check=full --show-leak-kinds=all ./prog 6
|
||||
==14571== Memcheck, a memory error detector
|
||||
|
||||
@@ -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
|
||||
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`.
|
||||
> This obfuscated entry is derived from (and compatible with) that code,
|
||||
> 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.
|
||||
```
|
||||
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`.
|
||||
This obfuscated entry is derived from (and compatible with) that code,
|
||||
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
|
||||
([iocccsize.c](../../2018/iocccsize.c)) source code;
|
||||
|
||||
@@ -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.
|
||||
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>
|
||||
<blockquote>
|
||||
<p>A version of this tool in more clearly written C (<a href="tac.c">tac.c</a>)
|
||||
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,
|
||||
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.</p>
|
||||
</blockquote>
|
||||
<pre><code> 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`.
|
||||
This obfuscated entry is derived from (and compatible with) that code,
|
||||
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>
|
||||
<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;
|
||||
<code>tac</code> gets the correct answer. This is due to the aforementioned bugs within <code>iocccsize</code>,
|
||||
|
||||
+115
-99
@@ -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][]
|
||||
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
|
||||
> Shakespeare. The operative phrase is, of course, *given enough time.* Let us
|
||||
> limit the task facing our monkey somewhat. Suppose that he has to produce, not
|
||||
> the complete works of Shakespeare but just the short sentence 'Methinks it is
|
||||
> 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
|
||||
> bar. How long will he take to write this one little sentence?
|
||||
```
|
||||
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
|
||||
Shakespeare. The operative phrase is, of course, *given enough time.* Let us
|
||||
limit the task facing our monkey somewhat. Suppose that he has to produce, not
|
||||
the complete works of Shakespeare but just the short sentence 'Methinks it is
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
> intelligent exploitation of a random search used to solve optimization problems.
|
||||
> Although randomised, GAs are by no means random, instead they exploit historical
|
||||
> 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
|
||||
> processes in natural systems necessary for evolution, specially those follow the
|
||||
> principles first laid down by Charles Darwin of "survival of the fittest.".
|
||||
> Since in nature, competition among individuals for scanty resources results in
|
||||
> the fittest individuals dominating over the weaker ones.
|
||||
```
|
||||
Genetic Algorithms (GAs) are adaptive heuristic search algorithm based on the
|
||||
evolutionary ideas of natural selection and genetics. As such they represent an
|
||||
intelligent exploitation of a random search used to solve optimization problems.
|
||||
Although randomised, GAs are by no means random, instead they exploit historical
|
||||
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
|
||||
processes in natural systems necessary for evolution, specially those follow the
|
||||
principles first laid down by Charles Darwin of "survival of the fittest.".
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
final but this is relevant) they give is:
|
||||
|
||||
> 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
|
||||
> pet fish Eric, or in the case that you lack such a pet, will insult the
|
||||
> pet that you do not have.
|
||||
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
|
||||
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:
|
||||
|
||||
> 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
|
||||
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:
|
||||
|
||||
> 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*
|
||||
at first glance if you look throughout the file you'll see two statements to
|
||||
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
|
||||
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:
|
||||
|
||||
> Anti-Foreword
|
||||
```
|
||||
Anti-Foreword
|
||||
|
||||
> By Dennis Ritchie
|
||||
> From: dmr@plan9.research.att.com
|
||||
> Date: Tue, 15 Mar 1994 00:38:07 EST
|
||||
> Subject: anti-foreword
|
||||
By Dennis Ritchie
|
||||
From: dmr@plan9.research.att.com
|
||||
Date: Tue, 15 Mar 1994 00:38:07 EST
|
||||
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
|
||||
> 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)
|
||||
> are not just out to pasture, they are fertilizing it from below.
|
||||
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
|
||||
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.
|
||||
|
||||
> 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
|
||||
> a Gulag. In Chapter 1 you are in turn infected by a virus, racked by drug
|
||||
> addiction, and addled by puffiness of the genome.
|
||||
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
|
||||
a Gulag. In Chapter 1 you are in turn infected by a virus, racked by drug
|
||||
addiction, and addled by puffiness of the genome.
|
||||
|
||||
> 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
|
||||
> places, creates order from chaos: instead, collectives like the FSF vindicate
|
||||
> their jailers by building cells almost compatible with the existing ones, albeit
|
||||
> with more features. The journalist with three undergraduate degrees from MIT,
|
||||
> 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
|
||||
> transferred.
|
||||
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
|
||||
places, creates order from chaos: instead, collectives like the FSF vindicate
|
||||
their jailers by building cells almost compatible with the existing ones, albeit
|
||||
with more features. The journalist with three undergraduate degrees from MIT,
|
||||
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
|
||||
transferred.
|
||||
|
||||
> 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
|
||||
> 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
|
||||
> 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
|
||||
> mainly in whining.
|
||||
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
|
||||
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
|
||||
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
|
||||
mainly in whining.
|
||||
|
||||
> 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.
|
||||
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.
|
||||
|
||||
> Bon appetit!
|
||||
Bon appetit!
|
||||
```
|
||||
|
||||
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
|
||||
@@ -1183,52 +1195,56 @@ contest is about? :)
|
||||
|
||||
<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,
|
||||
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
|
||||
alive for more than 20 years. Speaking at the recent UnixWorld Software
|
||||
Development Forum, Thompson revealed the following:
|
||||
In an announcement that has stunned the computer industry, Ken Thompson,
|
||||
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
|
||||
alive for more than 20 years. Speaking at the recent UnixWorld Software
|
||||
Development Forum, Thompson revealed the following:
|
||||
|
||||
> "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
|
||||
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
|
||||
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
|
||||
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
|
||||
possible to maximize casual users' frustration levels, calling it Unix as a
|
||||
parody of Multics, as well as other more risque allusions.
|
||||
"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
|
||||
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
|
||||
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
|
||||
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
|
||||
possible to maximize casual users' frustration levels, calling it Unix as a
|
||||
parody of Multics, as well as other more risque allusions.
|
||||
|
||||
> "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:
|
||||
"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:
|
||||
```
|
||||
|
||||
``` <!---c-->
|
||||
for(;P("\n"),R=;P("|"))for(e=C;e=P("_"+(*u++/
|
||||
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
|
||||
this to the Soviets to set their computer science progress back 20 or more
|
||||
years. Imagine our surprise when AT&T and other U.S. corporations actually began
|
||||
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
|
||||
technological parody, but we are impressed with the tenacity (if not common
|
||||
sense) of the general Unix and C programmer.
|
||||
```
|
||||
"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
|
||||
this to the Soviets to set their computer science progress back 20 or more
|
||||
years. Imagine our surprise when AT&T and other U.S. corporations actually began
|
||||
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
|
||||
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
|
||||
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
|
||||
prank so long ago."
|
||||
"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
|
||||
chaos, confusion, and truly bad programming that has resulted from our silly
|
||||
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
|
||||
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
|
||||
@@ -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.
|
||||
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
|
||||
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
|
||||
|
||||
+107
-144
@@ -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).
|
||||
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>
|
||||
<blockquote>
|
||||
<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
|
||||
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
|
||||
the complete works of Shakespeare but just the short sentence ‘Methinks it is
|
||||
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
|
||||
bar. How long will he take to write this one little sentence?</p>
|
||||
</blockquote>
|
||||
<pre><code> 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
|
||||
Shakespeare. The operative phrase is, of course, *given enough time.* Let us
|
||||
limit the task facing our monkey somewhat. Suppose that he has to produce, not
|
||||
the complete works of Shakespeare but just the short sentence 'Methinks it is
|
||||
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
|
||||
bar. How long will he take to write this one little sentence?</code></pre>
|
||||
<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
|
||||
<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
|
||||
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>
|
||||
<blockquote>
|
||||
<p>Genetic Algorithms (GAs) are adaptive heuristic search algorithm based on the
|
||||
evolutionary ideas of natural selection and genetics. As such they represent an
|
||||
intelligent exploitation of a random search used to solve optimization problems.
|
||||
Although randomised, GAs are by no means random, instead they exploit historical
|
||||
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
|
||||
processes in natural systems necessary for evolution, specially those follow the
|
||||
principles first laid down by Charles Darwin of “survival of the fittest.”.
|
||||
Since in nature, competition among individuals for scanty resources results in
|
||||
the fittest individuals dominating over the weaker ones.</p>
|
||||
</blockquote>
|
||||
<pre><code> Genetic Algorithms (GAs) are adaptive heuristic search algorithm based on the
|
||||
evolutionary ideas of natural selection and genetics. As such they represent an
|
||||
intelligent exploitation of a random search used to solve optimization problems.
|
||||
Although randomised, GAs are by no means random, instead they exploit historical
|
||||
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
|
||||
processes in natural systems necessary for evolution, specially those follow the
|
||||
principles first laid down by Charles Darwin of "survival of the fittest.".
|
||||
Since in nature, competition among individuals for scanty resources results in
|
||||
the fittest individuals dominating over the weaker ones.</code></pre>
|
||||
<p><strong>SPOILER WARNING: Some of the below might help you follow the code more
|
||||
easily.</strong></p>
|
||||
<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
|
||||
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>
|
||||
<blockquote>
|
||||
<p>Too many attempts, blaming the monkey Eric even if he isn’t typing or doesn’t exist. Bye.</p>
|
||||
</blockquote>
|
||||
<pre><code> Too many attempts, blaming the monkey Eric even if he isn't typing or doesn't exist. Bye.</code></pre>
|
||||
<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
|
||||
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
|
||||
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>This entry factors integers between 1 and 2305567963945518424753102147331756070.
|
||||
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 that you do not have.</p>
|
||||
</blockquote>
|
||||
<pre><code> This entry factors integers between 1 and 2305567963945518424753102147331756070.
|
||||
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 that you do not have.</code></pre>
|
||||
<p>After the final message they ask:</p>
|
||||
<blockquote>
|
||||
<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
|
||||
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
|
||||
@@ -783,19 +773,13 @@ deciphering #7 help you decipher #5).</p>
|
||||
<h3 id="beauty"><a name="beauty">Beauty</a></h3>
|
||||
<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>
|
||||
<blockquote>
|
||||
<p>We want to get away from source that is simply <strong>a compact blob of
|
||||
octets.</strong> Really try to be more creative than <strong>blob coding.</strong> <em>HINT!</em></p>
|
||||
</blockquote>
|
||||
<pre><code> 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!*</code></pre>
|
||||
<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
|
||||
set your thinking straight:</p>
|
||||
<blockquote>
|
||||
<p><strong>NO BLOB CODING</strong></p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<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
|
||||
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
|
||||
@@ -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
|
||||
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>
|
||||
<blockquote>
|
||||
<p>Anti-Foreword</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p>By Dennis Ritchie
|
||||
From: dmr@plan9.research.att.com
|
||||
Date: Tue, 15 Mar 1994 00:38:07 EST
|
||||
Subject: anti-foreword</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p>To the contributers to this book:</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<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
|
||||
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.</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p>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
|
||||
a Gulag. In Chapter 1 you are in turn infected by a virus, racked by drug
|
||||
addiction, and addled by puffiness of the genome.</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p>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
|
||||
places, creates order from chaos: instead, collectives like the FSF vindicate
|
||||
their jailers by building cells almost compatible with the existing ones, albeit
|
||||
with more features. The journalist with three undergraduate degrees from MIT,
|
||||
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
|
||||
transferred.</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<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
|
||||
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
|
||||
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
|
||||
mainly in whining.</p>
|
||||
</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>
|
||||
<pre><code> Anti-Foreword
|
||||
|
||||
By Dennis Ritchie
|
||||
From: dmr@plan9.research.att.com
|
||||
Date: Tue, 15 Mar 1994 00:38:07 EST
|
||||
Subject: anti-foreword
|
||||
|
||||
To the contributers to this book:
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
a Gulag. In Chapter 1 you are in turn infected by a virus, racked by drug
|
||||
addiction, and addled by puffiness of the genome.
|
||||
|
||||
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
|
||||
places, creates order from chaos: instead, collectives like the FSF vindicate
|
||||
their jailers by building cells almost compatible with the existing ones, albeit
|
||||
with more features. The journalist with three undergraduate degrees from MIT,
|
||||
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
|
||||
transferred.
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
mainly in whining.
|
||||
|
||||
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.
|
||||
|
||||
Bon appetit!</code></pre>
|
||||
<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
|
||||
albeit not very much (and it still <em>‘compiles’!</em>); and isn’t that what this
|
||||
contest is about? :)</p>
|
||||
<p><a name="ken">Ken Thompson’s</a> ending:</p>
|
||||
<blockquote>
|
||||
<p>Creators Admit C, Unix Were Hoax</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p>FOR IMMEDIATE RELEASE</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p>In an announcement that has stunned the computer industry, Ken Thompson,
|
||||
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
|
||||
alive for more than 20 years. Speaking at the recent UnixWorld Software
|
||||
Development Forum, Thompson revealed the following:</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p>“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
|
||||
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
|
||||
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
|
||||
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
|
||||
possible to maximize casual users’ frustration levels, calling it Unix as a
|
||||
parody of Multics, as well as other more risque allusions.</p>
|
||||
</blockquote>
|
||||
<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> Creators Admit C, Unix Were Hoax
|
||||
|
||||
FOR IMMEDIATE RELEASE
|
||||
|
||||
In an announcement that has stunned the computer industry, Ken Thompson,
|
||||
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
|
||||
alive for more than 20 years. Speaking at the recent UnixWorld Software
|
||||
Development Forum, Thompson revealed the following:
|
||||
|
||||
"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
|
||||
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
|
||||
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
|
||||
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
|
||||
possible to maximize casual users' frustration levels, calling it Unix as a
|
||||
parody of Multics, as well as other more risque allusions.
|
||||
|
||||
"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:</code></pre>
|
||||
<pre><code> for(;P("\n"),R=;P("|"))for(e=C;e=P("_"+(*u++/
|
||||
8)%2))P("|"+(*u/4)%2);</code></pre>
|
||||
<blockquote>
|
||||
<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
|
||||
this to the Soviets to set their computer science progress back 20 or more
|
||||
years. Imagine our surprise when AT&T and other U.S. corporations actually began
|
||||
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
|
||||
technological parody, but we are impressed with the tenacity (if not common
|
||||
sense) of the general Unix and C programmer.</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p>“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
|
||||
chaos, confusion, and truly bad programming that has resulted from our silly
|
||||
prank so long ago.”</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<pre><code> "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
|
||||
this to the Soviets to set their computer science progress back 20 or more
|
||||
years. Imagine our surprise when AT&T and other U.S. corporations actually began
|
||||
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
|
||||
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
|
||||
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
|
||||
prank so long ago."</code></pre>
|
||||
<p>Major Unix and C vendors and customers, including AT&T, Microsoft,
|
||||
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
|
||||
@@ -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
|
||||
Pascal, Modula 2, and Oberon structured languages, merely stated that P. T.
|
||||
Barnum was correct.</p>
|
||||
</blockquote>
|
||||
<p><strong>So is it a hoax about a non-hoax, a non-hoax about a hoax, a non-hoax about a
|
||||
<p>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
|
||||
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
|
||||
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
|
||||
|
||||
+13
-9
@@ -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
|
||||
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,
|
||||
> nor any of the numerous idiot lights which plague the modern
|
||||
> driver. Rather, if the driver makes any mistake, a giant "?"
|
||||
> lights up in the center of the dashboard. "The experienced
|
||||
> driver", he says, "will usually know what's wrong."
|
||||
```
|
||||
Ken Thompson has an automobile which he helped design. Unlike
|
||||
most automobiles, it has neither speedometer, nor gas gauge,
|
||||
nor any of the numerous idiot lights which plague the modern
|
||||
driver. Rather, if the driver makes any mistake, a giant "?"
|
||||
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
|
||||
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
|
||||
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
|
||||
> through Thompson's brain.
|
||||
```
|
||||
B can be thought of as C without types; more accurately,
|
||||
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
|
||||
shows the source of a lot of C's mysteriousness -- some of which is preserved
|
||||
|
||||
+9
-13
@@ -405,14 +405,12 @@ respectively. Let’s try the Dennis Richie’s <code>dmr</code> account:</p>
|
||||
. ?</code></pre>
|
||||
<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>
|
||||
<blockquote>
|
||||
<p>Ken Thompson has an automobile which he helped design. Unlike
|
||||
most automobiles, it has neither speedometer, nor gas gauge,
|
||||
nor any of the numerous idiot lights which plague the modern
|
||||
driver. Rather, if the driver makes any mistake, a giant “?”
|
||||
lights up in the center of the dashboard. “The experienced
|
||||
driver”, he says, “will usually know what’s wrong.”</p>
|
||||
</blockquote>
|
||||
<pre><code> Ken Thompson has an automobile which he helped design. Unlike
|
||||
most automobiles, it has neither speedometer, nor gas gauge,
|
||||
nor any of the numerous idiot lights which plague the modern
|
||||
driver. Rather, if the driver makes any mistake, a giant "?"
|
||||
lights up in the center of the dashboard. "The experienced
|
||||
driver", he says, "will usually know what's wrong."</code></pre>
|
||||
<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
|
||||
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
|
||||
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>
|
||||
<blockquote>
|
||||
<p>B can be thought of as C without types; more accurately,
|
||||
it is BCPL squeezed into 8K bytes of memory and filtered
|
||||
through Thompson’s brain.</p>
|
||||
</blockquote>
|
||||
<pre><code> B can be thought of as C without types; more accurately,
|
||||
it is BCPL squeezed into 8K bytes of memory and filtered
|
||||
through Thompson's brain.</code></pre>
|
||||
<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
|
||||
simply so that C could compile the <em>dozens</em> of lines of existing B code…</p>
|
||||
|
||||
@@ -96,7 +96,7 @@ and run it like this:
|
||||
./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
|
||||
[Unlambda distribution][3] on the Unlambda homepage. The most complex programs there are
|
||||
|
||||
@@ -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)
|
||||
and run it like this:</p>
|
||||
<pre><code> ./prog advent.unl</code></pre>
|
||||
<blockquote>
|
||||
<p>NOTE: the file was added to the entry so there is no need to download it.</p>
|
||||
</blockquote>
|
||||
<p><strong>NOTE</strong>: the file was added to the entry so there is no need to download it.</p>
|
||||
<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
|
||||
entries from <a href="http://www.madore.org/~david/programs/unlambda/#quine" title="Unlambda quine contest">quine contest</a>.</p>
|
||||
|
||||
@@ -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
|
||||
GCC and Clang even with `-Wextra and -Weverything`.
|
||||
|
||||
> 2023 note: the above paragraph might not be true as far as number of bytes
|
||||
goes.
|
||||
**2023 note**: the above paragraph might not be true as far as number of bytes goes.
|
||||
|
||||
<!--
|
||||
|
||||
|
||||
@@ -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
|
||||
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>
|
||||
<blockquote>
|
||||
<p>2023 note: the above paragraph might not be true as far as number of bytes
|
||||
goes.</p>
|
||||
</blockquote>
|
||||
<p><strong>2023 note</strong>: the above paragraph might not be true as far as number of bytes goes.</p>
|
||||
<!--
|
||||
|
||||
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
|
||||
|
||||
+11
-3
@@ -130,16 +130,24 @@ file `poikola.pdf`. This requires the
|
||||
### What this entry does:
|
||||
|
||||
An old wise man mumbled to me:
|
||||
> Implement a program, which can calculate SHA-3 checksum for a file --
|
||||
|
||||
```
|
||||
Implement a program, which can calculate SHA-3 checksum for a file --
|
||||
```
|
||||
|
||||
I thought it was easy, but the wizard didn't stop yet:
|
||||
|
||||
> and primes and Fibonacci numbers.
|
||||
```
|
||||
and primes and Fibonacci numbers.
|
||||
```
|
||||
|
||||
Still easy. But the [Gandalf the
|
||||
Grey](https://www.glyphweb.com/arda/g/gandalf.html) impersonator was not ready:
|
||||
|
||||
> But use only `main()`, and do not use `math.h` nor predefined stuff at all.
|
||||
```
|
||||
But use only `main()`, and do not use `math.h` nor predefined stuff at all.
|
||||
```
|
||||
|
||||
But wait, there are more rules: This work should reflect the extraordinary mind
|
||||
of Matti Nykänen, the all-time best [ski
|
||||
jumper](https://en.wikipedia.org/wiki/Matti_Nyk%C3%A4nen) and [amateur
|
||||
|
||||
@@ -211,22 +211,18 @@ Nykänen</a>.</p>
|
||||
file <code>poikola.pdf</code>. This requires the
|
||||
<a href="https://en.wikipedia.org/wiki/PdfTeX">pdfTeX</a> tool.</p>
|
||||
<h3 id="what-this-entry-does">What this entry does:</h3>
|
||||
<p>An old wise man mumbled to me:
|
||||
> Implement a program, which can calculate SHA-3 checksum for a file –</p>
|
||||
<p>An old wise man mumbled to me:</p>
|
||||
<pre><code> Implement a program, which can calculate SHA-3 checksum for a file --</code></pre>
|
||||
<p>I thought it was easy, but the wizard didn’t stop yet:</p>
|
||||
<blockquote>
|
||||
<p>and primes and Fibonacci numbers.</p>
|
||||
</blockquote>
|
||||
<pre><code> and primes and Fibonacci numbers.</code></pre>
|
||||
<p>Still easy. But the <a href="https://www.glyphweb.com/arda/g/gandalf.html">Gandalf the
|
||||
Grey</a> impersonator was not ready:</p>
|
||||
<blockquote>
|
||||
<p>But use only <code>main()</code>, and do not use <code>math.h</code> nor predefined stuff at all.
|
||||
But wait, there are more rules: This work should reflect the extraordinary mind
|
||||
<pre><code> But use only `main()`, and do not use `math.h` nor predefined stuff at all.</code></pre>
|
||||
<p>But wait, there are more rules: This work should reflect the extraordinary mind
|
||||
of Matti Nykänen, the all-time best <a href="https://en.wikipedia.org/wiki/Matti_Nyk%C3%A4nen">ski
|
||||
jumper</a> and <a href="http://telefinn.blogspot.com/2011/11/matti-nykanen-quotes.html">amateur
|
||||
philosopher</a>,
|
||||
who passed away on fourth of February 2019.</p>
|
||||
</blockquote>
|
||||
<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
|
||||
White</a> and the <a href="../../judges.html">Judges of
|
||||
|
||||
+14
-12
@@ -210,18 +210,20 @@ With my entry we can complete the loop!
|
||||
The author [Nathan Sidwell](../../authors.html#Nathan_Sidwell) of the [1992 Worst
|
||||
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
|
||||
encryption algorithm, where the encryption key character is modified by a value,
|
||||
determined from the previous character. Non-printable characters (those with
|
||||
ASCII values `< ' '` or `> 0x7e`) are passed unaltered, thus any kind of file
|
||||
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
|
||||
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
|
||||
decryption, a `-` should be given before the key. (Actually encryption and
|
||||
decryption proper inverse operations, so you can use decrypt to scramble and
|
||||
encrypt to descramble, if you're perverse.)
|
||||
```
|
||||
This program is a hello world text encrypter/decrypter. It uses an
|
||||
[enigma](https://www.cryptomuseum.com/crypto/enigma/index.htm) (I think) style
|
||||
encryption algorithm, where the encryption key character is modified by a value,
|
||||
determined from the previous character. Non-printable characters (those with
|
||||
ASCII values `< ' '` or `> 0x7e`) are passed unaltered, thus any kind of file
|
||||
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
|
||||
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
|
||||
decryption, a `-` should be given before the key. (Actually encryption and
|
||||
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
|
||||
|
||||
+12
-14
@@ -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>
|
||||
<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>
|
||||
<blockquote>
|
||||
<p>This program is a hello world text encrypter/decrypter. It uses an
|
||||
<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,
|
||||
determined from the previous character. Non-printable characters (those with
|
||||
ASCII values <code>< ' '</code> or <code>> 0x7e</code>) are passed unaltered, thus any kind of file
|
||||
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
|
||||
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
|
||||
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
|
||||
encrypt to descramble, if you’re perverse.)</p>
|
||||
</blockquote>
|
||||
<pre><code> This program is a hello world text encrypter/decrypter. It uses an
|
||||
[enigma](https://www.cryptomuseum.com/crypto/enigma/index.htm) (I think) style
|
||||
encryption algorithm, where the encryption key character is modified by a value,
|
||||
determined from the previous character. Non-printable characters (those with
|
||||
ASCII values `< ' '` or `> 0x7e`) are passed unaltered, thus any kind of file
|
||||
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
|
||||
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
|
||||
decryption, a `-` should be given before the key. (Actually encryption and
|
||||
decryption proper inverse operations, so you can use decrypt to scramble and
|
||||
encrypt to descramble, if you're perverse.)</code></pre>
|
||||
<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
|
||||
<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
|
||||
|
||||
@@ -21,9 +21,11 @@ context length decreases:
|
||||
./try.sh
|
||||
```
|
||||
|
||||
> Performance depends on the number of same hashes found.
|
||||
> Too many identical strings if the context length is small.
|
||||
> -- Author
|
||||
```
|
||||
Performance depends on the number of same hashes found.
|
||||
Too many identical strings if the context length is small.
|
||||
-- Author
|
||||
```
|
||||
|
||||
|
||||
## Judges' remarks:
|
||||
@@ -49,8 +51,10 @@ Example:
|
||||
# more ones in output
|
||||
```
|
||||
|
||||
> But this will happen very rarely on real data.
|
||||
> -- Author
|
||||
```
|
||||
But this will happen very rarely on real data.
|
||||
-- Author
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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
|
||||
context length decreases:</p>
|
||||
<pre><code> ./try.sh</code></pre>
|
||||
<blockquote>
|
||||
<p>Performance depends on the number of same hashes found.
|
||||
Too many identical strings if the context length is small.
|
||||
– Author</p>
|
||||
</blockquote>
|
||||
<pre><code> Performance depends on the number of same hashes found.
|
||||
Too many identical strings if the context length is small.
|
||||
-- Author</code></pre>
|
||||
<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
|
||||
the (still non-standard, for some reason) library function <code>memmem()</code>, but that
|
||||
@@ -178,10 +176,8 @@ Example:</p>
|
||||
# more twos in output
|
||||
./rand test.txt 1000 2 123
|
||||
# more ones in output</code></pre>
|
||||
<blockquote>
|
||||
<p>But this will happen very rarely on real data.
|
||||
– Author</p>
|
||||
</blockquote>
|
||||
<pre><code> But this will happen very rarely on real data.
|
||||
-- Author</code></pre>
|
||||
<hr />
|
||||
<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
|
||||
|
||||
+45
-45
@@ -162,7 +162,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1984/mullender/Makefile</loc>
|
||||
@@ -186,7 +186,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1984/README.md</loc>
|
||||
@@ -1746,7 +1746,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1989/paul/Makefile</loc>
|
||||
@@ -1770,7 +1770,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1989/README.md</loc>
|
||||
@@ -2178,7 +2178,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/jaw/jaw.c</loc>
|
||||
@@ -2198,7 +2198,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/jaw/shark.sh</loc>
|
||||
@@ -2226,7 +2226,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/pjr/Makefile</loc>
|
||||
@@ -2250,7 +2250,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/README.md</loc>
|
||||
@@ -2274,7 +2274,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/scjones/Makefile</loc>
|
||||
@@ -2286,7 +2286,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1990/scjones/scjones.c</loc>
|
||||
@@ -2898,7 +2898,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1991/westley/ttt.alt.sh</loc>
|
||||
@@ -2978,7 +2978,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1992/adrian/Makefile</loc>
|
||||
@@ -2990,7 +2990,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1992/adrian/try.sh</loc>
|
||||
@@ -4494,7 +4494,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1994/shapiro/Makefile</loc>
|
||||
@@ -4506,7 +4506,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1994/shapiro/shapiro.c</loc>
|
||||
@@ -7010,7 +7010,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2000/schneiderwent/Makefile</loc>
|
||||
@@ -7022,7 +7022,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2000/schneiderwent/schneiderwent.c</loc>
|
||||
@@ -7294,7 +7294,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2001/coupard/Makefile</loc>
|
||||
@@ -7306,7 +7306,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2001/coupard/try.sh</loc>
|
||||
@@ -7834,7 +7834,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2004/anonymous/Makefile</loc>
|
||||
@@ -7846,7 +7846,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2004/anonymous/try.sh</loc>
|
||||
@@ -8754,7 +8754,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2005/aidan/insane1.sudoku</loc>
|
||||
@@ -8786,7 +8786,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2005/aidan/test-su.perl</loc>
|
||||
@@ -8874,7 +8874,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2005/boutines/input.txt</loc>
|
||||
@@ -8890,7 +8890,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2005/boutines/try.sh</loc>
|
||||
@@ -13602,7 +13602,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2013/mills/Makefile</loc>
|
||||
@@ -13622,7 +13622,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2013/misaka/2013_misaka.tar.bz2</loc>
|
||||
@@ -15142,7 +15142,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2015/schweikhardt/Makefile</loc>
|
||||
@@ -15162,7 +15162,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2015/schweikhardt/try.sh</loc>
|
||||
@@ -15478,7 +15478,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/burton2/iocccbug01.c</loc>
|
||||
@@ -15554,7 +15554,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/burton2/results</loc>
|
||||
@@ -15850,7 +15850,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/ferguson/Makefile</loc>
|
||||
@@ -15882,7 +15882,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/ferguson/rpm.html</loc>
|
||||
@@ -16058,7 +16058,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/mills/Makefile</loc>
|
||||
@@ -16078,7 +16078,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/mills/v0.image.fs</loc>
|
||||
@@ -16274,7 +16274,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/adamovsky/iocccsize_2018.c</loc>
|
||||
@@ -16302,7 +16302,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/adamovsky/sierpinski.unl</loc>
|
||||
@@ -16506,7 +16506,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/diels-grabsch1/Makefile</loc>
|
||||
@@ -16526,7 +16526,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/diels-grabsch1/Shakespeare.txt</loc>
|
||||
@@ -17042,7 +17042,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/poikola/Makefile</loc>
|
||||
@@ -17070,7 +17070,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/poikola/try.alt.sh</loc>
|
||||
@@ -17622,7 +17622,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2020/ferguson2/input.txt</loc>
|
||||
@@ -17670,7 +17670,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2020/ferguson2/recode.1</loc>
|
||||
@@ -17958,7 +17958,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2020/kurdyukov4/Makefile</loc>
|
||||
@@ -17982,7 +17982,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<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>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2020/kurdyukov4/Shakespeare.txt</loc>
|
||||
|
||||
Reference in new issue
Block a user