diff --git a/1984/mullender/README.md b/1984/mullender/README.md index 05f0555af..ca39909e5 100644 --- a/1984/mullender/README.md +++ b/1984/mullender/README.md @@ -36,7 +36,7 @@ very well. This feature is so you can experiment with different speeds in between writes. It can be useful if your CPU is too fast :-) The author stated that the original version also had a delay but the difference -is it required one to hit enter for it to print another line; the alt code will +is it required one to hit enter for it to print another line; the alternate code will start over once it times out or if one hits a key. Note that the microseconds is argc and it uses `atoi()` which does NOT check for diff --git a/1984/mullender/index.html b/1984/mullender/index.html index e5b9f99d8..ab0e80efc 100644 --- a/1984/mullender/index.html +++ b/1984/mullender/index.html @@ -425,7 +425,7 @@ the original entry but it can be no lower than 5000 as any lower doesn’t work very well. This feature is so you can experiment with different speeds in between writes. It can be useful if your CPU is too fast :-)

The author stated that the original version also had a delay but the difference -is it required one to hit enter for it to print another line; the alt code will +is it required one to hit enter for it to print another line; the alternate code will start over once it times out or if one hits a key.

Note that the microseconds is argc and it uses atoi() which does NOT check for overflow!

diff --git a/1985/lycklama/Makefile b/1985/lycklama/Makefile index 49ce1eea6..fc7718207 100644 --- a/1985/lycklama/Makefile +++ b/1985/lycklama/Makefile @@ -138,7 +138,7 @@ ${PROG}: ${PROG}.c alt: data ${ALT_TARGET} @${TRUE} -# Variable to control amount of time to sleep between writes for alt code. +# Variable to control amount of time to sleep between writes for alternate code. # SLEEP= 500 diff --git a/1985/lycklama/try.alt.sh b/1985/lycklama/try.alt.sh index 7d7cc4e09..0e6d4fa32 100755 --- a/1985/lycklama/try.alt.sh +++ b/1985/lycklama/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 1985/lycklama alt code +# try.alt.sh - demonstrate IOCCC entry 1985/lycklama alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/1985/shapiro/Makefile b/1985/shapiro/Makefile index ff83cabf9..be15eae0a 100644 --- a/1985/shapiro/Makefile +++ b/1985/shapiro/Makefile @@ -138,7 +138,7 @@ ${PROG}: ${PROG}.c alt: data ${ALT_TARGET} @${TRUE} -# Variable to control size of maze for alt code +# Variable to control size of maze for alternate code # SIZE= 39 diff --git a/1985/shapiro/README.md b/1985/shapiro/README.md index b51b92459..9576db71f 100644 --- a/1985/shapiro/README.md +++ b/1985/shapiro/README.md @@ -18,7 +18,7 @@ There is alternate code which allows one to change the size of the maze. See ## Alternate code: The code has a define `C` set to 39 but this can be modified to change the size -of the maze. The alt code allows one to easily do this. +of the maze. The alternate code allows one to easily do this. ### Alternate build: diff --git a/1985/shapiro/index.html b/1985/shapiro/index.html index 7dda1c185..65db249e0 100644 --- a/1985/shapiro/index.html +++ b/1985/shapiro/index.html @@ -409,7 +409,7 @@ Location: US - United States of America
    ./shapiro

Alternate code:

The code has a define C set to 39 but this can be modified to change the size -of the maze. The alt code allows one to easily do this.

+of the maze. The alternate code allows one to easily do this.

Alternate build:

    make alt

Alternate try:

diff --git a/1985/shapiro/try.alt.sh b/1985/shapiro/try.alt.sh index ac8182cfa..cb9f69c7b 100755 --- a/1985/shapiro/try.alt.sh +++ b/1985/shapiro/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 1985/shapiro alt code +# try.alt.sh - demonstrate IOCCC entry 1985/shapiro alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it @@ -31,7 +31,7 @@ while ((i < 5)); do ((i++)) done -# while input is only numbers recompile the alt code with that value. If number +# while input is only numbers recompile the alternate code with that value. If number # is <=0 it sets to 39 in the code but here if one enters a negative number it # will exit due to the '-'. 1 is rather pointless but we don't check for # it either. diff --git a/1985/sicherman/try.alt.sh b/1985/sicherman/try.alt.sh index 0064d4458..efeacd2b8 100755 --- a/1985/sicherman/try.alt.sh +++ b/1985/sicherman/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 1985/sicherman.alt alt code +# try.alt.sh - demonstrate IOCCC entry 1985/sicherman.alt alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/1988/applin/README.md b/1988/applin/README.md index 7458aa65b..e2c32be27 100644 --- a/1988/applin/README.md +++ b/1988/applin/README.md @@ -5,7 +5,7 @@ ``` A smaller version, originally called `zsmall.c` (and still exists as such, as -the source of the alt code), of [applin.c](%%REPO_URL%%/1988/applin/applin.c), can be found in +the source of the alternate code), of [applin.c](%%REPO_URL%%/1988/applin/applin.c), can be found in [applin.alt.c](%%REPO_URL%%/1988/applin/applin.alt.c). Your machine may have an easier time with this program. See the [Alternate code](#alternate-code) section below for details. diff --git a/1988/applin/index.html b/1988/applin/index.html index be840a2c4..a855b1055 100644 --- a/1988/applin/index.html +++ b/1988/applin/index.html @@ -404,7 +404,7 @@ Location: US - United States of America

To build:

    make all

A smaller version, originally called zsmall.c (and still exists as such, as -the source of the alt code), of applin.c, can be found in +the source of the alternate code), of applin.c, can be found in applin.alt.c. Your machine may have an easier time with this program. See the Alternate code section below for details.

Try:

diff --git a/1989/ovdluhe/try.alt.sh b/1989/ovdluhe/try.alt.sh index 41aa4c764..b4eab5ba2 100755 --- a/1989/ovdluhe/try.alt.sh +++ b/1989/ovdluhe/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 1989/ovdluhe.alt alt code +# try.alt.sh - demonstrate IOCCC entry 1989/ovdluhe.alt alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/1991/rince/Makefile b/1991/rince/Makefile index 048b0d590..5d16e369d 100644 --- a/1991/rince/Makefile +++ b/1991/rince/Makefile @@ -140,7 +140,7 @@ ${PROG}: ${PROG}.c alt: data ${ALT_TARGET} @${TRUE} -# Variable to control max number of moves for alt code +# Variable to control max number of moves for alternate code # MAXMOVES= 484 diff --git a/1992/albert/try.alt.sh b/1992/albert/try.alt.sh index 8c1cd4cfa..dcfacdd10 100755 --- a/1992/albert/try.alt.sh +++ b/1992/albert/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 1992/albert alt code +# try.alt.sh - demonstrate IOCCC entry 1992/albert alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/1992/buzzard.2/try.alt.sh b/1992/buzzard.2/try.alt.sh index 99ec6b9a9..e3657e6e0 100755 --- a/1992/buzzard.2/try.alt.sh +++ b/1992/buzzard.2/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 1992/buzzard.2 alt code +# try.alt.sh - demonstrate IOCCC entry 1992/buzzard.2 alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/1992/kivinen/Makefile b/1992/kivinen/Makefile index 4bd63ea97..503711960 100644 --- a/1992/kivinen/Makefile +++ b/1992/kivinen/Makefile @@ -142,7 +142,7 @@ ${PROG}: ${PROG}.c alt: data ${ALT_TARGET} @${TRUE} -# Variable to control amount of time to sleep between writes for alt code. +# Variable to control amount of time to sleep between writes for alternate code. # SLEEP= 20000 diff --git a/1992/westley/try.sh b/1992/westley/try.sh index 32b79896d..0b71fe4fc 100755 --- a/1992/westley/try.sh +++ b/1992/westley/try.sh @@ -5,7 +5,7 @@ # This script runs westley on a variety of locations to show different cities in # the world, based on the author's remarks and the judges' remarks. # -# This script will first try compiling the code and alt code (alt = US only with +# This script will first try compiling the code and alternate code (alt = US only with # higher resolution, based on the author's remarks) and then if all is OK it # will continue. # @@ -26,7 +26,7 @@ # will try chmod +x on them and then try again. Otherwise it'll just use westley # and westley.alt. # -# This script knows which version, the entry or alt code, to use based on what +# This script knows which version, the entry or alternate code, to use based on what # city is being shown (based on the author's remarks). # # Usage: ./try.sh diff --git a/1993/cmills/Makefile b/1993/cmills/Makefile index 192bdf7ec..2466184e7 100644 --- a/1993/cmills/Makefile +++ b/1993/cmills/Makefile @@ -144,7 +144,7 @@ chris: ${PROG} alt: data ${ALT_TARGET} @${TRUE} -# Variable to control amount of time to sleep between updates for alt code. +# Variable to control amount of time to sleep between updates for alternate code. # SLEEP= 100 diff --git a/1993/plummer/Makefile b/1993/plummer/Makefile index e260c0d51..dbc504091 100644 --- a/1993/plummer/Makefile +++ b/1993/plummer/Makefile @@ -140,7 +140,7 @@ ${PROG}: ${PROG}.c alt: data ${ALT_TARGET} @${TRUE} -# Variable to control amount of time to sleep between writes for alt code. +# Variable to control amount of time to sleep between writes for alternate code. # SLEEP= 1000 diff --git a/1993/plummer/try.alt.sh b/1993/plummer/try.alt.sh index 25642de81..8eaef242e 100755 --- a/1993/plummer/try.alt.sh +++ b/1993/plummer/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 1993/plummer alt code +# try.alt.sh - demonstrate IOCCC entry 1993/plummer alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/1993/rince/Makefile b/1993/rince/Makefile index 46785124c..e8922d2e3 100644 --- a/1993/rince/Makefile +++ b/1993/rince/Makefile @@ -145,7 +145,7 @@ alt: data ${ALT_TARGET} @${TRUE} -# Variable to control amount of time to sleep between writes for alt code. +# Variable to control amount of time to sleep between writes for alternate code. # SLEEP= 17 diff --git a/1994/dodsond2/Makefile b/1994/dodsond2/Makefile index 01f995545..9e72235f3 100644 --- a/1994/dodsond2/Makefile +++ b/1994/dodsond2/Makefile @@ -141,7 +141,7 @@ ${PROG}: ${PROG}.c alt: data ${ALT_TARGET} @${TRUE} -# Variable to set amount of arrows to start with for alt code +# Variable to set amount of arrows to start with for alternate code # ARROWS= 3 diff --git a/1994/horton/try.alt.sh b/1994/horton/try.alt.sh index 9abd57b01..0f44c7191 100755 --- a/1994/horton/try.alt.sh +++ b/1994/horton/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 1994/horton alt code +# try.alt.sh - demonstrate IOCCC entry 1994/horton alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/1994/schnitzi/try.alt.sh b/1994/schnitzi/try.alt.sh index eb53a35fa..c2a28f899 100755 --- a/1994/schnitzi/try.alt.sh +++ b/1994/schnitzi/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 1994/schnitzi alt code +# try.alt.sh - demonstrate IOCCC entry 1994/schnitzi alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/1994/tvr/README.md b/1994/tvr/README.md index 5123c1faf..c22c0f192 100644 --- a/1994/tvr/README.md +++ b/1994/tvr/README.md @@ -5,7 +5,7 @@ ``` -The author provided a spoiler version as alt code. See [Alternate +The author provided a spoiler version as alternate code. See [Alternate code](#alternate-code) below. diff --git a/1994/tvr/index.html b/1994/tvr/index.html index 30aed6ea3..be033a9dc 100644 --- a/1994/tvr/index.html +++ b/1994/tvr/index.html @@ -403,7 +403,7 @@ Location: FI - Republic of Finland

To build:

    make all
-

The author provided a spoiler version as alt code. See Alternate +

The author provided a spoiler version as alternate code. See Alternate code below.

Bugs and (Mis)features:

The current status of this entry is:

diff --git a/1994/tvr/try.alt.bw.sh b/1994/tvr/try.alt.bw.sh index 0c8ebdbad..4bcaeef75 100755 --- a/1994/tvr/try.alt.bw.sh +++ b/1994/tvr/try.alt.bw.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.bw.sh - demonstrate IOCCC entry 1994/tvr alt code B&W mode +# try.alt.bw.sh - demonstrate IOCCC entry 1994/tvr alternate code B&W mode # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/1994/tvr/try.alt.color.sh b/1994/tvr/try.alt.color.sh index e3c16ab7e..10c705f5c 100755 --- a/1994/tvr/try.alt.color.sh +++ b/1994/tvr/try.alt.color.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.color.sh - demonstrate IOCCC entry 1994/tvr alt code colour mode +# try.color.sh - demonstrate IOCCC entry 1994/tvr alternate code colour mode # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/1994/westley/README.md b/1994/westley/README.md index 466df2032..e0c2a217e 100644 --- a/1994/westley/README.md +++ b/1994/westley/README.md @@ -7,9 +7,9 @@ We recommend that you try the alternate version first as the original entry requires (for better display) 80 columns and 8 character tabs with wraparound. -The alt code uses the same logic as the original code except that the original +The alternate code uses the same logic as the original code except that the original code used `#include`s of files that do not exist to generate the messages (as -compiler errors) whereas the alt code uses `printf(3)`. For the original entry +compiler errors) whereas the alternate code uses `printf(3)`. For the original entry see [Original code](#original-code) below. diff --git a/1994/westley/index.html b/1994/westley/index.html index 0bb28340b..014473a6c 100644 --- a/1994/westley/index.html +++ b/1994/westley/index.html @@ -405,9 +405,9 @@ Location: US - United States of America
    make alt

We recommend that you try the alternate version first as the original entry requires (for better display) 80 columns and 8 character tabs with wraparound.

-

The alt code uses the same logic as the original code except that the original +

The alternate code uses the same logic as the original code except that the original code used #includes of files that do not exist to generate the messages (as -compiler errors) whereas the alt code uses printf(3). For the original entry +compiler errors) whereas the alternate code uses printf(3). For the original entry see Original code below.

To use:

    ./westley.alt
diff --git a/1994/westley/try.alt.sh b/1994/westley/try.alt.sh index 7998dc6d3..487c9ee75 100755 --- a/1994/westley/try.alt.sh +++ b/1994/westley/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 1994/westley alt code +# try.alt.sh - demonstrate IOCCC entry 1994/westley alternate code # # make sure CC is set so that one can control what compiler to use in an easy diff --git a/1995/cdua/Makefile b/1995/cdua/Makefile index b8cb8f48e..65b3554e7 100644 --- a/1995/cdua/Makefile +++ b/1995/cdua/Makefile @@ -58,7 +58,7 @@ CSTD= -std=gnu90 # ARCH= -# Variable to simplify reconfiguring sleep time for alt code +# Variable to simplify reconfiguring sleep time for alternate code # SLEEP=3000 # Defines that are needed to compile diff --git a/1995/garry/try.alt.sh b/1995/garry/try.alt.sh index c58eea046..258c4b27d 100755 --- a/1995/garry/try.alt.sh +++ b/1995/garry/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 1995/garry alt code +# try.alt.sh - demonstrate IOCCC entry 1995/garry alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/1996/eldby/Makefile b/1996/eldby/Makefile index bd520cac7..342d0db55 100644 --- a/1996/eldby/Makefile +++ b/1996/eldby/Makefile @@ -57,7 +57,7 @@ CSTD= -std=gnu90 # ARCH= -# Variable to simplify reconfiguring sleep time for alt code +# Variable to simplify reconfiguring sleep time for alternate code # SLEEP= 35000 # Defines that are needed to compile diff --git a/1996/westley/try.alt.sh b/1996/westley/try.alt.sh index 89f14b5b4..c5027dcc9 100755 --- a/1996/westley/try.alt.sh +++ b/1996/westley/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 1996/westley alt code +# try.alt.sh - demonstrate IOCCC entry 1996/westley alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/1998/banks/README.md b/1998/banks/README.md index ca5d12e97..e3d835795 100644 --- a/1998/banks/README.md +++ b/1998/banks/README.md @@ -82,7 +82,7 @@ you can regain control? ## Alternate code: If you do not have access to a page up or page down key, for instance you're -using a Mac, you can use the alt code (though it actually uses the same code) +using a Mac, you can use the alternate code (though it actually uses the same code) that will redefine the keys to increase throttle and decrease throttle. This same method can be used with the original code but this sets up predefined keys in place of Page Up and Page Down. @@ -111,7 +111,7 @@ To use the default settings for the alternate build: ``` You may change the other keys as described in the build instructions, above, but -this alt code can be seen as an alternative for those who don't have or don't +this alternate code can be seen as an alternative for those who don't have or don't want to use page up and page down. diff --git a/1998/banks/index.html b/1998/banks/index.html index 49aa755c4..f5d70779d 100644 --- a/1998/banks/index.html +++ b/1998/banks/index.html @@ -452,7 +452,7 @@ it in a non-silly way, see the author’s remarks for the real controls. Perhaps you can regain control?

Alternate code:

If you do not have access to a page up or page down key, for instance you’re -using a Mac, you can use the alt code (though it actually uses the same code) +using a Mac, you can use the alternate code (though it actually uses the same code) that will redefine the keys to increase throttle and decrease throttle. This same method can be used with the original code but this sets up predefined keys in place of Page Up and Page Down.

@@ -471,7 +471,7 @@ the right side for movement. These are hard coded, as noted.

To use the default settings for the alternate build:

    make alt

You may change the other keys as described in the build instructions, above, but -this alt code can be seen as an alternative for those who don’t have or don’t +this alternate code can be seen as an alternative for those who don’t have or don’t want to use page up and page down.

Alternate use:

