From 6b74e04bf4c7971d127484ae86fb68dc8836ee3b Mon Sep 17 00:00:00 2001
From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com>
Date: Wed, 13 Dec 2023 09:20:13 -0800
Subject: [PATCH] Add 2018/endoh1/try.sh + format/typo checks
The try.sh script shows each input file first so that one can see how it
turns out as a GIF file. The input files include those not suggested by
the judges including the source code itself (the author suggested it has
a message too).
The README.md file has been format/typo checked.
---
2018/endoh1/README.md | 14 +++++++-----
2018/endoh1/try.sh | 52 +++++++++++++++++++++++++++++++++++++++++++
thanks-for-help.md | 10 +++++++++
3 files changed, 70 insertions(+), 6 deletions(-)
create mode 100755 2018/endoh1/try.sh
diff --git a/2018/endoh1/README.md b/2018/endoh1/README.md
index 501792fe4..cfb5d05a2 100644
--- a/2018/endoh1/README.md
+++ b/2018/endoh1/README.md
@@ -14,16 +14,17 @@ make
### Try:
+To see the input files and feed them to the program, redirecting to GIF files:
+
```sh
-./prog < golem.txt > golem.gif
-./prog < smily.txt > smily.gif
+./try.sh
```
## Judges' remarks:
-To get the best experience, use a GIF viewer that can handle animated gifs.
-On OS X you can use Safari using "open -a Safari smily.gif"
+To get the best experience, use a GIF viewer that can handle animated GIFs.
+With macOS you can use Safari using `open -a Safari smily.gif`.
Some things to consider are that this 2.5KiB gem encodes a 96 character 8x8
font (naively this could already take 6144 bytes) and a GIF encoder. But
@@ -44,8 +45,9 @@ cc -o prog prog.c
./prog < invisible.txt > invisible.gif
```
-Open invisible.gif and then wait a minute. You will see a hidden message.
-Can you tell the difference between letters that leaves the mark and ones that does not?
+Open `invisible.gif` with a GIF viewer that can show animated GIFs and then wait
+a minute. You will see a hidden message. Can you tell the difference between
+letters that leave the mark and ones that do not?
Other examples:
diff --git a/2018/endoh1/try.sh b/2018/endoh1/try.sh
new file mode 100755
index 000000000..6e6a8839f
--- /dev/null
+++ b/2018/endoh1/try.sh
@@ -0,0 +1,52 @@
+#!/usr/bin/env bash
+#
+# try.sh - demonstrate IOCCC winner 2018/endoh1
+#
+
+# 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
+
+read -r -n 1 -p "Press any key to show prog.c (space = next page, q = quit): "
+echo 1>&2
+less -EXF prog.c
+echo "$ ./prog < prog.c > prog.gif" 1>&2
+./prog < prog.c > prog.gif
+echo 1>&2
+
+read -r -n 1 -p "Press any key to show golem.txt (space = next page, q = quit): "
+echo 1>&2
+less -EXF golem.txt
+echo "$ ./prog < golem.txt > golem.gif" 1>&2
+./prog < golem.txt > golem.gif
+echo 1>&2
+
+read -r -n 1 -p "Press any key to show smily.txt (space = next page, q = quit): "
+echo 1>&2
+less -EXF smily.txt
+echo "$ ./prog < smily.txt > smily.gif" 1>&2
+./prog < smily.txt > smily.gif
+echo 1>&2
+
+read -r -n 1 -p "Press any key to show invisible.txt (space = next page, q = quit): "
+less -EXF invisible.txt
+echo "$ ./prog < invisible.txt > invisible.gif" 1>&2
+./prog < invisible.txt > invisible.gif
+echo 1>&2
+
+echo "Now open the GIF files prog.gif, golem.gif, smily.gif and invisible.gif" 1>&2
+echo "in a GIF viewer that can display animation in animated GIFs." 1>&2
+echo 1>&2
+echo "If you use macOS you can open them all in Safari, one tab per image, like: " 1>&2
+echo 1>&2
+echo " open -a Safari prog.gif golem.gif smily.gif invisible.gif" 1>&2
+echo 1>&2
+echo "Once they're open make sure to watch as they change form." 1>&2
diff --git a/thanks-for-help.md b/thanks-for-help.md
index 22a563a6a..b1207f514 100644
--- a/thanks-for-help.md
+++ b/thanks-for-help.md
@@ -3968,6 +3968,16 @@ work for Windows, based on the author's remarks.
Internet Wayback Machine.
+## [2018/endoh1](/2018/endoh1/prog.c) ([README.md](/2018/endoh1/README.md))
+
+[Cody](#cody) added the [try.sh](/2018/endoh1/try.sh) script which shows the
+input files one at a time and after each one is shown, it feeds it to the
+program, redirecting the output to the respective GIF file. It then will inform
+the user they should open it in a GIF viewer that can show animation in animated
+GIF files. It offers an example command for macOS like the judges did in their
+remarks. The input files offered includes the prog.c as the author,
+[Yusuke](#yusuke), suggested that it too has a secret.
+
## [2018/endoh2](/2018/endoh2/prog.c) ([README.md](/2018/endoh2/README.md))