diff --git a/1991/buzzard/README.md b/1991/buzzard/README.md index 6fa713ec5..98db64675 100644 --- a/1991/buzzard/README.md +++ b/1991/buzzard/README.md @@ -10,17 +10,17 @@ make all -### To run +### To run: ./buzzard -## Judges' comments +## Judges' comments: You will be A-mazed. You are invited to try to cheat, ... if you can figure out how! :-) -## Author's comments +## Author's comments: ### HOW TO PLAY: diff --git a/1993/lmfjyh/Makefile b/1993/lmfjyh/Makefile index 374de1579..0ecaf6500 100644 --- a/1993/lmfjyh/Makefile +++ b/1993/lmfjyh/Makefile @@ -182,7 +182,9 @@ all: data ${TARGET} supernova deep_magic magic charon pluto ${PROG}: ${PROG}.c - @echo "NOTE: This entry might not compile when using modern compilers." + @echo "NOTE: This will not compile when using modern compilers because" + @echo "it relies on a compiler bug which was fixed in gcc 2.3.3 (a very" + @echo "long time ago now)." ${RM} -f \"\;main\(\)\{puts\(\"Hello\ World!\"\)\;\}char\*C=\".c ${CP} lmfjyh.c \"\;main\(\)\{puts\(\"Hello\ World!\"\)\;\}char\*C=\".c ${CC} ${CFLAGS} \ diff --git a/1993/lmfjyh/README.md b/1993/lmfjyh/README.md index d34b0caf0..882f07aa8 100644 --- a/1993/lmfjyh/README.md +++ b/1993/lmfjyh/README.md @@ -9,7 +9,9 @@ make all - NOTE: This entry might not compile when using modern compilers. +NOTE: This entry will not compile on modern systems because it +relies on a compiler bug which was fixed in gcc 2.3.3 (a very +long time ago now). ### To run @@ -17,13 +19,10 @@ ## Judges' comments - See the makefile for details. +See the Makefile for details. - There's more than one way to get around disk quotas. :-) +There's more than one way to get around disk quotas. :-) - This entry will not compile on modern systems because it - relies on a compiler bug which was fixed in gcc 2.3.3 (a very - long time ago now). ## Author's comments diff --git a/1993/vanb/README.md b/1993/vanb/README.md index 35f1a3f18..cb3ff0087 100644 --- a/1993/vanb/README.md +++ b/1993/vanb/README.md @@ -10,7 +10,12 @@ make all - NOTE: This entry might not compile when using modern compilers. +NOTE: we could not compile this entry under modern macOS but it will work +fine under linux. It likely fails to compile under macOS because its gcc is +actually just clang which is more strict about the type of the third +argument of main(). If you have gcc under macOS it might work just as well. +We did not test other systems. + ### To run @@ -21,7 +26,7 @@ ## Judges' comments - The octal expression may contain: +The octal expression may contain: unary operators: +, - binary operators +, -, *, /, % @@ -30,17 +35,11 @@ octal numbers: octal digits grouping: () - No spaces are allowed in the expression. To avoid shell expansion, - one should surround the expression in single quotes. +No spaces are allowed in the expression. To avoid shell expansion, +one should surround the expression in single quotes. - It is a good thing that this program consists of only one - expression, otherwise it might become hard to understand. :-) - - NOTE: we could not compile this entry under modern macOS but it will work - fine under linux. It likely fails to compile under macOS because its gcc is - actually just clang which is more strict about the type of the third - argument of main(). If you have gcc under macOS it might work just as well. - We did not test other systems. +It is a good thing that this program consists of only one +expression, otherwise it might become hard to understand. :-) ## Author's comments diff --git a/1994/westley/Makefile b/1994/westley/Makefile index d938de482..290079fca 100644 --- a/1994/westley/Makefile +++ b/1994/westley/Makefile @@ -182,6 +182,8 @@ all: data ${TARGET} supernova deep_magic magic charon pluto ${PROG}: ${PROG}.c + @echo "NOTE: this entry has different compiler errors based on compilation line." + @echo "The purpose is to find the right error message to win the game!" -${CC} ${CFLAGS} $< -o $@ ${LIBS} # alternative executable diff --git a/1994/westley/README.md b/1994/westley/README.md index c0f046102..a6e871bad 100644 --- a/1994/westley/README.md +++ b/1994/westley/README.md @@ -10,21 +10,26 @@ make all +NOTE: the purpose of this entry is to escape the dungeon via the compiler line +where you get messages as compiler errors. Depending on the compiler line you +will get different error messages and one compiler line will make you win the +game! + ### To run ./westley ## Judges' comments - But for something more interesting try compiling it with - different cc arguments. For example: +But for something more interesting try compiling it with +different cc arguments. For example: cc -Describe -Door westley.c cc -Describe -Drain westley.c - Not all compiler errors are bad. +Not all compiler errors are bad. - For spoilers see the end of the notes from the author below. +For spoilers see the end of the notes from the author below. ## Author's comments diff --git a/1996/dalbec/README.md b/1996/dalbec/README.md index ba18ef66c..39e65ba60 100644 --- a/1996/dalbec/README.md +++ b/1996/dalbec/README.md @@ -11,61 +11,64 @@ make all - NOTE: This entry uses non-standard args to main() that do not work with modern compilers. +NOTE: This entry uses non-standard args to main() that do not work with modern compilers. -### To run +## To run: ./dalbec -## Judges' comments +## Try: - The output is mis-leading ... why does it also print 2047? - - Also try: ./dalbec 3 - why does it output 121? +Why does it output 121? - For a hint see: - http://www.utm.edu/research/primes/prove2.html#sprp +## Judges' comments: - and then try to understand the source! :-) +The output is mis-leading ... why does it also print 2047? - We (the judges) recommend that you take the time needed to understand - how this program works. The source is small enough to make the effort - reasonable, and complex enough to make it interesting. +For a hint see +[https://web.archive.org/web/20000510191341/https://www.utm.edu/research/primes/prove2.html](https://web.archive.org/web/20000510191341/https://www.utm.edu/research/primes/prove2.html). + + +... and then try to understand the source! :-) + +We (the judges) recommend that you take the time needed to understand +how this program works. The source is small enough to make the effort +reasonable, and complex enough to make it interesting. ## Author's comments - This program assumes that your terminal wraps lines automatically. - If this is not the case, you may need to change the space in the - "printf" format string to a newline character. +This program assumes that your terminal wraps lines automatically. +If this is not the case, you may need to change the space in the +"printf" format string to a newline character. - An extra feature of this program is that it allows you (in most - cases) to estimate the stack space available to programs on your - system. Simply allow the program to run to completion. The stack - space is roughly proportional to the last number printed. +An extra feature of this program is that it allows you (in most +cases) to estimate the stack space available to programs on your +system. Simply allow the program to run to completion. The stack +space is roughly proportional to the last number printed. - (On SunOS/cc, the proportionality constant is about 48 bytes.) +(On SunOS/cc, the proportionality constant is about 48 bytes.) - On completion, the program produces a core file that may be used to - refine this estimate. (Or you could try typing "limit" if you're - running csh.) In rare cases the stack space may exceed 24*MAXINT - bytes, in which case the program will produce an inaccurate estimate. +On completion, the program produces a core file that may be used to +refine this estimate. (Or you could try typing "limit" if you're +running `csh`.) In rare cases the stack space may exceed `24*MAXINT` +bytes, in which case the program will produce an inaccurate estimate. - This program is obfuscated: +This program is obfuscated: - (1) by the use of easily-confused variable names +1. by the use of easily-confused variable names - (2) by using the implicit !=0 in conditional expressions +2. by using the implicit !=0 in conditional expressions - (3) by substituting expressions such as !a for 0 where a!=0 - and !a for 1 where a==0 +3. by substituting expressions such as !a for 0 where a!=0 and !a for 1 where a==0 - (4) by the fact that main() is a single expression and so beautifies poorly +4. by the fact that main() is a single expression and so beautifies poorly - (5) by the fact that main() is used - (a) to compute powers in modular arithmetic - (b) to recursively call itself in the main loop +5. by the fact that main() is used + + - to compute powers in modular arithmetic + + - to recursively call itself in the main loop diff --git a/1996/eldby/README.md b/1996/eldby/README.md index da36d1072..92f339424 100644 --- a/1996/eldby/README.md +++ b/1996/eldby/README.md @@ -16,11 +16,11 @@ ## Judges' comments - We were impressed by the author's ability to render spheres in 3D - in a very small chunk of code. +We were impressed by the author's ability to render spheres in 3D +in a very small chunk of code. ## Author's comments - This program shows flying spheres. The program eats CPU on lesser - equipt systems. The program will run until termination. Terminal - must be vt100 or better with 80 columns and 24 rows or more. +This program shows flying spheres. The program eats CPU on lesser +equipped systems. The program will run until termination. Terminal +must be vt100 or better with 80 columns and 24 rows or more. diff --git a/1996/huffman/README.md b/1996/huffman/README.md index dc3ca427d..fac0a0a82 100644 --- a/1996/huffman/README.md +++ b/1996/huffman/README.md @@ -12,40 +12,42 @@ make all -### To run +### To run: + echo 'Huffman Decoding' | ./huffman -## Judges' comments - - Try: +## Try: echo 'seeing or feeling is believing' | ./huffman echo 'CC OR NOT CC' | ./huffman | ./huffman - If you are still confused and want to read a spoiler, check out - the source and it will be clear as mud! - And for a misleading hint, consider who won! :-) +## Judges' comments: - And if you really can't see what is going on, here is an extra spoiler: +If you are still confused and want to read a spoiler, check out +the source and it will be clear as mud! + +And for a misleading hint, consider who won! :-) + +And if you really can't see what is going on, here is an extra spoiler: ./huffman < huffman.c - This entry was very well received at the IOCCC BOF. +This entry was very well received at the IOCCC BOF. -## Author's comments +## Author's comments: - This filter program is really not obfuscated code. It compiles cleanly - with an ANSI C compiler and comes with user documentation that even a - blind person could read. +This filter program is really not obfuscated code. It compiles cleanly +with an ANSI C compiler and comes with user documentation that even a +blind person could read. - The program is a bi-directional filter with the output of the program - suitable for its input. The output of this program, when used as input, - undoes the original program filtering. +The program is a bi-directional filter with the output of the program +suitable for its input. The output of this program, when used as input, +undoes the original program filtering. - This program accepts any alphanumeric text that has lines less than 100 - characters. The user is encouraged to use the program's source as input - to the executable. +This program accepts any alphanumeric text that has lines less than 100 +characters. The user is encouraged to use the program's source as input +to the executable. - This program is best appreciated on a tactile monitor. +This program is best appreciated on a tactile monitor. diff --git a/1996/jonth/README.md b/1996/jonth/README.md index be10d62d1..2e9592ec9 100644 --- a/1996/jonth/README.md +++ b/1996/jonth/README.md @@ -16,27 +16,28 @@ ./jonth -## Judges' comments - - Also try: +## Try: ./jonth host1:0 host2:0 +## Judges' comments + + For extra credit, figure out how you can cheat by taking over a square already occupied by an opponent. ## Author's comments - This is mulituser tictactoe for X Windows. You may give one or two X - displays as arguments to this game. - - Known bugs: - - Sometimes on Solaris X gets confused and this program core dumps, - solution: give two display arguments (prog host:0 host:0) - - If one (or both) windows look like a copy of the window(s) below, - try xrefresh command. - - Have a nice(1) day. - +This is multi-user tic-tac-toe for X Windows. You may give one or two X +displays as arguments to this game. + +Known bugs: + +Sometimes on Solaris X gets confused and this program core dumps, +solution: give two display arguments (prog host:0 host:0) + +If one (or both) windows look like a copy of the window(s) below, +try xrefresh command. + +Have a nice(1) day. + diff --git a/1996/rcm/README.md b/1996/rcm/README.md index 8af5dd6ff..8551e1504 100644 --- a/1996/rcm/README.md +++ b/1996/rcm/README.md @@ -9,17 +9,20 @@ make all -### To run +### To run: ./rcm < rfc1951.gz -## Judges' comments +## Try: - And for more information try: +For more information try: ./rcm < rfc1952.gz - For a good noop try: + +## Judges' comments + +For a good noop try: gzip -c < rcm.c | ./rcm