Use banks.alt as you would banks but use the different keys as diff --git a/1998/dlowe/try.alt.sh b/1998/dlowe/try.alt.sh index ca1a73410..b5cc0db52 100755 --- a/1998/dlowe/try.alt.sh +++ b/1998/dlowe/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.sh - try out 1998/dlowe pootifier alt code +# try.sh - try out 1998/dlowe pootifier alternate code # make everything || exit 1 diff --git a/1998/schweikh3/Makefile b/1998/schweikh3/Makefile index c403303f6..ac88bbe21 100644 --- a/1998/schweikh3/Makefile +++ b/1998/schweikh3/Makefile @@ -141,7 +141,7 @@ ${PROG}: ${PROG}.c alt: data ${ALT_TARGET} @${TRUE} -# Variable to control size for alt code +# Variable to control size for alternate code # SIZE=32767 diff --git a/2000/natori/try.alt.sh b/2000/natori/try.alt.sh index ad34a3d5d..b6ef665e9 100755 --- a/2000/natori/try.alt.sh +++ b/2000/natori/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 2000/natori alt code +# try.alt.sh - demonstrate IOCCC entry 2000/natori alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it @@ -190,7 +190,7 @@ moon() fi echo 1>&2 - # Finally, for the try.alt.sh (alt code, southern hemisphere), force + # Finally, for the try.alt.sh (alternate code, southern hemisphere), force # starting with southern hemisphere. echo "Will now use less(1): 'q' = quit, space = next page, enter = next line." 1>&2 echo "We now recommend that you try holding enter down." 1>&2 diff --git a/2000/thadgavin/Makefile b/2000/thadgavin/Makefile index 9a479741f..c245f9e5c 100644 --- a/2000/thadgavin/Makefile +++ b/2000/thadgavin/Makefile @@ -58,7 +58,7 @@ CSTD= -std=gnu99 # ARCH= -# Variable to control amount of time to sleep between updates for alt code. +# Variable to control amount of time to sleep between updates for alternate code. # SLEEP= 30 SDL_SLEEP= 150000 diff --git a/2000/thadgavin/README.md b/2000/thadgavin/README.md index f5086966c..8af95da03 100644 --- a/2000/thadgavin/README.md +++ b/2000/thadgavin/README.md @@ -69,7 +69,7 @@ wish to see the original entry see below. NOTE: in curses mode you might want to type `reset` after execution of this program if your terminal is messed up after exiting the program (send intr, typically ctrl-c) as the program does not call `endwin()`. Using `reset` will -clear the screen. The alt code, as noted above, allows one to quit early so this +clear the screen. The alternate code, as noted above, allows one to quit early so this is not a problem there. diff --git a/2000/thadgavin/index.html b/2000/thadgavin/index.html index 6d368d5cb..a23bcfa8f 100644 --- a/2000/thadgavin/index.html +++ b/2000/thadgavin/index.html @@ -444,7 +444,7 @@ wish to see the original entry see below.

NOTE: in curses mode you might want to type reset after execution of this program if your terminal is messed up after exiting the program (send intr, typically ctrl-c) as the program does not call endwin(). Using reset will -clear the screen. The alt code, as noted above, allows one to quit early so this +clear the screen. The alternate code, as noted above, allows one to quit early so this is not a problem there.

Original build:

    make all
diff --git a/2000/tomx/try.alt.sh b/2000/tomx/try.alt.sh index fee7c750f..08e9b1ce3 100755 --- a/2000/tomx/try.alt.sh +++ b/2000/tomx/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 2000/tomx alt code +# try.alt.sh - demonstrate IOCCC entry 2000/tomx alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/2004/gavare/Makefile b/2004/gavare/Makefile index 44a99f1a1..fb95e8996 100644 --- a/2004/gavare/Makefile +++ b/2004/gavare/Makefile @@ -144,7 +144,7 @@ alt: data ${ALT_TARGET} alt2: ${PROG}.alt2 @${TRUE} -# Variables to control the size and anti-aliasing factor for alt code +# Variables to control the size and anti-aliasing factor for alternate code XX= 1024 YY= 768 AA= 3 diff --git a/2004/gavare/README.md b/2004/gavare/README.md index cd92cabd3..631a2fd27 100644 --- a/2004/gavare/README.md +++ b/2004/gavare/README.md @@ -37,7 +37,7 @@ to not worry about writing it to a file and just viewing the image it creates. ## Alternate code: -The alt code [gavare.alt.c](%%REPO_URL%%/2004/gavare/gavare.alt.c) allows you to change the size of the +The alternate code [gavare.alt.c](%%REPO_URL%%/2004/gavare/gavare.alt.c) allows you to change the size of the image as well as the anti-alias setting, when compiling. The author also provided [on their web page for the diff --git a/2004/gavare/index.html b/2004/gavare/index.html index 0c6c1a9b6..13f05b465 100644 --- a/2004/gavare/index.html +++ b/2004/gavare/index.html @@ -416,7 +416,7 @@ if you have ImageMagick installed, you can convert it to a jpeg:

    ./gavare | xv -

to not worry about writing it to a file and just viewing the image it creates.

Alternate code:

-

The alt code gavare.alt.c allows you to change the size of the +

The alternate code gavare.alt.c allows you to change the size of the image as well as the anti-alias setting, when compiling.

The author also provided on their web page for the entry an unobfuscated version that diff --git a/2004/jdalbec/Makefile b/2004/jdalbec/Makefile index 377779f16..a5cf0c36d 100644 --- a/2004/jdalbec/Makefile +++ b/2004/jdalbec/Makefile @@ -142,7 +142,7 @@ ${PROG}: ${PROG}.c alt: data ${ALT_TARGET} @${TRUE} -# Variable to control how many numbers to print on a line for alt code +# Variable to control how many numbers to print on a line for alternate code # Ag= 11 diff --git a/2004/jdalbec/try.alt.sh b/2004/jdalbec/try.alt.sh index 642a17721..3662b4855 100755 --- a/2004/jdalbec/try.alt.sh +++ b/2004/jdalbec/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 2004/jdalbec alt code +# try.alt.sh - demonstrate IOCCC entry 2004/jdalbec alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/2005/aidan/try.alt.sh b/2005/aidan/try.alt.sh index d20b7a673..e89347f7f 100755 --- a/2005/aidan/try.alt.sh +++ b/2005/aidan/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.sh - demonstrate IOCCC entry 2005/aidan alt code +# try.sh - demonstrate IOCCC entry 2005/aidan alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/2005/mikeash/Makefile b/2005/mikeash/Makefile index ca17a5ed7..ca21d69e4 100644 --- a/2005/mikeash/Makefile +++ b/2005/mikeash/Makefile @@ -38,7 +38,7 @@ include ../../var.mk # Common C compiler warnings to silence # -CSILENCE= -Wno-error -Wno-implicit-function-declaration -Wno-extra-semi \ +CSILENCE= -Wno-error -Wno-implicit-function-declaration \ -Wno-unknown-escape-sequence -Wno-unused-variable -Wno-pedantic \ -Wno-builtin-declaration-mismatch -Wno-misleading-indentation \ -Wno-unknown-warning-option diff --git a/2005/mynx/README.md b/2005/mynx/README.md index 104dc9dfd..964bdcd62 100644 --- a/2005/mynx/README.md +++ b/2005/mynx/README.md @@ -5,7 +5,9 @@ ``` There is an alternate version that scans for (_ONLY_ scans) the string `https` -as a starting point. See [alternate code](#alternate-code) below. +as a starting point in case anyone wishes to add support or come up with a +pipeline to let it work, as many websites no longer work with `http`. +See [alternate code](#alternate-code) below. ### Bugs and (Mis)features: diff --git a/2005/mynx/index.html b/2005/mynx/index.html index 23ecc5a1a..d83baeb60 100644 --- a/2005/mynx/index.html +++ b/2005/mynx/index.html @@ -404,7 +404,9 @@ Location: CA - Canada

To build:

    make

There is an alternate version that scans for (ONLY scans) the string https -as a starting point. See alternate code below.

+as a starting point in case anyone wishes to add support or come up with a +pipeline to let it work, as many websites no longer work with http. +See alternate code below.

Bugs and (Mis)features:

The current status of this entry is:

    STATUS: INABIAF - please **DO NOT** fix
