move fix thanks a file, update top level html links, rename CONTRIBUTING.md

The fix thank you's have been moved from `README.md` to
`thanks-for-fixes.md`.

**WARNING**: Some mistakes may have been made in doing this.
We presume later changes by others will correct any issues.

The `CONTRIBUTING.md` was renamed `how-to-enter.md`.

A 3rd line of links was added to top level html such as
`contact.html`, `index.html`, `judges.html`, `winners.html`,
and `years.html`.

Improved blank line use in a number (but not all) `README.md` files.
This commit is contained in:
Landon Curt Noll committed 2023-06-06 16:59:53 -07:00
1 parent 23f7ac0a49
commit ac41f07a83
92 files changed
+1326 -761

No files matched your search

+3 -14
View File
@@ -6,6 +6,7 @@ University of Washington
Mercer Island, WA 98040
US
## To build:
```sh
@@ -13,20 +14,6 @@ make all
```
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) changed the location
that it used `gets()` to be `fgets()` instead to make it safer and to prevent
annoying warnings during compiling, linking or runtime (interspersed with the
program's output). One might think that simply changing the gets() to fgets()
(with stdin) would work but it did not because `fgets()` stores the newline and
`gets()` does not. The code was relying on not having this newline. With
`fgets()` the code `if(A(Y)) puts(Y);` ended up printing an extra line which
made the generation of some files (like `adhead.c`) fail to compile (`gets()`
does not store the newline but `fgets()` does). Why? There was a blank line
after a `\` at the end of the first line of a macro definition! Thus the code
now first trims off the last character of the buffer read to get the same
correct functionality but in a safe way. Thank you Cody for your assistance!
## Try:
```sh
@@ -49,6 +36,7 @@ about regular expressions and state machines.
NOTE: Some compilers have had trouble optimizing this entry.
## Author's remarks:
### ADrian's GREP (adgrep)
@@ -259,6 +247,7 @@ introducing extra lines into one of the programs.
The program will produce at least one warning and possible several
when compiled depending on the compiler.
## Copyright and CC BY-SA 4.0 License:
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
+5 -16
View File
@@ -6,33 +6,20 @@ Arentikuja 1 D 305
00410 Helsinki
Finland
## To build:
```sh
make all
```
## To run:
```sh
./ag word word2 word3 < /path/to/dictionary
```
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) changed the buffer size
in such a way that gets() should be safe (theoretically) as it comes from the
command line (though it can also read input from stdin after starting the
program). Ideally `fgets()` would be used but this is a more problematic.
Previously it had a buffer size of 256 which could easily overflow. In this
entry `gets()` is used in a more complicated way: first `m` is set to `*++p` in
a for loop where `p` is argv. Later `m` is set to point to `h` which was of size
\256. `gets()` is called as `m = gets(m)`) but trying to change it to use
fgets() proved more a problem. Since the input must come from the command line
Cody changed the buffer size to `ARG_MAX+1` which should be enough (again
theoretically) especially since the command expects redirecting a dictionary
file as part of the command line. This also makes it possible for longer strings
to be read (in case the `gets()` was not used in a loop). Thank you Cody for
your assistance!
## Try:
@@ -59,7 +46,7 @@ Then using the proper dictionary:
```
## Judges' comment:
## Judges' remarks:
Recently some newspapers printed amusing anagrams of one of the
names listed above. Run this program to find the anagrams they
@@ -74,6 +61,7 @@ cat README.md | ./mkdict.sh > words
Then try using the program as shown above with the file `words`.
## Author's remarks:
The name of the game:
@@ -266,6 +254,7 @@ algorithms are outlined in the rot-13 encoded spoiler below.
bs gur jbeq zngpurq ol gung vaibpngvba, naq pbclvat gur punenpgref bs
gur jbeq qverpgyl sebz fgnaqneq vachg gb fgnaqneq bhgchg.
## Copyright and CC BY-SA 4.0 License:
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
+2 -15
View File
@@ -20,20 +20,6 @@ compile. macOS users running Mountain Lion and later will need to download and
install [XQuartz](https://www.xquartz.org) in order to compile and run this
entry.
It was observed that on modern systems this goes much too quick. [Yusuke
Endoh](/winners.html#Yusuke_Endoh) created a patch that calls `usleep()` but
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) thought the value was
too slow so he made it a macro in the Makefile `Z`, defaulting at 15000. You can
reconfigure it like:
```sh
make clobber Z=1000 all
```
Yusuke also noted that there is a bug in the program where right after starting
it moves towards the right but if you click the mouse it goes back. Thank you
Yusuke!
## Try:
@@ -48,8 +34,8 @@ Yusuke!
See also the author's remarks for other variations.
## Judges' remarks:
## Judges' remarks:
The type of entertainment depends on number of arguments
you have with the program. :-)
@@ -137,6 +123,7 @@ the better it is. The exit value of zero means you have won.
The game has a cheat system, which can be found after examining the
event loop at the end of program. It is not a bug, it's a feature!
## Copyright and CC BY-SA 4.0 License:
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
+4 -11
View File
@@ -6,29 +6,20 @@ P.O. Box 6176
Mississippi State, MS 39762
US
## To build:
```sh
make all
```
## To run:
```sh
./runme.sh
```
[Yusuke Endoh](/winners.html#Yusuke_Endoh) supplied a patch which makes this
work with gcc. Due to how it works (see Judges' remarks below) this will not
work with clang. Thank you Yusuke!
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) made it use `fgets()`
instead of `gets()` to prevent annoying warnings getting in the way and also
added the `runme.sh` script to demonstrate it (using make was problematic). Cody
notes that unfortunately this does not work with clang due to different compiler
messages. Thank you Cody!
For the original entry see the [archive tarball](/archive/archive-1992.tar.bz2).
@@ -38,12 +29,14 @@ The program uses error messages issued by the C Preprocessor to
generate its message to the world. One program's error is another
program's data!
## Author's remarks:
This program is yet another "Hello World." program with a twist. The
string Hello World has been encoded in the error messages the compiler
generates when compiling the source.
## Copyright and CC BY-SA 4.0 License:
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
+3 -7
View File
@@ -7,6 +7,7 @@ St. Paul, MN 55104
US
<http://www.westley.org>
## To build:
```sh
@@ -14,13 +15,6 @@ make all
```
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed this for clang by
changing the third and fourth arg of main() to be ints inside main(); clang
requires args 2 - 4 to be `char **`. He also fixed it so that the program would
not segfault if not enough args were specified. He did the same for the
alternative version (see below) provided by the author (the original can be seen
in the author's remarks below). Thank you Cody for your assistance!
## To run:
If lost:
@@ -69,6 +63,7 @@ To find the approximate place where this entry was judged, type:
./whereami 37 -122 (- means west of meridian)
```
## Author's remarks:
Run the program with your latitude & longitude as integer
@@ -159,6 +154,7 @@ joined together as one 160-character line and listed. You should see:
...going down the left edge if your terminal auto-wraps at 80 characters.
## Copyright and CC BY-SA 4.0 License:
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.