diff --git a/2012/zeitak/.entry.json b/2012/zeitak/.entry.json index 9e3321746..59c865475 100644 --- a/2012/zeitak/.entry.json +++ b/2012/zeitak/.entry.json @@ -58,12 +58,12 @@ "entry_text" : "original source code" }, { - "file_path" : "test.sh", + "file_path" : "try.sh", "inventory_order" : 100, "OK_to_edit" : true, "display_as" : "shellscript", "display_via_github" : true, - "entry_text" : "test tool" + "entry_text" : "script to try entry" }, { "file_path" : "correct.java", diff --git a/2012/zeitak/Makefile b/2012/zeitak/Makefile index 893853a56..436355a7d 100644 --- a/2012/zeitak/Makefile +++ b/2012/zeitak/Makefile @@ -137,7 +137,7 @@ all: data ${TARGET} ${PROG}: ${PROG}.c ${CC} ${CFLAGS} $< -o $@ ${LDFLAGS} -test: test.sh +test: try.sh ./$< || exit 1 diff --git a/2012/zeitak/README.md b/2012/zeitak/README.md index 4eb75f96c..ce35c0bde 100644 --- a/2012/zeitak/README.md +++ b/2012/zeitak/README.md @@ -22,7 +22,7 @@ text files that are not code. ## Try: ``` - make test + ./try.sh ``` NOTE: the program prints an error and exits on the first nesting error so it @@ -64,7 +64,9 @@ NOTE: if you use vim to view the code, make sure to do: :set tabstop=4 ``` -in command mode, before looking at the code, to see the correct layout. +in command mode, before looking at the code, to see the correct layout. For more +help see [[6.14 - How do I set certain tabstops for viewing source code in +vi(m)?](../../faq.html#faq6_14) ## Author's remarks: diff --git a/2012/zeitak/index.html b/2012/zeitak/index.html index b8e8c0328..cb10f9f6b 100644 --- a/2012/zeitak/index.html +++ b/2012/zeitak/index.html @@ -411,7 +411,7 @@ code below.
try incorrect.1.quote.c and the program itself. You may also run it on text files that are not code. make test
+ ./try.sh
NOTE: the program prints an error and exits on the first nesting error so it will not detect multiple issues.
NOTE: if you use vim to view the code, make sure to do:
:set tabstop=4
-in command mode, before looking at the code, to see the correct layout.
+in command mode, before looking at the code, to see the correct layout. For more +help see [6.14 - How do I set certain tabstops for viewing source code in +vi(m)?
https://github.com/ioccc-src/temp-test-ioccc/blob/master/2019/lynn/## To build:
+ make
The current status of this entry is:
diff --git a/2020/ferguson1/chocolate-cake.html b/2020/ferguson1/chocolate-cake.html index e3f7587d4..39e1bbac5 100644 --- a/2020/ferguson1/chocolate-cake.html +++ b/2020/ferguson1/chocolate-cake.html @@ -384,6 +384,7 @@Here’s a delicious double-layered chocolate fudge cake that is
something of my mum’s speciality. It’s complicated and I should warn that nobody
has seemed to get it down as well as she has but it’s well worth the effort if
@@ -394,7 +395,7 @@ feeble attempt at drawing IOCCC into the cake before icing, a diffe
The picture below was taken for my birthday (14 February) in 2022 as it’s the
best one I have:

There are two sets of ingredients and instructions; the cake and the icing. In
addition there are some VERY IMPORTANT NOTES to pay attention to; some will
diff --git a/2020/ferguson1/chocolate-cake.md b/2020/ferguson1/chocolate-cake.md
index 933b781e9..f27dc3690 100644
--- a/2020/ferguson1/chocolate-cake.md
+++ b/2020/ferguson1/chocolate-cake.md
@@ -1,5 +1,7 @@
# Double-layered Chocolate Fudge Cake
+## Last updated Tue 26 Mar 16:28:01 2024 UTC
+
Here's a delicious double-layered chocolate fudge cake that is
something of my mum's speciality. It's complicated and I should warn that nobody
has seemed to get it down as well as she has but it's well worth the effort if
@@ -12,7 +14,7 @@ The picture below was taken for my birthday (14 February) in 2022 as it's the
best one I have:
There are two sets of ingredients and instructions; the cake and the icing. In
diff --git a/thanks-for-help.html b/thanks-for-help.html
index 71db37463..0b68d21c0 100644
--- a/thanks-for-help.html
+++ b/thanks-for-help.html
@@ -1942,7 +1942,7 @@ was not a char **. InsteadO5()(which wasmain()vi
its own function which main() calls with the right parameters.
Later Cody fixed it again to look much more like the original where only a
single line is added, that of main(), which calls O5(). This was done through
--include stdio.h at the compiler (in the Makefile) and by removing the O3
+-include stdio.h at the compiler (in the Makefile) and by removing the O3
variable (an int) at the top of the file, instead making it a char ** inmain()(O5()had three args) but then passing in0toO5()` for the third
arg (as it was 0 at file scope already this is perfectly fine and it means
there’s no need to cast it to an int in the function call though that would also
@@ -2912,10 +2912,11 @@ index.html for details.
Cody added the script try.sh to automate a heap of commands -that we, the IOCCC judges, suggested, as well as some additional ones that he -thought would be fun. He also provided the sort and punch card versions, -described in the index.html, based on the author’s remarks.
+Cody added the script try.sh to
+automate a heap of commands that we, the IOCCC judges, suggested, as well as
+some additional ones that he thought would be fun. He also provided the sort
+and punch card versions, described in the index.html, based on the author’s
+remarks, through Makefile rules that generate the files by default with make all.
Cody added the test.sh script and the make test rule
-that uses the script along with a number of files that will correctly be flagged
-as incorrect (including a text file and a java file, with a joke, to show that
-it’s not that it parses C but rather just matching pairs though that’s probably
-obvious) and some correctly nested files were also added including
-1984/anonymous (as the author explicitly mentioned
-it) and a java file as well with another joke.
Cody added the try.sh script and the
+make test rule that uses the script along with a number of files that will
+correctly be flagged as incorrect (including a text file and a Java file, with a
+joke, to show that it’s not that it parses C but rather just matching pairs
+though that’s probably obvious) and some correctly nested files were also added
+including 1984/anonymous (as the
+author explicitly mentioned it), both the original
+version (.alt.c) and the
+modified version that works with macOS
+as well, and a Java file as well with another joke. Those C files had to be
+added because each entry has its own tarball and without the files it would
+break the script.
A problem was later fixed in the Makefile by Cody, a typo in the CSILENCE
variable that prevented compilation.
A minor point is that the author noted that one should
@@ -3767,18 +3773,18 @@ the same) so that as long as it runs to completion the terminal will be sane and
the cursor will be visible. Using atexit(3) will not work if the program is
killed, signals are ugly and these would be messing with the entry too much so
these were not done.
Cody also added the alt version that lets one control how fast the painting is
-done, based on the author’s recommendations, except that Cody made it
-configurable at compile time. The Makefile was modified in such a way as to make
-it very easy to redefine it at compile time.
Cody also added the alternate version
+that lets one control how fast the painting is done, based on the author’s
+recommendations, except that Cody made it configurable at compile time. The
+Makefile was modified in such a way as to make it very easy to redefine it at
+compile time.
Cody also added the try.sh script for the entry and the try.alt.sh script for the alternate code.
Cody added the try.sh script which also has an -joke Easter egg in it based on the judges’ remarks.
+Cody fixed this to compile with modern systems. The problems were that
-localtime() is used differently and time.h being included (with
+localtime() is used differently and with time.h being included (with
SDL2 in macOS - but see below) there was a conflicting
function type. This appeared to be a problem with macOS and only when SDL2 was
included (but which as noted next it cannot be).
The other problem is that this entry uses SDL functions that were
removed from SDL2 so the Makefile has to use sdl-config and not sdl2-config.
This meant that at one point to be strictly technical, the removal of
-localtime() wasn’t necessary but this change was left in place anyway.
localtime() wasn’t necessary but this change was left in place anyway (but see
+below again).
Later on in an updated macOS (problem discovered in macOS Sonoma) the entry
failed to compile again also due to localtime() so he removed the prototype
entirely to solve the problem.
KB (-U
the source code defining KB to what the author suggested,
(kb=H(8),kbhit())&&(r[1190]=getch(),H(7)). It need hardly be mentioned that
this will not link in Unix systems (including macOS).
-Clang required a -Wno- option as well.
Finally Cody provided the bios.asm that the author
referred to, found at the GitHub repo for the
-entry, and the ‘ready-made
-40MB hard disk image containing a whole bunch of software’ in hd.img that the
+entry, and the ready-made 40MB hard disk image containing a whole bunch of software in hd.img that the
author linked to at https://bitly.com/1bU8URK.
Winning entry: 2013/dlowe
@@ -3849,16 +3854,13 @@ commands to try that he suggested to see how different lengths look.
Ruby and ImageMagick are
installed before trying to run the ruby script. To be more technically correct:
it checks that the convert tool of ImageMagick is available (via type -P)
-because convert is part of the ImageMagick suite.
-This is useful because the Ruby script tries to run (via IO.popen()) the
+because convert is part of the ImageMagick suite. The rule will report the
+tools not installed and where to find them, if they are not installed, and after
+checking these requirements it will exit if either is not found.
+The checks are useful because the Ruby script tries to run (via IO.popen()) the
convert tool but without ImageMagick being installed, if one is unaware of
where it comes from it will appear to be an error in the Ruby script (it might
-also appear to be an issue with the script even if you know of convert: it was
-another day that Cody remembered it and why it wasn’t installed on his MacBook
-Pro even though in the past it had been and is indeed now).
-The rule will report the tools not installed and where to find them, if they are
-not installed, and after checking these requirements it will exit if either is
-not found.
+also appear to be an issue with the script even if you know of convert).
The entry can still be enjoyed if you do not have these tools, however.
Winning entry: 2013/endoh3
@@ -3905,7 +3907,7 @@ does not).
rule in the Makefile was originally removed as part of the above but it was
restored so that one can see what the author is talking about.
Further, after the file 2013/hou/doc/example.markdown was moved to
-2013/hou/doc/example.html to match the rest of the repo
+2013/hou/doc/example.md to match the rest of the repo
this broke make which Cody also fixed.
Cody also added the try.sh script.
@@ -3914,8 +3916,8 @@ this broke make which Cody also fixed.
Cody fixed this so that the server would not refuse the connection
after the first call to close(2). The problem was that because the backlog to
-listen(2) was 1 once the connection closed the server was essentially ‘dead’.
-The backlog was changed to 10 and this solves the problem. It is not known if
+listen(2) was 1, once the connection closed the server was essentially ‘dead’.
+The backlog was changed to 10 and this solves the problem. It is not known if
this was specific to macOS but it was not specific to a browser as Safari and
Firefox both had the problem.
@@ -3942,7 +3944,7 @@ implicitly (Linux doesn’t seem to but macOS does).
Winning entry: 2014/birken
Winning entry source code: prog.c
-Cody provided the alternate
+Cody provided the alternate
code that lets one redefine the port to
bind to in case there is a firewall issue or there is some other reason to not
have the default port. Remember that ports < 1024 are privileged. It also lets
@@ -3954,7 +3956,7 @@ redefine the port and timing constant.
Winning entry source code: prog.c
Cody added alternate code that lets
-one (via the Makefile) reconfigure the coordinates but instead of being a
+one (via the Makefile) reconfigure the coordinates but instead of being a
modified version of the entry it is the version the author provided which would
be what the program would look like if, as the author put it:
@@ -3962,7 +3964,7 @@ be what the program would look like if, as the author put it:
application source code is intentionally kept to a bare minimum.
.. was not true.
-This alt version did not originally compile because a value was left off the
+
This alternate version did not originally compile because a value was left off the
return statement (this might have been fixed in the index.html file too) so
that was fixed and it also has #include <stdio.h> for putchar(3). The
#ifndef..#define..#endif was not part of the original alternate code, of course.
@@ -3998,8 +4000,8 @@ it is a file with spoilers (and too close to index.html?).
Winning entry: 2014/maffiodo1
Winning entry source code: prog.c
-Cody fixed the build for this entry: it does not require
-SDL2 but SDL1 so there were linking errors.
+Cody fixed the Makefile for this entry: it does not require
+SDL2 but SDL1 so there were linking errors.
Cody also added the mario.sh and
giana.sh scripts which play, respectively, Super
Mario Bros and one of The
@@ -4010,7 +4012,7 @@ which let one configure the width and height of the game.
Winning entry source code: prog.c
-He also added the alternate code
+
Cody also added the alternate code
provided by the author.
Winning entry: 2014/morgan
@@ -4023,11 +4025,11 @@ provided by the author.
Cody fixed the code so that the game can play automatically like it
once did. The problem is that it expects a certain file name which was
-sinon.c. The code now refers to prog.c.
+sinon.c. The code now refers to prog.c (it cannot as easily use __FILE__).
Cody also fixed the scripts glock.sh and
-hecate.sh which did not work after running either once
-as they compile run.c and then do ./run | tee run.c which overwrites it with
-output that is not code.
+hecate.sh which did not work after running
+either of them once as they compile run.c and then do ./run | tee run.c
+which overwrites it with output that is not code.
Cody also added the try.sh script that will first (if perl
is installed) run the demo mode and then after that it will run the above noted
scripts in a loop until the user says they do not want to try again (or they
@@ -4064,9 +4066,9 @@ that would break it we do not know.
Cody added the try.sh script which is based on
the command to try in the ‘try’ section but improved so one can more easily
-specify what ident tool they want to use and also change which sed to use,
+specify what indent tool they want to use and also change which sed(1) to use,
should they want to. It also checks that both of these two tools exist and are
-executable and it pipes it through less as it’s longer than a page worth of
+executable and it pipes it through less(1) as it’s longer than a page worth of
output.
2015 - The 24th IOCCC
@@ -4106,9 +4108,9 @@ add a ./ to the commands in the man page/index.html.
Cody improved the Makefile so that one can easily change the dimensions
at compilation time via make(1).
-Cody also added alternate code that is based on the author’s remarks, suggesting that
-one change the value of q to a different number, in order to see a bug that
-they avoided.
+Cody also added alternate code that is
+based on the author’s remarks, suggesting that one change the value of q to a
+different number, in order to see a bug that they avoided.
Winning entry: 2015/duble
Winning entry source code: prog.c
@@ -4126,11 +4128,11 @@ they avoided.
Cody fixed this to compile with Linux which was having a problem with duplicate
symbols of main(). The fix is through the compiler option -fcommon which
will let it compile like it does with macOS.
-Cody also added the try.sh script which makes use of the
-make rule he added (to enjoy the theme of the entry, Back to the
+Cody also added the try.sh script which makes
+use of the make rule he added (to enjoy the theme of the entry, Back to the
Future using this entry by
-simply typing make back_to or make mullender) and then runs the famous
-1984/mullender.c.
+simply typing make back_to, make future or make mullender) and then runs
+the famous 1984/mullender.c.
Winning entry: 2015/endoh4
Winning entry source code: prog.c
@@ -4161,11 +4163,7 @@ resulted in standard input errors in piping to bc(1)) and added the
Winning entry source code: prog.c
Cody added the try.sh script which changes the
-parameters to what we had in the judges’ remarks to make it easier (he only died
-when he tried to mark a reminder complete on the other side of the screen at the
-same time and he almost survived that, scoring at that point over 90 - but this
-also involves good eye-hand coordination and playing games like this in the
-past).
+parameters to what we had in the judges’ remarks to make it easier.
Winning entry: 2015/mills2
Winning entry source code: prog.c
@@ -4222,7 +4220,7 @@ Why was arg count and/or type changed in main() in some older
entries? for more details.
Cody also added explicit linking of libm (-lm) for systems that do not do this
(Linux doesn’t seem to but macOS does).
-Cody also added alternate code that should
+
Cody also added alternate code that should
work for Windows, based on the author’s remarks. The same thing with the number
of args to main() that was done in the original entry was done with this
version as well.
@@ -4240,7 +4238,7 @@ GitHub as far as downloading/displaying goes.
Winning entry source code: prog.c
Cody fixed the make test rule: it tried to run tac(1) (in systems
-that have that command) rather than the entry itself which is called tac and
+that have that command) rather than the entry itself which is called tac. Also
the runtest script (which he renamed to runtest.sh for download/browser
display purposes) was not executable.
Cody also renamed manpage to manpage.sh for download/browser purposes and he
@@ -4251,7 +4249,7 @@ did the same with tokenfix to tokenfix.sh as well as <
file tac.1.
Cody also renamed discrepancies to discrepancies.html and made it markdown
format.
-Cody added the tokcount.sh script which was
+
Cody also added the tokcount.sh script which was
included in the remarks of the author but not an included file.
Finally Cody added the try.sh script.
@@ -4271,7 +4269,7 @@ 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,
+remarks. The input files offered includes the prog.c as the author,
Yusuke, suggested that it too has a secret.
Winning entry: 2018/endoh2
@@ -4285,28 +4283,16 @@ three of the other scripts but each allows one to send an interrupt in the loops
and still continue to the next script (if one does it when not in a loop it will
exit the script). The make python and make python3 rules in the Makefile now
run the respective scripts.
-
-Winning entry: 2018/ferguson
-Winning entry source code: prog.c
-
-Cody, with irony well intended :-), fixed the test.sh
-script for portability, shellcheck, making it executable
-and other things, fixed dead links in the man page, updated the test-strings.txt
-file and other things as well (like adding the try.sh
-and try.alt.sh scripts).
-Landon notes that Cody will probably never finish changes in his entries and
-that’s probably true: let’s just say that for the IOCCC I’m (Cody) a weasel! :-)
-(but isn’t that kind of the point ? :-) )
Cody added explicit linking of libm (-lm) for systems that do not do this
(Linux doesn’t seem to but macOS does).
Cody also added the try.sh script.
Cody, based on the author’s remarks, made it possible to save state
between runs of the program so that one can resume where they left off. It
@@ -4314,11 +4300,11 @@ should be noted that there is a bug in the entry (irrespective of save state
option) where running ./prog twice in a row involves having to hit (the second
run) enter and then exit and then start the program again. Also if you do add a
file you should run sync prior to exiting or else the file might not exist or
-it might be corrupt. See 2018/mills in bugs.html for more
+it might be corrupt. See 2018/mills in bugs.html for more
details on the bug.
Cody added the missing docs rule to the Makefile that forms a PDF
file. The rule requires the tool pdflatex.
@@ -4329,12 +4315,12 @@ We added some additional notes on what might happen (it varies depending on
configuration).
Cody added the try.sh script. This script will ask
if the user wants to see some of the spoilers and only show them if they type
@@ -4344,14 +4330,14 @@ if the user wants to see some of the spoilers and only show them if they type
Cody added the try.sh script and the Unlambda
file crash.unl which is in the judges’ remarks as
to what can crash it - but it’s not a bug, it’s a feature.
Cody fixed the Makefile which had a bad character, a ‘%’ instead of a ‘$’ which
caused a rule to fail.
@@ -4361,7 +4347,7 @@ running make test.
Cody also fixed the script check.sh (renamed from
check) in case x is specified and is not executable and also made it satisfy
ShellCheck. He also made ShellCheck not be a cow and/or (to use Bart Simpson’s
-advice :-) ) ‘not have a cow’ about certain things (including one thing it was
+advice :-) ) 'not have a cow about certain things (including one thing it was
wrong about) in cow.sh (which was renamed from cow)
mootoo.
Cody also renamed the file on.one.liners to
@@ -4369,12 +4355,12 @@ wrong about) in
Winning entry: 2019/ciura
-Winning entry source code: prog.c
+Winning entry source code: prog.c
Cody fixed an invalid bytes error in tr in the scripts. This does not
-mean that they will produce any output, though, as they provide expect all
+mean that they will produce any output, though, as they expect all
letters and that makes it harder to form perfect pangrams. On the subject of
-German umlauts and Eszett (ß) see the entry in bugs.html.
+German umlauts and Eszett (ß) see the 2019/ciura in bugs.html.
Cody also fixed the Makefile so that the alternate code would be built when running
make alt.
Cody converted the PS file linked to by the author to a PDF,
@@ -4383,21 +4369,21 @@ website.
Cody also added the try.sh and
try.alt.sh scripts.
Finally he added the scripts for the different languages that use the alternate
-version but with the caveat that only English appears to work. See the entry in
+version but with the caveat that only English appears to work. Again, see 2019/ciura in
bugs.html for more details.
Winning entry: 2019/diels-grabsch1
-Winning entry source code: prog.c
+Winning entry source code: prog.c
Cody also added the file Shakespeare.txt
from 2019/mills (after running make) so that one can
not worry about having the entire IOCCC winning entry tree (or at least the 2019 tree each
-entry in a subdirectory). This is more important as there is discussion of
-having tarballs for each individual entry as a convenience.
+entry in a subdirectory). This was important as we now have tarballs for each
+entry by themselves.
Winning entry: 2019/diels-grabsch2
-Winning entry source code: prog.c
+Winning entry source code: prog.c
Cody added the try.sh script. This
script will try and show the difference (i.e. the same output) between the
@@ -4406,26 +4392,26 @@ tools can be found but otherwise it’ll just run the program itself, showing it
own sha512sum value.
Cody added explicit linking of libm (-lm) for systems that do not do this
(Linux does not seem to but macOS does).
He also fixed the Makefile so that it compiles with clang in Linux.
He also added the try.sh script.
He also made it possible to easily redefine the memory macro Z at compilation
-time by modifying the Makefile.
+time by improving the Makefile.
He fixed a link in the spoiler source code. As a spoiler it felt more important
that this was done (some typos were fixed as well but only some - the purpose
was to only correct spelling and only some, not to change wording or anything
else).
Cody made the make fullscreen more portable by not relying on
stty(1) and sed(1) but rather it just uses tput(1). He also made it so
that if tput(1) is not found it tells the user an easier way to compile the full
-screen size rather than having to modify the Makefile. This done with a script,
+screen size rather than having to modify the Makefile. This is done with a script,
fullscreen.sh, to simplify the Makefile and provide
an easy way to tell the user how to compile it, assuming that the environmental
variables LINES and COLUMNS are set. But even if they’re not set it explains
@@ -4433,12 +4419,12 @@ how to easily compile the program to a specific size. Note that LINESCOLUMNS is not available to scripts so it can’t make use of them that way.
As this is a backtrace quine having the optimiser enabled is not a good idea so
Cody disabled it. For this same reason he also added the -g flag to the
compilation as debugging symbols might just be useful for an entry that’s
-supposed to segfault :-)
+supposed to segfault (and which you’re supposed to inspect the core file) :-)
Cody also added the simple ascii.c that (while it has an
arg) prints out the character of the ASCII value (uses isascii(3) first). This
combined with the try.sh script that he added allows one
@@ -4446,23 +4432,22 @@ to easily reconstruct the source code through GDB by the fact it’s a backtrace
quine.
-Cody reported that with -O level > 0 this program segfaults (sometimes?). He’s
-not sure why as it worked fine before on the same systems tested but -O0
-appears to fix the problem in both macOS and Linux. Perhaps this is the problem
+
Cody forced the Makefile to use -O0 as he discovered that an
+optimiser level > 0 causes a segfault (sometimes?). (Perhaps this is the problem
that the author reported where it sometimes segfaults but Cody did not try
-debugging it since it works with -O0.
+debugging it since it works with -O0.)
He also added the script try.sh to showcase the entry a
bit more easily.
Cody also added the example-1.txt and
@@ -4471,17 +4456,18 @@ bit more easily.
entry existing.
Cody added the missing docs rule to the Makefile that forms a PDF
file. The rule requires the tool
pdflatex.
-Cody also added the alternate code.
+Cody also added the alternate code which
+adds a newline after each number for parsing in additional ways.
Cody also added the try.sh and
try.alt.sh scripts.
Cody also disabled the optimiser because the author stated that for clang the
@@ -4492,7 +4478,7 @@ tested: gnu17 was not tested but gnu11 was so the stan
gnu11.
Cody added the try.sh script which also involved
slightly updating the sample_input.txt file
@@ -4503,7 +4489,7 @@ shouldn’t) and adding the ioccc.txt file.
Cody fixed the script check_be.sh: it
assumed that prog_be was in PATH which is unlikely so it was changed to
@@ -4514,7 +4500,7 @@ showing nothing at all.
Cody also added the try.sh script.
Cody added the try.sh script which although at
first glance might not appear to have a point, it actually does, namely showing
@@ -4522,15 +4508,15 @@ how you can automate play and then reminding you to actually play for real, with
a friend, whether that’s real or imagined.
-Cody copied the files from the spoiler.zip file (from his copy during
+
Cody copied the files from the spoiler.zip file (from his copy during
the preview period) that was password protected with a password that was no
-longer known.
+longer known (but fortunately was already extracted).
He also added the try.sh script.
Cody fixed the script run_clock.sh which gave a
funny error when running it:
@@ -4548,50 +4534,21 @@ first.
point?) like macOS the use of make clock would not work due possibly to a
timing issue so Yusuke changed it to compile clock.c
file directly (this might have been fixed in the
-Makefile later on but it doesn’t hurt to keep it in and this way it isn’t a
-problem in any system). How Cody remembers this minor detail more than three
-years ago is something that many people might wonder but he also once told us
-that if someone moves something of his even a millimetre from where it was he
-knows it so he might be called unusual (and he argues, with pride, eccentric :-)
-) :-)
+Makefile later on but it doesn’t hurt to keep it in and this way it isn’t a
+problem in any system).
Cody also added the run_clock.alt.sh script
which is analogous to the run_clock.sh but for the
alternate code provided by the author, Yusuke.
-Cody, with intentional irony here :-), fixed formatting, links and typos in
-various files.
-He improved the termcaps.c test utility, bug fixed
-play.sh, fixed other scripts and the Makefile, changed
-some files to be markdown (and fixed problems that he caused in doing so :-) ),
-fixed typos and formatting and he also fixed some issues that occurred when
-files were renamed to .html from .markdown.
-Most importantly he also added some corrections to the vital Double
-layered chocolate fudge cake recipe :-)
-
-Winning entry: 2020/ferguson2
-Winning entry source code: prog.c
-
-Cody, with intentional irony here :-), fixed formatting, links and typos in
-various files.
-He also added the try.sh script.
-He also added the alternate code and the
-try.alt.sh script.
-The try scripts involved the addition of a text file,
-key.txt which has the key of the file the judges
-added in try.this.txt which itself was based on
-something the author (Cody :-) ) submitted in the first place.
-He also fixed some issues that occurred when files were renamed to .html from
-.markdown.
-Yes the irony here is as rich as the chocolate cake: the question is do you know
-how rich it is? If not and you like chocolate I (that is Cody :-) ) highly
-recommend you give it a go! :-) You’re welcome to ask me questions if you wish
-and I encourage you to do so as the cake is quite picky!
+Just for awareness, here: Cody made some corrections to the vital Double
+layered chocolate fudge cake recipe :-)
+Other fixes were made but as it’s his entry it’s not worth noting.
Cody added the try.sh script. This script does
the conversion of pi.wav (showing the digits) and also converts the number for
@@ -4604,12 +4561,12 @@ and tells them they will have to play the WAV files manually. Otherwise it’ll
use the program to play the WAV files (and in one case stdout).
Winning entry: 2020/kurdyukov1
-Winning entry source code: prog.c
+Winning entry source code: prog.c
Winning entry: 2020/kurdyukov2
-Winning entry source code: prog.c
+Winning entry source code: prog.c
Cody also added -L/-I paths to the Makefile to let this compile more easily if
@@ -4617,13 +4574,13 @@ the user has installed the appropriate library with
MacPorts (with the default MacPorts prefix
/opt/local).
Cody also fixed the script makegif.sh in a variety
-of ways: shellcheck(1), make sure the program is compiled first (allowing one to
+of ways: shellcheck(1), make sure the program is compiled first (allowing one to
specify which compiler to use with CC=foo ./makegif.sh ...), checking that
convert(1) is found and that it worked properly (linking to the proper FAQ
entry if not installed or it fails).
Winning entry: 2020/kurdyukov3
-Winning entry source code: prog.c
+Winning entry source code: prog.c
He also added a link that has much more details about this phenomenon to the
@@ -4631,7 +4588,7 @@ index.html. Naturally he’s one of the ones who can read text even if it’s ev
more jumbled but we know of others too.
Winning entry: 2020/kurdyukov4
-Winning entry source code: prog.c
+Winning entry source code: prog.c
Cody also added from 2019/mills the text file
@@ -4648,7 +4605,7 @@ and literary executor and heir to
Winning entry: 2020/otterness
-Winning entry source code: prog.c
+Winning entry source code: prog.c
Cody added the MIDI files cvikl.mid and
entertainer.mid from the URLs we suggested so
@@ -4657,14 +4614,14 @@ even if the domain or link goes dead.
Cody also added the try.sh script.
Cody added alternate code that will feel
more at home for vi users. One might still end up cursing (see the index.html
file) but probably a lot less :-)
Cody also added a make rule (make cppp) for the author’s provided C++ code
@@ -4704,17 +4661,17 @@ in fact different names especially if one installs them from something like
(though that usually does not mean it is worth a thank you note it might be
worth noting in this case). Other times it was enabling or disabling the
optimiser to fix an entry, sometimes causing other problems that also had to be
-fixed, a good example being 1986/marshall (see the
+fixed, a good example being 1986/marshall (see the
compilers.html for the amusing details and all that
had to be done to fix it).
There was a ‘problem’ where ${MAKE} was $(MAKE): this doesn’t break anything
but it is inconsistent with the rest of the ${foo} tools even if by tradition
it is $(MAKE).
Cody also added missing variables like BASH and PDFLATEX to the
-var.mk file and removed another that was deemed problematic or
+var.mk file and removed another that was deemed problematic or
undesired. Other variable names had typos in them.
In at least one case, like the top level Makefile, where raw
-commands that are in var.mk were used, Cody updated them to use the
+commands that are in var.mk were used, Cody updated them to use the
variables.
A comment was missing for the diff_alt_orig rule in all the Makefiles and
this, along with many other fixes and changes to the Makefiles were made by
diff --git a/thanks-for-help.md b/thanks-for-help.md
index 25e5dce10..412fc70a3 100644
--- a/thanks-for-help.md
+++ b/thanks-for-help.md
@@ -2216,7 +2216,7 @@ its own function which main() calls with the right parameters.
Later Cody fixed it again to look much more like the original where only a
single line is added, that of `main()`, which calls `O5()`. This was done through
-`-include stdio.h` at the compiler (in the Makefile) and by removing the `O3`
+`-include stdio.h` at the compiler (in the `Makefile`) and by removing the `O3`
variable (an int) at the top of the file, instead making it a `char ** in
`main()` (`O5()` had three args) but then passing in `0` to `O5()` for the third
arg (as it was 0 at file scope already this is perfectly fine and it means
@@ -3578,10 +3578,12 @@ Cody also added the [try.sh](%%REPO_URL%%/2001/schweikh/try.sh) script.
### Winning entry source code: [westley.c](%%REPO_URL%%/2001/westley//westley.c)
-[Cody](#cody) added the script [try.sh](%%REPO_URL%%/2001/westley/try.sh) to automate a heap of commands
-that we, the IOCCC judges, suggested, as well as some additional ones that he
-thought would be fun. He also provided the sort and punch card versions,
-described in the index.html, based on the author's remarks.
+[Cody](#cody) added the script [try.sh](%%REPO_URL%%/2001/westley/try.sh) to
+automate a heap of commands that we, the IOCCC judges, suggested, as well as
+some additional ones that he thought would be fun. He also provided the sort
+and punch card versions, described in the index.html, based on the author's
+remarks, through `Makefile` rules that generate the files by default with `make
+all`.
@@ -4744,13 +4746,18 @@ version](%%REPO_URL%%/2012/vik/vik.alt.c) that does this.
### Winning entry source code: [zeitak.c](%%REPO_URL%%/2012/zeitak//zeitak.c)
-[Cody](#cody) added the [test.sh](%%REPO_URL%%/2012/zeitak/test.sh) script and the `make test` rule
-that uses the script along with a number of files that will correctly be flagged
-as incorrect (including a text file and a java file, with a joke, to show that
-it's not that it parses C but rather just matching pairs though that's probably
-obvious) and some correctly nested files were also added including
-[1984/anonymous](1984/anonymous/index.html) (as the author explicitly mentioned
-it) and a java file as well with another joke.
+[Cody](#cody) added the [try.sh](%%REPO_URL%%/2012/zeitak/try.sh) script and the
+`make test` rule that uses the script along with a number of files that will
+correctly be flagged as incorrect (including a text file and a Java file, with a
+joke, to show that it's not that it parses C but rather just matching pairs
+though that's probably obvious) and some correctly nested files were also added
+including [1984/anonymous](%%REPO_URL%%/1984/anonymous/index.html) (as the
+author explicitly mentioned it), both the [original
+version](%%REPO_URL%%/2012/zeitak/anonymous.alt.c) (.alt.c) and the
+[modified version](%%REPO_URL%%/2012/zeitak/anonymous.c) that works with macOS
+as well, and a Java file as well with another joke. Those C files had to be
+added because each entry has its own tarball and without the files it would
+break the script.
A problem was later fixed in the `Makefile` by Cody, a typo in the `CSILENCE`
variable that prevented compilation.
@@ -4778,10 +4785,11 @@ the cursor will be visible. Using `atexit(3)` will not work if the program is
killed, signals are ugly and these would be messing with the entry too much so
these were not done.
-Cody also added the alt version that lets one control how fast the painting is
-done, based on the author's recommendations, except that Cody made it
-configurable at compile time. The `Makefile` was modified in such a way as to make
-it very easy to redefine it at compile time.
+Cody also added the [alternate version](%%REPO_URL%%/2013/birken/birken.alt.c)
+that lets one control how fast the painting is done, based on the author's
+recommendations, except that Cody made it configurable at compile time. The
+`Makefile` was modified in such a way as to make it very easy to redefine it at
+compile time.
Cody also added the [try.sh](%%REPO_URL%%/2013/birken/try.sh) script for the entry and the
[try.alt.sh](%%REPO_URL%%/2013/birken/try.alt.sh) script for the alternate code.
@@ -4792,8 +4800,7 @@ Cody also added the [try.sh](%%REPO_URL%%/2013/birken/try.sh) script for the ent
### Winning entry source code: [cable1.c](%%REPO_URL%%/2013/cable1//cable1.c)
-[Cody](#cody) added the [try.sh](%%REPO_URL%%/2013/cable1/try.sh) script which also has an
-joke Easter egg in it based on the judges' remarks.
+[Cody](#cody) added the [try.sh](%%REPO_URL%%/2013/cable1/try.sh) script.
@@ -4810,7 +4817,7 @@ joke Easter egg in it based on the judges' remarks.
[Cody](#cody) fixed this to compile with modern systems. The problems were that
-`localtime()` is used differently and `time.h` being included (with
+`localtime()` is used differently and with `time.h` being included (with
[SDL2](https://www.libsdl.org) in macOS - but see below) there was a conflicting
function type. This appeared to be a problem with macOS and only when SDL2 was
included (but which as noted next it cannot be).
@@ -4818,7 +4825,8 @@ included (but which as noted next it cannot be).
The other problem is that this entry uses SDL functions that were
removed from SDL2 so the `Makefile` has to use `sdl-config` and not `sdl2-config`.
This meant that at one point to be strictly technical, the removal of
-`localtime()` wasn't necessary but this change was left in place anyway.
+`localtime()` wasn't necessary but this change was left in place anyway (but see
+below again).
Later on in an updated macOS (problem discovered in macOS Sonoma) the entry
failed to compile again also due to `localtime()` so he removed the prototype
@@ -4837,12 +4845,11 @@ the source code defining `KB` to what the author suggested,
`(kb=H(8),kbhit())&&(r[1190]=getch(),H(7))`. It need hardly be mentioned that
this will not link in Unix systems (including macOS).
-`Clang` required a `-Wno-` option as well.
Finally Cody provided the [bios.asm](%%REPO_URL%%/2013/cable3/bios.asm) that the author
referred to, found at the [GitHub repo for the
-entry](https://github.com/adriancable/8086tiny/tree/master), and the 'ready-made
-40MB hard disk image containing a whole bunch of software' in `hd.img` that the
+entry](https://github.com/adriancable/8086tiny/tree/master), and the `ready-made
+40MB hard disk image containing a whole bunch of software` in `hd.img` that the
author linked to at `https://bitly.com/1bU8URK`.
@@ -4891,18 +4898,14 @@ commands to try that he suggested to see how different lengths look.
[Ruby](https://www.ruby-lang.org) and [ImageMagick](https://imagemagick.org) are
installed before trying to run the ruby script. To be more technically correct:
it checks that the `convert` tool of ImageMagick is available (via `type -P`)
-because `convert` is part of the ImageMagick suite.
+because `convert` is part of the ImageMagick suite. The rule will report the
+tools not installed and where to find them, if they are not installed, and after
+checking these requirements it will exit if either is not found.
-This is useful because the Ruby script tries to run (via `IO.popen()`) the
+The checks are useful because the Ruby script tries to run (via `IO.popen()`) the
`convert` tool but without ImageMagick being installed, if one is unaware of
where it comes from it will appear to be an error in the Ruby script (it might
-also appear to be an issue with the script even if you know of `convert`: it was
-another day that Cody remembered it and why it wasn't installed on his MacBook
-Pro even though in the past it had been and is indeed now).
-
-The rule will report the tools not installed and where to find them, if they are
-not installed, and after checking these requirements it will exit if either is
-not found.
+also appear to be an issue with the script even if you know of `convert`).
The entry can still be enjoyed if you do not have these tools, however.
@@ -4975,7 +4978,7 @@ rule in the `Makefile` was originally removed as part of the above but it was
restored so that one can see what the author is talking about.
Further, after the file `2013/hou/doc/example.markdown` was moved to
-[2013/hou/doc/example.html](2013/hou/doc/example.html) to match the rest of the repo
+[2013/hou/doc/example.md](%%REPO_URL%%/2013/hou/doc/example.md) to match the rest of the repo
this broke `make` which Cody also fixed.
Cody also added the [try.sh](%%REPO_URL%%/2013/hou/try.sh) script.
@@ -4988,8 +4991,8 @@ Cody also added the [try.sh](%%REPO_URL%%/2013/hou/try.sh) script.
[Cody](#cody) fixed this so that the server would not refuse the connection
after the first call to `close(2)`. The problem was that because the backlog to
-`listen(2)` was 1 once the connection closed the server was essentially 'dead'.
-The backlog was changed to 10 and this solves the problem. It is not known if
+`listen(2)` was `1`, once the connection closed the server was essentially 'dead'.
+The backlog was changed to `10` and this solves the problem. It is not known if
this was specific to macOS but it was not specific to a browser as Safari and
Firefox both had the problem.
@@ -5032,7 +5035,7 @@ Cody also added the [try.sh](%%REPO_URL%%/2013/morgan1/try.sh) script.
[Cody](#cody) provided the [alternate
-code](2014/birken/index.html#alternate-code) that lets one redefine the port to
+code](%%REPO_URL%%/2014/birken/prog.alt.c) that lets one redefine the port to
bind to in case there is a firewall issue or there is some other reason to not
have the default port. Remember that ports < 1024 are privileged. It also lets
you redefine the timing constant `STARDATE` (see the author's remarks for more
@@ -5046,7 +5049,7 @@ redefine the port and timing constant.
[Cody](#cody) added [alternate code](2014/deak/index.html#alternate-code) that lets
-one (via the Makefile) reconfigure the coordinates but instead of being a
+one (via the `Makefile`) reconfigure the coordinates but instead of being a
modified version of the entry it is the version the author provided which would
be what the program would look like if, as the author put it:
@@ -5055,7 +5058,7 @@ application source code is intentionally kept to a bare minimum.
.. was not true.
-This alt version did not originally compile because a value was left off the
+This alternate version did not originally compile because a value was left off the
`return` statement (this might have been fixed in the index.html file too) so
that was fixed and it also has `#include ` for `putchar(3)`. The
`#ifndef..#define..#endif` was not part of the original alternate code, of course.
@@ -5105,8 +5108,8 @@ it is a file with spoilers (and too close to index.html?).
### Winning entry source code: [prog.c](%%REPO_URL%%/2014/maffiodo1//prog.c)
-[Cody](#cody) fixed the build for this entry: it does not require
-[SDL2](https://www.libsdl.org) but SDL1 so there were linking errors.
+[Cody](#cody) fixed the `Makefile` for this entry: it does not require
+`SDL2` but `SDL1` so there were linking errors.
Cody also added the [mario.sh](%%REPO_URL%%/2014/maffiodo1/mario.sh) and
[giana.sh](%%REPO_URL%%/2014/maffiodo1/giana.sh) scripts which play, respectively, [Super
@@ -5122,7 +5125,7 @@ which let one configure the width and height of the game.
[Cody](#cody) added the [try.sh](%%REPO_URL%%/2014/maffiodo2/try.sh) script.
-He also added the [alternate code](2014/maffiodo2/index.html#alternate-code)
+Cody also added the [alternate code](%%REPO_URL%%/2014/maffiodo2/prog.alt.c)
provided by the author.
@@ -5141,12 +5144,12 @@ provided by the author.
[Cody](#cody) fixed the code so that the game can play automatically like it
once did. The problem is that it expects a certain file name which was
-`sinon.c`. The code now refers to `prog.c`.
+`sinon.c`. The code now refers to `prog.c` (it cannot as easily use `__FILE__`).
Cody also fixed the scripts [glock.sh](%%REPO_URL%%/2014/sinon/glock.sh) and
-[hecate.sh](%%REPO_URL%%/2014/sinon/hecate.sh) which did not work after running either once
-as they compile `run.c` and then do `./run | tee run.c` which overwrites it with
-output that is not code.
+[hecate.sh](%%REPO_URL%%/2014/sinon/hecate.sh) which did not work after running
+either of them once as they compile `run.c` and then do `./run | tee run.c`
+which overwrites it with output that is not code.
Cody also added the [try.sh](%%REPO_URL%%/2014/sinon/try.sh) script that will first (if perl
is installed) run the demo mode and then after that it will run the above noted
@@ -5197,9 +5200,9 @@ that would break it we do not know.
[Cody](#cody) added the [try.sh](%%REPO_URL%%/2014/wiedijk/try.sh) script which is based on
the command to try in the 'try' section but improved so one can more easily
-specify what ident tool they want to use and also change which sed to use,
+specify what `indent` tool they want to use and also change which `sed(1)` to use,
should they want to. It also checks that both of these two tools exist and are
-executable and it pipes it through less as it's longer than a page worth of
+executable and it pipes it through `less(1)` as it's longer than a page worth of
output.
@@ -5260,9 +5263,9 @@ add a `./` to the commands in the man page/index.html.
[Cody](#cody) improved the `Makefile` so that one can easily change the dimensions
at compilation time via `make(1)`.
-Cody also added alternate code that is based on the author's remarks, suggesting that
-one change the value of `q` to a different number, in order to see a bug that
-they avoided.
+Cody also added [alternate code](%%REPO_URL%%/2015/dogon/prog.alt.c) that is
+based on the author's remarks, suggesting that one change the value of `q` to a
+different number, in order to see a bug that they avoided.
@@ -5290,11 +5293,11 @@ they avoided.
symbols of `main()`. The fix is through the compiler option `-fcommon` which
will let it compile like it does with macOS.
-Cody also added the [try.sh](%%REPO_URL%%/2015/endoh3/try.sh) script which makes use of the
-make rule he added (to enjoy the theme of the entry, [Back to the
+Cody also added the [try.sh](%%REPO_URL%%/2015/endoh3/try.sh) script which makes
+use of the make rule he added (to enjoy the theme of the entry, [Back to the
Future](https://en.wikipedia.org/wiki/Back_to_the_Future) using this entry by
-simply typing `make back_to` or `make mullender`) and then runs the famous
-[1984/mullender.c](%%REPO_URL%%/1984/mullender/mullender.c).
+simply typing `make back_to`, `make future` or `make mullender`) and then runs
+the famous [1984/mullender.c](%%REPO_URL%%/1984/mullender/mullender.c).
@@ -5339,11 +5342,7 @@ resulted in standard input errors in piping to `bc(1)`) and added the
[Cody](#cody) added the [try.sh](%%REPO_URL%%/2015/mills1/try.sh) script which changes the
-parameters to what we had in the judges' remarks to make it easier (he only died
-when he tried to mark a reminder complete on the other side of the screen at the
-same time and he almost survived that, scoring at that point over 90 - but this
-also involves good eye-hand coordination and playing games like this in the
-past).
+parameters to what we had in the judges' remarks to make it easier.
@@ -5431,7 +5430,7 @@ entries?](faq.html#faq4_6) for more details.
Cody also added explicit linking of libm (`-lm`) for systems that do not do this
(Linux doesn't seem to but macOS does).
-Cody also added [alternate code](2018/bellard/index.html#alternate-code) that should
+Cody also added [alternate code](%%REPO_URL%%/2018/bellard/prog.alt.c) that should
work for Windows, based on the author's remarks. The same thing with the number
of args to `main()` that was done in the original entry was done with this
version as well.
@@ -5456,7 +5455,7 @@ Cody also added the [try.sh](%%REPO_URL%%/2018/burton1/try.sh) script which also
[Cody](#cody) fixed the `make test` rule: it tried to run `tac(1)` (in systems
-that have that command) rather than the entry itself which is called `tac` and
+that have that command) rather than the entry itself which is called `tac`. Also
the `runtest` script (which he renamed to `runtest.sh` for download/browser
display purposes) was not executable.
@@ -5471,7 +5470,7 @@ file `tac.1`.
Cody also renamed `discrepancies` to `discrepancies.html` and made it markdown
format.
-Cody added the [tokcount.sh](%%REPO_URL%%/2018/burton2/tokcount.sh) script which was
+Cody also added the [tokcount.sh](%%REPO_URL%%/2018/burton2/tokcount.sh) script which was
included in the remarks of the author but not an included file.
Finally Cody added the [try.sh](%%REPO_URL%%/2018/burton2/try.sh) script.
@@ -5498,7 +5497,7 @@ 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,
+remarks. The input files offered includes the `prog.c` as the author,
[Yusuke](#yusuke), suggested that it too has a secret.
@@ -5517,22 +5516,6 @@ exit the script). The `make python` and `make python3` rules in the `Makefile` n
run the respective scripts.
-
-## Winning entry: [2018/ferguson](2018/ferguson/index.html)
-### Winning entry source code: [prog.c](%%REPO_URL%%/2018/ferguson//prog.c)
-
-
-[Cody](#cody), with irony well intended :-), fixed the [test.sh
-script](%%REPO_URL%%/2018/ferguson/test.sh) for portability, shellcheck, making it executable
-and other things, fixed dead links in the man page, updated the test-strings.txt
-file and other things as well (like adding the [try.sh](%%REPO_URL%%/2018/ferguson/try.sh)
-and [try.alt.sh](%%REPO_URL%%/2018/ferguson/try.alt.sh) scripts).
-
-Landon notes that Cody will probably never finish changes in his entries and
-that's probably true: let's just say that for the IOCCC I'm (Cody) a weasel! :-)
-(but isn't that kind of the point ? :-) )
-
-
## Winning entry: [2018/hou](2018/hou/index.html)
### Winning entry source code: [prog.c](%%REPO_URL%%/2018/hou//prog.c)
@@ -5555,7 +5538,7 @@ should be noted that there is a bug in the entry (irrespective of save state
option) where running `./prog` twice in a row involves having to hit (the second
run) enter and then exit and then start the program again. Also if you do add a
file you should run `sync` prior to exiting or else the file might not exist or
-it might be corrupt. See [2018/mills in bugs.html](bugs.html#2018-mills) for more
+it might be corrupt. See [2018/mills in bugs.html](bugs.html#2018_mills) for more
details on the bug.
@@ -5624,7 +5607,7 @@ running `make test`.
Cody also fixed the script [check.sh](%%REPO_URL%%/2019/burton/check.sh) (renamed from
`check`) in case `x` is specified and is not executable and also made it satisfy
ShellCheck. He also made ShellCheck not be a cow and/or (to use Bart Simpson's
-advice :-) ) 'not have a cow' about certain things (including one thing it was
+advice :-) ) `'not have a cow` about certain things (including one thing it was
wrong about) in [cow.sh](%%REPO_URL%%/2019/burton/cow.sh) (which was renamed from `cow`)
mootoo.
@@ -5639,9 +5622,9 @@ browsers/GitHub.
[Cody](#cody) fixed an invalid bytes error in `tr` in the scripts. This does not
-mean that they will produce any output, though, as they provide expect all
+mean that they will produce any output, though, as they expect all
letters and that makes it harder to form perfect pangrams. On the subject of
-German umlauts and Eszett (ß) see the [entry in bugs.html](bugs.html#2019-ciura).
+German umlauts and Eszett (ß) see the [2019/ciura in bugs.html](bugs.html#2019_ciura).
Cody also fixed the `Makefile` so that the alternate code would be built when running
`make alt`.
@@ -5654,8 +5637,8 @@ Cody also added the [try.sh](%%REPO_URL%%/2019/ciura/try.sh) and
[try.alt.sh](%%REPO_URL%%/2019/ciura/try.alt.sh) scripts.
Finally he added the scripts for the different languages that use the alternate
-version but with the caveat that only English appears to work. See the [entry in
-bugs.html](bugs.html#2019-ciura) for more details.
+version but with the caveat that only English appears to work. Again, see [2019/ciura in
+bugs.html](bugs.html#2019_ciura) for more details.
@@ -5669,8 +5652,8 @@ bugs.html](bugs.html#2019-ciura) for more details.
Cody also added the file [Shakespeare.txt](2019/diels-grabsch1/Shakespeare.txt)
from [2019/mills](2019/mills/index.html) (after running `make`) so that one can
not worry about having the entire IOCCC winning entry tree (or at least the 2019 tree each
-entry in a subdirectory). This is more important as there is discussion of
-having tarballs for each individual entry as a convenience.
+entry in a subdirectory). This was important as we now have tarballs for each
+entry by themselves.
@@ -5698,7 +5681,7 @@ He also fixed the `Makefile` so that it compiles with `clang` in Linux.
He also added the [try.sh](%%REPO_URL%%/2019/dogon/try.sh) script.
He also made it possible to easily redefine the memory macro `Z` at compilation
-time by modifying the Makefile.
+time by improving the `Makefile`.
He fixed a link in the spoiler source code. As a spoiler it felt more important
that this was done (some typos were fixed as well but only some - the purpose
@@ -5714,7 +5697,7 @@ else).
[Cody](#cody) made the `make fullscreen` more portable by not relying on
`stty(1)` and `sed(1)` but rather it just uses `tput(1)`. He also made it so
that if `tput(1)` is not found it tells the user an easier way to compile the full
-screen size rather than having to modify the Makefile. This done with a script,
+screen size rather than having to modify the `Makefile`. This is done with a script,
[fullscreen.sh](%%REPO_URL%%/2019/duble/fullscreen.sh), to simplify the `Makefile` and provide
an easy way to tell the user how to compile it, assuming that the environmental
variables `LINES` and `COLUMNS` are set. But even if they're not set it explains
@@ -5730,7 +5713,7 @@ how to easily compile the program to a specific size. Note that `LINES` and
As this is a backtrace quine having the optimiser enabled is not a good idea so
[Cody](#cody) disabled it. For this same reason he also added the `-g` flag to the
compilation as debugging symbols might just be useful for an entry that's
-supposed to segfault :-)
+supposed to segfault (and which you're supposed to inspect the core file) :-)
Cody also added the simple [ascii.c](%%REPO_URL%%/2019/endoh/ascii.c) that (while it has an
arg) prints out the character of the ASCII value (uses `isascii(3)` first). This
@@ -5752,11 +5735,10 @@ quine.
### Winning entry source code: [prog.c](%%REPO_URL%%/2019/karns//prog.c)
-[Cody](#cody) reported that with `-O` level > 0 this program segfaults (sometimes?). He's
-not sure why as it worked fine before on the same systems tested but `-O0`
-appears to fix the problem in both macOS and Linux. Perhaps this is the problem
+[Cody](#cody) forced the `Makefile` to use `-O0` as he discovered that an
+optimiser level > 0 causes a segfault (sometimes?). (Perhaps this is the problem
that the author reported where it sometimes segfaults but Cody did not try
-debugging it since it works with `-O0`.
+debugging it since it works with `-O0`.)
He also added the script [try.sh](%%REPO_URL%%/2019/karns/try.sh) to showcase the entry a
bit more easily.
@@ -5792,7 +5774,8 @@ entry existing.
file. The rule requires the tool
[pdflatex](https://tug.org/applications/pdftex/index.html).
-Cody also added the [alternate code](2019/poikola/index.html#alternate-code).
+Cody also added the [alternate code](%%REPO_URL%%/2019/poikola/prog.alt.c) which
+adds a newline after each number for parsing in additional ways.
Cody also added the [try.sh](%%REPO_URL%%/2019/poikola/try.sh) and
[try.alt.sh](%%REPO_URL%%/2019/poikola/try.alt.sh) scripts.
@@ -5853,9 +5836,9 @@ a friend, whether that's real or imagined.
### Winning entry source code: [prog.c](%%REPO_URL%%/2020/endoh2//prog.c)
-[Cody](#cody) copied the files from the spoiler.zip file (from his copy during
+[Cody](#cody) copied the files from the `spoiler.zip` file (from his copy during
the preview period) that was password protected with a password that was no
-longer known.
+longer known (but fortunately was already extracted).
He also added the [try.sh](%%REPO_URL%%/2020/endoh2/try.sh) script.
@@ -5892,12 +5875,8 @@ Cody also reported (during the preview period of 2020) for some systems (at some
point?) like macOS the use of `make clock` would not work due possibly to a
timing issue so [Yusuke](#yusuke) changed it to compile `clock.c`
file directly (this might have been fixed in the
-Makefile later on but it doesn't hurt to keep it in and this way it isn't a
-problem in any system). How Cody remembers this minor detail more than three
-years ago is something that many people might wonder but he also once told us
-that if someone moves something of his even a millimetre from where it was he
-knows it so he might be called unusual (and he argues, with pride, eccentric :-)
-) :-)
+`Makefile` later on but it doesn't hurt to keep it in and this way it isn't a
+problem in any system).
Cody also added the [run_clock.alt.sh](%%REPO_URL%%/2020/endoh3/run_clock.alt.sh) script
which is analogous to the [run_clock.sh](%%REPO_URL%%/2020/endoh3/run_clock.sh) but for the
@@ -5909,45 +5888,9 @@ alternate code provided by the author, Yusuke.
### Winning entry source code: [prog.c](%%REPO_URL%%/2020/ferguson1//prog.c)
-[Cody](#cody), with intentional irony here :-), fixed formatting, links and typos in
-various files.
-
-He improved the [termcaps.c test utility](%%REPO_URL%%/2020/ferguson1/termcaps.c), bug fixed
-[play.sh](%%REPO_URL%%/2020/ferguson1/play.sh), fixed other scripts and the Makefile, changed
-some files to be markdown (and fixed problems that he caused in doing so :-) ),
-fixed typos and formatting and he also fixed some issues that occurred when
-files were renamed to `.html` from `.markdown`.
-
-Most importantly he also added some corrections to the vital [Double
+Just for awareness, here: [Cody](#cody) made some corrections to the vital [Double
layered chocolate fudge cake recipe](2020/ferguson1/chocolate-cake.html) :-)
-
-
-
-
-## Winning entry: [2020/ferguson2](2020/ferguson2/index.html)
-### Winning entry source code: [prog.c](%%REPO_URL%%/2020/ferguson2//prog.c)
-
-
-[Cody](#cody), with intentional irony here :-), fixed formatting, links and typos in
-various files.
-
-He also added the [try.sh](%%REPO_URL%%/2020/ferguson2/try.sh) script.
-
-He also added the [alternate code](2020/ferguson2/index.html#alternate-code) and the
-[try.alt.sh](%%REPO_URL%%/2020/ferguson2/try.alt.sh) script.
-
-The try scripts involved the addition of a text file,
-[key.txt](2020/ferguson2/key.txt) which has the key of the file the judges
-added in [try.this.txt](2020/ferguson2/try.this.txt) which itself was based on
-something the author (Cody :-) ) submitted in the first place.
-
-He also fixed some issues that occurred when files were renamed to `.html` from
-`.markdown`.
-
-Yes the irony here is as rich as the chocolate cake: the question is do you know
-how rich it is? If not and you like chocolate I (that is Cody :-) ) highly
-recommend you give it a go! :-) You're welcome to ask me questions if you wish
-and I encourage you to do so as the cake is quite picky!
+Other fixes were made but as it's his entry it's not worth noting.
@@ -5988,7 +5931,7 @@ the user has installed the appropriate library with
`/opt/local`).
Cody also fixed the script [makegif.sh](%%REPO_URL%%/2020/kurdyukov2/makegif.sh) in a variety
-of ways: shellcheck(1), make sure the program is compiled first (allowing one to
+of ways: `shellcheck(1)`, make sure the program is compiled first (allowing one to
specify which compiler to use with `CC=foo ./makegif.sh ...`), checking that
`convert(1)` is found and that it worked properly (linking to the proper FAQ
entry if not installed or it fails).
@@ -6108,7 +6051,7 @@ There were some other fixes as well including mass typo fixes in the Makefiles
(though that usually does not mean it is worth a thank you note it might be
worth noting in this case). Other times it was enabling or disabling the
optimiser to fix an entry, sometimes causing other problems that also had to be
-fixed, a good example being [1986/marshall](#1986marshall-readmemd) (see the
+fixed, a good example being [1986/marshall](#1986_marshall) (see the
[compilers.html](1986/marshall/compilers.html) for the amusing details and all that
had to be done to fix it).
@@ -6117,11 +6060,11 @@ but it is inconsistent with the rest of the `${foo}` tools even if by tradition
it is `$(MAKE)`.
Cody also added missing variables like `BASH` and `PDFLATEX` to the
-[var.mk](var.mk) file and removed another that was deemed problematic or
+[var.mk](%%REPO_URL%%/var.mk) file and removed another that was deemed problematic or
undesired. Other variable names had typos in them.
In at least one case, like the [top level Makefile](%%REPO_URL%%/Makefile), where raw
-commands that are in [var.mk](var.mk) were used, Cody updated them to use the
+commands that are in [var.mk](%%REPO_URL%%/var.mk) were used, Cody updated them to use the
variables.
A comment was missing for the `diff_alt_orig` rule in all the Makefiles and
diff --git a/tmp/manifest.csv b/tmp/manifest.csv
index 98f3eb78e..7a54584a2 100644
--- a/tmp/manifest.csv
+++ b/tmp/manifest.csv
@@ -2857,7 +2857,7 @@
2012,zeitak,anonymous.c,40,true,c,true,1984/anonymous source
2012,zeitak,zeitak.alt.c,40,true,c,true,alternate source code
2012,zeitak,zeitak.orig.c,50,true,c,true,original source code
-2012,zeitak,test.sh,100,true,shellscript,true,test tool
+2012,zeitak,try.sh,100,true,shellscript,true,script to try entry
2012,zeitak,correct.java,150,false,java,true,example Java source with correct brace (supposedly :-) )
2012,zeitak,incorrect.1.quote.c,150,true,c,true,example C source with incorrect quote
2012,zeitak,incorrect.3.quotes.c,150,true,c,true,example C source with incorrect quote
@@ -3036,7 +3036,7 @@
2013,endoh4,Makefile,30,true,makefile,true,entry Makefile
2013,endoh4,endoh4.orig.c,50,false,c,true,original source code
2013,endoh4,cube.txt,100,true,text,false,3D object coordinates
-2013,endoh4,endoh4.sh,100,true,shellscript,true,script to try entry
+2013,endoh4,endoh4.sh,100,true,shellscript,true,script to run entry without cursor
2013,endoh4,solids/antiprism/a04-square-antiprism.txt,200,true,text,false,3D object coordinates
2013,endoh4,solids/antiprism/a05-pentagonal-antiprism.txt,200,true,text,false,3D object coordinates
2013,endoh4,solids/antiprism/a06-hexagonal-antiprism.txt,200,true,text,false,3D object coordinates
diff --git a/tmp/manifest.numbers b/tmp/manifest.numbers
index ac7d54443..3df83d936 100644
Binary files a/tmp/manifest.numbers and b/tmp/manifest.numbers differ
diff --git a/tmp/path_list.found.txt b/tmp/path_list.found.txt
index 8458cbf32..11df5d3b6 100644
--- a/tmp/path_list.found.txt
+++ b/tmp/path_list.found.txt
@@ -2869,7 +2869,7 @@
2012/zeitak/incorrect.single.quote.c
2012/zeitak/incorrect.txt
2012/zeitak/index.html
-2012/zeitak/test.sh
+2012/zeitak/try.sh
2012/zeitak/zeitak.alt.c
2012/zeitak/zeitak.c
2012/zeitak/zeitak.orig.c
diff --git a/tmp/path_list.manifest.txt b/tmp/path_list.manifest.txt
index 8458cbf32..11df5d3b6 100644
--- a/tmp/path_list.manifest.txt
+++ b/tmp/path_list.manifest.txt
@@ -2869,7 +2869,7 @@
2012/zeitak/incorrect.single.quote.c
2012/zeitak/incorrect.txt
2012/zeitak/index.html
-2012/zeitak/test.sh
+2012/zeitak/try.sh
2012/zeitak/zeitak.alt.c
2012/zeitak/zeitak.c
2012/zeitak/zeitak.orig.c
diff --git a/tmp/path_list.required.txt b/tmp/path_list.required.txt
index e9e048b4a..ffd63ff46 100644
--- a/tmp/path_list.required.txt
+++ b/tmp/path_list.required.txt
@@ -1983,7 +1983,7 @@
2012/zeitak/incorrect.quote-esc.c
2012/zeitak/incorrect.single.quote.c
2012/zeitak/incorrect.txt
-2012/zeitak/test.sh
+2012/zeitak/try.sh
2012/zeitak/zeitak.alt.c
2012/zeitak/zeitak.c
2012/zeitak/zeitak.orig.c