diff --git a/2006/hamre/README.md b/2006/hamre/README.md index c5f1110ce..6a243fbdc 100644 --- a/2006/hamre/README.md +++ b/2006/hamre/README.md @@ -5,6 +5,19 @@ ``` +### Bugs and (Mis)features: + +The current status of this entry is: + +``` + STATUS: INABIAF - please **DO NOT** fix +``` + +For more detailed information see [2006/hamre in bugs.html](../../bugs.html#2006_hamre). + + + + ## To use: ``` diff --git a/2006/hamre/hamre.c b/2006/hamre/hamre.c index bc4a6d244..f645c1898 100644 --- a/2006/hamre/hamre.c +++ b/2006/hamre/hamre.c @@ -8,7 +8,7 @@ NO - Kingdom of Norway (

To build:

    make
+

Bugs and (Mis)features:

+

The current status of this entry is:

+
    STATUS: INABIAF - please **DO NOT** fix
+

For more detailed information see 2006/hamre in bugs.html.

To use:

    ./hamre math_expression_string

Try:

diff --git a/2006/monge/Makefile b/2006/monge/Makefile index 79d84d6a3..012c1f6db 100644 --- a/2006/monge/Makefile +++ b/2006/monge/Makefile @@ -146,7 +146,7 @@ ${PROG}: ${PROG}.c alt: data ${ALT_TARGET} @${TRUE} -# Variables to control width, height and iterations in alt code +# Variables to control width, height and iterations in alternate code # WIDTH= 400 HEIGHT= 300 diff --git a/2006/monge/try.alt.sh b/2006/monge/try.alt.sh index 37f0da33f..b27103bc5 100755 --- a/2006/monge/try.alt.sh +++ b/2006/monge/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 2006/monge alt code +# try.alt.sh - demonstrate IOCCC entry 2006/monge alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/2006/sloane/Makefile b/2006/sloane/Makefile index 3d498470e..431cfabe7 100644 --- a/2006/sloane/Makefile +++ b/2006/sloane/Makefile @@ -142,7 +142,7 @@ ${PROG}: ${PROG}.c alt: data ${ALT_TARGET} @${TRUE} -# Variable to control amount of time to sleep between writes for alt code. +# Variable to control amount of time to sleep between writes for alternate code. # SLEEP= 75000 ${PROG}.alt: ${PROG}.alt.c diff --git a/2006/stewart/README.md b/2006/stewart/README.md index 267bc7dad..b38ca495b 100644 --- a/2006/stewart/README.md +++ b/2006/stewart/README.md @@ -5,6 +5,18 @@ ``` +### Bugs and (Mis)features: + +The current status of this entry is: + +``` + STATUS: INABIAF - please **DO NOT** fix +``` + +For more detailed information see [2006/stewart in bugs.html](../../bugs.html#2006_stewart). + + + ## To use: ``` diff --git a/2006/stewart/index.html b/2006/stewart/index.html index 4ff01c20c..89b4db254 100644 --- a/2006/stewart/index.html +++ b/2006/stewart/index.html @@ -403,6 +403,10 @@ Location: US - United States of America

To build:

    make
+

Bugs and (Mis)features:

+

The current status of this entry is:

+
    STATUS: INABIAF - please **DO NOT** fix
+

For more detailed information see 2006/stewart in bugs.html.

To use:

    ./stewart width_and_height iterations file > file.xbm
     convert file.xbm file.png
diff --git a/2006/stewart/stewart.c b/2006/stewart/stewart.c index 8b27aec4b..02103ec9e 100644 --- a/2006/stewart/stewart.c +++ b/2006/stewart/stewart.c @@ -20,7 +20,6 @@ int main(int c,char**o) Z(v,6)=(long)malloc(Z(v,0)); memset((void*)Z(v,6),0,Z(v,0)); Z(v,13)=(long)fopen(o[3],"r"); - if(F(v,13)==NULL)P("file doesn't exist\n"), exit(1); fscanf(F(v,13),"%ld",(long*)Y(v,3)); Z(v,8)=(long)malloc(050+Z(v,3)*070); Z(Z(v,8),0)=Z(v,3); diff --git a/2006/sykes1/README.md b/2006/sykes1/README.md index 7a26fa091..fc9beb20f 100644 --- a/2006/sykes1/README.md +++ b/2006/sykes1/README.md @@ -43,7 +43,7 @@ You might also try: ./try.sh ``` -This will run both the original entry and the alt code to show some differences. +This will run both the original entry and the alternate code to show some differences. ### Also try: diff --git a/2006/sykes1/index.html b/2006/sykes1/index.html index b1d648674..824d88965 100644 --- a/2006/sykes1/index.html +++ b/2006/sykes1/index.html @@ -418,7 +418,7 @@ specifically see the Alternate code section below.

Refresh your browser.

You might also try:

    ./try.sh
-

This will run both the original entry and the alt code to show some differences.

+

This will run both the original entry and the alternate code to show some differences.

Also try:

If you have all day :-) and wish to find out how fast your machine can solve the maximum:

diff --git a/2011/richards/try.alt.sh b/2011/richards/try.alt.sh index 8e972e9d2..5b6950816 100755 --- a/2011/richards/try.alt.sh +++ b/2011/richards/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 2011/richards alt code +# try.alt.sh - demonstrate IOCCC entry 2011/richards alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/2012/endoh1/Makefile b/2012/endoh1/Makefile index bc9ac19c9..5694bb6b7 100644 --- a/2012/endoh1/Makefile +++ b/2012/endoh1/Makefile @@ -155,7 +155,7 @@ ${PROG}_color: ${PROG}_color.c alt: data ${ALT_TARGET} @${TRUE} -# Variables that control the alarm(3) timer and how much to sleep for alt code +# Variables that control the alarm(3) timer and how much to sleep for alternate code # TIMER= 10 SLEEP= 12321 diff --git a/2012/endoh1/try.alt.bw.sh b/2012/endoh1/try.alt.bw.sh index 7981f54d3..6344ad745 100755 --- a/2012/endoh1/try.alt.bw.sh +++ b/2012/endoh1/try.alt.bw.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.bw.sh - demonstrate IOCCC entry 2012/endoh1 alt code w/o colour +# try.alt.bw.sh - demonstrate IOCCC entry 2012/endoh1 alternate code w/o colour # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/2012/endoh1/try.alt.sh b/2012/endoh1/try.alt.sh index dd9333597..c4c44c7fe 100755 --- a/2012/endoh1/try.alt.sh +++ b/2012/endoh1/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 2012/endoh1 alt code with colour +# try.alt.sh - demonstrate IOCCC entry 2012/endoh1 alternate code with colour # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/2012/kang/.entry.json b/2012/kang/.entry.json index 77befda37..336531136 100644 --- a/2012/kang/.entry.json +++ b/2012/kang/.entry.json @@ -47,7 +47,7 @@ "OK_to_edit" : true, "display_as" : "shellscript", "display_via_github" : true, - "entry_text" : "English words script for 1 through 13 for alt code" + "entry_text" : "English words script for 1 through 13 for alternate code" }, { "file_path" : "de.sh", @@ -63,7 +63,7 @@ "OK_to_edit" : true, "display_as" : "shellscript", "display_via_github" : true, - "entry_text" : "English words script for 1 through 13 for alt code" + "entry_text" : "English words script for 1 through 13 for alternate code" }, { "file_path" : "en.sh", diff --git a/2012/kang/index.html b/2012/kang/index.html index e96d878fd..6ced6e8b4 100644 --- a/2012/kang/index.html +++ b/2012/kang/index.html @@ -582,9 +582,9 @@ proof-reading remarks.

  • Makefile - entry Makefile
  • kang.alt.c - alternate source code
  • kang.orig.c - original source code
  • -
  • de.alt.sh - English words script for 1 through 13 for alt code
  • +
  • de.alt.sh - English words script for 1 through 13 for alternate code
  • de.sh - English words script for 1 through 13
  • -
  • en.alt.sh - English words script for 1 through 13 for alt code
  • +
  • en.alt.sh - English words script for 1 through 13 for alternate code
  • en.sh - English words script for 1 through 13
  • try.alt.sh - script to try alternate source code
  • try.sh - script to try entry
  • diff --git a/2012/kang/try.alt.sh b/2012/kang/try.alt.sh index 2bfbf244e..4940f0504 100755 --- a/2012/kang/try.alt.sh +++ b/2012/kang/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 2012/kang alt code +# try.alt.sh - demonstrate IOCCC entry 2012/kang alternate code # 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 diff --git a/2012/kang/try.sh b/2012/kang/try.sh index c7629885b..a8f3fb5d5 100755 --- a/2012/kang/try.sh +++ b/2012/kang/try.sh @@ -39,7 +39,7 @@ echo 1>&2 echo vier | ./kang # notice the issue here, see alternate code instead echo 1>&2 echo "Note: for a version that gets this one right (breaking others" 1>&2 -echo "including fier), see the alt code." 1>&2 +echo "including fier), see the alternate code." 1>&2 echo 1>&2 read -r -n 1 -p "Press any key to run: echo \"shest'\" | ./kang # 6: " diff --git a/2012/omoikane/try.alt.sh b/2012/omoikane/try.alt.sh index 37be8c753..916a4324c 100755 --- a/2012/omoikane/try.alt.sh +++ b/2012/omoikane/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 2012/omoikane alt code +# try.alt.sh - demonstrate IOCCC entry 2012/omoikane alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/2013/birken/Makefile b/2013/birken/Makefile index 726376894..ad56d16f5 100644 --- a/2013/birken/Makefile +++ b/2013/birken/Makefile @@ -146,7 +146,7 @@ ${PROG}: ${PROG}.c alt: data ${ALT_TARGET} @${TRUE} -# Variable to control how to redefine sleep time in alt code +# Variable to control how to redefine sleep time in alternate code # SLEEP= 15000 diff --git a/2013/birken/try.alt.sh b/2013/birken/try.alt.sh index 2841f9f70..5c18bccf2 100755 --- a/2013/birken/try.alt.sh +++ b/2013/birken/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.sh - demonstrate IOCCC entry 2013/birken alt code +# try.sh - demonstrate IOCCC entry 2013/birken alternate code # 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 diff --git a/2014/birken/Makefile b/2014/birken/Makefile index 204732dc6..1bf035723 100644 --- a/2014/birken/Makefile +++ b/2014/birken/Makefile @@ -143,7 +143,7 @@ ${PROG}: ${PROG}.c alt: data ${ALT_TARGET} @${TRUE} -# Variables to control port and timing constant in alt code +# Variables to control port and timing constant in alternate code # PORT= 1701 TIME= 500000 diff --git a/2014/deak/try.alt.sh b/2014/deak/try.alt.sh index 134098818..ebb26e9a5 100755 --- a/2014/deak/try.alt.sh +++ b/2014/deak/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 2014/deak alt code +# try.alt.sh - demonstrate IOCCC entry 2014/deak alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it @@ -10,7 +10,7 @@ if [[ -z "$CC" ]]; then CC="cc" fi -# compile the alt code with various parameters and run it to show different +# compile the alternate code with various parameters and run it to show different # output read -r -n 1 -p "Press any key to change X1 to 2, X2 to -1 and Y1 to -2.3: " diff --git a/2018/anderson/try.alt.sh b/2018/anderson/try.alt.sh index f389e5518..6f77866df 100755 --- a/2018/anderson/try.alt.sh +++ b/2018/anderson/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.sh - demonstrate IOCCC entry 2018/anderson alt code +# try.sh - demonstrate IOCCC entry 2018/anderson alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/2018/ciura/try.alt.sh b/2018/ciura/try.alt.sh index b0b14e276..9d32e12ed 100755 --- a/2018/ciura/try.alt.sh +++ b/2018/ciura/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 2018/ciura alt code +# try.alt.sh - demonstrate IOCCC entry 2018/ciura alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/2018/ferguson/id.alt.sh b/2018/ferguson/id.alt.sh index b4d4e25c2..880cac594 100755 --- a/2018/ferguson/id.alt.sh +++ b/2018/ferguson/id.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# id.alt.sh - determine exactly how real '"intelligent" design' is with alt code +# id.alt.sh - determine exactly how real '"intelligent" design' is with alternate code # # limit to 250000 attempts to save them time if they really wish to try and diff --git a/2018/ferguson/try.alt.sh b/2018/ferguson/try.alt.sh index de56e665b..eaa3b92f4 100755 --- a/2018/ferguson/try.alt.sh +++ b/2018/ferguson/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 2018/ferguson alt code +# try.alt.sh - demonstrate IOCCC entry 2018/ferguson alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/2019/ciura/try.alt.sh b/2019/ciura/try.alt.sh index 5e3a2d139..b9b830ed8 100755 --- a/2019/ciura/try.alt.sh +++ b/2019/ciura/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.sh - demonstrate IOCCC entry 2019/ciura alt code +# try.sh - demonstrate IOCCC entry 2019/ciura alternate code # # make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it diff --git a/2019/poikola/try.alt.sh b/2019/poikola/try.alt.sh index 8d726bd91..9f1871e2e 100755 --- a/2019/poikola/try.alt.sh +++ b/2019/poikola/try.alt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# try.alt.sh - demonstrate IOCCC entry 2019/poikola alt code +# try.alt.sh - demonstrate IOCCC entry 2019/poikola alternate code # # 'I will move to Copenhagen and apply for Swedish citizenship.' # diff --git a/2020/ferguson2/Makefile b/2020/ferguson2/Makefile index 209821d12..ce0fc3b50 100644 --- a/2020/ferguson2/Makefile +++ b/2020/ferguson2/Makefile @@ -144,7 +144,7 @@ recode: recode.c alt: data ${ALT_TARGET} @${TRUE} -# Variable to control how long to sleep for alt code +# Variable to control how long to sleep for alternate code # SLEEP= 400000 ${PROG}.alt: ${PROG}.alt.c diff --git a/bugs.html b/bugs.html index ce93ef00c..84a9c070d 100644 --- a/bugs.html +++ b/bugs.html @@ -2299,6 +2299,13 @@ with at least computer.tofu input file:

    The string specified must be <= 42 characters and may only consist of the characters in the regex a-z_A-Z0-9@.-. Breaking these constraints will end up with possibly corrupt GIF files.

    +
    +

    2006/hamre

    +
    +

    STATUS: INABIAF - please DO NOT fix

    +

    Source code: 2006/hamre/hamre.c

    +

    Information: 2006/hamre/index.html

    +

    This program will likely crash or do something funny without an arg.

    2006/monge

    @@ -2314,12 +2321,20 @@ but you are welcome to try and fix it.

    provide it as an additional alt version. Fixing this is very likely to be very challenging and in some systems it will not be possible to fix but you are welcome to try and fix it if you wish to!

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Incorrect formulas will ungracefully crash the program.

    +
    +

    2006/stewart

    +
    +

    STATUS: INABIAF - please DO NOT fix

    +

    Source code: 2006/stewart/stewart.c

    +

    Information: 2006/stewart/index.html

    +

    This program will likely crash or do something funny if the file cannot be +opened. The number of args is however checked.

    2006/sykes1

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2006/sykes1/sykes1.c

    Information: 2006/sykes1/index.html

    The author stated:

    @@ -2336,7 +2351,7 @@ welcome to try and fix it if you wish to!

    2006/toledo2

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2006/toledo2/toledo2.c

    Information: 2006/toledo2/index.html

    Cody Boone Ferguson fixed this program to @@ -2383,7 +2398,7 @@ case-sensitive.

    2011/borsanyi

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    Source code: 2011/borsanyi/borsanyi.c

    Information: 2011/borsanyi/index.html

    For a great amount of data points the program will crash, depending on your @@ -2406,7 +2421,7 @@ bins at the edges.

    instead being something else entirely. The Internet Wayback Machine, although it archived it, did not load scripts. Do you know if the domain was moved? Do you have an archive or mirror? Please provide us it! Thank you.

    -

    STATUS: INABIAF - please DO NOT fix

    +

    STATUS: INABIAF - please DO NOT fix

    The author states the following:

    • Bad input (e.g. nonexistent files, non-numeric number of iterations, etc.) @@ -2419,7 +2434,7 @@ tends to result in empty output.

    • 2011/fredriksson

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2011/fredriksson/fredriksson.c

      Information: 2011/fredriksson/index.html

      The author stated that there are a number of features and limitations. As the @@ -2591,7 +2606,7 @@ defined.

      2011/vik

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2011/vik/vik.c

      Information: 2011/vik/index.html

      The author stated that the program will crash if no argument is passed to the @@ -2605,7 +2620,7 @@ fire :-)

      2012/blakely

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2012/blakely/blakely.c

      Information: 2012/blakely/index.html

      The author stated:

      @@ -2614,7 +2629,7 @@ fire :-)

      2012/deckmyn

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2012/deckmyn/deckmyn.c

      Information: 2012/deckmyn/index.html

      The author stated:

      @@ -2647,7 +2662,7 @@ fire :-)

      2012/dlowe

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2012/dlowe/dlowe.c

      Information: 2012/dlowe/index.html

      The author stated:

      @@ -2661,7 +2676,7 @@ doesn’t make it possible to lock drawing to the display refresh rate.)

      2012/tromp

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2012/tromp/tromp.c

      Information: 2012/tromp/index.html

      The author stated:

      @@ -2682,7 +2697,7 @@ doesn’t make it possible to lock drawing to the display refresh rate.)

      2012/vik

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2012/vik/vik.c

      Information: 2012/vik/index.html

      The author stated that the program will crash if no argument is passed to the @@ -2698,7 +2713,7 @@ fire :-)

      2013/cable2

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2013/cable2/cable2.c

      Information: 2013/cable2/index.html

      The author stated:

      @@ -2718,7 +2733,7 @@ and endianness conversion would make the source too large for IOCCC rule 2).

      2013/dlowe

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2013/dlowe/dlowe.c

      Information: 2013/dlowe/index.html

      This program will possibly crash or draw something strange with 0 args. Then @@ -2737,7 +2752,7 @@ used.

      2013/endoh1

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2013/endoh1/endoh1.c

      Information: 2013/endoh1/index.html

      From the author:

      @@ -2753,7 +2768,7 @@ section.

      2013/endoh3

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2013/endoh3/endoh3.c

      Information: 2013/endoh3/index.html

      From the author:

      @@ -2766,14 +2781,14 @@ such as C2E2.

      2013/endoh4

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2013/endoh4/endoh4.c

      Information: 2013/endoh4/index.html

      Invalid input files will very likely crash the program.

      2013/hou

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2013/hou/hou.c

      Information: 2013/hou/index.html

      This program will not terminate on its own; you must kill hou (but not Qiming @@ -2781,7 +2796,7 @@ Hou :-) ) yourself. This should not be fixed.

      2013/mills

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2013/mills/mills.c

      Information: 2013/mills/index.html

      The author reminds us that if you kill the program you will have to wait a short @@ -2798,7 +2813,7 @@ it out as a known limitation it is not a bug but a feature.

      2014/maffiodo1

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2014/maffiodo1/prog.c

      Information: 2014/maffiodo1/index.html

      The author noted that in macOS the colours might be wrong. They gave a solution. @@ -2822,7 +2837,7 @@ player become bigger, stay away from blocks!

      2014/maffiodo2

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2014/maffiodo2/prog.c

      Information: 2014/maffiodo2/index.html

      This program will very likely crash if no arg is given.

      @@ -2863,7 +2878,7 @@ rely on the entry as the below shows. One should be able to do:

      2015/hou

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2015/hou/prog.c

      Information: 2015/hou/index.html

      The author stated:

      @@ -2888,7 +2903,7 @@ result. Error messages become garbled, though.

      2015/mills2

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2015/mills2/prog.c

      Information: 2015/mills2/index.html

      The program doesn’t look at the header of files so if it’s passed something hat @@ -2897,7 +2912,7 @@ is not compressed data it’s likely to crash.

      2015/schweikhardt

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2015/schweikhardt/prog.c

      Information: 2015/schweikhardt/index.html

      The program assumes that EOF is -1. This can be fixed but at this time it is @@ -2930,7 +2945,7 @@ use 8 * sizeof(typ) bits per place. It does not work when CHA

      2018/algmyr

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2018/algmyr/prog.c

      Information: 2018/algmyr/index.html

      The author wrote:

      @@ -2949,7 +2964,7 @@ loop printing whitespace.

      2018/hou

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2018/hou/prog.c

      Information: 2018/hou/index.html

      When you run it on a JSON file you will see something like:

      @@ -2974,7 +2989,7 @@ likely see:

      where [] is the cursor. When this happens if you hit enter (this is necessary or else it’ll happen again) and then exit again (ctrl-e) and run prog again it’ll be okay.

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      The author stated that if you make a typo it can happen that the boot loader can crash and halt. If this is the case type ctrl-e to quit the emulator and try again.

      @@ -2989,7 +3004,7 @@ in the case of compiled code it won’t be executable).

      2018/vokes

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2018/vokes/prog.c

      Information: 2018/vokes/index.html

      The author wrote the following:

      @@ -3039,7 +3054,7 @@ this program has nothing to do with a hand.

      2019/adamovsky

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2019/adamovsky/prog.c

      Information: 2019/adamovsky/index.html

      Certain input can crash this program. The file @@ -3047,7 +3062,7 @@ this program has nothing to do with a hand.

      2019/burton

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2019/burton/prog.c

      Information: 2019/burton/index.html

      The author pointed out that some implementations of wc(1) show different @@ -3055,7 +3070,7 @@ values but his implementation matches that of macOS and FreeBSD.

      2019/ciura

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2019/ciura/prog.c

      Information: 2019/ciura/index.html

      Cody Boone Ferguson fixed the scripts so @@ -3087,7 +3102,7 @@ ideal if this was not the case.

      2019/duble

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2019/duble/prog.c

      Information: 2019/duble/index.html

      There are two things to be aware of with this entry.

      @@ -3116,7 +3131,7 @@ in the directory:

      2019/endoh

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2019/endoh/prog.c

      Information: 2019/endoh/index.html

      As a backtrace quine this entry is SUPPOSED to segfault so this should not be @@ -3124,7 +3139,7 @@ touched either.

      2019/karns

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2019/karns/prog.c

      Information: 2019/karns/index.html

      The author stated the following:

      @@ -3154,7 +3169,7 @@ touched either.

      2019/lynn

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2019/lynn/prog.c

      Information: 2019/lynn/index.html

      The author wrote that there are a number of differences from what one might @@ -3164,7 +3179,7 @@ remarks in the sections Syntax and

      2019/mills

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2019/mills/prog.c

      Information: 2019/mills/index.html

      The author wrote that if you decide to change networks or use a different input @@ -3184,7 +3199,7 @@ a crash.

      2019/poikola

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2019/poikola/prog.c

      Information: 2019/poikola/index.html

      This program will not validate input so it might fail or get stuck if invoked @@ -3193,7 +3208,7 @@ erroneously.

      2019/yang

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2019/yang/prog.c

      Information: 2019/yang/index.html

      The author noted that if the program runs out of memory it is likely to crash.

      @@ -3208,7 +3223,7 @@ ignored except line feeds (preserved) and tabs (expanded to 8 spaces).’

      2020/burton

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2020/burton/prog.c

      Information: 2020/burton/index.html

      This entry is known to crash if no arg is specified. Although easy to fix it is @@ -3219,7 +3234,7 @@ either. But can you figure out why this happens?

      2020/carlini

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2020/carlini/prog.c

      Information: 2020/carlini/index.html

      The author stated that bad things happen if the entered move is outside of the @@ -3233,7 +3248,7 @@ move.

      2020/ferguson1

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2020/ferguson1/prog.c

      Information: 2020/ferguson1/index.html

      There are some things that might appear to be bugs but are actually features or @@ -3243,7 +3258,7 @@ things that are misinterpreted as bugs. See the

      2020/giles

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2020/giles/prog.c

      Information: 2020/giles/index.html

      The author noted that the program only supports WAV files that have @@ -3252,7 +3267,7 @@ audio channels.

      2020/otterness

      -

      STATUS: INABIAF - please DO NOT fix

      +

      STATUS: INABIAF - please DO NOT fix

      Source code: 2020/otterness/prog.c

      Information: 2020/otterness/index.html

      The author listed the following limitations:

      diff --git a/bugs.md b/bugs.md index a1b6247ca..702c5b1a1 100644 --- a/bugs.md +++ b/bugs.md @@ -2797,6 +2797,17 @@ characters in the regex `a-z_A-Z0-9@.-`. Breaking these constraints will end up with possibly corrupt GIF files. +
      +## 2006/hamre +
      + +### STATUS: INABIAF - please **DO NOT** fix +### Source code: [2006/hamre/hamre.c](%%REPO_URL%%/2006/hamre/hamre.c) +### Information: [2006/hamre/index.html](2006/hamre/index.html) + +This program will likely crash or do something funny without an arg. + +
      ## 2006/monge
      @@ -2825,6 +2836,18 @@ welcome to try and fix it if you wish to! Incorrect formulas will ungracefully crash the program. +
      +## 2006/stewart +
      + +### STATUS: INABIAF - please **DO NOT** fix +### Source code: [2006/stewart/stewart.c](%%REPO_URL%%/2006/stewart/stewart.c) +### Information: [2006/stewart/index.html](2006/stewart/index.html) + +This program will likely crash or do something funny if the file cannot be +opened. The number of args is however checked. + +
      ## 2006/sykes1
      diff --git a/faq.html b/faq.html index d5c28d284..850400b29 100644 --- a/faq.html +++ b/faq.html @@ -1918,23 +1918,23 @@ current source (that is entry.orig.c to entry.c).
  • make make diff_alt_orig:
      -
    • This rule will show the diff of the alt code to the original -code (that is entry.alt.c to entry.orig.c). If no alt code exists +
    • This rule will show the diff of the alternate code to the original +code (that is entry.alt.c to entry.orig.c). If no alternate code exists nothing will be shown.
  • make diff_alt_prog:
      -
    • This rule will show the diff of the alt code to the entry as it +
    • This rule will show the diff of the alternate code to the entry as it stands (that is entry.alt.c to entry.c).
  • make diff_orig_alt:
      -
    • This rule will show the diff of the original code to the alt code +
    • This rule will show the diff of the original code to the alternate code (that is entry.orig.c to entry.alt.c).
  • make diff_prog_alt:
      -
    • This rule will show the diff of the entry to the alt code (that is +
    • This rule will show the diff of the entry to the alternate code (that is entry.c to entry.alt.c).
  • make diff_prog_orig: @@ -1950,7 +1950,7 @@ would be instead prog.orig.c, prog.alt.c and pro

    Note that you might see something like:

        make: [Makefile:170: diff_orig_prog] Error 1 (ignored)

    at the end of the output but this is completely normal if there are differences.

    -

    If the alt code is the same as the original, say with +

    If the alternate code is the same as the original, say with 1984/anonymous, then naturally there is no point in running the rule and the same applies for all the other rules but this system allows for easily seeing the diffs.

    @@ -1981,7 +1981,7 @@ very easily. To do that cd 1991/dds and then do:

    just do:

        make DIFF=colordiff diff_orig_prog # for orig to prog diff
         make DIFF=colordiff diff_alt_prog # for alt to prog diff
    -

    Obviously if you want to view the alt code or the orig code you can just open +

    Obviously if you want to view the alternate code or the orig code you can just open the files as described above.

    FAQ 4.3 - Why do author remarks sometimes not match the source and/or why are there other inconsistencies with the original entry?

    diff --git a/faq.md b/faq.md index 1d3dc5197..d990498ef 100644 --- a/faq.md +++ b/faq.md @@ -2275,17 +2275,17 @@ The following `make` rules exist to make a difference: - This rule will show the diff of the _original_ source to the current source (that is `entry.orig.c` to `entry.c`). * `make make diff_alt_orig`: - - This rule will show the diff of the alt code to the original - code (that is `entry.alt.c` to `entry.orig.c`). If no alt code exists + - This rule will show the diff of the alternate code to the original + code (that is `entry.alt.c` to `entry.orig.c`). If no alternate code exists nothing will be shown. * `make diff_alt_prog`: - - This rule will show the diff of the alt code to the entry as it + - This rule will show the diff of the alternate code to the entry as it stands (that is `entry.alt.c` to `entry.c`). * `make diff_orig_alt`: - - This rule will show the diff of the original code to the alt code + - This rule will show the diff of the original code to the alternate code (that is `entry.orig.c` to `entry.alt.c`). * `make diff_prog_alt`: - - This rule will show the diff of the entry to the alt code (that is + - This rule will show the diff of the entry to the alternate code (that is `entry.c` to `entry.alt.c`). * `make diff_prog_orig`: - This rule will show the diff of the entry to the original code (that is @@ -2304,7 +2304,7 @@ Note that you might see something like: at the end of the output but this is completely normal if there are differences. -If the alt code is the same as the original, say with +If the alternate code is the same as the original, say with [1984/anonymous](1984/anonymous/index.html), then naturally there is no point in running the rule and the same applies for all the other rules but this system allows for easily seeing the diffs. @@ -2356,7 +2356,7 @@ just do: make DIFF=colordiff diff_alt_prog # for alt to prog diff ``` -Obviously if you want to view the alt code or the orig code you can just open +Obviously if you want to view the alternate code or the orig code you can just open the files as described above. diff --git a/thanks-for-help.html b/thanks-for-help.html index acfc66e48..ae09ab3a0 100644 --- a/thanks-for-help.html +++ b/thanks-for-help.html @@ -567,7 +567,7 @@ that Cody added. See the index.html for d

    Winning entry: 1985/shapiro

    Winning entry source code: shapiro.c

    -

    Cody added the alt code +

    Cody added the alternate code which allows one to resize the maze and he also added the try.alt.sh script that randomly selects sizes (five times) and then compiles and runs it. After the five runs it prompts @@ -715,7 +715,7 @@ As the third arg was an int the code had to be modified.

    see how odd this problem was and what Cody did to fix it, if nothing else but for entertainment!

    Also, after all warnings but one that could not be silenced were disabled, Cody -changed the alt code (which was not +changed the alternate code (which was not the same as the original - see above for details or try make diff_orig_alt in the directory) slightly so that it was possible to silence it. In particular:

          P  (    a  )   char a   ;  {    a  ;   while(    a  >      "  B   "
    @@ -737,7 +737,7 @@ are produced.

    Winning entry: 1986/pawka

    Winning entry source code: pawka.c

    -

    Cody noticed and fixed a funny mistake in the Makefile where a +

    Cody noticed and fixed a funny mistake in the Makefile where a -Wno-strict-prototypes was in the wrong location, suggesting that there is a -D needed to compile the entry but this is not actually so.

    @@ -902,7 +902,7 @@ later on the commented out code was removed and another part changed so that, although it has some code no longer there, it has a closer match in symmetry and since the code was commented out it’s probably not a big deal to have it removed instead as it does look more symmetrical now.

    -

    Cody also added to the Makefile -include stdio.h in the nowadays very +

    Cody also added to the Makefile -include stdio.h in the nowadays very unlikely(?) but nevertheless suggested case that putchar(3) is not available.

    1988 - The 5th IOCCC

    @@ -977,7 +977,7 @@ found in the index.html file.

    Winning entry: 1988/litmaath

    Winning entry source code: litmaath.c

    -

    Cody added the alt code +

    Cody added the alternate code which is code that we suggested at the time of publication, in the remarks, to help understand the entry, and for fun.

    @@ -1073,10 +1073,10 @@ useless cat, that’s why! For instance, the fact they even exist is proof that the Earth is NOT flat: because if it was they would have pushed everything off it by now! :-) They’re also a great joy to all ailurophiles and yes they most certainly do have a personality and they can be very sociable.

    -

    Whilst he was at it, Cody made it so that one need not run the alt script or alt -code directly, to match that of the main entry. As we simulate the functionality -anyway, and since one may still run the code or the script (for the original -entry and the alt code) anyway, it works out well.

    +

    Whilst he was at it, Cody made it so that one need not run the alt script or +alternate code directly, to match that of the main entry. As we simulate the +functionality anyway, and since one may still run the code or the script (for +the original entry and the alternate code) anyway, it works out well.

    Winning entry: 1989/jar.2

    Winning entry source code: jar.2.c

    @@ -1099,7 +1099,7 @@ supplementary files Yusuke. Cody wrote the script and offered us some chocolate cake :-) See index.html for details on how to use the script.

    -

    Cody also fixed the Makefile where typing make everything or make alt would +

    Cody also fixed the Makefile where typing make everything or make alt would result in:

        `clang`: error: no such file or directory: 'data'
         `clang`: error: no input files
    @@ -1122,7 +1122,7 @@ and starts over, doing it four times, to help with hopefully allowing different
     output.

    Cody also provided an alternate version based on the author’s remarks and the try.alt.sh script that -uses the alt code, allowing one to configure the alt build. See the index.html +uses the alternate code, allowing one to configure the alt build. See the index.html for details. The fix described above was fixed in this version too, after it was discovered and fixed.

    @@ -1312,7 +1312,7 @@ a typo here) from invalid input but which now works.

    Winning entry: 1990/pjr

    Winning entry source code: pjr.c

    -

    Cody added the alt code which was suggested by the judges +

    Cody added the alternate code which was suggested by the judges in the case that your compiler cannot compile X=g()... but it actually does something else and is recommended by the author as well.

    @@ -1330,7 +1330,7 @@ entry does.

    Cody fixed this to work with modern compilers; exit(3) returns void but the function was used in a binary expression so this wouldn’t even compile.

    -

    Cody fixed (as above) and added the shortened version as alt +

    Cody fixed (as above) and added the shortened version as alternate code which originally comes from the author.

    Cody also changed the code (in both versions) to use fgets(3) instead of @@ -1395,7 +1395,7 @@ often be the same (this in particular was done for clang).

    He also fixed the code to not enter an infinite loop if arg is a number not > 0 and to not crash if no arg is specified. This was done during a time it was deemed a problem to be fixed.

    -

    NOTE: the alt code did NOT have arg checks added as it is actually a copy of the +

    NOTE: the alternate code did NOT have arg checks added as it is actually a copy of the original code.

    Cody also added the try.sh script.

    @@ -1405,7 +1405,7 @@ original code.

    Winning entry: 1991/ant

    Winning entry source code: ant.c

    -

    Cody added alt code that will be a bit easier to use for +

    Cody added alternate code that will be a bit easier to use for those familiar with vim in the following ways (we don’t want vi users to also not be able to use it or exit it, now do we ? :-) ):

      @@ -1535,7 +1535,7 @@ might still get some warnings there.

      The key to the string is that it rotates the character by +1. This was not immediately clear until reading the author’s remarks so there was an alt version that was something of a kludge, running make a instead, but after the proper -fix was implemented the alt code was removed.

      +fix was implemented the alternate code was removed.

      Cody also fixed a typo in LANDER.BAS and made it so that if a file could not be opened for reading or a file could not be opened for writing it would not crash. The definition of whether that should be a bug to fix or a feature to not fix @@ -1646,7 +1646,7 @@ generated file (adwc.c)! Thus after the gets(3) call i like:

          while( gets(Y) ){ Y[strlen(Y)-1]='\0'; if(A(Y)) puts(Y); }

      one must keep the Y[strlen(Y)-1]='\0'; part and keep it there.

      -

      These fixes are complex changes due to the way the program and Makefile generate +

      These fixes are complex changes due to the way the program and Makefile generate the additional tools.

      Cody finally added the try.sh script that shows the entry and some of the tools this entry generates. Unlike other scripts, it does not @@ -1657,28 +1657,28 @@ generated.

      Winning entry source code: albert.c

    Cody fixed this to compile with modern systems. Note that in 1996 a bug fix was -applied to the code, provided as the alt code as that version is not obfuscated. +applied to the code, provided as the alternate code as that version is not obfuscated. Thus Cody’s fix applies to the original entry. The problems were that malloc.h is not the correct header file now (at least in some systems) and a non-void (implicit int) function returning without a value. That function was changed to return void.

    Cody also added the try.sh and try.alt.sh scripts that correspond to the entry and -the alt code.

    +the alternate code.

    Winning entry: 1992/ant

    Winning entry source code: ant.c

    -

    Cody fixed the Makefile so that the program will actually work with it (or at +

    Cody fixed the Makefile so that the program will actually work with it (or at least the rule to clobber files and link am to ant). The issue was that the -variables in the Makefile could not be evaluated in the same way as it’s not as +variables in the Makefile could not be evaluated in the same way as it’s not as feature-rich as other implementations of make(1). Thus the use of ${RM} and ${CP} were in the respective rules changed to rm and cp, for two examples. A new rule had to be added as well. The variable situation might be because they -are obtained from the root variable Makefile var.mk via include which the +are obtained from the root variable Makefile var.mk via include which the program might not support (this has not been tested, however) and also because it appears that the syntax for this program is to use $() rather than ${}.

    -

    Cody also fixed another problem, unrelated, in the Makefile with the .PHONY +

    Cody also fixed another problem, unrelated, in the Makefile with the .PHONY rule where a line was not ended with a \ but should have been.

    The author stated that in some systems like DOS with Turbo C, it might be necessary to include time.h so Cody did this as well as this exists in other @@ -1698,11 +1698,11 @@ commands that we suggested and some additional ones that he provide for some fun

    Winning entry: 1992/buzzard.2

    Winning entry source code: buzzard.2.c

    -

    Cody fixed the alt code to compile. The problem was it assumed that +

    Cody fixed the alternate code to compile. The problem was it assumed that exit(3) returns a value, not void. This was fixed with a ,0.

    Cody also added the try.sh and try.alt.sh scripts that correspond to the entry -and its alt code.

    +and its alternate code.

    Winning entry: 1992/gson

    Winning entry source code: gson.c

    @@ -1736,11 +1736,11 @@ operator so that it could be used in binary expressions.

    It was observed that on modern systems this goes much too quick. Yusuke created a patch that calls usleep(3) but Cody thought the value was too slow so he -made it a macro in the Makefile Z (which can be redefined with make SLEEP=...), defaulting at 15000. This was made an alt -version and it is recommended one use the alt -version first. See the index.html file to see how to reconfigure it.

    +made it a macro in the Makefile Z (which can be redefined with make SLEEP=...), defaulting at 15000. This was made an alternate +version and it is recommended one use +the alternate version first. See the index.html file to see how to reconfigure it.

    Cody also made the fixed version (the code relied on exit(3) returning to use -in binary expressions) (and alt code from it) more like the original by renaming +in binary expressions) (and alternate code from it) more like the original by renaming the ext macro to be exit which uses the comma operator. He made it so the line lengths match the original code, at least as best as possible (if not perfectly), including start and end columns, often (if not all) with the same @@ -1821,7 +1821,7 @@ resizing the terminal after running it should not mess up the display either, unless of course it becomes too small.

    Cody added the scripts whereami.sh and whereami.alt.sh which correspond to the entry and -the alt code but first check that the number of columns is at least 80 and if +the alternate code but first check that the number of columns is at least 80 and if not it is an error.

    Cody added the try.sh script that shows the different cities that the author recommended one try as well as the one recommended by the @@ -1853,7 +1853,7 @@ encourage you to try the original without two args :-)

    Yusuke suggested that with modern systems this goes too fast so he added a call to usleep(3) in a patch he made. Cody made it configurable at compilation by -using a macro. This is in the alt +using a macro. This is in the alternate version which is the recommended one to try first.

    @@ -1896,7 +1896,7 @@ files for functions.

    version which does what the program did with gcc < 2.3.3. See the index.html file for details and for why this was made the alternate version, not the actual entry.

    -

    Cody also made the Makefile delete the very unsafe filename that is compiled (or +

    Cody also made the Makefile delete the very unsafe filename that is compiled (or would be compiled if gcc < 2.3.3) whether or not compilation succeeds (which is highly unlikely).

    @@ -1947,7 +1947,7 @@ variable (an int) at the top of the file, instead making it a char ** in -

    Cody also added the alt code, provided by the author, which is:

    +

    Cody also added the alternate code, provided by the author, which is:

        ... a version of the program before it got formatted into the VIII,
         augmented with comments showing where each state begins. N1 and N2 are
         notes.
    @@ -1992,10 +1992,10 @@ that already existed, how many you had and how many were stolen.

    Cody fixed this to check that four args were specified (at a time it was considered a bug to fix). With the use of the C pre-processor macro and -inclusion of stdlib.h in the Makefile the layout of the source is exactly the +inclusion of stdlib.h in the Makefile the layout of the source is exactly the same column width and no additional lines were added. This was done during one of the times where this was changed to bug to fix status, for better or worse.

    -

    Cody also fixed the Makefile which was causing alt code to be compiled when it +

    Cody also fixed the Makefile which was causing alternate code to be compiled when it shouldn’t be.

    Cody also added the scripts try.sh and try.alt.sh.

    @@ -2076,7 +2076,7 @@ check 1994/shapiro in bugs.html.

    Winning entry source code: 1994/tvr

    Cody added the try scripts, four total, colour and black and white -pairs for the original entry and the alt code. These scripts are +pairs for the original entry and the alternate code. These scripts are try.color.sh (color to match the author’s remarks), try.bw.sh, try.alt.color.sh and @@ -2090,13 +2090,13 @@ fgets(3)? for why this was done. In this case the newline had to be terminated but it was a pretty straightforward fix. gets() was defined to use fgets() and the inclusion of stdio.h had to be added but to make it -more like the original entry this was done in the Makefile. The alt code was +more like the original entry this was done in the Makefile. The alternate code was also changed to use fgets(3).

    Winning entry: 1994/weisberg

    Winning entry source code: weisberg.c

    -

    Cody changed the Makefile to make this program more user friendly and easier to +

    Cody changed the Makefile to make this program more user friendly and easier to use with other tools as well by making the program output not a space after each number but rather a newline.

    Cody also added the scripts try.sh and @@ -2151,7 +2151,7 @@ provided which is input we suggested one try with the entry.

    Winning entry: 1995/garry

    Winning entry source code: garry.c

    -

    Cody fixed the alt code so that it will compile with modern compilers. The +

    Cody fixed the alternate code so that it will compile with modern compilers. The problem was a missing int for the f variable. He felt it was even more important that it works because the layout does indeed look to him like a rat is dropping core :-), something that the judges suggested.

    @@ -2159,7 +2159,7 @@ dropping core :-), something that the judges suggested.

    to to make sure the program is compiled before trying to use it as well as adding a few enhancements. For the alt version he also added the try.alt.sh script to use the alt version, though the -alt version is not as important as alt code in other entries. In order to get +alt version is not as important as alternate code in other entries. In order to get the paging to work right for the garry.data file leading blank lines had to be added.

    @@ -2286,7 +2286,7 @@ error due to the redefinition of main but the -I optio working /usr/include/rrno.h is found first, which shouldn’t cause any problems on other systems (the other file is gcc-lib/sparc-sun-solaris2.5/2.7.2/include/errno.h). Thus Cody also added this to -the Makefile for the (likely?) few who still use Solaris.

    +the Makefile for the (likely?) few who still use Solaris.

    Winning entry: 1996/schweikh2

    Winning entry source code: schweikh2.c

    @@ -2300,8 +2300,8 @@ output better, with the warning that it is an infinite loop).

    Winning entry: 1996/schweikh3

    Source code: schweikh3.c

    -

    Cody updated the Makefile so that if it fails to compile it will try the -method suggested for SunOS rather than having to update the Makefile manually or +

    Cody updated the Makefile so that if it fails to compile it will try the +method suggested for SunOS rather than having to update the Makefile manually or running a more complicated command: now one can just run make.

    Winning entry: 1996/westley

    @@ -2395,7 +2395,7 @@ pootify scripts.

    Winning entry: 1998/dloweneil

    Winning entry source code: dloweneil.c

    -

    Cody added alt code which has vi(m) movement +

    Cody added alternate code which has vi(m) movement (in addition to the other keys except for dropping it’s not d but j or space) keys as well as allowing one to quit the game.

    @@ -2517,14 +2517,14 @@ from breaking if that happens.

    Cody added the try.sh script to make it easier to try the commands that we suggested. One command was not added, that of the to use command.

    -

    Cody also made the Makefile rule all symlink the entry to samefile as that +

    Cody also made the Makefile rule all symlink the entry to samefile as that is the name of the program.

    The author stated that:

        In the remote event that the input has more than `8192` files with
         the same size (on systems where `sizeof (char *) == 4`, or `4096` when
         `sizeof (char *) == 8`), increase the manifest constant 32767 on line
         31.
    -

    so Cody changed the constant to a macro in the Makefile called SZ so one can +

    so Cody changed the constant to a macro in the Makefile called SZ so one can more easily do this (though it indeed seems highly unlikely). See the index.html for more details.

    There actually is a web page for the tool and this was added to the author @@ -2609,7 +2609,7 @@ by us to make it a one-liner again but this was an error as it was not a one-liner but rather a small program. At the same point Cody made the code itself a one-line like the code is in the original entry. Now it looks much more like the original entry but with the two fixes.

    -

    Finally Cody fixed the Makefile that had the -Wno-foo options in the CDEFINE +

    Finally Cody fixed the Makefile that had the -Wno-foo options in the CDEFINE variable which although works it is incongruent with the other Makefiles and is more confusing (though not really).

    @@ -2647,7 +2647,7 @@ game.

    SDL version works independent from the curses version (using the same code). See below for an interesting problem that occurred that had to be resolved for SDL1.

    -

    Cody also added alt code to allow +

    Cody also added alternate code to allow one to slow down the code to get a better idea of what the program looked like back in 2000, with modern systems. This code also, at least for the curses mode, allows one to quit at any time by pressing ‘q’. Note that this alternate version only @@ -2679,10 +2679,10 @@ changed. As was noted in the log at the time:

    Winning entry: 2000/tomx

    Winning entry source code: tomx.c

    -

    Cody added the alt code based on the +

    Cody added the alternate code based on the author’s remarks with a fix for modern systems and he also added the two scripts, try.sh and try.alt.sh for -the main code and the alt code respectively.

    +the main code and the alternate code respectively.

    And although the scripts do chmod +x on the source code (see the index.html for details) the source code is now executable by default.

    @@ -2724,11 +2724,10 @@ matter!

        main (char *ck, char **k)

    to:

        main (int cka, char **k) { char *ck = (char *)cka; /* ... */ }
    -

    The following change was also made to be more portable, in case the constants +

    The following was also done to be more portable, in case the constants PROT_READ and/or PROT_WRITE are not standardised or some platform does not -follow it:

    -

    Change 3 in the call to mmap() to be PROT_READ|PROT_WRITE: just in case -PROT_READ|PROT_WRITE does not equal 3 (though it seems to be equal in both +follow it: change 3 in the call to mmap() to be PROT_READ|PROT_WRITE: just in case +PROT_READ|PROT_WRITE does not equal 3 (though it seems to be equal in both macOS and Linux).

    NOTE: there might be educational value to see the progress of this fix; if you wish to see, try the following commands from the 2001/anonymous directory:

    @@ -2828,7 +2827,7 @@ the ANSI escape codes. This works with both Linux and macOS.

    etc.) after exiting even if you don’t press ‘q’, if you crash or if you kill the program prematurely. This was done by adding an explicit call to e() at the end of main().

    -

    Cody also added the alt code that adds +

    Cody also added the alternate code that adds vi(m) movement keys.

    Winning entry: 2001/dgbeards

    @@ -2921,7 +2920,8 @@ described in the index.html, based on the author’s remarks.

    Winning entry: 2004/arachnid

    Winning entry source code: arachnid.c

    -

    Cody added an alternate version which +

    Cody added an alternate +version which allows those like himself used to h, j, k and l movement keys to not get lost. Non rogue players, vi users and Dvorak typists are invited to get lost (or use the original version)! :-)

    @@ -2966,10 +2966,10 @@ this, forcing -O0.

    versions:

    • gavare.alt.c allows you to change the image size -and anti-alias setting at compile time.
    • +and anti-alias setting at compile time. This is based on the author’s remarks.
    • gavare.alt2.c is like gavare.alt.c but it should work for Windows as well -(it sets binary mode on stdout).
    • +(it sets binary mode on stdout). This is also based on the author’s remarks.
    • gavare.r3.c is the author’s unobfuscated version that was used during development, found on their website about the entry.
    • @@ -2978,7 +2978,7 @@ entry.

      Winning entry: 2004/gavin

      Winning entry source code: gavin.c

    -

    Cody provided the alt code for +

    Cody provided the alternate code for those who want to use QEMU. The most important part of this is the macro K has to be defined as 1, not 0.

    Yusuke provided the kernel and fs.tar files which can be used if @@ -2992,7 +2992,7 @@ files and causing make clobber to wipe some of them out.

    Winning entry source code: hibachi.c

    Cody fixed a bunch of links in the index.html provided with the entry -(web server) that no longer exist or have changed in some other way (https +(the web server’s index.html) that no longer exist or have changed in some other way (https instead of http for instance). In most cases a new link or change to https was all that was necessary but at least one or two URLs required the Internet Wayback Machine.

    @@ -3022,8 +3022,10 @@ this ended up with a number of errors like:

    65 | V F##B (B) ; \ | ^ ~ | ;
    -

    and various other problems.

    -

    Cody also added alt code which allows +

    and various other problems. However there does seem to be a problem at least +with some gcc versions in macOS but this appears to be due to errors in +/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/sys/cdefs.h.

    +

    Cody also added alternate code which allows one to control how many numbers after the : to print before printing a newline, so that one can see the output a bit better (though for lines that have a lot of numbers this will be harder to see).

    @@ -3033,8 +3035,8 @@ a lot of numbers this will be harder to see).

    Winning entry: 2004/kopczynski

    Winning entry source code: kopczynski.c

    -

    Cody reported that this entry cannot be optimised by the compiler as otherwise -it will not work.

    +

    Cody force disabled the optimiser in the Makefile with -O0 as he +discovered it will not work otherwise.

    Cody, out of an abundance of caution for clang, added a second arg to main() as some versions complain about the number of args and although they accept 1 it is entirely possible it will eventually be that they don’t.

    @@ -3072,8 +3074,8 @@ fast in modern systems, especially the scrolling text of

    Winning entry source code: sds.c

    Cody added the try.sh script.

    -

    Also, after the README.md file had copyright changes, it broke the script so -Cody made a copy of the older README.md file into README_sds.txt and added that +

    Also, after the README.md file had copyright changes, it broke the script so +Cody made a copy of the older README.md file into README_sds.txt and added that to the repo for the script instead.

    Winning entry: 2004/vik2

    @@ -3124,10 +3126,9 @@ macOS.

    resulted in macros themselves like #ifdef, #else etc. to be #ifdef, #else etc. and also the inclusion of the file vik2_1.c (which actually includes itself, once directly and now by __FILE__) -which used to be generated by the Makefile via cc -E.

    +which used to be generated by the Makefile via cc -E.

    Cody also made it so that the FNAME is (for the entry file itself and -vik2_1.c: it shouldn’t be done for -vik2.possible.cat.death.c!) __FILE__ +vik2_1.c - there are other places it should not be done) __FILE__ just to make it a bit easier to compile.

    2005 - The 18th IOCCC

    @@ -3139,13 +3140,12 @@ just to make it a bit easier to compile.

    Cody fixed the test script, described by the author in their remarks, to refer to the proper compiled program (it’s hardcoded). This had never been done and so the script did not even work (at least modernly?).

    -

    He also added the alt code based on the +

    He also added the alternate code based on the author’s remarks which is a different approach than the one used and which -(according to the author) ‘is slower (particularly in worst-case or nearly so -scenarios), inelegant, and not a good starting place for sudoku generation.’

    +(according to the author) ‘is slower (particularly in worst-case or nearly so scenarios), inelegant, and not a good starting place for sudoku generation.’

    Cody added the try.sh and try.alt.sh scripts that correspond to the entry and -alt code respectively.

    +alternate code respectively.

    Cody added the make test and make test-n0 rules for easier use of the test suite.

    @@ -3155,9 +3155,9 @@ suite.

    Cody fixed a problem where in some systems (like macOS) the stty sane would not work and end up causing a bus error. Instead of stty sane it uses stty echo which is what it was trying to accomplish.

    The author noted that one can define NO_STTY to not use stty(1) at all -(either to prevent having to hit enter or to turn echo off/on) which is +(either to prevent having to hit enter or to turn echo off/on) and this is explained in the index.html.

    -

    Cody added the alt code with vi(m) like +

    Cody added the alternate code with vi(m) like movements.

    Winning entry: 2005/boutines

    @@ -3212,7 +3212,7 @@ getting stuck in it (and for ease of use). :-)

    temporary file the compilation including the ‘Line’ lines. After that is done it uses grep -c on the file to show that there are indeed as many versions the program generates as the author states, 180. If it does not find 180 it is an -error; otherwise it is success. It uses test.sh.

    +error; otherwise it is success. See test.sh.

    Winning entry: 2005/jetro

    Winning entry source code: jetro.c

    @@ -3228,8 +3228,8 @@ not do it implicitly (like macOS does).

    Winning entry: 2005/mikeash

    Winning entry source code: mikeash.c

    -

    Cody fixed this to work in Linux. The problem was an unknown escape sequence, -\N, which caused a funny compiler error:

    +

    Cody fixed this to work in some versions of linux. The problem was an +unknown escape sequence, \N, which caused a funny compiler error:

        };n b[2048];int i
         mikeash.c: In function 'R':
         mikeash.c:7:1: error: '\N' not followed by '{'
    @@ -3256,18 +3256,19 @@ also show correct output though.

    Cody fixed this so that the configure script (which is not needed but part of the entry) would work with compilers that have by default -Werror like clang in macOS.

    -

    Cody also added the alt code which does scan for https. Futile, maybe, based on -how https is set up, in which case just enjoy it for what it was. But there -might be some command line that will let it work that way or perhaps someone -wants to add the necessary code.

    +

    Cody also added the alternate code which +does scan for https. Futile, maybe, based on how https is set up, in which +case just enjoy it for what it was, without it working with websites that do not +support http. But there might be some command line that will let it work that +way or perhaps someone wants to add the necessary code.

    Winning entry: 2005/persano

    Winning entry source code: persano.c

    -

    Cody added the (untested) alternate -code which should work for Windows as it -sets binary mode on stdout. It is untested as Cody has no Windows system to -test it on.

    +

    Cody added the (untested) alternate +code which should work for Windows as +it sets binary mode on stdout. This was based on the author’s remarks but it +is untested as Cody has no Windows system to test it on.

    Cody also added the try.sh script.

    Winning entry: 2005/sykes

    @@ -3311,18 +3312,17 @@ he doesn’t want to damage anyone else’s brain either. :-)

    Cody fixed this to compile with some versions of clang which have an additional defect where main() can only have 0, 2 or 3 args (it was 4). It now calls another function that takes 4 args and which is what used to be main().

    -

    The alternate versions were also fixed.

    +

    The alternate versions that the author +provided were also fixed.

    Winning entry: 2005/vince

    Winning entry source code: vince.c

    -

    Cody fixed this in the case that the program is compiled or linked/copies to +

    Cody fixed this in the case that the program is compiled or linked/copied to another file name: the code constructed the source code file name in a clever and more obscure way by copying to the buffer *argv and then using strcat(3) to concatenate to it .c. But this assumes that the executable is the same name -as the source file which isn’t always be true. The author even stated: ‘as long -as the source is in the same directory as the executable it should be able to -find it’ but the source code file name is not always the same as the executable +as the source file which isn’t always true. The author even stated: ‘as long as the source is in the same directory as the executable it should be able to find it’ but the source code file name is not always the same as the executable with the appropriate extension so this might be called a bug fix as well though if one runs it from another directory, specifying the directory, it’ll not catch it.

    @@ -3332,14 +3332,15 @@ if one runs it from another directory, specifying the directory, it’ll not cat

    Winning entry: 2006/birken

    Winning entry source code: birken.c

    -

    Cody fixed a segfault in macOS with this entry. The problem was a missing +1 -for strlen() with malloc(). This prevented it from working.

    +

    Cody fixed a segfault that prevented this entry from working in macOS. +The problem was a missing +1 for strlen(3) with malloc(3). This prevented +it from working.

    Cody also added the try.sh script.

    Winning entry: 2006/borsanyi

    Winning entry source code: borsanyi.c

    -

    Cody fixed the Makefile to work in systems where the lpthread is not +

    Cody fixed the Makefile to work in systems where the lpthread is not implicitly linked in.

    Cody also added the try.sh script.

    @@ -3351,25 +3352,23 @@ implicitly linked in.

    Winning entry: 2006/hamre

    Winning entry source code: hamre.c

    -

    Cody fixed this so that it will not crash without an arg after it was suggested -this should be fixed.

    Cody also added the try.sh script.

    Winning entry: 2006/monge

    Winning entry source code: monge.c

    -

    Cody added the alternate code that lets +

    Cody added the alternate code that lets one resize the image and redefine the number of iterations.

    Cody also added the try.sh and try.alt.sh scripts.

    -

    Cody also fixed the Makefile to use sdl-config (which is what the author +

    Cody also fixed the Makefile to use sdl-config (which is what the author stated too though that was noticed later), not sdl2-config as two functions that are used were removed from SDL2, thus making it not link. Since SDL2 is still available and since changing the code to use SDL2 is much more complicated and also makes the entry less like the original it was simply made to link in SDL1.

    Nevertheless this entry does require x86/x86_64 CPUS. This is a documented -feature but one which we will accept fixes to. See 2006/monge in +feature but one which we will accept fixes to. See 2006/monge in bugs.html.

    Winning entry: 2006/night

    @@ -3382,7 +3381,7 @@ back for arrow keys in the Winning entry source code: sloane.c

    Cody fixed this entry to work with clang which has a defect with the args to -main(): it requires specific types: int and `char ** for the first and +main(): it requires specific types: int and char ** for the first and latter args.

    Cody also provided the alternate version, which allows one to see what is going on in modern systems, and which we recommend one @@ -3392,28 +3391,27 @@ some versions do allow only one arg. This was done at first because it’s not used but Cody discovered that later versions of clang have an additional defect where it does not allow only one arg so the second arg to main() was added back.

    -

    This was an unfortunate problem for the alt code as he has been using Z for alt -code usleep() (for sleep) but in this case unfortunately the original entry -used Z in main() (though unused) so to make it more like the original Cody -renamed the macro Z for usleep() to S instead which can stand for sleep -and also it is kind of like a backwards Z. That way Z could be in main().

    -

    Cody also made sure that the Makefile links in libm as not all systems do this +

    This was an unfortunate problem for the alternate code as he has been using Z +for alternate code usleep() (for sleep) but in this case unfortunately the +original entry used Z in main() (though unused) so to make it more like the +original Cody renamed the macro Z for usleep() to S instead which can +stand for sleep and also it is kind of like a backwards Z. That way Z could +be in main().

    +

    Cody also made sure that the Makefile links in libm as not all systems do this by default.

    Since the author suggested that the lack of certain #includes might break the -program in some systems he also added -include ... to the Makefile as well.

    +program in some systems he also added -include ... to the Makefile as well.

    Winning entry: 2006/stewart

    Winning entry source code: stewart.c

    Cody added the try.sh script.

    -

    Cody also fixed it so that if the file cannot be opened it exits rather than trying -to read from the file. This was done at a time when it was considered to be a -bug to fix.

    Winning entry: 2006/sykes1

    Winning entry source code: sykes1.c

    -

    Cody provided the alt code based on the +

    Cody provided the alternate +code based on the author’s remarks.

    Cody also added the try.sh script.

    Cody also provided the bedlam-cubes.pdf file, @@ -3425,7 +3423,7 @@ it to the repo as well.

    Winning entry source code: sykes2.c

    Cody, out of an abundance of caution for clang’s defects, made main() have -to args instead of 1 as some versions report that main() must have 0, 2 or 3 +2 args instead of 1 as some versions report that main() must have 0, 2 or 3 args, even though at least one of those versions allows 1 arg only.

    Cody also added the try.sh script for easier use of the entry to show the clock update in real time.

    @@ -3442,7 +3440,8 @@ entry to show the clock update in real time.

    macOS - it did not seem to be a problem under Linux, at least not fedora. The problem was wrong variable types - implicit ints instead of FILE *s. It now works with both macOS and Linux.

    -

    Cody also added the (untested) alt code that is based on the author’s remarks to +

    Cody also added the (untested) alternate +code that is based on the author’s remarks to port this to systems that have the non-standard kbhit() and getch() (not the one from curses) which is typically (always?) in conio.h.

    The author, Oscar Toledo G., later went back over @@ -3560,7 +3559,7 @@ bugs.html for more details).

    lets one reconfigure the controls and also the size of the game and another version that should work in Windows, based on the author’s remarks and support file, layer.c.

    -

    The Makefile was also modified by Cody to make it simpler to redefine the +

    The Makefile was also modified by Cody to make it simpler to redefine the controls, width and height.

    Winning entry: 2011/vik

    @@ -3575,7 +3574,7 @@ header files). To build try the alt rule of the Makefile.

    Winning entry source code: zucker.c

    Cody added the try.sh script.

    -

    Cody also added alt code that should work on +

    Cody also added alternate code that should work on Windows, based on the author’s remarks that if the system distinguishes binary and text then stdout needs to be set to binary mode.

    Cody also added the PDF file @@ -3606,13 +3605,13 @@ implicitly (Linux doesn’t seem to but macOS does).

    let one control how fast the fluid moves (how long to sleep in between writes) and also the gravity factor, the pressure factor and the viscosity factor as well as an alarm that lets one run it in a loop without having to hit -ctrl-c/intr in between (the alarm can be disabled, however). The Makefile allows +ctrl-c/intr in between (the alarm can be disabled, however). The Makefile allows one to easily do this with variable names rather than redefining CDEFINE.

    The two different alt versions is because there are two versions: the original and the colour version added by the author, Yusuke, at the request of the judges.

    Cody also added the try.alt.sh script that compiles -the alt code in two ways, one with setting the gravity factor to I and another +the alternate code in two ways, one with setting the gravity factor to I and another with the default, and which is run on the source file and each of the text files supplied by the author. This code has an alarm set at 10 seconds so that one need not hit ctrl-c/intr in between .. say to make it more fluid :-)

    @@ -3668,7 +3667,7 @@ title and stylesheet) and other formatting changes.

    Winning entry: 2012/kang

    Winning entry source code: kang.c

    -

    Cody added alt code that fixes a problem where in German ‘v’ sounds like ‘f’ +

    Cody added alternate code that fixes a problem where in German ‘v’ sounds like ‘f’ which the program has as ‘f’: with the original version it would translate ‘fier’ to ‘4’ when the word is ‘vier’. But see below.

    Originally this was updated in the original code but it was noticed that this @@ -3731,7 +3730,7 @@ it’s not that it parses C but rather just matching pairs though that’s proba 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.

    -

    A problem was later fixed in the Makefile by Cody, a typo in the CSILENCE +

    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 look at the program source with tab space of 4 characters so Cody added the @@ -3751,10 +3750,10 @@ 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 +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 alt code.

    +try.alt.sh script for the alternate code.

    Winning entry: 2013/cable1

    Winning entry source code: cable1.c

    @@ -3776,7 +3775,7 @@ joke Easter egg in it based on the judges’ remarks.

    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. +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.

    Later on in an updated macOS (problem discovered in macOS Sonoma) the entry @@ -3803,14 +3802,14 @@ author linked to at https://bitly.com/1bU8URK.

    Winning entry source code: dlowe.c

    Cody added the source code that we suggested one should compile and run with -different compilers as fun.c. He modified the Makefile so +different compilers as fun.c. He modified the Makefile so that running make all will compile it, saving you the effort.

    He also provided the script slflen.sh which is based on the author’s remarks, fixing it for shellcheck and improving upon it (show what files will be processed). This script shows the sparkline of the file lengths (as in wc -c). The fixes (but not the improvements) were added to the author’s remarks.

    -

    Since the author called the program sparkl Cody modified the Makefile so that +

    Since the author called the program sparkl Cody modified the Makefile so that running make all will create a symlink to dlowe as sparkl. Running make clobber will delete both and running make clobber all will ensure that the symlink is created. The slflen.sh script also explicitly makes sure to create the symlink as it uses it, even though it runs make clobber all.

    @@ -3827,7 +3826,7 @@ commands to try that he suggested to see how different lengths look.

    Winning entry: 2013/endoh2

    Winning entry source code: endoh2.c

    -

    Cody fixed the Makefile check rule so that it checks :-) that both +

    Cody fixed the Makefile check rule so that it checks :-) that both 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) @@ -3866,12 +3865,12 @@ allows one to redefine it as well.

    Winning entry: 2013/hou

    Winning entry source code: hou.c

    -

    Cody fixed the Makefile so that this would work properly. Before this +

    Cody fixed the Makefile so that this would work properly. Before this the use of the program just did what the judges’ remarks said as far as how it might violate rule 2: the program is really just a decompressor to generate the real source of the program. So the source of the entry has to be compiled and then run, and the output has to be compiled to be hou. This allows the real -program to be used. Thus the Makefile rule looks like:

    +program to be used. Thus the Makefile rule looks like:

        ${PROG}: ${PROG}.c
                 ${CC} ${CFLAGS} $< -o $@ ${LDFLAGS}
             ./${PROG} | ${CC} ${CFLAGS} -xc - -o $@ ${LDFLAGS}
    @@ -3882,7 +3881,7 @@ program to be used. Thus the Makefile rule looks like:

    math.h library which not all systems link in by default (Linux for instance does not).

    The author noted that one can build a.c and refers to it in documentation. The -rule in the Makefile was originally removed as part of the above but it was +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 @@ -3927,13 +3926,13 @@ 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 you redefine the timing constant STARDATE (see the author’s remarks for more -details on this macro). The Makefile was made to use variables so it’s easier to +details on this macro). The Makefile was made to use variables so it’s easier to redefine the port and timing constant.

    Winning entry: 2014/deak

    Winning entry source code: prog.c

    -

    Cody added alt code that lets +

    Cody added alternate code that lets 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:

    @@ -3945,7 +3944,7 @@ application source code is intentionally kept to a bare minimum.

    This alt 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 alt code, of course.

    +#ifndef..#define..#endif was not part of the original alternate code, of course.

    Cody also added the try.alt.sh script.

    Winning entry: 2014/endoh1

    @@ -4016,8 +4015,8 @@ kill it). This is done this way in case it jams (see index.html for details).

    Winning entry: 2014/skeggs

    Winning entry source code: prog.c

    -

    Cody fixed the Makefile to compile this entry in modern systems. The problem was -that the CDEFINE variable in the Makefile was missing 's: the #define CC +

    Cody fixed the Makefile to compile this entry in modern systems. The problem was +that the CDEFINE variable in the Makefile was missing 's: the #define CC is an actual string that is, in the Makefile, "${CC} -fPIC", which translates to whatever the compiler is followed by a space followed by -fPIC but without the 's it was incomplete and so would not compile. Cody didn’t @@ -4061,11 +4060,11 @@ before that is if one did something like:

        ln -sf prog eprog
         PATH=$PATH:. ; eprog '...'

    since otherwise the first character would not be e but rather a dot -(./eprog). This was done by adding to the Makefile -include libgen.h and +(./eprog). This was done by adding to the Makefile -include libgen.h and adding to main() after the variable declaration (V*A;) the code:

        *K=basename(*K);

    This was done for both the prog.c and -prog.alt.c. The Makefile was also updated to build +prog.alt.c. The Makefile was also updated to build eprog and eprog.alt to make use of the feature more easily. Each is a new target (first in TARGET and second in ALT_TARGET) which have a prerequisite of ${PROG} and ${PROG}.alt respectively both of which also copy the prog @@ -4076,7 +4075,7 @@ adding a text file, try.this.txt.

    Cody also added calc.1 in place of calc.man to have proper formatting (in the style of man(1)). The calc.man was removed so as to not have to maintain two copies of the same text.

    -

    Cody updated the Makefile to copy the prog to calc and prog.alt to +

    Cody updated the Makefile to copy the prog to calc and prog.alt to calc.alt. ecalc and ecalc.alt also work. This is because the program is called calc and is in documentation including the man page. Thus one only need add a ./ to the commands in the man page/index.html.

    @@ -4084,9 +4083,9 @@ add a ./ to the commands in the man page/index.html.

    Winning entry: 2015/dogon

    Winning entry source code: prog.c

    -

    Cody improved the Makefile so that one can easily change the dimensions +

    Cody improved the Makefile so that one can easily change the dimensions at compilation time via make(1).

    -

    Cody also added alt code that is based on the author’s remarks, suggesting that +

    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.

    @@ -4169,7 +4168,7 @@ the code any with C preprocessor directives (the preferred way) or changing

    Winning entry: 2015/yang

    Winning entry source code: prog.c

    -

    Cody fixed an unfortunate typo in the Makefile that was preventing some of the +

    Cody fixed an unfortunate typo in the Makefile that was preventing some of the files from compiling properly, trying instead to compile already compiled code.

    He also added explicit linking of libm (-lm) for systems that do not do this (Linux seems to not but macOS does).

    @@ -4200,7 +4199,7 @@ object to 1 arg but it is entirely possible that this changes so a second arg (that’s not needed and is unused) has been added just in case.

    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 alt 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.

    @@ -4261,7 +4260,7 @@ exist and also didn’t work even after that was addressed) and added the python3.sh scripts. The try.sh script runs all 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 +exit the script). The make python and make python3 rules in the Makefile now run the respective scripts.

    Winning entry: 2018/ferguson

    @@ -4298,7 +4297,7 @@ details on the bug.

    Winning entry: 2018/poikola

    Winning entry source code: prog.c

    -

    Cody added the missing docs rule to the Makefile that forms a PDF +

    Cody added the missing docs rule to the Makefile that forms a PDF file. The rule requires the tool pdflatex.

    Cody also added the try.sh script.

    Dave Burton, during the preview period, noticed a @@ -4331,7 +4330,7 @@ to what can crash it - but it’s not a bug, it’s a feature.

    Winning entry: 2019/burton

    Winning entry source code: prog.c

    -

    Cody fixed the Makefile which had a bad character, a ‘%’ instead of a ‘$’ which +

    Cody fixed the Makefile which had a bad character, a ‘%’ instead of a ‘$’ which caused a rule to fail.

    Cody also added the try.sh script which shows a side-by-side comparison on several files of the entry and wc(1) as well as @@ -4353,14 +4352,14 @@ browsers/GitHub.

    mean that they will produce any output, though, as they provide 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.

    -

    Cody also fixed the Makefile so that the alt code would be built when running +

    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, fasc5c.pdf, and added it to the website.

    Cody also added the try.sh and try.alt.sh scripts.

    -

    Finally he added the scripts for the different languages that use the alt +

    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 for more details.

    @@ -4388,7 +4387,7 @@ 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 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.

    @@ -4404,7 +4403,7 @@ else).

    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, -fullscreen.sh, to simplify the Makefile and provide +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 how to easily compile the program to a specific size. Note that LINES and @@ -4456,7 +4455,7 @@ entry existing.

    Winning entry: 2019/poikola

    Winning entry source code: prog.c

    -

    Cody added the missing docs rule to the Makefile that forms a PDF +

    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.

    @@ -4534,7 +4533,7 @@ knows it so he might be called unusual (and he argues, with pride, eccentric :-) ) :-)

    Cody also added the run_clock.alt.sh script which is analogous to the run_clock.sh but for the -alt code provided by the author, Yusuke.

    +alternate code provided by the author, Yusuke.

    Winning entry: 2020/ferguson1

    Winning entry source code: prog.c

    @@ -4555,7 +4554,7 @@ layered chocolate fudge cake recipe :-)

    Cody, with intentional irony here :-), fixed formatting, links and typos in various files.

    He also added the try.sh script.

    -

    He also added the alt code and the +

    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 @@ -4590,7 +4589,7 @@ use the program to play the WAV files (and in one case stdout).

    Winning entry source code: prog.c

    Cody added the try.sh script.

    -

    Cody also added -L/-I paths to the Makefile to let this compile more easily if +

    Cody also added -L/-I paths to the Makefile to let this compile more easily if the user has installed the appropriate library with MacPorts (with the default MacPorts prefix /opt/local).

    @@ -4654,15 +4653,15 @@ compilers. See the index.html for more details.

    Makefiles fixes and improvements

    -

    Cody fixed the top level Makefile all rule which had a stray fi; +

    Cody fixed the top level Makefile all rule which had a stray fi; without an if so the rule failed entirely.

    Cody also made a variety of other changes in all the Makefiles, sometimes to get an entry to work, all noted above, but he also improved them all in at least one or two ways. Some of the changes made are below.

    Cody changed the LIBS variable to LDFLAGS as that is the standard -variable. This simplifies compiling without having to modify the Makefile which +variable. This simplifies compiling without having to modify the Makefile which can be useful if something changes or if someone is trying to fix an entry but -forgets to change the Makefile or even if they don’t want to make a change due +forgets to change the Makefile or even if they don’t want to make a change due to a temporary test. These would of course depend on the compiler invocation but since LDFLAGS is standard it is more likely to be used by default so no need to check the Makefiles.

    diff --git a/thanks-for-help.md b/thanks-for-help.md index 2dc6a4627..00f23ca81 100644 --- a/thanks-for-help.md +++ b/thanks-for-help.md @@ -247,7 +247,7 @@ Cody also provided the [try.alt.sh](%%REPO_URL%%/1985/lycklama/try.alt.sh) scrip ### Winning entry source code: [shapiro.c](%%REPO_URL%%/1985/shapiro/shapiro.c) -[Cody](#cody) added the [alt code](%%REPO_URL%%/1985/shapiro/shapiro.alt.c) +[Cody](#cody) added the [alternate code](%%REPO_URL%%/1985/shapiro/shapiro.alt.c) which allows one to resize the maze and he also added the [try.alt.sh](%%REPO_URL%%/1985/shapiro/try.alt.sh) script that randomly selects sizes (five times) and then compiles and runs it. After the five runs it prompts @@ -450,7 +450,7 @@ see how odd this problem was and what Cody did to fix it, if nothing else but for entertainment! Also, after all warnings but one that could not be silenced were disabled, Cody -changed the [alt code](%%REPO_URL%%/1986/marshall/marshall.alt.c) (which was not +changed the [alternate code](%%REPO_URL%%/1986/marshall/marshall.alt.c) (which was not the same as the original - see above for details or try `make diff_orig_alt` in the directory) slightly so that it was possible to silence it. In particular: @@ -491,7 +491,7 @@ are produced. ### Winning entry source code: [pawka.c](%%REPO_URL%%/1986/pawka/pawka.c) -[Cody](#cody) noticed and fixed a funny mistake in the Makefile where a +[Cody](#cody) noticed and fixed a funny mistake in the `Makefile` where a `-Wno-strict-prototypes` was in the wrong location, suggesting that there is a `-D` needed to compile the entry but this is not actually so. @@ -742,7 +742,7 @@ although it has some code no longer there, it has a closer match in symmetry and since the code was commented out it's probably not a big deal to have it removed instead as it does look more symmetrical now. -Cody also added to the Makefile `-include stdio.h` in the nowadays very +Cody also added to the `Makefile` `-include stdio.h` in the nowadays very unlikely(?) but nevertheless suggested case that `putchar(3)` is not available. @@ -852,7 +852,7 @@ found in the index.html file. ### Winning entry source code: [litmaath.c](%%REPO_URL%%/1988/litmaath/litmaath.c) -[Cody](#cody) added the [alt code](%%REPO_URL%%/1988/litmaath/litmaath.alt.c) +[Cody](#cody) added the [alternate code](%%REPO_URL%%/1988/litmaath/litmaath.alt.c) which is code that we suggested at the time of publication, in the remarks, to help understand the entry, and for fun. @@ -984,10 +984,10 @@ the Earth is **NOT** flat: because if it was they would have pushed everything off it by now! :-) They're also a great joy to all ailurophiles and yes they most certainly do have a personality and they can be very sociable. -Whilst he was at it, Cody made it so that one need not run the alt script or alt -code directly, to match that of the main entry. As we simulate the functionality -anyway, and since one may still run the code or the script (for the original -entry and the alt code) anyway, it works out well. +Whilst he was at it, Cody made it so that one need not run the alt script or +alternate code directly, to match that of the main entry. As we simulate the +functionality anyway, and since one may still run the code or the script (for +the original entry and the alternate code) anyway, it works out well.
    @@ -1020,7 +1020,7 @@ supplementary files [try.lisp](%%REPO_URL%%/1989/jar.2/try.lisp), [Yusuke](#yusuke). Cody wrote the script and offered us some chocolate cake :-) See index.html for details on how to use the script. -Cody also fixed the Makefile where typing `make everything` or `make alt` would +Cody also fixed the `Makefile` where typing `make everything` or `make alt` would result in: ``` @@ -1053,7 +1053,7 @@ output. Cody also provided an [alternate version](%%REPO_URL%%/1989/ovdluhe/ovdluhe.alt.c) based on the author's remarks and the [try.alt.sh](%%REPO_URL%%/1989/ovdluhe/try.alt.sh) script that -uses the alt code, allowing one to configure the alt build. See the index.html +uses the alternate code, allowing one to configure the alt build. See the index.html for details. The fix described above was fixed in this version too, after it was discovered and fixed. @@ -1319,7 +1319,7 @@ a typo here) from invalid input but which now works. ### Winning entry source code: [pjr.c](%%REPO_URL%%/1990/pjr/pjr.c)
    -[Cody](#cody) added the [alt code](%%REPO_URL%%/1990/pjr/pjr.alt.c) which was suggested by the judges +[Cody](#cody) added the [alternate code](%%REPO_URL%%/1990/pjr/pjr.alt.c) which was suggested by the judges in the case that your compiler cannot compile `X=g()...` but it actually does something else and is recommended by the author as well. @@ -1345,7 +1345,7 @@ entry does. [Cody](#cody) fixed this to work with modern compilers; `exit(3)` returns `void` but the function was used in a binary expression so this wouldn't even compile. -Cody fixed (as above) and added the shortened version as [alt +Cody fixed (as above) and added the shortened version as [alternate code](%%REPO_URL%%/1990/tbr/tbr.alt.c) which originally comes from the author. @@ -1436,7 +1436,7 @@ He also fixed the code to not enter an infinite loop if arg is a number not > 0 and to not crash if no arg is specified. This was done during a time it was deemed a problem to be fixed. -NOTE: the alt code did NOT have arg checks added as it is actually a copy of the +NOTE: the alternate code did NOT have arg checks added as it is actually a copy of the original code. Cody also added the [try.sh](%%REPO_URL%%/1990/westley/try.sh) script. @@ -1453,7 +1453,7 @@ Cody also added the [try.sh](%%REPO_URL%%/1990/westley/try.sh) script. ### Winning entry source code: [ant.c](%%REPO_URL%%/1991/ant/ant.c) -[Cody](#cody) added [alt code](%%REPO_URL%%/1991/ant/ant.alt.c) that will be a bit easier to use for +[Cody](#cody) added [alternate code](%%REPO_URL%%/1991/ant/ant.alt.c) that will be a bit easier to use for those familiar with vim in the following ways (we don't want vi users to also not be able to use it or exit it, now do we ? :-) ): @@ -1653,7 +1653,7 @@ might still get some warnings there. The key to the string is that it rotates the character by `+1`. This was not immediately clear until reading the author's remarks so there was an alt version that was something of a kludge, running `make a` instead, but after the proper -fix was implemented the alt code was removed. +fix was implemented the alternate code was removed. Cody also fixed a typo in `LANDER.BAS` and made it so that if a file could not be opened for reading or a file could not be opened for writing it would not crash. @@ -1810,7 +1810,7 @@ like: one must keep the `Y[strlen(Y)-1]='\0';` part and keep it there. -These fixes are complex changes due to the way the program and Makefile generate +These fixes are complex changes due to the way the program and `Makefile` generate the additional tools. Cody finally added the [try.sh](%%REPO_URL%%/1992/adrian/try.sh) script that shows the entry @@ -1825,7 +1825,7 @@ generated. [Cody](#cody) fixed this to compile with modern systems. Note that in 1996 a bug fix was -applied to the code, provided as the alt code as that version is not obfuscated. +applied to the code, provided as the alternate code as that version is not obfuscated. Thus Cody's fix applies to the original entry. The problems were that `malloc.h` is not the correct header file now (at least in some systems) and a non-void (implicit `int`) function returning without a value. That function was changed to @@ -1833,7 +1833,7 @@ return `void`. Cody also added the [try.sh](%%REPO_URL%%/1992/albert/try.sh) and [try.alt.sh](%%REPO_URL%%/1992/albert/try.alt.sh) scripts that correspond to the entry and -the alt code. +the alternate code.
    @@ -1841,17 +1841,17 @@ the alt code. ### Winning entry source code: [ant.c](%%REPO_URL%%/1992/ant/ant.c)
    -[Cody](#cody) fixed the Makefile so that the program will actually work with it (or at +[Cody](#cody) fixed the `Makefile` so that the program will actually work with it (or at least the rule to clobber files and link `am` to `ant`). The issue was that the -variables in the Makefile could not be evaluated in the same way as it's not as +variables in the `Makefile` could not be evaluated in the same way as it's not as feature-rich as other implementations of `make(1)`. Thus the use of `${RM}` and `${CP}` were in the respective rules changed to `rm` and `cp`, for two examples. A new rule had to be added as well. The variable situation might be because they -are obtained from the root variable Makefile `var.mk` via `include` which the +are obtained from the root variable `Makefile` `var.mk` via `include` which the program might not support (this has not been tested, however) and also because it appears that the syntax for this program is to use `$()` rather than `${}`. -Cody also fixed another problem, unrelated, in the Makefile with the `.PHONY` +Cody also fixed another problem, unrelated, in the `Makefile` with the `.PHONY` rule where a line was not ended with a `\` but should have been. The author stated that in some systems like DOS with Turbo C, it might be @@ -1880,12 +1880,12 @@ commands that we suggested and some additional ones that he provide for some fun ### Winning entry source code: [buzzard.2.c](%%REPO_URL%%/1992/buzzard.2/buzzard.2.c) -[Cody](#cody) fixed the alt code to compile. The problem was it assumed that +[Cody](#cody) fixed the alternate code to compile. The problem was it assumed that `exit(3)` returns a value, not `void`. This was fixed with a `,0`. Cody also added the [try.sh](%%REPO_URL%%/1992/buzzard.2/try.sh) and [try.alt.sh](%%REPO_URL%%/1992/buzzard.2/try.alt.sh) scripts that correspond to the entry -and its alt code. +and its alternate code.
    @@ -1932,13 +1932,13 @@ operator so that it could be used in binary expressions. It was observed that on modern systems this goes much too quick. [Yusuke](#yusuke) created a patch that calls `usleep(3)` but [Cody](#cody) thought the value was too slow so he -made it a macro in the Makefile `Z` (which can be redefined with `make -SLEEP=...`), defaulting at 15000. This was made an [alt -version](%%REPO_URL%%/1992/kivinen/kivinen.alt.c) and it is recommended one use the alt -version first. See the index.html file to see how to reconfigure it. +made it a macro in the `Makefile` `Z` (which can be redefined with `make +SLEEP=...`), defaulting at 15000. This was made an [alternate +version](%%REPO_URL%%/1992/kivinen/kivinen.alt.c) and it is recommended one use +the alternate version first. See the index.html file to see how to reconfigure it. Cody also made the fixed version (the code relied on `exit(3)` returning to use -in binary expressions) (and alt code from it) more like the original by renaming +in binary expressions) (and alternate code from it) more like the original by renaming the `ext` macro to be `exit` which uses the comma operator. He made it so the line lengths match the original code, at least as best as possible (if not perfectly), including start and end columns, often (if not all) with the same @@ -2046,7 +2046,7 @@ unless of course it becomes too small. Cody added the scripts [whereami.sh](%%REPO_URL%%/1992/westley/whereami.sh) and [whereami.alt.sh](%%REPO_URL%%/1992/westley/whereami.alt.sh) which correspond to the entry and -the alt code but first check that the number of columns is at least 80 and if +the alternate code but first check that the number of columns is at least 80 and if not it is an error. Cody added the [try.sh](%%REPO_URL%%/1992/westley/try.sh) script that shows the different @@ -2088,7 +2088,7 @@ encourage you to try the original without two args :-) [Yusuke](#yusuke) suggested that with modern systems this goes too fast so he added a call to `usleep(3)` in a patch he made. [Cody](#cody) made it configurable at compilation by -using a macro. This is in the [alt +using a macro. This is in the [alternate version](%%REPO_URL%%/1993/cmills/cmills.alt.c) which is the recommended one to try first. @@ -2152,7 +2152,7 @@ version](%%REPO_URL%%/1993/lmfjyh/lmfjyh.alt.c) which does what the program did with `gcc` < 2.3.3. See the index.html file for details and for why this was made the alternate version, not the actual entry. -Cody also made the Makefile delete the very unsafe filename that is compiled (or +Cody also made the `Makefile` delete the very unsafe filename that is compiled (or would be compiled if `gcc` < 2.3.3) whether or not compilation succeeds (which is highly unlikely). @@ -2223,7 +2223,7 @@ 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 work). -Cody also added the alt code, provided by the author, which is: +Cody also added the alternate code, provided by the author, which is: ``` ... a version of the program before it got formatted into the VIII, @@ -2285,11 +2285,11 @@ that already existed, how many you had and how many were stolen. [Cody](#cody) fixed this to check that four args were specified (at a time it was considered a bug to fix). With the use of the C pre-processor macro and -inclusion of `stdlib.h` in the Makefile the layout of the source is exactly the +inclusion of `stdlib.h` in the `Makefile` the layout of the source is exactly the same column width and no additional lines were added. This was done during one of the times where this was changed to bug to fix status, for better or worse. -Cody also fixed the Makefile which was causing alt code to be compiled when it +Cody also fixed the `Makefile` which was causing alternate code to be compiled when it shouldn't be. Cody also added the scripts [try.sh](%%REPO_URL%%/1994/horton/try.sh) and @@ -2398,7 +2398,7 @@ check [1994/shapiro in bugs.html](bugs.html#1994_shapiro).
    [Cody](#cody) added the try scripts, four total, colour and black and white -pairs for the original entry and the alt code. These scripts are +pairs for the original entry and the alternate code. These scripts are [try.color.sh](%%REPO_URL%%/1994/tvr/try.color.sh) (color to match the author's remarks), [try.bw.sh](%%REPO_URL%%/1994/tvr/try.bw.sh), [try.alt.color.sh](%%REPO_URL%%/1994/tvr/try.alt.color.sh) and @@ -2413,7 +2413,7 @@ fgets(3)?](faq.html#faq4_1) for why this was done. In this case the newline had to be terminated but it was a pretty straightforward fix. `gets()` was defined to use `fgets()` and the inclusion of `stdio.h` had to be added but to make it -more like the original entry this was done in the Makefile. The alt code was +more like the original entry this was done in the Makefile. The alternate code was also changed to use `fgets(3)`. @@ -2422,7 +2422,7 @@ also changed to use `fgets(3)`. ### Winning entry source code: [weisberg.c](%%REPO_URL%%/1994/weisberg/weisberg.c) -[Cody](#cody) changed the Makefile to make this program more user friendly and easier to +[Cody](#cody) changed the `Makefile` to make this program more user friendly and easier to use with other tools as well by making the program output not a space after each number but rather a newline. @@ -2498,7 +2498,7 @@ provided which is input we suggested one try with the entry. ### Winning entry source code: [garry.c](%%REPO_URL%%/1995/garry/garry.c) -[Cody](#cody) fixed the alt code so that it will compile with modern compilers. The +[Cody](#cody) fixed the alternate code so that it will compile with modern compilers. The problem was a missing `int` for the `f` variable. He felt it was even more important that it works because the layout does indeed look to him like a rat is dropping core :-), something that the judges suggested. @@ -2507,7 +2507,7 @@ Cody also renamed `garry.test.sh` to [try.sh](%%REPO_URL%%/1995/garry/try.sh) an to to make sure the program is compiled before trying to use it as well as adding a few enhancements. For the alt version he also added the [try.alt.sh](%%REPO_URL%%/1995/garry/try.alt.sh) script to use the alt version, though the -alt version is not as important as alt code in other entries. In order to get +alt version is not as important as alternate code in other entries. In order to get the paging to work right for the `garry.data` file leading blank lines had to be added. @@ -2688,7 +2688,7 @@ error due to the redefinition of `main` but the `-I` option makes sure the working `/usr/include/rrno.h` is found first, which shouldn't cause any problems on other systems (the other file is `gcc-lib/sparc-sun-solaris2.5/2.7.2/include/errno.h`). Thus Cody also added this to -the Makefile for the (likely?) few who still use Solaris. +the `Makefile` for the (likely?) few who still use Solaris.
    @@ -2708,8 +2708,8 @@ output better, with the warning that it is an infinite loop). ## Source code: [schweikh3.c](%%REPO_URL%%/1996/schweikh3/schweikh3.c)
    -[Cody](#cody) updated the Makefile so that if it fails to compile it will try the -method suggested for SunOS rather than having to update the Makefile manually or +[Cody](#cody) updated the `Makefile` so that if it fails to compile it will try the +method suggested for SunOS rather than having to update the `Makefile` manually or running a more complicated command: now one can just run `make`. @@ -2837,7 +2837,7 @@ pootify scripts. ### Winning entry source code: [dloweneil.c](%%REPO_URL%%/1998/dloweneil/dloweneil.c) -[Cody](#cody) added [alt code](%%REPO_URL%%/1998/dloweneil/dloweneil.alt.c) which has vi(m) movement +[Cody](#cody) added [alternate code](%%REPO_URL%%/1998/dloweneil/dloweneil.alt.c) which has vi(m) movement (in addition to the other keys except for dropping it's not `d` but `j` or space) keys as well as allowing one to quit the game. @@ -3008,7 +3008,7 @@ Cody added the [try.sh](%%REPO_URL%%/1998/schweikh3/try.sh) script to make it ea the commands that we suggested. One command was not added, that of the to use command. -Cody also made the Makefile rule `all` symlink the entry to `samefile` as that +Cody also made the `Makefile` rule `all` symlink the entry to `samefile` as that is the name of the program. The author stated that: @@ -3020,7 +3020,7 @@ The author stated that: 31. ``` -so Cody changed the constant to a macro in the Makefile called `SZ` so one can +so Cody changed the constant to a macro in the `Makefile` called `SZ` so one can more easily do this (though it indeed seems highly unlikely). See the index.html for more details. @@ -3142,7 +3142,7 @@ one-liner but rather a small program. At the same point Cody made the code itself a one-line like the code is in the original entry. Now it looks much more like the original entry but with the two fixes. -Finally Cody fixed the Makefile that had the `-Wno-foo` options in the `CDEFINE` +Finally Cody fixed the `Makefile` that had the `-Wno-foo` options in the `CDEFINE` variable which although works it is incongruent with the other Makefiles and is more confusing (though not really). @@ -3201,7 +3201,7 @@ game. (using the same code). See below for an interesting problem that occurred that had to be resolved for SDL1. -Cody also added [alt code](%%REPO_URL%%/2000/thadgavin/thadgavin.alt.c) to allow +Cody also added [alternate code](%%REPO_URL%%/2000/thadgavin/thadgavin.alt.c) to allow one to slow down the code to get a better idea of what the program looked like back in 2000, with modern systems. This code also, at least for the curses mode, allows one to quit at any time by pressing 'q'. Note that this alternate version only @@ -3240,10 +3240,10 @@ changed. As was noted in the log at the time: ### Winning entry source code: [tomx.c](%%REPO_URL%%/2000/tomx//tomx.c) -[Cody](#cody) added the [alt code](%%REPO_URL%%/2000/tomx/tomx.alt.c) based on the +[Cody](#cody) added the [alternate code](%%REPO_URL%%/2000/tomx/tomx.alt.c) based on the author's remarks with a fix for modern systems and he also added the two scripts, [try.sh](%%REPO_URL%%/2000/tomx/try.sh) and [try.alt.sh](%%REPO_URL%%/2000/tomx/try.alt.sh) for -the main code and the alt code respectively. +the main code and the alternate code respectively. And although the scripts do `chmod +x` on the source code (see the index.html for details) the source code is now executable by default. @@ -3303,12 +3303,10 @@ to: main (int cka, char **k) { char *ck = (char *)cka; /* ... */ } ``` -The following change was also made to be more portable, in case the constants +The following was also done to be more portable, in case the constants `PROT_READ` and/or `PROT_WRITE` are not standardised or some platform does not -follow it: - -Change `3` in the call to `mmap()` to be `PROT_READ|PROT_WRITE`: just in case -`PROT_READ|PROT_WRITE` does not equal 3 (though it seems to be equal in both +follow it: change `3` in the call to `mmap()` to be `PROT_READ|PROT_WRITE`: just in case +`PROT_READ|PROT_WRITE` does not equal `3` (though it seems to be equal in both macOS and Linux). NOTE: there might be educational value to see the progress of this fix; if you @@ -3454,7 +3452,7 @@ etc.) after exiting even if you don't press 'q', if you crash or if you kill the program prematurely. This was done by adding an explicit call to `e()` at the end of `main()`. -Cody also added the [alt code](%%REPO_URL%%/2001/ctk/ctk.alt.c) that adds +Cody also added the [alternate code](%%REPO_URL%%/2001/ctk/ctk.alt.c) that adds vi(m) movement keys. @@ -3592,7 +3590,8 @@ described in the index.html, based on the author's remarks. ### Winning entry source code: [arachnid.c](%%REPO_URL%%/2004/arachnid//arachnid.c) -[Cody](#cody) added an [alternate version](2004/arachnid/index.html#alternate-code) which +[Cody](#cody) added an [alternate +version](%%REPO_URL%%/2004/arachnid/arachnid.alt.c) which allows those like himself used to `h`, `j`, `k` and `l` movement keys to not get lost. Non rogue players, vi users and Dvorak typists are invited to get lost (or use the original version)! :-) @@ -3650,10 +3649,10 @@ this, forcing `-O0`. versions](2004/gavare/index.html#alternate-code): - [gavare.alt.c](%%REPO_URL%%/2004/gavare/gavare.alt.c) allows you to change the image size -and anti-alias setting at compile time. +and anti-alias setting at compile time. This is based on the author's remarks. - [gavare.alt2.c](%%REPO_URL%%/2004/gavare/gavare.alt2.c) is like [gavare.alt.c](%%REPO_URL%%/2004/gavare/gavare.alt.c) but it should work for Windows as well -(it sets binary mode on `stdout`). +(it sets binary mode on `stdout`). This is also based on the author's remarks. - [gavare.r3.c](%%REPO_URL%%/2004/gavare/gavare.r3.c) is the author's unobfuscated version that was used during development, found on their [website about the entry](https://gavare.se/ioccc/ioccc_gavare.c.html). @@ -3664,7 +3663,7 @@ entry](https://gavare.se/ioccc/ioccc_gavare.c.html). ### Winning entry source code: [gavin.c](%%REPO_URL%%/2004/gavin//gavin.c) -[Cody](#cody) provided the [alt code](2004/gavin/index.html#alternate-code) for +[Cody](#cody) provided the [alternate code](%%REPO_URL%%/2004/gavin/gavin.alt.c) for those who want to use QEMU. The most important part of this is the macro `K` has to be defined as `1`, not `0`. @@ -3682,7 +3681,7 @@ files and causing `make clobber` to wipe some of them out. [Cody](#cody) fixed a bunch of links in the index.html provided with the entry -(web server) that no longer exist or have changed in some other way (`https` +(the web server's index.html) that no longer exist or have changed in some other way (`https` instead of `http` for instance). In most cases a new link or change to https was all that was necessary but at least one or two URLs required the Internet Wayback Machine. @@ -3723,9 +3722,11 @@ this ended up with a number of errors like: | ; ``` -and various other problems. +and various other problems. However there does seem to be a problem at least +with some `gcc` versions in macOS but this appears to be due to errors in +`/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/sys/cdefs.h`. -Cody also added [alt code](2004/jdalbec/index.html#alternate-code) which allows +Cody also added [alternate code](%%REPO_URL%%/2004/jdalbec/jdalbec.alt.c) which allows one to control how many numbers after the `:` to print before printing a newline, so that one can see the output a bit better (though for lines that have a lot of numbers this will be harder to see). @@ -3739,8 +3740,8 @@ Finally Cody added [try.sh](%%REPO_URL%%/2004/jdalbec/try.sh) and ### Winning entry source code: [kopczynski.c](%%REPO_URL%%/2004/kopczynski//kopczynski.c) -[Cody](#cody) reported that this entry cannot be optimised by the compiler as otherwise -it will not work. +[Cody](#cody) force disabled the optimiser in the `Makefile` with `-O0` as he +discovered it will not work otherwise. Cody, out of an abundance of caution for `clang`, added a second arg to `main()` as some versions complain about the number of args and although they accept 1 it @@ -3797,8 +3798,8 @@ Cody also added the [try.sh](%%REPO_URL%%/2004/schnitzi/try.sh) script. [Cody](#cody) added the [try.sh](%%REPO_URL%%/2004/sds/try.sh) script. -Also, after the README.md file had copyright changes, it broke the script so -Cody made a copy of the older README.md file into `README_sds.txt` and added that +Also, after the `README.md` file had copyright changes, it broke the script so +Cody made a copy of the older `README.md` file into `README_sds.txt` and added that to the repo for the script instead. @@ -3857,11 +3858,10 @@ As for the fix itself it required changing the C pre-processor macros that resulted in macros themselves like `#ifdef`, `#else` etc. to be `#ifdef`, `#else` etc. and also the inclusion of the file [vik2_1.c](%%REPO_URL%%/2004/vik2/vik2_1.c) (which actually includes itself, once directly and now by `__FILE__`) -which used to be generated by the Makefile via `cc -E`. +which used to be generated by the `Makefile` via `cc -E`. Cody also made it so that the `FNAME` is (for the entry file itself and -`vik2_1.c`: it shouldn't be done for -[vik2.possible.cat.death.c](%%REPO_URL%%/2004/vik2/vik2.possible.cat.death.c)!) `__FILE__` +`vik2_1.c` - there are other places it should not be done) `__FILE__` just to make it a bit easier to compile. @@ -3879,14 +3879,14 @@ just to make it a bit easier to compile. to the proper compiled program (it's hardcoded). This had never been done and so the script did not even work (at least modernly?). -He also added the [alt code](2005/aidan/index.html#alternate-code) based on the +He also added the [alternate code](%%REPO_URL%%/2005/aidan/aidan.alt.c) based on the author's remarks which is a different approach than the one used and which -(according to the author) 'is slower (particularly in worst-case or nearly so -scenarios), inelegant, and not a good starting place for sudoku generation.' +(according to the author) '`is slower (particularly in worst-case or nearly so +scenarios), inelegant, and not a good starting place for sudoku generation.`' Cody added the [try.sh](%%REPO_URL%%/2005/aidan/try.sh) and [try.alt.sh](%%REPO_URL%%/2005/aidan/try.alt.sh) scripts that correspond to the entry and -alt code respectively. +alternate code respectively. Cody added the `make test` and `make test-n0` rules for easier use of the test suite. @@ -3902,10 +3902,10 @@ not work and end up causing a bus error. Instead of `stty sane` it uses `stty echo` which is what it was trying to accomplish. The author noted that one can define `NO_STTY` to not use `stty(1)` at all -(either to prevent having to hit enter or to turn echo off/on) which is +(either to prevent having to hit enter or to turn echo off/on) and this is explained in the index.html. -Cody added the [alt code](2005/anon/index.html#alternate-code) with vi(m) like +Cody added the [alternate code](%%REPO_URL%%/2005/anon/anon.alt.c) with vi(m) like movements. @@ -3988,7 +3988,7 @@ Finally, to improve upon the test-suite provided by the program, Cody added the temporary file the compilation including the 'Line' lines. After that is done it uses `grep -c` on the file to show that there are indeed as many versions the program generates as the author states, 180. If it does not find 180 it is an -error; otherwise it is success. It uses [test.sh](%%REPO_URL%%/2005/giljade/test.sh). +error; otherwise it is success. See [test.sh](%%REPO_URL%%/2005/giljade/test.sh).
    @@ -4014,8 +4014,8 @@ not do it implicitly (like macOS does). ### Winning entry source code: [mikeash.c](%%REPO_URL%%/2005/mikeash//mikeash.c)
    -[Cody](#cody) fixed this to work in Linux. The problem was an unknown escape sequence, -`\N`, which caused a funny compiler error: +[Cody](#cody) fixed this to work in some versions of linux. The problem was an +unknown escape sequence, `\N`, which caused a funny compiler error: ``` };n b[2048];int i @@ -4053,10 +4053,11 @@ Cody also added the [try.sh](%%REPO_URL%%/2005/mikeash/try.sh) script. needed but part of the entry) would work with compilers that have by default `-Werror` like `clang` in macOS. -Cody also added the alt code which does scan for https. Futile, maybe, based on -how https is set up, in which case just enjoy it for what it was. But there -might be some command line that will let it work that way or perhaps someone -wants to add the necessary code. +Cody also added the [alternate code](%%REPO_URL%%/2005/mynx/mynx.alt.c) which +does scan for `https`. Futile, maybe, based on how `https` is set up, in which +case just enjoy it for what it was, without it working with websites that do not +support `http`. But there might be some command line that will let it work that +way or perhaps someone wants to add the necessary code.
    @@ -4065,9 +4066,9 @@ wants to add the necessary code.
    [Cody](#cody) added the (untested) [alternate -code](2005/persano/index.html#alternate-code) which should work for Windows as it -sets binary mode on `stdout`. It is untested as Cody has no Windows system to -test it on. +code](%%REPO_URL%%/2005/persano/persano.alt.c) which should work for Windows as +it sets binary mode on `stdout`. This was based on the author's remarks but it +is untested as Cody has no Windows system to test it on. Cody also added the [try.sh](%%REPO_URL%%/2005/persano/try.sh) script. @@ -4133,7 +4134,8 @@ he doesn't want to damage anyone else's brain either. :-) defect where `main()` can only have 0, 2 or 3 args (it was 4). It now calls another function that takes 4 args and which is what used to be `main()`. -The alternate versions were also fixed. +The [alternate versions](2005/toledo/index.html#alternate-code) that the author +provided were also fixed.
    @@ -4141,13 +4143,13 @@ The alternate versions were also fixed. ### Winning entry source code: [vince.c](%%REPO_URL%%/2005/vince//vince.c)
    -[Cody](#cody) fixed this in the case that the program is compiled or linked/copies to +[Cody](#cody) fixed this in the case that the program is compiled or linked/copied to another file name: the code constructed the source code file name in a clever and more obscure way by copying to the buffer `*argv` and then using `strcat(3)` to concatenate to it `.c`. But this assumes that the executable is the same name -as the source file which isn't always be true. The author even stated: 'as long +as the source file which isn't always true. The author even stated: '`as long as the source is in the same directory as the executable it should be able to -find it' but the source code file name is not always the same as the executable +find it`' but the source code file name is not always the same as the executable with the appropriate extension so this might be called a bug fix as well though if one runs it from another directory, specifying the directory, it'll not catch it. @@ -4162,8 +4164,9 @@ if one runs it from another directory, specifying the directory, it'll not catch ### Winning entry source code: [birken.c](%%REPO_URL%%/2006/birken//birken.c) -[Cody](#cody) fixed a segfault in macOS with this entry. The problem was a missing `+1` -for strlen() with malloc(). This prevented it from working. +[Cody](#cody) fixed a segfault that prevented this entry from working in macOS. +The problem was a missing `+1` for `strlen(3)` with `malloc(3)`. This prevented +it from working. Cody also added the [try.sh](%%REPO_URL%%/2006/birken/try.sh) script. @@ -4173,7 +4176,7 @@ Cody also added the [try.sh](%%REPO_URL%%/2006/birken/try.sh) script. ### Winning entry source code: [borsanyi.c](%%REPO_URL%%/2006/borsanyi//borsanyi.c) -[Cody](#cody) fixed the Makefile to work in systems where the `lpthread` is not +[Cody](#cody) fixed the `Makefile` to work in systems where the `lpthread` is not implicitly linked in. Cody also added the [try.sh](%%REPO_URL%%/2006/borsanyi/try.sh) script. @@ -4192,9 +4195,6 @@ Cody also added the [try.sh](%%REPO_URL%%/2006/borsanyi/try.sh) script. ### Winning entry source code: [hamre.c](%%REPO_URL%%/2006/hamre//hamre.c) -[Cody](#cody) fixed this so that it will not crash without an arg after it was suggested -this should be fixed. - Cody also added the [try.sh](%%REPO_URL%%/2006/hamre/try.sh) script. @@ -4203,13 +4203,13 @@ Cody also added the [try.sh](%%REPO_URL%%/2006/hamre/try.sh) script. ### Winning entry source code: [monge.c](%%REPO_URL%%/2006/monge//monge.c) -[Cody](#cody) added the [alternate code](2006/monge/index.html#alternate-code) that lets +[Cody](#cody) added the [alternate code](%%REPO_URL%%/2006/monge/monge.alt.c) that lets one resize the image and redefine the number of iterations. Cody also added the [try.sh](%%REPO_URL%%/2006/monge/try.sh) and [try.alt.sh](%%REPO_URL%%/2006/monge/try.alt.sh) scripts. -Cody also fixed the Makefile to use `sdl-config` (which is what the author +Cody also fixed the `Makefile` to use `sdl-config` (which is what the author stated too though that was noticed later), not `sdl2-config` as two functions that are used were removed from [SDL2](https://www.libsdl.org), thus making it not link. Since SDL2 is still available and since changing the @@ -4218,7 +4218,7 @@ the original it was simply made to link in SDL1. Nevertheless this entry does require x86/x86_64 CPUS. This is a documented feature but one which we will accept fixes to. See [2006/monge in -bugs.html](bugs.html#2006-monge). +bugs.html](bugs.html#2006_monge).
    @@ -4236,7 +4236,7 @@ back for arrow keys in the [alternate version](%%REPO_URL%%/2006/night/night.alt
    [Cody](#cody) fixed this entry to work with `clang` which has a defect with the args to -`main()`: it requires specific types: `int` and `char ** for the first and +`main()`: it requires specific types: `int` and `char **` for the first and latter args. Cody also provided the [alternate version](%%REPO_URL%%/2006/sloane/sloane.alt.c), which @@ -4249,17 +4249,18 @@ used but Cody discovered that later versions of `clang` have an additional defec where it does not allow only one arg so the second arg to `main()` was added back. -This was an unfortunate problem for the alt code as he has been using Z for alt -code `usleep()` (for sleep) but in this case unfortunately the original entry -used `Z` in `main()` (though unused) so to make it more like the original Cody -renamed the macro `Z` for `usleep()` to `S` instead which can stand for sleep -and also it is kind of like a backwards `Z`. That way `Z` could be in `main()`. +This was an unfortunate problem for the alternate code as he has been using `Z` +for alternate code `usleep()` (for sleep) but in this case unfortunately the +original entry used `Z` in `main()` (though unused) so to make it more like the +original Cody renamed the macro `Z` for `usleep()` to `S` instead which can +stand for sleep and also it is kind of like a backwards `Z`. That way `Z` could +be in `main()`. -Cody also made sure that the Makefile links in `libm` as not all systems do this +Cody also made sure that the `Makefile` links in `libm` as not all systems do this by default. Since the author suggested that the lack of certain `#include`s might break the -program in some systems he also added `-include ...` to the Makefile as well. +program in some systems he also added `-include ...` to the `Makefile` as well.
    @@ -4269,17 +4270,14 @@ program in some systems he also added `-include ...` to the Makefile as well. [Cody](#cody) added the [try.sh](%%REPO_URL%%/2006/stewart/try.sh) script. -Cody also fixed it so that if the file cannot be opened it exits rather than trying -to read from the file. This was done at a time when it was considered to be a -bug to fix. -
    ## Winning entry: [2006/sykes1](2006/sykes1/index.html) ### Winning entry source code: [sykes1.c](%%REPO_URL%%/2006/sykes1//sykes1.c)
    -[Cody](#cody) provided the [alt code](2006/sykes1/index.html#alternate-code) based on the +[Cody](#cody) provided the [alternate +code](%%REPO_URL%%/2006/sykes1/sykes1.alt.c) based on the author's remarks. Cody also added the [try.sh](%%REPO_URL%%/2006/sykes1/try.sh) script. @@ -4296,7 +4294,7 @@ it to the repo as well.
    [Cody](#cody), out of an abundance of caution for `clang`'s defects, made `main()` have -to args instead of 1 as some versions report that `main()` must have 0, 2 or 3 +2 args instead of 1 as some versions report that `main()` must have 0, 2 or 3 args, even though at least one of those versions allows 1 arg only. Cody also added the [try.sh](%%REPO_URL%%/2006/sykes2/try.sh) script for easier use of the @@ -4321,7 +4319,8 @@ macOS - it did not seem to be a problem under Linux, at least not fedora. The problem was wrong variable types - implicit `int`s instead of `FILE *`s. It now works with both macOS and Linux. -Cody also added the (untested) alt code that is based on the author's remarks to +Cody also added the (untested) [alternate +code](%%REPO_URL%%/2006/toledo2/toledo2.alt.c) that is based on the author's remarks to port this to systems that have the non-standard `kbhit()` and `getch()` (not the one from curses) which is typically (always?) in `conio.h`. @@ -4489,7 +4488,7 @@ lets one reconfigure the controls and also the size of the game and another version that should work in Windows, based on the author's remarks and support file, `layer.c`. -The Makefile was also modified by Cody to make it simpler to redefine the +The `Makefile` was also modified by Cody to make it simpler to redefine the controls, width and height. @@ -4512,7 +4511,7 @@ header files). To build try the alt rule of the Makefile. [Cody](#cody) added the [try.sh](%%REPO_URL%%/2011/zucker/try.sh) script. -Cody also added [alt code](2011/zucker/index.html#alternate-code) that should work on +Cody also added [alternate code](2011/zucker/index.html#alternate-code) that should work on Windows, based on the author's remarks that if the system distinguishes binary and text then `stdout` needs to be set to binary mode. @@ -4557,7 +4556,7 @@ Cody also added two [alt versions](2012/endoh1/index.html#alternate-code) that let one control how fast the fluid moves (how long to sleep in between writes) and also the gravity factor, the pressure factor and the viscosity factor as well as an alarm that lets one run it in a loop without having to hit -ctrl-c/intr in between (the alarm can be disabled, however). The Makefile allows +ctrl-c/intr in between (the alarm can be disabled, however). The `Makefile` allows one to easily do this with variable names rather than redefining `CDEFINE`. The two different alt versions is because there are two versions: the original @@ -4565,7 +4564,7 @@ and the colour version added by the author, [Yusuke](#yusuke), at the request of the judges. Cody also added the [try.alt.sh](%%REPO_URL%%/2012/endoh1/try.alt.sh) script that compiles -the alt code in two ways, one with setting the gravity factor to `I` and another +the alternate code in two ways, one with setting the gravity factor to `I` and another with the default, and which is run on the source file and each of the text files supplied by the author. This code has an alarm set at 10 seconds so that one need not hit ctrl-c/intr in between .. say to make it more fluid :-) @@ -4643,7 +4642,7 @@ title and stylesheet) and other formatting changes. ### Winning entry source code: [kang.c](%%REPO_URL%%/2012/kang//kang.c) -[Cody](#cody) added alt code that fixes a problem where in German 'v' sounds like 'f' +[Cody](#cody) added alternate code that fixes a problem where in German 'v' sounds like 'f' which the program has as 'f': with the original version it would translate 'fier' to '4' when the word is 'vier'. But see below. @@ -4728,7 +4727,7 @@ 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. -A problem was later fixed in the Makefile by Cody, a typo in the `CSILENCE` +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 @@ -4756,11 +4755,11 @@ 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 +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 alt code. +[try.alt.sh](%%REPO_URL%%/2013/birken/try.alt.sh) script for the alternate code.
    @@ -4792,7 +4791,7 @@ 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`. +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. @@ -4828,7 +4827,7 @@ author linked to at `https://bitly.com/1bU8URK`.
    [Cody](#cody) added the source code that we suggested one should compile and run with -different compilers as [fun.c](%%REPO_URL%%/2013/dlowe/fun.c). He modified the Makefile so +different compilers as [fun.c](%%REPO_URL%%/2013/dlowe/fun.c). He modified the `Makefile` so that running `make all` will compile it, saving you the effort. He also provided the script [slflen.sh](%%REPO_URL%%/2013/dlowe/slflen.sh) which is based on @@ -4837,7 +4836,7 @@ files will be processed). This script shows the sparkline of the file lengths (as in `wc -c`). The fixes (but not the improvements) were added to the author's remarks. -Since the author called the program `sparkl` Cody modified the Makefile so that +Since the author called the program `sparkl` Cody modified the `Makefile` so that running `make all` will create a symlink to `dlowe` as `sparkl`. Running `make clobber` will delete both and running `make clobber all` will ensure that the symlink is created. The `slflen.sh` script also explicitly makes sure to create @@ -4863,7 +4862,7 @@ commands to try that he suggested to see how different lengths look. ### Winning entry source code: [endoh2.c](%%REPO_URL%%/2013/endoh2//endoh2.c) -[Cody](#cody) fixed the Makefile `check` rule so that it `checks` :-) that both +[Cody](#cody) fixed the `Makefile` `check` rule so that it `checks` :-) that both [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`) @@ -4916,12 +4915,12 @@ allows one to redefine it as well. ### Winning entry source code: [hou.c](%%REPO_URL%%/2013/hou//hou.c) -[Cody](#cody) fixed the Makefile so that this would work properly. Before this +[Cody](#cody) fixed the `Makefile` so that this would work properly. Before this the use of the program just did what the judges' remarks said as far as how it might violate rule 2: the program is really just a decompressor to generate the real source of the program. So the source of the entry has to be compiled and then run, and the output has to be compiled to be `hou`. This allows the real -program to be used. Thus the Makefile rule looks like: +program to be used. Thus the `Makefile` rule looks like: ``` ${PROG}: ${PROG}.c @@ -4943,7 +4942,7 @@ The `LDFLAGS` were updated to have `-lm` as the author suggested it uses the does not). The author noted that one can build `a.c` and refers to it in documentation. The -rule in the Makefile was originally removed as part of the above but it was +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 @@ -5008,7 +5007,7 @@ code](2014/birken/index.html#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 you redefine the timing constant `STARDATE` (see the author's remarks for more -details on this macro). The Makefile was made to use variables so it's easier to +details on this macro). The `Makefile` was made to use variables so it's easier to redefine the port and timing constant. @@ -5017,7 +5016,7 @@ redefine the port and timing constant. ### Winning entry source code: [prog.c](%%REPO_URL%%/2014/deak//prog.c) -[Cody](#cody) added [alt code](2014/deak/index.html#alternate-code) that lets +[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 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: @@ -5030,7 +5029,7 @@ application source code is intentionally kept to a bare minimum. This alt 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 alt code, of course. +`#ifndef..#define..#endif` was not part of the original alternate code, of course. Cody also added the [try.alt.sh](%%REPO_URL%%/2014/deak/try.alt.sh) script. @@ -5131,8 +5130,8 @@ kill it). This is done this way in case it jams (see index.html for details). ### Winning entry source code: [prog.c](%%REPO_URL%%/2014/skeggs//prog.c) -[Cody](#cody) fixed the Makefile to compile this entry in modern systems. The problem was -that the `CDEFINE` variable in the Makefile was missing `'`s: the `#define CC` +[Cody](#cody) fixed the `Makefile` to compile this entry in modern systems. The problem was +that the `CDEFINE` variable in the `Makefile` was missing `'`s: the `#define CC` is an actual string that is, in the Makefile, `"${CC} -fPIC"`, which translates to whatever the compiler is followed by a space followed by `-fPIC` but without the `'`s it was incomplete and so would not compile. Cody didn't @@ -5196,7 +5195,7 @@ before that is if one did something like: ``` since otherwise the first character would not be `e` but rather a dot -(`./eprog`). This was done by adding to the Makefile `-include libgen.h` and +(`./eprog`). This was done by adding to the `Makefile` `-include libgen.h` and adding to `main()` after the variable declaration (`V*A;`) the code: ``` @@ -5204,7 +5203,7 @@ adding to `main()` after the variable declaration (`V*A;`) the code: ``` This was done for both the [prog.c](%%REPO_URL%%/2015/burton/prog.c) and -[prog.alt.c](%%REPO_URL%%/2015/burton/prog.alt.c). The Makefile was also updated to build +[prog.alt.c](%%REPO_URL%%/2015/burton/prog.alt.c). The `Makefile` was also updated to build `eprog` and `eprog.alt` to make use of the feature more easily. Each is a new target (first in `TARGET` and second in `ALT_TARGET`) which have a prerequisite of `${PROG}` and `${PROG}.alt` respectively both of which also copy the `prog` @@ -5218,7 +5217,7 @@ Cody also added [calc.1](%%REPO_URL%%/2015/burton/calc.1) in place of `calc.man` proper formatting (in the style of `man(1)`). The `calc.man` was removed so as to not have to maintain two copies of the same text. -Cody updated the Makefile to copy the `prog` to `calc` and `prog.alt` to +Cody updated the `Makefile` to copy the `prog` to `calc` and `prog.alt` to `calc.alt`. `ecalc` and `ecalc.alt` also work. This is because the program is called `calc` and is in documentation including the man page. Thus one only need add a `./` to the commands in the man page/index.html. @@ -5229,10 +5228,10 @@ add a `./` to the commands in the man page/index.html. ### Winning entry source code: [prog.c](%%REPO_URL%%/2015/dogon//prog.c) -[Cody](#cody) improved the Makefile so that one can easily change the dimensions +[Cody](#cody) improved the `Makefile` so that one can easily change the dimensions at compilation time via `make(1)`. -Cody also added alt code that is based on the author's remarks, suggesting that +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. @@ -5352,7 +5351,7 @@ Cody also added the [try.sh](%%REPO_URL%%/2015/schweikhardt/try.sh) script. ### Winning entry source code: [prog.c](%%REPO_URL%%/2015/yang//prog.c) -[Cody](#cody) fixed an unfortunate typo in the Makefile that was preventing some of the +[Cody](#cody) fixed an unfortunate typo in the `Makefile` that was preventing some of the files from compiling properly, trying instead to compile already compiled code. He also added explicit linking of libm (`-lm`) for systems that do not do this @@ -5400,7 +5399,7 @@ object to 1 arg but it is entirely possible that this changes so a second arg 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 [alt code](2018/bellard/index.html#alternate-code) that should +Cody also added [alternate code](2018/bellard/index.html#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. @@ -5482,7 +5481,7 @@ exist and also didn't work even after that was addressed) and added the [python3.sh](%%REPO_URL%%/2018/endoh2/python3.sh) scripts. The `try.sh` script runs all 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 +exit the script). The `make python` and `make python3` rules in the `Makefile` now run the respective scripts. @@ -5533,7 +5532,7 @@ details on the bug. ### Winning entry source code: [prog.c](%%REPO_URL%%/2018/poikola//prog.c) -[Cody](#cody) added the missing `docs` rule to the Makefile that forms a PDF +[Cody](#cody) added the missing `docs` rule to the `Makefile` that forms a PDF file. The rule requires the tool `pdflatex`. Cody also added the [try.sh](%%REPO_URL%%/2018/poikola/try.sh) script. @@ -5583,7 +5582,7 @@ to what can crash it - but it's not a bug, it's a feature. ### Winning entry source code: [prog.c](%%REPO_URL%%/2019/burton//prog.c) -[Cody](#cody) fixed the Makefile which had a bad character, a '%' instead of a '$' which +[Cody](#cody) fixed the `Makefile` which had a bad character, a '%' instead of a '$' which caused a rule to fail. Cody also added the [try.sh](%%REPO_URL%%/2019/burton/try.sh) script which shows a @@ -5612,7 +5611,7 @@ mean that they will produce any output, though, as they provide 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). -Cody also fixed the Makefile so that the alt code would be built when running +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, @@ -5622,7 +5621,7 @@ website. 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 alt +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. @@ -5662,7 +5661,7 @@ own sha512sum value. [Cody](#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 fixed the `Makefile` so that it compiles with `clang` in Linux. He also added the [try.sh](%%REPO_URL%%/2019/dogon/try.sh) script. @@ -5684,7 +5683,7 @@ else). `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, -[fullscreen.sh](%%REPO_URL%%/2019/duble/fullscreen.sh), to simplify the Makefile and provide +[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 how to easily compile the program to a specific size. Note that `LINES` and @@ -5757,7 +5756,7 @@ entry existing. ### Winning entry source code: [prog.c](%%REPO_URL%%/2019/poikola//prog.c) -[Cody](#cody) added the missing `docs` rule to the Makefile that forms a PDF +[Cody](#cody) added the missing `docs` rule to the `Makefile` that forms a PDF file. The rule requires the tool [pdflatex](https://tug.org/applications/pdftex/index.html). @@ -5870,7 +5869,7 @@ knows it so he might be called unusual (and he argues, with pride, eccentric :-) 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 -alt code provided by the author, Yusuke. +alternate code provided by the author, Yusuke.
    @@ -5902,7 +5901,7 @@ various files. He also added the [try.sh](%%REPO_URL%%/2020/ferguson2/try.sh) script. -He also added the [alt code](2020/ferguson2/index.html#alternate-code) and the +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, @@ -5951,7 +5950,7 @@ use the program to play the WAV files (and in one case `stdout`). [Cody](#cody) added the [try.sh](%%REPO_URL%%/2020/kurdyukov2/try.sh) script. -Cody also added `-L`/`-I` paths to the Makefile to let this compile more easily if +Cody also added `-L`/`-I` paths to the `Makefile` to let this compile more easily if the user has installed the appropriate library with [MacPorts](https://www.macports.org) (with the default MacPorts prefix `/opt/local`). @@ -6043,7 +6042,7 @@ compilers. See the index.html for more details. ## Makefiles fixes and improvements
    -[Cody](#cody) fixed the top level Makefile `all` rule which had a stray `fi;` +[Cody](#cody) fixed the top level `Makefile` `all` rule which had a stray `fi;` without an `if` so the rule failed entirely. Cody also made a variety of other changes in all the Makefiles, sometimes to get @@ -6051,9 +6050,9 @@ an entry to work, all noted above, but he also **improved them all** in at least one or two ways. Some of the changes made are below. Cody changed the `LIBS` variable to `LDFLAGS` as that is the standard -variable. This simplifies compiling without having to modify the Makefile which +variable. This simplifies compiling without having to modify the `Makefile` which can be useful if something changes or if someone is trying to fix an entry but -forgets to change the Makefile or even if they don't want to make a change due +forgets to change the `Makefile` or even if they don't want to make a change due to a temporary test. These would of course depend on the compiler invocation but since `LDFLAGS` is standard it is more likely to be used by default so no need to check the Makefiles. diff --git a/tmp/manifest.csv b/tmp/manifest.csv index 385be81bc..98f3eb78e 100644 --- a/tmp/manifest.csv +++ b/tmp/manifest.csv @@ -2777,9 +2777,9 @@ 2012,kang,Makefile,30,true,makefile,true,entry Makefile 2012,kang,kang.alt.c,40,true,c,true,alternate source code 2012,kang,kang.orig.c,50,false,c,true,original source code -2012,kang,de.alt.sh,100,true,shellscript,true,English words script for 1 through 13 for alt code +2012,kang,de.alt.sh,100,true,shellscript,true,English words script for 1 through 13 for alternate code 2012,kang,de.sh,100,true,shellscript,true,English words script for 1 through 13 -2012,kang,en.alt.sh,100,true,shellscript,true,English words script for 1 through 13 for alt code +2012,kang,en.alt.sh,100,true,shellscript,true,English words script for 1 through 13 for alternate code 2012,kang,en.sh,100,true,shellscript,true,English words script for 1 through 13 2012,kang,try.alt.sh,100,true,shellscript,true,script to try alternate source code 2012,kang,try.sh,100,true,shellscript,true,script to try entry diff --git a/tmp/manifest.numbers b/tmp/manifest.numbers index c252a8f45..ac7d54443 100644 Binary files a/tmp/manifest.numbers and b/tmp/manifest.numbers differ