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

+4 -14
View File
@@ -4,26 +4,13 @@ Laurion Burchall
US
<https://web.archive.org/web/20070711215750/http://www.netspace.org/users/ldb/>
## To build:
```sh
make all
```
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed this so it would
compile and work with modern compilers. The problem was that `srand()` returns
void but it was used in a `||` expression. Thus the comma operator was needed.
Cody also changed the entry to use `fgets()` instead of `gets()` to make it safe
for lines greater than 231 in length and to prevent a warning at linking or at
runtime, the latter of which can be interspersed with output of the program.
Note that this now prints a newline after the output but this seems like a
worthy compromise for making it safer (fixing it is more problematic than it is
worth). In macOS another line of output would be shown anyway namely the warning
that it uses gets(). A subtlety about this fix: if a line is greater than 231 in
length if the program chooses that line it might print the first 231 characters
or it might print (up to) the next 231 characters and so on. Thank you Cody for
your assistance!
## To run:
@@ -44,6 +31,7 @@ printf "The International Obfuscated C Code Contest\n
by Laurion Burchall" | ./ldb
```
## Judges' remarks:
Trigraphs are natural obfuscators. Most C-beautifiers become C-uglifiers
@@ -52,11 +40,13 @@ because they don't handle them correctly.
Can you figure out how it prints a given random line (or if the line is longer
than 231 characters, part of that line) from stdin?
## Author's remarks:
All input lines must be under 232 characters long. The compiling
platform should be ASCII based.
## Copyright and CC BY-SA 4.0 License:
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
+4 -10
View File
@@ -14,12 +14,14 @@ US
make all
```
## To run:
```sh
./schnitzi < textfile
```
## Try:
```sh
@@ -27,16 +29,6 @@ make all
./schnitzi < /etc/passwd
```
NOTE: the buffer size is very small at 100. It's easy to fix the buffer size but
it is not as easy to change it to `fgets()`. [Cody Boone
Ferguson](/winners.html#Cody_Boone_Ferguson) gives some hints in the
[bugs.md](/bugs.md) file on how this entry works which might be useful in order
to get this to use `fgets()` which would prevent a warning at linking or
runtime, the latter of which is interspersed with the output of the program. The
file [schnitzi.alt.c](schnitzi.alt.c) has this to get anyone started, should
they wish to tackle it (Cody might in time). The problem with changing the buffer
size is that even when it works the generated output (see judges' remarks below)
will not be 100% correct duplication of the program.
### Alternate code:
@@ -60,6 +52,7 @@ Compare the output of the program with its source. Sure the output
is different, but there is more than meets the `diff`'s eye. Can you
find out why?
## Author's remarks:
### SPOILER:
@@ -111,6 +104,7 @@ needed to pad it put it over the limit -- it nearly filled a 79 by
this other version to anyone interested -- contact me by email
at schnitzi@east.isx.com.
## Copyright and CC BY-SA 4.0 License:
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
+3 -15
View File
@@ -6,27 +6,13 @@ Campus Box 216
Boulder, CO 80309-0216
US
## To build:
```sh
make all
```
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed a bug on systems
where `EOF != -1`. The problem is that `getc()` and the related functions do not
return `-1` on EOF or error but rather `EOF`. However `EOF` is not required to be
`-1` but merely an int < 0 and this program assumed that `getc()` will return
`-1` on EOF or error, not `EOF`. On systems where `EOF != -1` it could result in
an infinite loop (for the same reason one should not use `EOF` for the `getopt()`
functions as they return `-1` when all options are parsed (for details on the
definition of `EOF` see `7.21 Input/output<stdio.h>` subsection 1 of the
standard)). An interesting problem occurred where changing the `-1` to `EOF`
caused both `warning: illegal character encoding in string literal` and `error:
source file is not valid UTF-8`. But since `EOF` is simply an int < 0 and making
the loop condition check that the return value is >= 0 does not cause a
compilation error and it functions correctly it will address the systems where
`EOF != -1` just as if it checked for `!= EOF`. Thank you Cody for your
assistance!
## To run:
@@ -34,6 +20,7 @@ assistance!
./shapiro &
```
## Try:
```sh
@@ -100,6 +87,7 @@ All of which are harmless (famous last words).
This may or may not work on non ASCII systems (I could not find one to
test it on.)
## Copyright and CC BY-SA 4.0 License:
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
+6 -5
View File
@@ -7,6 +7,7 @@ St. Paul, MN 55105
US
<http://www.westley.org>
## To build:
```sh
@@ -18,12 +19,12 @@ 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:
There is no running as such. See below.
## Try:
But for something more interesting try compiling it with
@@ -37,21 +38,20 @@ cc -Describe -Drain westley.c
NOTE: your terminal should be set to 80 columns, 8 character tabs, and
wraparound.
## Judges' remarks:
Not all compiler errors are bad.
For spoilers see the end of the notes from the author below.
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) converted the spoiler
compiler options to be compiler commands and added a script
[spoiler.sh](spoiler.sh) to automate the spoiler commands provided by the author
to make it easier to see the game in action. Thank you Cody! To use:
To use:
```sh
./spoiler.sh
```
## Author's remarks:
This program, in accordance with the rules, compiles into a legal
@@ -132,6 +132,7 @@ Note that the game has no real state information; you can type these
commands in any order, at any time. Also note that word order is
unimportant.
## Copyright and CC BY-SA 4.0 License:
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.