fix many internal links

Fixed a number of internal links that need to
go to the GitHub site.

Ran `make www` to perform the above.
This commit is contained in:
Landon Curt Noll committed 2024-04-24 02:37:42 -07:00
1 parent b84f8cbe28
commit e7d69bc232
175 files changed
+645 -631

No files matched your search

+1 -1
View File
@@ -80,7 +80,7 @@ transformation occurs.
### Rule 2-ish:
Exporting the constants `B`,`I`,`T`,`S` to the [Makefile](Makefile) allows the
Exporting the constants `B`,`I`,`T`,`S` to the [Makefile](%%REPO_URL%%/2020/burton/Makefile) allows the
code to be compiled for either LE (little-endian) or BE (big-endian)
machines(!!), so they are truly configuration parameters, not logic.
+1 -1
View File
@@ -412,7 +412,7 @@ result?</p>
<p>Invoke this with a single non-negative integer less than 256, and a useful
transformation occurs.</p>
<h3 id="rule-2-ish">Rule 2-ish:</h3>
<p>Exporting the constants <code>B</code>,<code>I</code>,<code>T</code>,<code>S</code> to the <a href="Makefile">Makefile</a> allows the
<p>Exporting the constants <code>B</code>,<code>I</code>,<code>T</code>,<code>S</code> to the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/burton/Makefile">Makefile</a> allows the
code to be compiled for either LE (little-endian) or BE (big-endian)
machines(!!), so they are truly configuration parameters, not logic.</p>
<h3 id="notes">Notes:</h3>
+3 -3
View File
@@ -34,7 +34,7 @@ code](#alternate-code) below.
## Alternate code:
An alternate version of this entry, [prog.alt.c](prog.alt.c), is provided. This
An alternate version of this entry, [prog.alt.c](%%REPO_URL%%/2020/endoh1/prog.alt.c), is provided. This
alternate code lacks the additional rule to flag all unprobed cells. See the
Author's remarks for more details.
@@ -217,13 +217,13 @@ There are mines in a cell whose "priorities-of-each-cell" is less than
### Bug fixes and Credits
The judges pointed out a bug of the original version that I submitted
([prog.alt.c](prog.alt.c)). Because this program does not provide a feature to
([prog.alt.c](%%REPO_URL%%/2020/endoh1/prog.alt.c)). Because this program does not provide a feature to
flag unprobed cells manually, we can do nothing if the number of unprobed cells
are equal to the number of mines remaining; [unwinnable.txt](unwinnable.txt) is
an example for such a case.
Thus, I implemented an additional rule to flag all unprobed cells in such a case
into the final version ([prog.c](prog.c)).
into the final version ([prog.c](%%REPO_URL%%/2020/endoh1/prog.c)).
[Ilya Kurdyukov](../../authors.html#Ilya_Kurdyukov) also pointed out a warning
"ignoring return value of 'fscanf'" only when `-O3` is used. So I changed the
+3 -3
View File
@@ -396,7 +396,7 @@ code</a> below.</p>
./prog unwinnable.txt</code></pre>
<h2 id="alternate-code">Alternate code:</h2>
<p>An alternate version of this entry, <a href="prog.alt.c">prog.alt.c</a>, is provided. This
<p>An alternate version of this entry, <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/endoh1/prog.alt.c">prog.alt.c</a>, is provided. This
alternate code lacks the additional rule to flag all unprobed cells. See the
Author’s remarks for more details.</p>
<h3 id="alternate-build">Alternate build:</h3>
@@ -499,12 +499,12 @@ Analyze the code.</p>
“number-of-mines”. (But the mine in the first-clicked cell is removed.)</p>
<h3 id="bug-fixes-and-credits">Bug fixes and Credits</h3>
<p>The judges pointed out a bug of the original version that I submitted
(<a href="prog.alt.c">prog.alt.c</a>). Because this program does not provide a feature to
(<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/endoh1/prog.alt.c">prog.alt.c</a>). Because this program does not provide a feature to
flag unprobed cells manually, we can do nothing if the number of unprobed cells
are equal to the number of mines remaining; <a href="unwinnable.txt">unwinnable.txt</a> is
an example for such a case.</p>
<p>Thus, I implemented an additional rule to flag all unprobed cells in such a case
into the final version (<a href="prog.c">prog.c</a>).</p>
into the final version (<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/endoh1/prog.c">prog.c</a>).</p>
<p><a href="../../authors.html#Ilya_Kurdyukov">Ilya Kurdyukov</a> also pointed out a warning
“ignoring return value of ‘fscanf’” only when <code>-O3</code> is used. So I changed the
code a little to pretend to use the return value of <code>fscanf(3)</code>.</p>
+2 -2
View File
@@ -29,11 +29,11 @@ What happens if you do
## Judges' remarks:
Clever use of the C99 complex data type. The [spoiler](spoiler/) directory
Clever use of the C99 complex data type. The [spoiler](%%REPO_URL%%/2020/endoh2/spoiler/spoiler.html) directory
contains clues as to how some winning authors create / edit programs into ASCII
shapes.
With the source from the [spoiler](spoiler/) directory could you make the code
With the source from the [spoiler](%%REPO_URL%%/2020/endoh2/spoiler/spoiler.html) directory could you make the code
render for a larger terminal window? How about adding more glyphs?
+2 -2
View File
@@ -387,10 +387,10 @@ Location: <a href="../../location.html#JP">JP</a> - <em>Japan</em></li>
<pre><code> ./prog prog.c</code></pre>
<p>?</p>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>Clever use of the C99 complex data type. The <a href="spoiler/">spoiler</a> directory
<p>Clever use of the C99 complex data type. The <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/endoh2/spoiler/spoiler.html">spoiler</a> directory
contains clues as to how some winning authors create / edit programs into ASCII
shapes.</p>
<p>With the source from the <a href="spoiler/">spoiler</a> directory could you make the code
<p>With the source from the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/endoh2/spoiler/spoiler.html">spoiler</a> directory could you make the code
render for a larger terminal window? How about adding more glyphs?</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<p>No! Try not. Do, or do not. There is no try.</p>
+2 -2
View File
@@ -25,7 +25,7 @@ code](#alternate-code) below.
## Alternate code:
An alternate version of this entry, [prog.alt.c](prog.alt.c), is provided. This
An alternate version of this entry, [prog.alt.c](%%REPO_URL%%/2020/endoh3/prog.alt.c), is provided. This
alternate code uses Unicode letters.
@@ -55,7 +55,7 @@ You may be tempted to use a mirror. Resist the temptation! Try figuring out how
the clock hands are drawn. Can you change the program to make it draw a
familiar (non-mirrored) clock face? Can you add the second hand?
When using the [run_clock.sh](run_clock.sh) shell script, your perception of
When using the [run_clock.sh](%%REPO_URL%%/2020/endoh3/run_clock.sh) shell script, your perception of
time might depend on what time it is.
+2 -2
View File
@@ -387,7 +387,7 @@ code</a> below.</p>
<pre><code> ./run_clock
# And watch closely for 15-20 seconds</code></pre>
<h2 id="alternate-code">Alternate code:</h2>
<p>An alternate version of this entry, <a href="prog.alt.c">prog.alt.c</a>, is provided. This
<p>An alternate version of this entry, <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/endoh3/prog.alt.c">prog.alt.c</a>, is provided. This
alternate code uses Unicode letters.</p>
<h3 id="alternate-build">Alternate build:</h3>
<pre><code> make alt</code></pre>
@@ -400,7 +400,7 @@ alternate code uses Unicode letters.</p>
<p>You may be tempted to use a mirror. Resist the temptation! Try figuring out how
the clock hands are drawn. Can you change the program to make it draw a
familiar (non-mirrored) clock face? Can you add the second hand?</p>
<p>When using the <a href="run_clock.sh">run_clock.sh</a> shell script, your perception of
<p>When using the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/endoh3/run_clock.sh">run_clock.sh</a> shell script, your perception of
time might depend on what time it is.</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<p>Prepare a mirror!</p>
+8 -8
View File
@@ -60,7 +60,7 @@ and non-zero).
size to grow every time you eat a bug. Default 5; negative
values are allowed. 'Negativity' creates for fun gameplay modes with
enough creativity. See [gameplay.html](gameplay.html)
GitHub) as well as [play.sh](play.sh) for some examples.
GitHub) as well as [play.sh](%%REPO_URL%%/2020/ferguson1/play.sh) for some examples.
* **SHED**<br>
every **SHED** movements you will grow (> 0), shrink (< 0) or
@@ -76,7 +76,7 @@ and non-zero).
you can create some fun gameplay modes here. For instance you
can grow upon eating a bug but shrink every **SHED** movements
and then it's a battle of whether you win by **SIZE < 0** or
**SIZE >= MAXSIZE**. See [play.sh](play.sh) for examples.
**SIZE >= MAXSIZE**. See [play.sh](%%REPO_URL%%/2020/ferguson1/play.sh) for examples.
NOTE: the concept of shedding in this game is a misnomer; see
notes below.
@@ -516,13 +516,13 @@ been warned.
I submitted three Snake versions; these are the other layouts for those few
(more likely none) who are interested to see them.
The [prog.2.c](prog.2.c) has more digraphs but I think no other significant differences.
The [prog.2.c](%%REPO_URL%%/2020/ferguson1/prog.2.c) has more digraphs but I think no other significant differences.
The [prog.3.c](prog.3.c) is in a more artistic layout (a backwards S), has at least one
The [prog.3.c](%%REPO_URL%%/2020/ferguson1/prog.3.c) is in a more artistic layout (a backwards S), has at least one
additional obfuscation technique (see spoilers) but it also has more digraphs
and as the judges said they feel that digraphs are dated so that's probably why
they chose the first layout. The [prog.3-j.c](prog.3-j.c) version is
[prog.3.c](prog.3.c) with a shorter `J` macro.
they chose the first layout. The [prog.3-j.c](%%REPO_URL%%/2020/ferguson1/prog.3-j.c) version is
[prog.3.c](%%REPO_URL%%%%REPO_URL%%//2020/ferguson1/prog.3.c) with a shorter `J` macro.
The prog.alt.c version is the one that allows for customising the bug colour and
it's used in both [snake-colours.sh][] and [play.sh][]. It also calls `erase()`
@@ -544,7 +544,7 @@ but Don Yang and Edward Giles too.
But there are some others who I don't remember like [Ilya
Kurdyukov](../../authors.html#Ilya_Kurdyukov)
(who's offered a lot of interesting thoughts on [Snake](../ferguson1/prog.c) and
(who's offered a lot of interesting thoughts on [Snake](%%REPO_URL%%/2020/ferguson1/prog.c) and
who plans to have his own version after the entries are published), [Nathan
Otterness](../../authors.html#Nathan_Otterness), [Nicholas
Carlini](../../authors.html#Nicholas_Carlini) (your entry is an absolutely brilliant
@@ -556,7 +556,7 @@ Well done and congratulations to all of you again! Thank you for submitting the
wonderful entries and I'm honoured to have my two entries beside yours!
To Dave Burton I thank you for your wonderful comments as well as pointing out
that even with [prog.alt.c](prog.alt.c) it probably would be better to make use
that even with [prog.alt.c](%%REPO_URL%%/2020/ferguson1/prog.alt.c) it probably would be better to make use
of the alt target instead of naming prog.c prog.alt.c. You're quite right, I had
thought of it but you brought it up so I could correct it. Much appreciated
mate.
+8 -8
View File
@@ -417,7 +417,7 @@ MAXSIZE</strong> you win <em>before</em> you grow to the full size!</p></li>
size to grow every time you eat a bug. Default 5; negative
values are allowed. ‘Negativity’ creates for fun gameplay modes with
enough creativity. See <a href="gameplay.html">gameplay.html</a>
GitHub) as well as <a href="play.sh">play.sh</a> for some examples.</p></li>
GitHub) as well as <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson1/play.sh">play.sh</a> for some examples.</p></li>
<li><p><strong>SHED</strong><br>
every <strong>SHED</strong> movements you will grow (&gt; 0), shrink (&lt; 0) or
stay the same length (0) by the <strong>SHEDS</strong> (below) value. Again
@@ -431,7 +431,7 @@ eats a bug the counter isn’t incremented. Again with creativity
you can create some fun gameplay modes here. For instance you
can grow upon eating a bug but shrink every <strong>SHED</strong> movements
and then it’s a battle of whether you win by <strong>SIZE &lt; 0</strong> or
<strong>SIZE &gt;= MAXSIZE</strong>. See <a href="play.sh">play.sh</a> for examples.
<strong>SIZE &gt;= MAXSIZE</strong>. See <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson1/play.sh">play.sh</a> for examples.
NOTE: the concept of shedding in this game is a misnomer; see
notes below.</p></li>
<li><p><strong>CANNIBAL</strong><br>
@@ -793,12 +793,12 @@ been warned.</li>
</div>
<p>I submitted three Snake versions; these are the other layouts for those few
(more likely none) who are interested to see them.</p>
<p>The <a href="prog.2.c">prog.2.c</a> has more digraphs but I think no other significant differences.</p>
<p>The <a href="prog.3.c">prog.3.c</a> is in a more artistic layout (a backwards S), has at least one
<p>The <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson1/prog.2.c">prog.2.c</a> has more digraphs but I think no other significant differences.</p>
<p>The <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson1/prog.3.c">prog.3.c</a> is in a more artistic layout (a backwards S), has at least one
additional obfuscation technique (see spoilers) but it also has more digraphs
and as the judges said they feel that digraphs are dated so that’s probably why
they chose the first layout. The <a href="prog.3-j.c">prog.3-j.c</a> version is
<a href="prog.3.c">prog.3.c</a> with a shorter <code>J</code> macro.</p>
they chose the first layout. The <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson1/prog.3-j.c">prog.3-j.c</a> version is
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/masterhttps://github.com/ioccc-src/temp-test-ioccc/blob/master//2020/ferguson1/prog.3.c">prog.3.c</a> with a shorter <code>J</code> macro.</p>
<p>The prog.alt.c version is the one that allows for customising the bug colour and
it’s used in both <a href="snake-colours.sh">snake-colours.sh</a> and <a href="play.sh">play.sh</a>. It also calls <code>erase()</code>
first, clearing the screen, which the play.sh and snake-colours.sh scripts also
@@ -815,7 +815,7 @@ programmers. I’m especially proud to win besides Dave Burton and Yusuke Endoh
but Don Yang and Edward Giles too.</p>
<p>But there are some others who I don’t remember like <a href="../../authors.html#Ilya_Kurdyukov">Ilya
Kurdyukov</a>
(who’s offered a lot of interesting thoughts on <a href="../ferguson1/prog.c">Snake</a> and
(who’s offered a lot of interesting thoughts on <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson1/prog.c">Snake</a> and
who plans to have his own version after the entries are published), <a href="../../authors.html#Nathan_Otterness">Nathan
Otterness</a>, <a href="../../authors.html#Nicholas_Carlini">Nicholas
Carlini</a> (your entry is an absolutely brilliant
@@ -825,7 +825,7 @@ list!) and <a href="../../authors.html#_tsoj">tsoj</a> too.</p>
<p>Well done and congratulations to all of you again! Thank you for submitting the
wonderful entries and I’m honoured to have my two entries beside yours!</p>
<p>To Dave Burton I thank you for your wonderful comments as well as pointing out
that even with <a href="prog.alt.c">prog.alt.c</a> it probably would be better to make use
that even with <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson1/prog.alt.c">prog.alt.c</a> it probably would be better to make use
of the alt target instead of naming prog.c prog.alt.c. You’re quite right, I had
thought of it but you brought it up so I could correct it. Much appreciated
mate.</p>
+16 -16
View File
@@ -1,4 +1,4 @@
## To build:
%%REPO_URL%%/## To build:
``` <!---sh-->
make
@@ -43,7 +43,7 @@ at once. See [Alternate code](#alternate-code) below.
./recode -v
```
**NOTE**: in [recode](recode.c) no spaces between options and option arguments
**NOTE**: in [recode](%%REPO_URL%%/2020/ferguson2/recode.c) no spaces between options and option arguments
are allowed.
@@ -65,7 +65,7 @@ do?
## Alternate code:
This version, [prog.alt.c](prog.alt.c), writes a character at a time, sleeping
This version, [prog.alt.c](%%REPO_URL%%/2020/ferguson2/prog.alt.c), writes a character at a time, sleeping
after each character, so that one can read it more easily (for longer output)
and to make it a bit more like the real thing.
@@ -107,7 +107,7 @@ This code is an [enigma](https://youtu.be/ybkkiGtJmkM). Try to decode it!
There is a good deal of useful documentation that is provided with this entry:
* [enigma.1](enigma.1) - A useful man page for this entry. To render, try:
* [enigma.1](%%REPO_URL%%/2020/ferguson2/enigma.1) - A useful man page for this entry. To render, try:
``` <!---sh-->
@@ -116,7 +116,7 @@ There is a good deal of useful documentation that is provided with this entry:
* [recode.html][] (or [recode.html](recode.html) if reading on GitHub)
- Some useful information about [recode.c](recode.c)
- Some useful information about [recode.c](%%REPO_URL%%/2020/ferguson2/recode.c)
* [chocolate-cake.html][] (or [chocolate-cake.html](chocolate-cake.html) if reading on GitHub)
@@ -131,7 +131,7 @@ There is a good deal of useful documentation that is provided with this entry:
## Author's remarks:
My remarks about my [Heer][] (army) and [Luftwaffe][] (air force) [Enigma
machine](https://www.cryptomuseum.com/crypto/enigma/index.htm) [simulator](prog.c) for
machine](https://www.cryptomuseum.com/crypto/enigma/index.htm) [simulator](%%REPO_URL%%/2020/ferguson2/prog.c) for
the 27th IOCCC.
I want to dedicate this entry in part to the millions of poor souls that were
@@ -405,7 +405,7 @@ Phew! The program redeemed itself after the test failure! :)
is with some of the things I pasted in the other file and maybe others here
too. Notice also how it showed the same output that my program gave it - `UUMMX`.)
What about the other [Morse code entry](../../1998/dorssel/dorssel.c)?
What about the other [Morse code entry](%%REPO_URL%%/1998/dorssel/dorssel.c)?
``` <!---sh-->
$ echo IOCCC | ./prog | ./dorssel
@@ -433,7 +433,7 @@ It has a randomise mode and it can save/read the settings to/from a file to
allow for duplicity (an archaic term for the state of being double but obviously
for Enigma it has to also mean deceitful).
I recommend using this in a pipeline instead of the [simulator](prog.c) itself
I recommend using this in a pipeline instead of the [simulator](%%REPO_URL%%/2020/ferguson2/prog.c) itself
if you want to change the configuration of the simulator because it offers a
much richer experience (and because you can reuse the configuration without
having to type it out again every time).
@@ -453,7 +453,7 @@ For examples using it (and a delicious challenge) see [recode.html][] (or
</div>
The parser is in a sense rather rudimentary but allows for both interactive and
automatic (e.g. via the [recode](recode.c) program) input. This does mean that
automatic (e.g. via the [recode]((%%REPO_URL%%/2020/ferguson2recode.c) program) input. This does mean that
something like the following can happen:
``` <!---sh-->
@@ -499,7 +499,7 @@ is buffering at play I believe but it's useful for allowing the `recode` program
to easily configure the Enigma machine. In the [recode.html](recode.html) file
(or [recode.html](recode.html) if reading on GitHub) file I give a hint as to how
this could be fixed but the caveat is it would necessitate a need for rewriting
[recode.c](recode.c).
[recode.c](%%REPO_URL%%/2020/ferguson2/recode.c).
There's another thing to be aware of and that's the way the ranges are enforced.
There are five rotors which obviously are in C 0-4 but in 'natural language'
@@ -508,7 +508,7 @@ There are five rotors which obviously are in C 0-4 but in 'natural language'
There are two
[reflectors](https://www.ciphermachinesandcryptology.com/en/enigmatech.htm#Reflector) and the
same applies: in C 0-1 but in human it's 1-2 (technically these were reflectors B and C in
the Enigma machine which I display by name in [recode.c](recode.c) just like
the Enigma machine which I display by name in [recode.c](%%REPO_URL%%/2020/ferguson2/recode.c) just like
with the rotors).
For more information see [recode.html][] (or [recode.html](recode.html) if viewing on
@@ -531,7 +531,7 @@ accomplished and made use of! :)
</div>
The layout of [recode.c][] isn't too significant (but see below) but I want to
mention [prog.c](prog.c) especially:
mention [prog.c](%%REPO_URL%%/2020/ferguson2/prog.c) especially:
I did think of a more artistic layout but
[reflecting](https://www.ciphermachinesandcryptology.com/en/enigmatech.htm#Reflector)
@@ -587,7 +587,7 @@ The file [obfuscation.key][] is the key to decipher/encipher
For the lazy [obfuscation.html](obfuscation.html) has the deciphered version. I am afraid I'm not
so inclined to do that for the cake recipe: the idea there is to make it a fun
exercise that when solved unlocks a wonderful double-layered chocolate fudge
cake recipe. But given that my ['Don't tread on me'](../ferguson1) award entry
cake recipe. But given that my ['Don't tread on me'](../ferguson1/index.html) award entry
also has the [recipe](../ferguson1/chocolate-cake.html)
([ferguson1/chocolate-cake.html](../ferguson1/chocolate-cake.html) if reading on
GitHub), not enciphered, one might just go there instead. Still it's a fun way
@@ -639,7 +639,7 @@ can at least have the output played in Morse code as the Germans did; I think
that's really cool (I think it's really cool even if there's a bug in it). That
it pays homage to that (and another) entry is a bonus here.
* The [simulator](prog.c) doesn't report errors but tries to gracefully deal
* The [simulator](%%REPO_URL%%/2020/ferguson2/prog.c) doesn't report errors but tries to gracefully deal
with them: if one chooses a value out of range it moves it into the range (if >
the max then the max, if < min then the min). If invalid chars are input for the
plugboard pairs then it's not added to the plugboard etc.
@@ -798,7 +798,7 @@ rotor selection 'screen'. Then use the arrow buttons above each rotor to set
from left to right B, B and C. After this you can type your message in the input
field and watch the wiring of the rotors change and show the path it takes.
If I made use of the Enigma code in the [recode.c](recode.c) program I would
If I made use of the Enigma code in the [recode.c](%%REPO_URL%%/2020/ferguson2/recode.c) program I would
maybe consider doing something like that but I intentionally do not use it
there: as cool as it might be it would give a better idea of how the algorithm
works (unless I were to make it just as obscure as I do in prog.c but that's
@@ -886,7 +886,7 @@ but Don Yang and Edward Giles too.
But there are some others who I don't remember like [Ilya
Kurdyukov](../../authors.html#Ilya_Kurdyukov)
(who's offered a lot of interesting thoughts on [Snake](../ferguson1/prog.c) and
(who's offered a lot of interesting thoughts on [Snake](%%REPO_URL%%/2020/ferguson1/prog.c) and
who plans to have his own version after the entries are published), [Nathan
Otterness](../../authors.html#Nathan_Otterness), [Nicholas
Carlini](../../authors.html#Nicholas_Carlini) (your entry is an absolutely brilliant
+16 -16
View File
@@ -377,7 +377,7 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<!-- BEFORE: 1st line of markdown file: 2020/ferguson2/README.md -->
<h2 id="to-build">To build:</h2>
<p>https://github.com/ioccc-src/temp-test-ioccc/blob/master/## To build:</p>
<pre><code> make</code></pre>
<p>The author provided alternate code that prints the output one character at a
time to make it a bit more like the real thing in that it isn’t dumped out all
@@ -412,7 +412,7 @@ at once. See <a href="#alternate-code">Alternate code</a> below.</p>
# show Enigma machine settings after selection / generation:
./recode -v</code></pre>
<p><strong>NOTE</strong>: in <a href="recode.c">recode</a> no spaces between options and option arguments
<p><strong>NOTE</strong>: in <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/recode.c">recode</a> no spaces between options and option arguments
are allowed.</p>
<h2 id="try">Try:</h2>
<pre><code> ./try.sh</code></pre>
@@ -421,7 +421,7 @@ are allowed.</p>
echo | ./recode -v</code></pre>
<p>do?</p>
<h2 id="alternate-code">Alternate code:</h2>
<p>This version, <a href="prog.alt.c">prog.alt.c</a>, writes a character at a time, sleeping
<p>This version, <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/prog.alt.c">prog.alt.c</a>, writes a character at a time, sleeping
after each character, so that one can read it more easily (for longer output)
and to make it a bit more like the real thing.</p>
<h3 id="alternate-build">Alternate build:</h3>
@@ -440,13 +440,13 @@ out! Can you figure out why this works this way?</p>
<p>This code is an <a href="https://youtu.be/ybkkiGtJmkM">enigma</a>. Try to decode it!</p>
<p>There is a good deal of useful documentation that is provided with this entry:</p>
<ul>
<li><a href="enigma.1">enigma.1</a> - A useful man page for this entry. To render, try:</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/enigma.1">enigma.1</a> - A useful man page for this entry. To render, try:</li>
</ul>
<pre><code> man ./enigma.1</code></pre>
<ul>
<li><a href="recode.html">recode.html</a> (or <a href="recode.html">recode.html</a> if reading on GitHub)
<ul>
<li>Some useful information about <a href="recode.c">recode.c</a></li>
<li>Some useful information about <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/recode.c">recode.c</a></li>
</ul></li>
<li><a href="chocolate-cake.html">chocolate-cake.html</a> (or <a href="chocolate-cake.html">chocolate-cake.html</a> if reading on GitHub)
<ul>
@@ -456,7 +456,7 @@ out! Can you figure out why this works this way?</p>
</ul>
<h2 id="authors-remarks">Author’s remarks:</h2>
<p>My remarks about my <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 force) <a href="https://www.cryptomuseum.com/crypto/enigma/index.htm">Enigma
machine</a> <a href="prog.c">simulator</a> for
machine</a> <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/prog.c">simulator</a> for
the 27th IOCCC.</p>
<p>I want to dedicate this entry in part to the millions of poor souls that were
lost during the tragedy that is the <a href="https://en.wikipedia.org/wiki/World_War_II">Second World
@@ -653,7 +653,7 @@ idea anyway. Neither do I know if the original transcoding is correct.</p>
<p>(Technically above it didn’t print a newline after the output and this is how it
is with some of the things I pasted in the other file and maybe others here
too. Notice also how it showed the same output that my program gave it - <code>UUMMX</code>.)</p>
<p>What about the other <a href="../../1998/dorssel/dorssel.c">Morse code entry</a>?</p>
<p>What about the other <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1998/dorssel/dorssel.c">Morse code entry</a>?</p>
<pre><code> $ echo IOCCC | ./prog | ./dorssel
..- ..- -- -- -..-</code></pre>
<div id="recode">
@@ -673,7 +673,7 @@ alternatively you can specify a file to read in.</p>
<p>It has a randomise mode and it can save/read the settings to/from a file to
allow for duplicity (an archaic term for the state of being double but obviously
for Enigma it has to also mean deceitful).</p>
<p>I recommend using this in a pipeline instead of the <a href="prog.c">simulator</a> itself
<p>I recommend using this in a pipeline instead of the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/prog.c">simulator</a> itself
if you want to change the configuration of the simulator because it offers a
much richer experience (and because you can reuse the configuration without
having to type it out again every time).</p>
@@ -688,7 +688,7 @@ make it more flexible by a wrapper program.</p>
<h3 id="a-parser-subtlety-that-could-cause-confusion">A parser subtlety that could cause confusion</h3>
</div>
<p>The parser is in a sense rather rudimentary but allows for both interactive and
automatic (e.g. via the <a href="recode.c">recode</a> program) input. This does mean that
automatic (e.g. via the <a href="(https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2recode.c)%20program">recode</a> input. This does mean that
something like the following can happen:</p>
<pre><code> $ ./prog -
Ring 1: 1AB
@@ -728,14 +728,14 @@ is buffering at play I believe but it’s useful for allowing the <code>recode</
to easily configure the Enigma machine. In the <a href="recode.html">recode.html</a> file
(or <a href="recode.html">recode.html</a> if reading on GitHub) file I give a hint as to how
this could be fixed but the caveat is it would necessitate a need for rewriting
<a href="recode.c">recode.c</a>.</p>
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/recode.c">recode.c</a>.</p>
<p>There’s another thing to be aware of and that’s the way the ranges are enforced.
There are five rotors which obviously are in C 0-4 but in ‘natural language’
1-5 (they were labelled I, II, III, IV and V though).</p>
<p>There are two
<a href="https://www.ciphermachinesandcryptology.com/en/enigmatech.htm#Reflector">reflectors</a> and the
same applies: in C 0-1 but in human it’s 1-2 (technically these were reflectors B and C in
the Enigma machine which I display by name in <a href="recode.c">recode.c</a> just like
the Enigma machine which I display by name in <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/recode.c">recode.c</a> just like
with the rotors).</p>
<p>For more information see <a href="recode.html">recode.html</a> (or <a href="recode.html">recode.html</a> if viewing on
GitHub).</p>
@@ -751,7 +751,7 @@ accomplished and made use of! :)</p>
<h3 id="on-the-source-code-layout">On the source code layout</h3>
</div>
<p>The layout of <a href="recode.c">recode.c</a> isn’t too significant (but see below) but I want to
mention <a href="prog.c">prog.c</a> especially:</p>
mention <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/prog.c">prog.c</a> especially:</p>
<p>I did think of a more artistic layout but
<a href="https://www.ciphermachinesandcryptology.com/en/enigmatech.htm#Reflector">reflecting</a>
on it I think that the blankness of it can be another way of honouring all the
@@ -784,7 +784,7 @@ has some of the ways I think this entry is obfuscated. To decipher try:</p>
<p>For the lazy <a href="obfuscation.html">obfuscation.html</a> has the deciphered version. I am afraid I’m not
so inclined to do that for the cake recipe: the idea there is to make it a fun
exercise that when solved unlocks a wonderful double-layered chocolate fudge
cake recipe. But given that my <a href="../ferguson1">‘Don’t tread on me’</a> award entry
cake recipe. But given that my <a href="../ferguson1/index.html">‘Don’t tread on me’</a> award entry
also has the <a href="../ferguson1/chocolate-cake.html">recipe</a>
(<a href="../ferguson1/chocolate-cake.html">ferguson1/chocolate-cake.html</a> if reading on
GitHub), not enciphered, one might just go there instead. Still it’s a fun way
@@ -825,7 +825,7 @@ processes each letter - but with the <a href="../../2014/vik/index.html">2014 Mo
can at least have the output played in Morse code as the Germans did; I think
that’s really cool (I think it’s really cool even if there’s a bug in it). That
it pays homage to that (and another) entry is a bonus here.</p></li>
<li><p>The <a href="prog.c">simulator</a> doesn’t report errors but tries to gracefully deal
<li><p>The <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/prog.c">simulator</a> doesn’t report errors but tries to gracefully deal
with them: if one chooses a value out of range it moves it into the range (if &gt;
the max then the max, if &lt; min then the min). If invalid chars are input for the
plugboard pairs then it’s not added to the plugboard etc.</p></li>
@@ -949,7 +949,7 @@ centre, right). To do this click the button at the top right that looks like:</p
rotor selection ‘screen’. Then use the arrow buttons above each rotor to set
from left to right B, B and C. After this you can type your message in the input
field and watch the wiring of the rotors change and show the path it takes.</p>
<p>If I made use of the Enigma code in the <a href="recode.c">recode.c</a> program I would
<p>If I made use of the Enigma code in the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/recode.c">recode.c</a> program I would
maybe consider doing something like that but I intentionally do not use it
there: as cool as it might be it would give a better idea of how the algorithm
works (unless I were to make it just as obscure as I do in prog.c but that’s
@@ -1003,7 +1003,7 @@ programmers. I’m especially proud to win besides Dave Burton and Yusuke Endoh
but Don Yang and Edward Giles too.</p>
<p>But there are some others who I don’t remember like <a href="../../authors.html#Ilya_Kurdyukov">Ilya
Kurdyukov</a>
(who’s offered a lot of interesting thoughts on <a href="../ferguson1/prog.c">Snake</a> and
(who’s offered a lot of interesting thoughts on <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson1/prog.c">Snake</a> and
who plans to have his own version after the entries are published), <a href="../../authors.html#Nathan_Otterness">Nathan
Otterness</a>, <a href="../../authors.html#Nicholas_Carlini">Nicholas
Carlini</a> (your entry is an absolutely brilliant
+4 -4
View File
@@ -362,7 +362,7 @@
<h1 id="the-recode-configurator-documentation-and-a-fun-way-to-explore-my-2020-ioccc-enigma-simulator">The recode configurator documentation (and a fun way to explore my 2020 IOCCC Enigma simulator)</h1>
<p>N.B. At the end of this file I have given a fun exercise that can be used to
explore my <a href="https://www.cryptomuseum.com/crypto/enigma/index.htm">Enigma machine</a>
<a href="prog.c">simulator</a>. I really encourage you to do this but of course you don’t
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/prog.c">simulator</a>. I really encourage you to do this but of course you don’t
have to if you don’t wish to.</p>
<div id="toc">
<ul>
@@ -438,8 +438,8 @@ if you don’t give the option to read in a file for input.</p>
Plugboard pair #09: RU
Plugboard pair #10: VG
1WX5AK4RE1XEHJSAPYCIZBWDQNRUVGIOCCC</code></pre>
<p>Though you won’t find some of those strings in <a href="recode.c">recode.c</a> or
<a href="prog.c">prog.c</a>. Yes the <code>WAR</code> for the Ringstellung (Ring settings) is an
<p>Though you won’t find some of those strings in [recode.c]((https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/recode.c) or
[prog.c]((https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/prog.c). Yes the <code>WAR</code> for the Ringstellung (Ring settings) is an
amusing coincidence <em>but it really did happen!</em></p>
<p>As for <code>-f</code> the contents would be output with the settings e.g. to pipe to
<code>prog</code> itself (as if you redirected the file contents to the Enigma machine for
@@ -565,7 +565,7 @@ pair</a>; this can be done in
a number of ways but two dots is one. Notice also that it’s in a different order
than the simulator: because with the size restrictions on my entry I saved bytes
by using the same loop where I could. It just felt more natural to have them
grouped together in a configurator for the <a href="prog.c">simulator</a>.</p>
grouped together in a configurator for the [simulator]((https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/prog.c).</p>
<pre><code> $ echo 1AA2AA3AA2ABCD..EFGHIJKLMNOPQRIOCCC | ./prog - 2&gt;/dev/null
HQNVO
$ echo 1AA2AA3AA2ABCD..EFGHIJKLMNOPQRIOCCC | ./prog - 2&gt;/dev/null | echo 1AA2AA3AA2ABCD..EFGHIJKLMNOPQRHQNVO | ./prog - 2&gt;/dev/null
+4 -4
View File
@@ -2,7 +2,7 @@
N.B. At the end of this file I have given a fun exercise that can be used to
explore my [Enigma machine](https://www.cryptomuseum.com/crypto/enigma/index.htm)
[simulator](prog.c). I really encourage you to do this but of course you don't
[simulator](%%REPO_URL%%/2020/ferguson2/prog.c). I really encourage you to do this but of course you don't
have to if you don't wish to.
@@ -97,8 +97,8 @@ if you don't give the option to read in a file for input.
1WX5AK4RE1XEHJSAPYCIZBWDQNRUVGIOCCC
```
Though you won't find some of those strings in [recode.c](recode.c) or
[prog.c](prog.c). Yes the `WAR` for the Ringstellung (Ring settings) is an
Though you won't find some of those strings in [recode.c]((%%REPO_URL%%/2020/ferguson2/recode.c) or
[prog.c]((%%REPO_URL%%/2020/ferguson2/prog.c). Yes the `WAR` for the Ringstellung (Ring settings) is an
amusing coincidence *but it really did happen!*
As for `-f` the contents would be output with the settings e.g. to pipe to
@@ -265,7 +265,7 @@ pair](https://www.cryptomuseum.com/crypto/enigma/i/sb.htm); this can be done in
a number of ways but two dots is one. Notice also that it's in a different order
than the simulator: because with the size restrictions on my entry I saved bytes
by using the same loop where I could. It just felt more natural to have them
grouped together in a configurator for the [simulator](prog.c).
grouped together in a configurator for the [simulator]((%%REPO_URL%%/2020/ferguson2/prog.c).
``` <!---sh-->
$ echo 1AA2AA3AA2ABCD..EFGHIJKLMNOPQRIOCCC | ./prog - 2>/dev/null
+1 -1
View File
@@ -41,7 +41,7 @@ will be converted to the DTMF sound!
./prog 867-5309 > jenny.wav
```
If the script [try.sh](try.sh) did not play a WAV file, it means you do not have
If the script [try.sh](%%REPO_URL%%/2020/giles/try.sh) did not play a WAV file, it means you do not have
SoX installed; see [FAQ 3.10: How do I compile and use an IOCCC entry that
requires sound?](../../faq.html#sox)). In this case install it and try it again or
play the files `jenny.wav` and `ioccc28.wav` in a program that can play WAV
+1 -1
View File
@@ -398,7 +398,7 @@ will be converted to the DTMF sound!</p>
# See
./prog 867-5309 &gt; jenny.wav</code></pre>
<p>If the script <a href="try.sh">try.sh</a> did not play a WAV file, it means you do not have
<p>If the script <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/giles/try.sh">try.sh</a> did not play a WAV file, it means you do not have
SoX installed; see <a href="../../faq.html#sox">FAQ 3.10: How do I compile and use an IOCCC entry that
requires sound?</a>). In this case install it and try it again or
play the files <code>jenny.wav</code> and <code>ioccc28.wav</code> in a program that can play WAV
+7 -7
View File
@@ -32,19 +32,19 @@ code](#alternate-code) below for more details.
There are a number of alternate versions for this program, some in C and some in
assembly.
The file [prog.alt.c](prog.alt.c) is smaller and does not contain any
The file [prog.alt.c](%%REPO_URL%%/2020/kurdyukov1/prog.alt.c) is smaller and does not contain any
headers or any workaround for WIN32 based platforms.
The file [prog.extra.c](prog.extra.c) has a number of layouts including some for
The file [prog.extra.c](%%REPO_URL%%/2020/kurdyukov1/prog.extra.c) has a number of layouts including some for
different social media profile covers as well as different shapes.
The files [prog.x86_64.asm](prog.x86_64.asm) and [prog.x86.asm](prog.x86.asm)
The files [prog.x86_64.asm](%%REPO_URL%%/2020/kurdyukov1/prog.x86_64.asm) and [prog.x86.asm](%%REPO_URL%%/2020/kurdyukov1/prog.x86.asm)
are the program in assembly for x86_64 linux and x86 linux respectively.
### Alternate build:
To build [prog.alt.c](prog.alt.c):
To build [prog.alt.c](%%REPO_URL%%/2020/kurdyukov1/prog.alt.c):
``` <!---sh-->
make alt
@@ -100,17 +100,17 @@ under mingw64), otherwise the hashes can be incorrect.
### Bonus
- [prog.extra.c](prog.extra.c) is the same with the sine function (so smaller),
- [prog.extra.c](%%REPO_URL%%/2020/kurdyukov1/prog.extra.c) is the same with the sine function (so smaller),
and in different shapes.
- [prog.x86_64.asm](prog.x86_64.asm) contains the same program, but written in
- [prog.x86_64.asm](%%REPO_URL%%/2020/kurdyukov1/prog.x86_64.asm) contains the same program, but written in
assembly for x86_64 Linux, for the sake of smaller executable size which is 500
bytes long (where 120 is for the ELF headers) after compilation. Algorithm
details is slightly different (like constants packing), just to make smaller
binary code. It's interesting to compare density of binary code and obfuscated
C.
- [prog.x86.asm](prog.x86.asm) is for x86, although the headers are smaller, but
- [prog.x86.asm](%%REPO_URL%%/2020/kurdyukov1/prog.x86.asm) is for x86, although the headers are smaller, but
the binary code is larger due to fewer registers and lack of 64-bit multiply.
<!--
+7 -7
View File
@@ -393,14 +393,14 @@ code</a> below for more details.</p>
<h2 id="alternate-code">Alternate code:</h2>
<p>There are a number of alternate versions for this program, some in C and some in
assembly.</p>
<p>The file <a href="prog.alt.c">prog.alt.c</a> is smaller and does not contain any
<p>The file <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov1/prog.alt.c">prog.alt.c</a> is smaller and does not contain any
headers or any workaround for WIN32 based platforms.</p>
<p>The file <a href="prog.extra.c">prog.extra.c</a> has a number of layouts including some for
<p>The file <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov1/prog.extra.c">prog.extra.c</a> has a number of layouts including some for
different social media profile covers as well as different shapes.</p>
<p>The files <a href="prog.x86_64.asm">prog.x86_64.asm</a> and <a href="prog.x86.asm">prog.x86.asm</a>
<p>The files <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov1/prog.x86_64.asm">prog.x86_64.asm</a> and <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov1/prog.x86.asm">prog.x86.asm</a>
are the program in assembly for x86_64 linux and x86 linux respectively.</p>
<h3 id="alternate-build">Alternate build:</h3>
<p>To build <a href="prog.alt.c">prog.alt.c</a>:</p>
<p>To build <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov1/prog.alt.c">prog.alt.c</a>:</p>
<pre><code> make alt</code></pre>
<h3 id="alternate-use">Alternate use:</h3>
<p>Use <code>prog.alt</code> as you would <code>prog</code> above.</p>
@@ -435,9 +435,9 @@ BE or not 32/64) to try it.</p>
under mingw64), otherwise the hashes can be incorrect.</p>
<h3 id="bonus">Bonus</h3>
<ul>
<li><p><a href="prog.extra.c">prog.extra.c</a> is the same with the sine function (so smaller),
<li><p><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov1/prog.extra.c">prog.extra.c</a> is the same with the sine function (so smaller),
and in different shapes.</p></li>
<li><p><a href="prog.x86_64.asm">prog.x86_64.asm</a> contains the same program, but written in
<li><p><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov1/prog.x86_64.asm">prog.x86_64.asm</a> contains the same program, but written in
assembly for x86_64 Linux, for the sake of smaller executable size which is 500
bytes long (where 120 is for the ELF headers) after compilation. Algorithm
details is slightly different (like constants packing), just to make smaller
@@ -447,7 +447,7 @@ binary code. It’s interesting to compare density of binary code and obfuscated
<li></li>
</ol>
<ul>
<li><a href="prog.x86.asm">prog.x86.asm</a> is for x86, although the headers are smaller, but
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov1/prog.x86.asm">prog.x86.asm</a> is for x86, although the headers are smaller, but
the binary code is larger due to fewer registers and lack of 64-bit multiply.</li>
</ul>
<!--
+1 -1
View File
@@ -143,7 +143,7 @@ For instance after running the command suggested by the judges:
convert -delay 10 -dither none -loop 0 $(find . -maxdepth 1 -type f -name '*jpg' | sort -V) $(find . -maxdepth 1 -type f -name '*jpg' | sort -rV) +map out.gif
```
NOTE: the above is done in the [try.sh](try.sh) script.
NOTE: the above is done in the [try.sh](%%REPO_URL%%/2020/kurdyukov2/try.sh) script.
Also provided `makegif.sh` to aid with GIF creation.
+1 -1
View File
@@ -444,7 +444,7 @@ vertically to get the minimum difference.</p>
<p>You can use this command to make a GIF from output images (uses ImageMagick).
For instance after running the command suggested by the judges:</p>
<pre><code> convert -delay 10 -dither none -loop 0 $(find . -maxdepth 1 -type f -name &#39;*jpg&#39; | sort -V) $(find . -maxdepth 1 -type f -name &#39;*jpg&#39; | sort -rV) +map out.gif</code></pre>
<p>NOTE: the above is done in the <a href="try.sh">try.sh</a> script.</p>
<p>NOTE: the above is done in the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov2/try.sh">try.sh</a> script.</p>
<p>Also provided <code>makegif.sh</code> to aid with GIF creation.</p>
<!--
+1 -1
View File
@@ -24,7 +24,7 @@ code](#alternate-code) below.
## Alternate code:
The alternate version, [prog.alt.c](prog.alt.c), has the main code as a macro.
The alternate version, [prog.alt.c](%%REPO_URL%%/2020/kurdyukov3/prog.alt.c), has the main code as a macro.
### Alternate build:
+1 -1
View File
@@ -386,7 +386,7 @@ code</a> below.</p>
<h2 id="try">Try:</h2>
<pre><code> ./try.sh</code></pre>
<h2 id="alternate-code">Alternate code:</h2>
<p>The alternate version, <a href="prog.alt.c">prog.alt.c</a>, has the main code as a macro.</p>
<p>The alternate version, <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov3/prog.alt.c">prog.alt.c</a>, has the main code as a macro.</p>
<h3 id="alternate-build">Alternate build:</h3>
<pre><code> make alt</code></pre>
<h3 id="alternate-use">Alternate use:</h3>
+1 -1
View File
@@ -30,7 +30,7 @@ context length decreases:
## Judges' remarks:
We were able to [write our own program](rand.c) performing the same trick using
We were able to [write our own program](%%REPO_URL%%/2020/kurdyukov4/rand.c) performing the same trick using
the (still non-standard, for some reason) library function `memmem()`, but that
way it works too fast regardless of the context length, and it's much less fun.
+1 -1
View File
@@ -389,7 +389,7 @@ context length decreases:</p>
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
<p>We were able to <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov4/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
way it works too fast regardless of the context length, and it’s much less fun.</p>
<p>The author wrote in reply:</p>
+1 -1
View File
@@ -66,7 +66,7 @@ I found [here](http://www.kunstderfuge.com/beethoven/variae.htm#Symphonies).
However, as discussed under the [Limitations](#limitations) section below, not
all of them work correctly. I will admit to having used
`http://www.kunstderfuge.com/-/midi.asp?file=beethoven/symphony_6_1_(c)cvikl.mid`
for most of my testing (see [cvikl.mid](cvikl.mid)).
for most of my testing (see [cvikl.mid](%%REPO_URL%%/2020/otterness/cvikl.mid)).
### Usage
+1 -1
View File
@@ -412,7 +412,7 @@ I found <a href="http://www.kunstderfuge.com/beethoven/variae.htm#Symphonies">he
However, as discussed under the <a href="#limitations">Limitations</a> section below, not
all of them work correctly. I will admit to having used
<code>http://www.kunstderfuge.com/-/midi.asp?file=beethoven/symphony_6_1_(c)cvikl.mid</code>
for most of my testing (see <a href="cvikl.mid">cvikl.mid</a>).</p>
for most of my testing (see <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/otterness/cvikl.mid">cvikl.mid</a>).</p>
<h3 id="usage">Usage</h3>
<p>Compile the program using the following command (I tested this using both
<code>clang</code> and <code>gcc</code>):</p>
+2 -2
View File
@@ -19,7 +19,7 @@
```
The author provided the file [cppp.cc](cppp.cc) which can preprocess the
The author provided the file [cppp.cc](%%REPO_URL%%/2020/yang/cppp.cc) which can preprocess the
generated output to make them more acceptable to typical compilers. To build:
``` <!---sh-->
@@ -139,7 +139,7 @@ above:
For people eager to encode large files, an extra utility has been packaged
with this entry to preprocess the generated output to make them more
acceptable to typical compilers. View the [cppp.cc](cppp.cc) source and
acceptable to typical compilers. View the [cppp.cc](%%REPO_URL%%/2020/yang/cppp.cc) source and
then compile it with a c++ compiler of your choice.
<!--
+2 -2
View File
@@ -383,7 +383,7 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
<pre><code> ./prog [PIN] &lt; input.txt &gt; output.c</code></pre>
<h2 id="try">Try:</h2>
<pre><code> ./try.sh</code></pre>
<p>The author provided the file <a href="cppp.cc">cppp.cc</a> which can preprocess the
<p>The author provided the file <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/yang/cppp.cc">cppp.cc</a> which can preprocess the
generated output to make them more acceptable to typical compilers. To build:</p>
<pre><code> make cppp</code></pre>
<p>See the author’s remarks for more details.</p>
@@ -466,7 +466,7 @@ for large files. gcc 9.2.0 and above may crash with large files.</li>
</ul>
<p>For people eager to encode large files, an extra utility has been packaged
with this entry to preprocess the generated output to make them more
acceptable to typical compilers. View the <a href="cppp.cc">cppp.cc</a> source and
acceptable to typical compilers. View the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/yang/cppp.cc">cppp.cc</a> source and
then compile it with a c++ compiler of your choice.</p>
<!--