Fixes to thanks for fixes file

At least one entry was missing (1984/anonymous).

Some entries were removed. One such entry was not ever broken but
instead when I had renamed a file (to markdown) I forgot to update the
DATA variable in the Makefile which then broke compilation. This was
seen in the log and mistakenly believed that there was something wrong
with the entry when there wasn't. Other entries removed were not fixes
but notes.

Various README.md files have been updated for this sometimes just
formatting merely because I opened the file because for instance there
is an alternate version (many by me) that is referred to. I'd not be
surprised if more README.md files have to be updated for this much
better system but these will be found in time when I do another pass
(and some years I have not checked at all yet).
This commit is contained in:
Cody Boone Ferguson committed 2023-07-01 09:49:26 -07:00
1 parent a7f9a722fc
commit 76cef25333
11 files changed
+405 -367

No files matched your search

+3 -3
View File
@@ -62,10 +62,10 @@ quit # for the cat version
What we found amazing was how the flow of control was transferred What we found amazing was how the flow of control was transferred
between subroutines. Careful inspection will show that the array of between subroutines. Careful inspection will show that the array of
pointers to functions named 'vi' refers to functions which seem to not pointers to functions named `vi` refers to functions which seem to not
be directly called. Even so, these pointers to functions are being be directly called. Even so, these pointers to functions are being
used as an argument to signal. Can you determine why this is being used as an argument to `signal()` (used both with and without an arg - but
done and how it is being exploited? how?). Can you determine why this is being done and how it is being exploited?
Some compilers complained about this file, so we changed: `=++I` to `= ++I`. Some compilers complained about this file, so we changed: `=++I` to `= ++I`.
+2 -6
View File
@@ -1,11 +1,7 @@
# Best Layout # Best Layout
Brian Westley (aka Merlyn Leroy on usenet) Brian Westley (aka Merlyn Leroy on usenet)<br>
Starfire Consulting US<br>
1121 Hamline Ave. N. #17
St. Paul, MN
55108
US
<http://www.westley.org> <http://www.westley.org>
## To build: ## To build:
+3 -7
View File
@@ -13,9 +13,8 @@ make all
and then type a C program into followed by EOF (usually `^D`, ctrl-d). and then type a C program into followed by EOF (usually `^D`, ctrl-d).
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) made a version (also An alternate version (also one-line) that will work with clang has been
one line) for clang. See the Alternate code section below for how to use. provided. See the Alternate code section below for how to use.
Thank you Cody for your assistance!
## Try: ## Try:
@@ -61,12 +60,9 @@ NOTE: you need to make clobber first for this entry to work right.
## Judges' remarks: ## Judges' remarks:
We enjoyed this entry this year, however in the future programs must be able to We enjoyed this entry this year; however in the future programs must be able to
be compiled from within a Makefile without the need of human intervention. be compiled from within a Makefile without the need of human intervention.
Meanwhile Cody was twisted enough to point out (though to be fair he felt sick
doing this) that with a slight modification this entry can be C++ instead. We don't
thank him for this ghastly point! :-)
## Author's remarks: ## Author's remarks:
+8 -20
View File
@@ -1,11 +1,7 @@
# Best layout # Best layout
Merlyn LeRoy (Brian Westley) Merlyn LeRoy (Brian Westley)
Rosemount, Inc. US
1121 Hamline Ave. N. #17
St. Paul, MN
55108
U.S.A.
<http://www.westley.org> <http://www.westley.org>
## To build: ## To build:
@@ -14,8 +10,9 @@ U.S.A.
make all make all
``` ```
NOTE: this version is a fixed version for modern C compilers. The Alternate NOTE: this version is a fixed version for modern C compilers. See the Alternate
code below is the original. code section below for how to use the original.
## Try: ## Try:
@@ -23,18 +20,6 @@ code below is the original.
./westley ./westley
``` ```
### Alternate code:
The alternate code in [westley.alt.c](westley.alt.c) is the original version
submitted to the contest. If you have an old enough compiler you can run it
like:
```sh
make alt
```
Use `westley.alt` as you would `westley` above.
## Judges' remarks: ## Judges' remarks:
Your compiler must parse Your compiler must parse
@@ -53,10 +38,13 @@ by changing the #define line to:
#define _ F-->00||F-OO--; #define _ F-->00||F-OO--;
``` ```
This is what the modified code in [westley.c](westley.c) does whereas the alt
code is the original.
You might enjoy looking at the output of: You might enjoy looking at the output of:
```sh ```sh
cc -E westley.c cc -E westley.alt.c
``` ```
### Alternate code: ### Alternate code:
+12 -16
View File
@@ -64,12 +64,12 @@ other types of files?
### Alternate code: ### Alternate code:
The alternate code allows this entry to work successfully even with clang. [Cody The alternate code allows this entry to work successfully even with clang.
Boone Ferguson](/winners.html#Cody_Boone_Ferguson) notes that unfortunately it's Unfortunately it's something of a hack or maybe even a kludge. This however
something of a hack or maybe even a kludge. This however seems important because seems important because it works well and allows for not messing with the `s`
it works well and allows for not messing with the `s` string which is quite string which is quite complicated. Even changing the length could break
complicated. Even changing the length could break functionality and indeed the functionality and indeed the length would have to be longer for this to work
length would have to be longer for this to work with clang. with clang.
How does it work? The code (which you will see in [dds.c](dds.c)) does a `return How does it work? The code (which you will see in [dds.c](dds.c)) does a `return
system(q-6);` which equates to `return system("cc a.c");` but clang by default, system(q-6);` which equates to `return system("cc a.c");` but clang by default,
@@ -79,13 +79,12 @@ that the compilation failed with clang (because it didn't use `make` so no
[LANDER.BAS](LANDER.BAS)) due to a return from `main()` without a return value [LANDER.BAS](LANDER.BAS)) due to a return from `main()` without a return value
and the use of functions not yet declared. and the use of functions not yet declared.
Now as noted since the string `s` is complicated and to not Now as noted since the string `s` is complicated and to not inadvertently mess
inadvertently mess something up Cody changed that code to `system("make a");` something up it was changed so that the code uses `system("make a");` and then an
and then added the right rule to the Makefile. Thus for the alternative version appropriate rule was added to the Makefile. Thus for the alternative version you
you now need both `make` and `cc`. If you use gcc you may change the system() now need both `make` and `cc`. If you use gcc you can change the `system()` call
call to what was given in this description to get a more authentic feel. If you to what was given in this description to get a more authentic feel. If you do
do this you must then run `./a.out` not `./a`! Thus to use the alternative this you must then run `./a.out` not `./a`! Thus to use the alternative version:
version:
```sh ```sh
make clobber alt make clobber alt
@@ -101,9 +100,6 @@ produced? How does `a.c` relate to [LANDER.BAS](LANDER.BAS)?
This obfuscated program translates BASIC programs into obfuscated This obfuscated program translates BASIC programs into obfuscated
C programs by way of an obfuscated algorithm. C programs by way of an obfuscated algorithm.
NOTE: Due to minor problems with some strict ANSI C compilers, we
have supplied a more portable ANSI version.
## Author's remarks: ## Author's remarks:
+4
View File
@@ -21,6 +21,10 @@ sh ./clock1
``` ```
NOTE: the original version had a display problem in modern systems which
somewhat affected the usability of the program. See the Alternate code section
for details on the original version.
## Try: ## Try:
+16 -6
View File
@@ -14,6 +14,9 @@ Germany
make all make all
``` ```
An alternate version for this entry works with macOS. See the Alternate code
section below for more details.
## To run: ## To run:
@@ -23,11 +26,11 @@ make all
### Alternate code: ### Alternate code:
As noted above the alternate version works with macOS but there are some important notes as As noted above the alternate version works with macOS but there are some
well as a description of how it works (spoilers for the original version as important notes as well as a description of how it works (spoilers for the
well). original version as well).
An MacBook Pro Max with the M1 chip some header files report an With a MacBook Pro Max with the M1 chip some header files report an
unsupported architecture and unsupported compiler (error, warning). unsupported architecture and unsupported compiler (error, warning).
However the defines are still found okay. However the defines are still found okay.
@@ -60,7 +63,14 @@ This allows for opening the right files. The problem with the macOS is
`/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include` which is why `/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include` which is why
the different command line and the different numbers. the different command line and the different numbers.
To use this version use `schweikh1.alt` instead. To use this version use:
```sh
make alt
```
Use `schweikh1.alt` as you would `schweikh1` above.
## Judges' remarks: ## Judges' remarks:
@@ -73,7 +83,7 @@ standard headers.
This code is a wonder; it's a wonder that it compiles. I wonder This code is a wonder; it's a wonder that it compiles. I wonder
whether or not it should. The innovative realization that you can whether or not it should. The innovative realization that you can
use special characters, such as `'\n'`, in #file directives alone use special characters, such as `'\n'`, in `#file` directives alone
merits some recognition. merits some recognition.
I've included most of the author's remarks; they're fairly thorough. I've included most of the author's remarks; they're fairly thorough.
+2 -4
View File
@@ -1,9 +1,6 @@
# Best AI # Best AI
Doug Beardsley Doug Beardsley
Southern Adventist University
359 Davis Rd. NW
Cleveland, TN 37312
US US
@@ -24,7 +21,8 @@ make
### Alternate code: ### Alternate code:
The author provided a way to speed it up a bit and also how to make it so it The author provided a way to speed it up a bit and also how to make it so it
doesn't crash on losing. doesn't crash on losing. The idea that it crashes on losing was too good to
lose but this alternate version has the former change.
To compile: To compile:
+2 -2
View File
@@ -1,7 +1,7 @@
# Largest small system emulator # Largest small system emulator
Adrian Cable Adrian Cable<br>
<adrian.cable@gmail.com> <adrian.cable@gmail.com>
## To build: ## To build:
+17 -1
View File
@@ -1335,6 +1335,12 @@ There was no IOCCC in 1999.
# 2000 # 2000
## [2000/dlowe](2000/dlowe/dlowe.c) ([README.md](2000/dlowe/README.md))
## STATUS: doesn't work with some platforms - please help us fix
This entry crashes in macOS. This will be looked at later.
[2000/primenum](2000/primenum/primenum.c) ([README.md](2000/primenum/README.md)) [2000/primenum](2000/primenum/primenum.c) ([README.md](2000/primenum/README.md))
## STATUS: INABIAF - please **DO NOT** fix ## STATUS: INABIAF - please **DO NOT** fix
@@ -1658,7 +1664,7 @@ in the process some of the generated code fails.
What might the translation of the comment end up being? Here's an example: What might the translation of the comment end up being? Here's an example:
``` ```c
system(" echo Line 2;sed -n -e 2,77p out> c.c;cc c.c -c "); system(" echo Line 2;sed -n -e 2,77p out> c.c;cc c.c -c ");
``` ```
@@ -1699,6 +1705,7 @@ does not exist.
This entry requires that `sed` and `cc` are in the path. This entry requires that `sed` and `cc` are in the path.
## [2005/mynx](2005/mynx/mynx.c) ([README.md](2005/mynx/README.md)) ## [2005/mynx](2005/mynx/mynx.c) ([README.md](2005/mynx/README.md))
## STATUS: INABIAF - please **DO NOT** fix ## STATUS: INABIAF - please **DO NOT** fix
@@ -2085,6 +2092,15 @@ Abort trap: 6
but this is expected and the file `ioccc.html` will be generated properly. but this is expected and the file `ioccc.html` will be generated properly.
## [2018/poikola](2018/poikola/prog.c) ([README.md](2018/poikola/README.md]))
## STATUS: INABIAF - please **DO NOT** fix
Some have reported that Terminal.app in macOS does not work and one might need a
different terminal emulator like that from [XQuartz](https://www.xquartz.org)
but [Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) reported that this
works fine in macOS Ventura with Terminal.app. YMMV of course.
# 2019 # 2019
+336 -302
View File
File diff suppressed because it is too large. Load diff