From ec244961db8373bcfe52cf41dc1f2c57b2caa0e7 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Tue, 14 Nov 2023 07:42:53 -0800 Subject: [PATCH 1/2] Format/typo check 2000/schneiderwent --- 2000/schneiderwent/README.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/2000/schneiderwent/README.md b/2000/schneiderwent/README.md index d136f665a..b66c592ee 100644 --- a/2000/schneiderwent/README.md +++ b/2000/schneiderwent/README.md @@ -8,7 +8,7 @@ make ## To use: ```sh -./schneiderwent datafile +./schneiderwent ``` @@ -57,20 +57,21 @@ deficiency. Obfuscation in this entry consists of: -* `printf()`ing console messages stored as EBCDIC character values - this is not +* `printf(3)`ing console messages stored as +[EBCDIC](https://en.wikipedia.org/wiki/EBCDIC) character values - this is not an attempt at encryption, but rather at cross platform compatibility. -* ASCII character values are calculated from the EBCDIC in a particularly ugly -abuse of the '?' operator. +* [ASCII](https://en.wikipedia.org/wiki/ASCII) character values are calculated +from the EBCDIC in a particularly ugly abuse of the `?:` operator. * Detection of whether to print the ASCII or EBCDIC values is done by taking the remainder of dividing the character `'J'` by `2` - the ASCII value of the character is even, the EBCDIC value is odd. -* The messages to be `printf`ed are determined via multiple table lookups and +* The messages to be `printf(3)`ed are determined via multiple table lookups and bit-masked values. * For minutes, the bit position turned on is multiplied by two to determine the -message to be `printf`ed. +message to be `printf(3)`ed. * For hours, the straight bit position is used. * This entry mostly eschews function calls for the often overlooked -setjmp/longjmp combination. +`setjmp(3)`/`longjmp(3)` combination. * The trigraphs are not there as obfuscation nor are they there to annoy the judges - it's just the easiest way to get around the absence of square brackets in a normal 3270 environment. From 2e5782f930a8b6652cd02c8c9ab5de399d112076 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Tue, 14 Nov 2023 07:45:47 -0800 Subject: [PATCH 2/2] Improve 1996/huffman/try.sh Get CC, defaulting to cc. So, that's to end the story for you and me If you still give a listen, you just may Hear a big wolf-man or little piggy say Little pig, little pig, let me in Not by the hair of my chinny, chin, chin Little pig, little pig, let me in Not by the hair of my chinny, chin, chin Well, I'm huffin', I'm puffin', I'll blow your house in Huffin', puffin', blow your house in Huffin', puffin', blow your house in Huffin' and a puffin' and I'll blow your house in! And the moral of the story is band with no talent can easily amuse Idiots with a stupid, puppet show :-) --- 1996/huffman/try.sh | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/1996/huffman/try.sh b/1996/huffman/try.sh index 4af978da4..2a3a42628 100755 --- a/1996/huffman/try.sh +++ b/1996/huffman/try.sh @@ -1,7 +1,37 @@ #!/usr/bin/env bash +# +# try.sh - show IOCCC winner 1996/huffman +# +# ... +# +# So, that's to end the story for you and me +# If you still give a listen, you just may +# Hear a big wolf-man or little piggy say +# Little pig, little pig, let me in +# Not by the hair of my chinny, chin, chin +# Little pig, little pig, let me in +# Not by the hair of my chinny, chin, chin +# Well, I'm huffin', I'm puffin', I'll blow your house in +# Huffin', puffin', blow your house in +# Huffin', puffin', blow your house in +# Huffin' and a puffin' and I'll blow your house in! +# And the moral of the story is +# band with no talent can easily amuse +# Idiots with a stupid, puppet show +# +# :-) -make all >/dev/null || exit 1 +# make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it +# this way allows us to have the user specify a different compiler in an easy +# way. +if [[ -z "$CC" ]]; then + CC="cc" +fi +make CC="$CC" all >/dev/null || exit 1 + +# clear screen after compilation so that only the entry is shown +clear echo "$ echo 'seeing or feeling is believing' | ./huffman" 1>&2 echo 'seeing or feeling is believing' | ./huffman 2>/dev/null