From 394e120bae2aad1723b2ac865ba0fda4409ee214 Mon Sep 17 00:00:00 2001 From: Landon Curt Noll Date: Sun, 21 Apr 2024 02:06:00 -0700 Subject: [PATCH] replace name attributes in 2020/ferguson2/README.md --- 2020/ferguson2/README.md | 55 +++++++++++++++++++++------- 2020/ferguson2/index.html | 77 +++++++++++++++++++++++++-------------- 2 files changed, 91 insertions(+), 41 deletions(-) diff --git a/2020/ferguson2/README.md b/2020/ferguson2/README.md index c73862eae..381910196 100644 --- a/2020/ferguson2/README.md +++ b/2020/ferguson2/README.md @@ -158,7 +158,7 @@ I have more information on this entry like the testing procedure at . - +
- [IOCCC: an Enigma?](#ioccc) - [The 1992 Nathan Sidwell entry](#nathan) - [Usage](#usage) @@ -172,8 +172,11 @@ I have more information on this entry like the testing procedure at - [Portability](#portability) - [Winning thoughts, dedications and thanks](#winning) - [Resources](#resources) +
-### IOCCC: an Enigma? + Is there a better single word that could describe the code that is IOCCC? I'm sure there are some other words that are equally as valid but I believe 'Enigma' @@ -205,7 +208,9 @@ Vik](../../authors.html#Daniel_Vik) can be used to allow for the actual sound of With my entry we can complete the loop! -### The 1992 Nathan Sidwell entry + The author [Nathan Sidwell](../../authors.html#Nathan_Sidwell) of the [1992 Worst Abuse of the Rules][] had this to say about his program: @@ -245,7 +250,9 @@ code. As of 4 March 2023 the original before unseen code was published but I leave this in for historical purposes. -### Usage +
+### Usage +
If you run the program by itself it'll use the default settings and prompt you for input (end with EOF). At that point it'll process the input string and print @@ -274,7 +281,9 @@ pairs](https://www.cryptomuseum.com/crypto/enigma/i/sb.htm). After that you can input the string and it'll go from there. -#### Example run +
+#### Example run +
BTW: There's a much more entertaining (and delicious) challenge or exercise in [recode.html][] (if you're reading this on GitHub check the @@ -403,7 +412,9 @@ What about the other [Morse code entry](../../1998/dorssel/dorssel.c)? ..- ..- -- -- -..- ``` -### The recode.c configurator + I have included a supplementary program [recode.c][] that can do a number of things which acts as a kind of wrapper and configurator to my entry. By default @@ -437,7 +448,9 @@ For examples using it (and a delicious challenge) see [recode.html][] (or [enigma.1][] man pages. -### A parser subtlety that could cause confusion + 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 @@ -513,7 +526,9 @@ accomplished and made use of! :) ABC ``` -### On the source code layout + The layout of [recode.c][] isn't too significant (but see below) but I want to mention [prog.c](prog.c) especially: @@ -547,7 +562,9 @@ As for [recode.c][] though I really love this: 'this' refer to? -### Obfuscation +
+### Obfuscation +
It's an [Enigma machine](https://en.wikipedia.org/wiki/Enigma_machine) simulator! Isn't @@ -584,7 +601,9 @@ word `OBFUSCATION`: OB FU SC ATION ``` -### Bugs, limitations, differences from the real Enigma machines and general notes + Ways that my simulator differs from the real thing. Not all of these are bugs and some could be considered features; others are just differences. @@ -678,7 +697,9 @@ online simulator so I presume it is correct. It might be that the Germans tended to have it at A but again I do not know. -### Kriegsmarine support? + Is it possible to add [Kriegsmarine](https://en.wikipedia.org/wiki/Kriegsmarine) support? I thought so by adding the additional rotors but looking at it again it @@ -705,7 +726,9 @@ to just put the strings in. Again the way I set things up complicates this greatly. -### Portability +
+### Portability +
I have tested it under macOS, Fedora and CentOS Linux and all seems okay under these platforms. When I was in the final stages of obfuscation I made an error @@ -727,7 +750,9 @@ The results of my test script (not included here but I will probably have it on my website) are the same under Fedora, CentOS and macOS. -### Resources +
+### Resources +
#### A note on Wehrmacht, its branches and other agencies and their Enigma machines @@ -848,7 +873,9 @@ that. ## Author's dedication: -### Winning thoughts, dedications and thanks + Once again I'm honoured to win along with some of the other veterans who I have a huge amount of respect for; there's [Don Yang](../../authors.html#Don_Yang), [Dave diff --git a/2020/ferguson2/index.html b/2020/ferguson2/index.html index a78f4176e..52b0b523a 100644 --- a/2020/ferguson2/index.html +++ b/2020/ferguson2/index.html @@ -252,21 +252,28 @@ suffered the loss of friends or loved ones, as well as the world itself, in and from one of the greatest tragedies in the history of mankind.

I have more information on this entry like the testing procedure at https://ioccc.xexyl.net/2020/enigma.

-

-- IOCCC: an Enigma? -- The 1992 Nathan Sidwell entry -- Usage -* Example run -- The recode.c configurator -- A parser subtlety that could cause confusion -- On the source code layout -- Obfuscation -- Bugs, limitations, differences from the real Enigma machines and general notes -- Kriegsmarine support? -- Portability -- Winning thoughts, dedications and thanks -- Resources

-

IOCCC: an Enigma?

+ +

Is there a better single word that could describe the code that is IOCCC? I’m sure there are some other words that are equally as valid but I believe ‘Enigma’ is a great word nonetheless.

@@ -292,7 +299,9 @@ Dorsselaer prints the Morse code of text; and the 2014 Morse audio transcoder by Daniel Vik can be used to allow for the actual sound of it. With my entry we can complete the loop!

-

The 1992 Nathan Sidwell entry

+

The author 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
@@ -322,7 +331,7 @@ it was before his time in the IOCCC; but before the other judges could answer
 Ilya Kurdyukov sent a link to the original 1992
 code. As of 4 March 2023 the original before unseen code was published but I
 leave this in for historical purposes.

-

Usage

+

Usage

If you run the program by itself it’ll use the default settings and prompt you for input (end with EOF). At that point it’ll process the input string and print the result (after finishing the enciphering).

@@ -340,7 +349,9 @@ The first one is reflector B and the second is reflector C.

Finally it’ll prompt you for the plugboard pairs.

After that you can input the string and it’ll go from there.

-

Example run

+

BTW: There’s a much more entertaining (and delicious) challenge or exercise in recode.html (if you’re reading this on GitHub check the recode.html file instead); this involves chocolate-cake.html (if @@ -420,7 +431,9 @@ too. Notice also how it showed the same output that my program gave it - U

What about the other Morse code entry?

    $ echo IOCCC | ./prog | ./dorssel
     ..- ..- -- -- -..-
-

The recode.c configurator

+

I have included a supplementary program recode.c that can do a number of things which acts as a kind of wrapper and configurator to my entry. By default it prompts you for the settings @@ -446,7 +459,9 @@ make it more flexible by a wrapper program.

For examples using it (and a delicious challenge) see recode.html (or recode.html if reading on GitHub). See also the recode.1 and enigma.1 man pages.

-

A parser subtlety that could cause confusion

+

The parser is in a sense rather rudimentary but allows for both interactive and automatic (e.g. via the recode program) input. This does mean that something like the following can happen:

@@ -507,7 +522,9 @@ accomplished and made use of! :)

GYM $ echo ABC | ./prog | ./prog ABC
-

On the source code layout

+

The layout of recode.c isn’t too significant (but see below) but I want to mention prog.c especially:

I did think of a more artistic layout but @@ -530,7 +547,7 @@ ended his life. (I later made a bug fix but I consider this inconsequential).

…because it seems so wrong in C code at first glance. Also what does the ‘this’ refer to?

-

Obfuscation

+

Obfuscation

It’s an Enigma machine simulator! Isn’t that proof that it’s obfuscated itself?! :) Silliness aside obfuscation.txt has some of the ways I think this entry is obfuscated. To decipher try:

@@ -551,7 +568,9 @@ to explore this entry.

word OBFUSCATION:

    2OB5FU1SC2ATIONCDEFGHJKLMPQRYZ
      OB FU SC ATION
-

Bugs, limitations, differences from the real Enigma machines and general notes

+

Ways that my simulator differs from the real thing. Not all of these are bugs and some could be considered features; others are just differences.

    @@ -631,7 +650,9 @@ part.

    I do not know if this is correct but as I show somewhere my entry does match the online simulator so I presume it is correct. It might be that the Germans tended to have it at A but again I do not know.

    -

    Kriegsmarine support?

    +

    Is it possible to add Kriegsmarine support? I thought so by adding the additional rotors but looking at it again it appeared that it’s not as simple as adding the rotors to the code and then @@ -652,7 +673,7 @@ be found in the source code verbatim and you could confirm it by looking them up; however much more would have to be done in order to get them to work, than to just put the strings in. Again the way I set things up complicates this greatly.

    -

    Portability

    +

    Portability

    I have tested it under macOS, Fedora and CentOS Linux and all seems okay under these platforms. When I was in the final stages of obfuscation I made an error somehow (or else maybe the vim formatting caused a problem - I have seen this @@ -668,7 +689,7 @@ input was put in correctly because as soon as a letter differs the entire sequence will be off.

    The results of my test script (not included here but I will probably have it on my website) are the same under Fedora, CentOS and macOS.

    -

    Resources

    +

    Resources

    A note on Wehrmacht, its branches and other agencies and their Enigma machines

    The Wehrmacht was the defence force in full which included the Heer (army), @@ -746,7 +767,9 @@ user here wants to they could add three letters to their message beginning. I don’t think there need be any addition to the recode program - at least not that.

    Author’s dedication:

    -

    Winning thoughts, dedications and thanks

    +

    Once again I’m honoured to win along with some of the other veterans who I have a huge amount of respect for; there’s Don Yang, Dave Burton, Yusuke Endoh