diff --git a/1986/bright/.entry.json b/1986/bright/.entry.json index f44d465a0..042fa14cc 100644 --- a/1986/bright/.entry.json +++ b/1986/bright/.entry.json @@ -6,7 +6,7 @@ "dir" : "bright", "entry_id" : "1986_bright", "title" : "1986.bright", - "abstract" : "hex dump with cpp compressed that uses lots of << for constants", + "abstract" : "hex dump with cpp compressed that uses lots of `<<` for constants", "author_set" : [ { "author_handle" : "Walter_Bright" diff --git a/1986/bright/index.html b/1986/bright/index.html index 3a57d90d9..718adba2b 100644 --- a/1986/bright/index.html +++ b/1986/bright/index.html @@ -406,7 +406,7 @@

The International Obfuscated C Code Contest

1986/bright - Most useful obfuscation

-

hex dump with cpp compressed that uses lots of << for constants

+

hex dump with cpp compressed that uses lots of `<<` for constants

diff --git a/1988/litmaath/.entry.json b/1988/litmaath/.entry.json index 3618bb872..ffe40f4fc 100644 --- a/1988/litmaath/.entry.json +++ b/1988/litmaath/.entry.json @@ -6,7 +6,7 @@ "dir" : "litmaath", "entry_id" : "1988_litmaath", "title" : "1988.litmaath", - "abstract" : "sorts each arg using only argc argv and 'while()'", + "abstract" : "sorts each arg using only argc argv and 'while(cond)'", "author_set" : [ { "author_handle" : "Maarten_Litmaath" diff --git a/1988/litmaath/index.html b/1988/litmaath/index.html index cb1a95f9b..39a448fd7 100644 --- a/1988/litmaath/index.html +++ b/1988/litmaath/index.html @@ -406,7 +406,7 @@

The International Obfuscated C Code Contest

1988/litmaath - Best small program

-

sorts each arg using only argc argv and 'while()'

+

sorts each arg using only argc argv and 'while(cond)'

diff --git a/1992/albert/.entry.json b/1992/albert/.entry.json index c1afebd17..e7e251d5b 100644 --- a/1992/albert/.entry.json +++ b/1992/albert/.entry.json @@ -6,7 +6,7 @@ "dir" : "albert", "entry_id" : "1992_albert", "title" : "1992.albert", - "abstract" : "factors multi-precision numbers with factors < MAX_LONG", + "abstract" : "factors multi-precision numbers with factors `< MAX_LONG`", "author_set" : [ { "author_handle" : "Albert_van_der_Horst" diff --git a/1992/albert/index.html b/1992/albert/index.html index c44e9d713..fd27e4f1f 100644 --- a/1992/albert/index.html +++ b/1992/albert/index.html @@ -406,7 +406,7 @@

The International Obfuscated C Code Contest

1992/albert - Most useful program

-

factors multi-precision numbers with factors < MAX_LONG

+

factors multi-precision numbers with factors `< MAX_LONG`

diff --git a/2018/burton1/README.md b/2018/burton1/README.md index 8469a0902..4ff599fed 100644 --- a/2018/burton1/README.md +++ b/2018/burton1/README.md @@ -251,7 +251,7 @@ So which version is the shortest, portable hex dump? * 113 works on Ancient UNIX and the portable C compiler. * 119 works on all platforms, including the original Ritchie PDP-11 C compiler. -### Coda: +### Final remarks: Clearly, the smallest possible program violates modern best practice. It is not even possible to compile cleanly, but it will compile correctly. diff --git a/2018/burton1/index.html b/2018/burton1/index.html index 1fc4a3040..4e9f54de6 100644 --- a/2018/burton1/index.html +++ b/2018/burton1/index.html @@ -618,7 +618,7 @@ and efficient expression.

  • 113 works on Ancient UNIX and the portable C compiler.
  • 119 works on all platforms, including the original Ritchie PDP-11 C compiler.
  • -

    Coda:

    +

    Final remarks:

    Clearly, the smallest possible program violates modern best practice. It is not even possible to compile cleanly, but it will compile correctly.

    Included is prog.alt.c, a modern C implementation that is – diff --git a/2018/burton2/README.md b/2018/burton2/README.md index aef410814..716c70586 100644 --- a/2018/burton2/README.md +++ b/2018/burton2/README.md @@ -391,7 +391,7 @@ Thus: cc -ansi -Wall -trigraphs -Wno-trigraphs -Wno-parentheses -Wno-empty-body -Wno-char-subscripts -Wno-pointer-sign -DU=O -DW=\"keywords\" -o prog prog.c ``` -### Coda: +### Final remarks: [Cody Boone Ferguson](../../authors.html#Cody_Boone_Ferguson) was relentless in his pursuit of bugs. Thanks to his reports, the version of [unob.sh](%%REPO_URL%%/2018/burton2/unob.sh) is stronger, diff --git a/2018/burton2/index.html b/2018/burton2/index.html index e4da132b2..f55bfed7b 100644 --- a/2018/burton2/index.html +++ b/2018/burton2/index.html @@ -726,7 +726,7 @@ for obfuscation. Thus -trigraphs -Wno-trigraphs (which is also humo NB: This is not a portability concern, the one string holds only printable ASCII characters.

    Thus:

        cc -ansi -Wall -trigraphs -Wno-trigraphs -Wno-parentheses -Wno-empty-body -Wno-char-subscripts -Wno-pointer-sign -DU=O -DW=\"keywords\" -o prog prog.c
    -

    Coda:

    +

    Final remarks:

    Cody Boone Ferguson was relentless in his pursuit of bugs. Thanks to his reports, the version of unob.sh is stronger, tac groks digraphs, tokenfix.sh corrects for missing digraphs diff --git a/2018/ferguson/README.md b/2018/ferguson/README.md index d39e8aa97..1bc06eb08 100644 --- a/2018/ferguson/README.md +++ b/2018/ferguson/README.md @@ -117,7 +117,7 @@ If you find yourself in an evolutionary dead end, try: 0. Preface 1. What it is 2. How it works -3. Hints (Keyboards, Options, Obfuscation, Example Invocations) +3. Hints (Keyboards, Options, Easter egg, Example Invocations) 4. Obfuscation (Techniques, Beauty) 5. How to build (S and N Constants, Compilation, Portability, Installing) 6. Final thoughts @@ -558,13 +558,13 @@ are only parsed if the first character is `-` and if the parser hasn't seen the `-` - *in an earlier element of `argv`. This is not a bug!* -

    -### Obfuscation +
    +### Easter egg
    Skip to [Example Invocations](#invocations). -The Easter egg: Since Dawkins references the [Infinite Monkey Theorem][] it +The Easter egg: since Dawkins references the [Infinite Monkey Theorem][] it simulates a monkey using a typewriter! This mode has the following changes: Selection is omitted; this means no sorting by fitness score (*each offspring diff --git a/2018/ferguson/index.html b/2018/ferguson/index.html index ee03f52b8..46d00852d 100644 --- a/2018/ferguson/index.html +++ b/2018/ferguson/index.html @@ -513,7 +513,7 @@ while using more Cenozoic minded code migration, read rpm.htm
  • Preface
  • What it is
  • How it works
  • -
  • Hints (Keyboards, Options, Obfuscation, Example Invocations)
  • +
  • Hints (Keyboards, Options, Easter egg, Example Invocations)
  • Obfuscation (Techniques, Beauty)
  • How to build (S and N Constants, Compilation, Portability, Installing)
  • Final thoughts
  • @@ -825,9 +825,9 @@ itself) and then the target string would literally be set to -r- for option parsing. In other words options are only parsed if the first character is - and if the parser hasn’t seen the - - in an earlier element of argv. This is not a bug!

    -

    Obfuscation

    +

    Easter egg

    Skip to Example Invocations.

    -

    The Easter egg: Since Dawkins references the Infinite Monkey Theorem it +

    The Easter egg: since Dawkins references the Infinite Monkey Theorem it simulates a monkey using a typewriter! This mode has the following changes:

    Selection is omitted; this means no sorting by fitness score (each offspring is initially set to be the first two in the list) but do pseudo-randomly @@ -1048,9 +1048,7 @@ invalid character ('\n' itself which means another line break) and finally the closing '. Specifically isspace() characters aren’t distinctly seen like a letter, digit or symbol is: isprint('\n') == 0 && isspace('\n') == 1. You can add these characters but the output will be rather confusing and hard to read.

    -
    -

    4. Obfuscation

    -
    +

    4. Obfuscation

    Techniques

    Skip to Beauty.

    The following might be some of the techniques used in this entry:

    diff --git a/2020/ferguson1/terminals.html b/2020/ferguson1/terminals.html index d0fa78962..8cc8c691e 100644 --- a/2020/ferguson1/terminals.html +++ b/2020/ferguson1/terminals.html @@ -568,7 +568,7 @@ even just the reset command.

    The Linux man page says:

    You might have to run the reset tool like:

    -

    reset

    +

    <LF>reset<LF>

    (the line-feed character is normally control-J) to get the terminal to work, as carriage-return may no longer work in the abnormal state.

    diff --git a/2020/ferguson1/terminals.md b/2020/ferguson1/terminals.md index 21b924d25..ba432d17c 100644 --- a/2020/ferguson1/terminals.md +++ b/2020/ferguson1/terminals.md @@ -193,7 +193,7 @@ The Linux man page says: > You might have to run the `reset` tool like: > -> reset +> `reset` > > (the line-feed character is normally control-J) to get the terminal to work, as carriage-return may no longer work in the abnormal state.