From 50f55b4c6a7f8abeab981b2c53bddebc5f1bcb00 Mon Sep 17 00:00:00 2001
From: Landon Curt Noll
**".
The "**\
**" has no effect in standard HTML 5 and interacts
badly with unquoted attribute values.
If a horizontal line is really needed, use "**\
**".
If a short line is needed, use: "**\
**"
---
1992/gson/README.md | 2 +-
1992/gson/index.html | 2 +-
1996/august/README.md | 6 +-
1996/august/index.html | 6 +-
1998/df/README.md | 4 +-
1998/df/index.html | 4 +-
1998/dorssel/dorssel.html | 4 +-
1998/dorssel/dorssel.md | 4 +-
2000/jarijyrki/README.md | 2 +-
2000/jarijyrki/index.html | 2 +-
2013/hou/README.md | 9 ++-
2013/hou/doc/example.html | 50 ++++------------
2013/hou/doc/example.md | 32 ++++-------
2013/hou/index.html | 4 +-
2018/burton2/README.md | 6 +-
2018/burton2/index.html | 113 ++++++++++++++++++++++---------------
2018/mills/README.md | 2 +-
2018/mills/index.html | 2 +-
2019/duble/README.md | 4 +-
2019/duble/index.html | 4 +-
2019/mills/README.md | 22 +++++---
2019/mills/index.html | 21 +++----
2020/kurdyukov4/README.md | 4 +-
2020/kurdyukov4/index.html | 4 +-
sitemap.xml | 56 +++++++++---------
25 files changed, 181 insertions(+), 188 deletions(-)
diff --git a/1992/gson/README.md b/1992/gson/README.md
index 1dd421a22..f15731019 100644
--- a/1992/gson/README.md
+++ b/1992/gson/README.md
@@ -151,7 +151,7 @@ Here follows a description of some of the data structures and
algorithms used by AG. It is by no means complete, but it may help
you get an idea about the general principles.
----
+
Internally, AG represents words and sentences as arrays of 32
4-bit integer elements. Each element represents the number of
diff --git a/1992/gson/index.html b/1992/gson/index.html
index 52b210c21..4e013dbec 100644
--- a/1992/gson/index.html
+++ b/1992/gson/index.html
@@ -242,7 +242,7 @@ algorithms are outlined in the spoiler below.
Here follows a description of some of the data structures and algorithms used by AG. It is by no means complete, but it may help you get an idea about the general principles.
-Internally, AG represents words and sentences as arrays of 32 4-bit integer elements. Each element represents the number of times a letter occurs in the word/sentence. There are 32 elements diff --git a/1996/august/README.md b/1996/august/README.md index 3ccd30412..b7b57ba8e 100644 --- a/1996/august/README.md +++ b/1996/august/README.md @@ -178,7 +178,7 @@ And another... cat august.oo august.oo august.oo test.oo | ./august ``` ---- +
cat august.oo august.oo test.oo | ./august
And another…
cat august.oo august.oo august.oo test.oo | ./august
-Fitting the byte code for the compiler into the initial comment was a challenge. I had to strip the compiler/interpreter of a lot of functionality to bring down their sizes. The initial @@ -255,7 +255,7 @@ the code further with a better entropy coder (e.g. an arithmetic coder), but decompression then takes up too much code. Maybe this would be a way to fit it all into the 1536 bytes, but I don’t have time to try it.
-Execution starts at main(). Nothing can be used before it is
defined. getchar() and putchar() are predefined functions.
Below is a description of the OC grammar.
@@ -316,7 +316,7 @@ defined.getchar() and putchar() are predefined functi
"char" stars
stars: "*"*
-Well, that is enough ranting for now.
diff --git a/2018/burton2/index.html b/2018/burton2/index.html index 62e42d244..af3d19d24 100644 --- a/2018/burton2/index.html +++ b/2018/burton2/index.html @@ -399,56 +399,75 @@ the IOJCC trash can.NB: The keyword file used in this code is derived from the list in iocccsize.c,
-which is neither complete (#define, #ifndef, #undef are missing
-– yes, Virginia knows about #define omitted on purpose),
-nor correct (many more are added: I, true, bool, compl, …):
(sed -n '1p' c11; sed -n '2,$p' ioccc.kw.freq | sort) | comm -3 - c11
-That is an obfuscated way to say “diff”. But it also more clearly shows the, um, diffs.
-The usage string is similarly externalized, providing a better usability string than
-the limits would otherwise allow. If this is considered bending the rules too far,
-just -DU=O to get a passible, if cryptic, usage message using no additional octets
+which is neither complete (#define, #ifndef, #undef are missing
yes, Virginia knows about `#define` omitted on purpose
+``
+
+nor correct (many more are added: `I`, `true`, `bool`, `compl`, ...):
+
+(sed -n ‘1p’ c11; sed -n ‘2,$p’ ioccc.kw.freq | sort) | comm -3 - c11
+
+That is an obfuscated way to say "diff". But it also more clearly shows the, um, diffs.
+
+The usage string is similarly externalized, providing a better usability string than
+the limits would otherwise allow. If this is considered bending the rules too far,
+just `-DU=O` to get a passible, if cryptic, usage message using no additional octets
than without the define.
This also allows the builder to configure the amount of help a utility should provide
-(you want a manpage? Because that’s how you get a manpage.) – a rather
-significant point of contention made moot.
-There is definitely abuse of the Rule2 counter, exploiting a “feature” of
-iocccsize: iocccsize does not Rule2 count {, } and ; when followed by
-whitespace – even within a string! Thus: Freecode, a simple, uncounted, highly
-obfuscated encoding of a central part of this program. (The reserved word list
-is not Freecoded, both because it is useful apart from the program, and because
-Freecode is not entirely free.)
-
-- Some restrictions apply. Not approved for all uses. Some assembly required.
-
-Compilation:
-The code is ANSI compliant, but it does have a string longer than 509 characters.
-It has been tested on OSX and Linux, Clang and GCC.
-The code uses trigraphs, ironically: it parses trigraphs with trigraph code.
-Because that’s funny. And it remains obscure after, so trigraphs are not used
-for obfuscation. Thus -trigraphs -Wno-trigraphs (which is also humorous).
-It’s obfuscated C. Thus -Wno-parentheses -Wno-empty-body -Wno-char-subscripts.
-The code uses unsigned chars, but C strings are signed. Thus -Wno-pointer-sign.
-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:
-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
-in prog.c, and the program manpage.sh was added to the corpus.
-manpage.sh is a useful program that turns ASCII versions of man
-pages (e.g. tac.man) into real man pages. It works for C and C-like
-languages, command lines, and was designed to handle man page sections 1-8. It
-works well on most inputs, but tends to need some raw nroff for more fancy
-constructions, such as combined arguments (e.g. the -r and -s arguments to tac
-are not recognised when written as -rs in prose).
-Try:
- ./manpage.sh tac
+([you want a manpage? Because that's how you get a manpage.][5]) -- a rather
+significant point of contention made moot.
- ./manpage.sh -h
- ./manpage.sh -h | ./manpage.sh
- ./manpage.sh -h | ./manpage.sh -R | less
- ./manpage.sh -h | ./manpage.sh -P | lpr
+There is definitely abuse of the Rule2 counter, exploiting a "feature" of
+`iocccsize`: `iocccsize` does not Rule2 count `{`, `}` and `;` when followed by
+whitespace -- even within a string! Thus: Freecode, a simple, uncounted, highly
+obfuscated encoding of a central part of this program. (The reserved word list
+is not Freecoded, both because it is useful apart from the program, and because
+Freecode is not entirely free.)
+
+* Some restrictions apply. Not approved for all uses. Some assembly required.
+
+[5]: https://www.youtube.com/watch?v=VU0GYSA1POs "Ants"
+
+### Compilation:
+
+The code is ANSI compliant, but it does have a string longer than 509 characters.
+It has been tested on OSX and Linux, Clang and GCC.
+
+The code uses trigraphs, ironically: it parses trigraphs with trigraph code.
+Because that's funny. And it remains obscure after, so trigraphs are not used
+for obfuscation. Thus `-trigraphs -Wno-trigraphs` (which is also humorous).
+
+It's obfuscated C. Thus `-Wno-parentheses -Wno-empty-body -Wno-char-subscripts`.
+
+The code uses `unsigned char`s, but C strings are `signed`. Thus `-Wno-pointer-sign`.
+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:
+
+[Cody Boone Ferguson](../../authors.html#Cody_Boone_Ferguson) was relentless in his pursuit of bugs.
+Thanks to his reports, the version of [unob.sh](unob.sh) is stronger,
+`tac` groks digraphs, [tokenfix.sh](tokenfix.sh) corrects for missing digraphs
+in [prog.c](prog.c), and the program [manpage.sh](manpage.sh) was added to the corpus.
+
+[manpage.sh](manpage.sh) is a useful program that turns ASCII versions of man
+pages (e.g. [tac.man](tac.man)) into real man pages. It works for C and C-like
+languages, command lines, and was designed to handle man page sections 1-8. It
+works well on most inputs, but tends to need some raw nroff for more fancy
+constructions, such as combined arguments (e.g. the `-r` and `-s` arguments to tac
+are not recognised when written as `-rs` in prose).
+
+Try:
+
+./manpage.sh tac
+./manpage.sh -h +./manpage.sh -h | ./manpage.sh +./manpage.sh -h | ./manpage.sh -R | less +./manpage.sh -h | ./manpage.sh -P | lpr +```
NOTE: in 2023 the tac.man was updated to proper man format and renamed
tac.1.