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

+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