Merge pull request #392 from xexyl/1993-dgibson

Format fixes in 1993/dgibson/README.md
This commit is contained in:
Landon Curt Noll authored and GitHub committed 2023-04-09 13:44:26 -07:00
commit e9c4a250f0
6 files changed
+117 -88

No files matched your search

+5 -4
View File
@@ -1,9 +1,10 @@
# Worst Abuse of the C Preprocessor: # Worst Abuse of the C Preprocessor:
Ed Luke Ed Luke
Mississippi State University Mississippi State University
P.O. Box 6176 P.O. Box 6176
Mississippi State, MS 39762, USA Mississippi State, MS 39762
USA
## To build: ## To build:
+11 -7
View File
@@ -1,18 +1,22 @@
# Best Game: # Best Game:
Marangoni Andrea Marangoni Andrea
Department of Computer Science at Milano Department of Computer Science at Milano
Via Pausula, 72 Via Pausula, 72
62014 Corridonia (MC) 62014 Corridonia (MC)
Italy Italy
## To build: ## To build:
make all ```sh
make all
```
## To run: ## To run:
./marangon ```sh
./marangon
```
## Judges' comments: ## Judges' comments:
+26 -19
View File
@@ -1,27 +1,34 @@
# Worst Abuse of the Rules: # Worst Abuse of the Rules
Nathan Sidwell Nathan Sidwell
Inmos UK Inmos UK
1000 Aztec West 1000 Aztec West
Almondsbury Almondsbury
Bristol Bristol
UK BS12 4SQ UK BS12 4SQ
## To build: ## To build:
make all ```sh
make all
```
## To run ## To run
./nathan ```sh
./nathan
```
## Judges' comments ## Try:
Try: ```sh
./nathan obfuscate < nathan.c > foobarf.c
./nathan - obfuscate < foobarf.c > barfoof.c
diff nathan.c barfoof.c
```
./nathan obfuscate < nathan.c > foobarf.c
./nathan - obfuscate < foobarf.c > barfoof.c ## Judges' comments:
diff nathan.c barfoof.c
### WARNING: ### WARNING:
@@ -77,7 +84,7 @@ re-distribute a program contest winner to the network!
## Author's comments ## Author's comments
### PROGRAM USE ### PROGRAM USE:
This program is a hello world text encryptor/decryptor. It uses an This program is a hello world text encryptor/decryptor. It uses an
enigma (I think) style encryption algorithm, where the encryption enigma (I think) style encryption algorithm, where the encryption
@@ -93,12 +100,12 @@ before the key. (Actually encryption and decryption proper inverse
operations, so you can use decrypt to scramble and encrypt to operations, so you can use decrypt to scramble and encrypt to
descramble, if you're perverse.) descramble, if you're perverse.)
### PORTABILITY (A little knowledge is a dangerous thing) ### PORTABILITY (A little knowledge is a dangerous thing):
It's written in ANSI C, and doesn't even assume an ASCII character It's written in ANSI C, and doesn't even assume an ASCII character
set, (it has an array of the characters to convert), so should be set, (it has an array of the characters to convert), so should be
portable across many platforms. It passes gcc -ansi -pedantic -O portable across many platforms. It passes `gcc -ansi -pedantic -O
-Wall with no warnings (You may get assignment in conditional -Wall` with no warnings (You may get assignment in conditional
warnings on other platforms though). Because I've heard that warnings on other platforms though). Because I've heard that
conditional jumps slow down fast processors, I've eliminated all conditional jumps slow down fast processors, I've eliminated all
the ifs from the code, indeed, as its only one statement, it should the ifs from the code, indeed, as its only one statement, it should
@@ -109,7 +116,7 @@ another scoping level does not need to be opened.
Being an encryptor/decryptor, you probably want the source code to Being an encryptor/decryptor, you probably want the source code to
be obfuscated, to hide the algorithm. be obfuscated, to hide the algorithm.
### OBFUSCATION ### OBFUSCATION:
In spite of the fact that it looks like a nice friendly hello world In spite of the fact that it looks like a nice friendly hello world
program, it isn't (as documented above). (Short lines have been padded, program, it isn't (as documented above). (Short lines have been padded,
+17 -11
View File
@@ -1,31 +1,37 @@
# Best Utility: # Best Utility:
Anthony Howe Anthony Howe
Mortice Kern Systems, Inc. Mortice Kern Systems, Inc.
Unit 1, 14 Weber Street North, Unit 1, 14 Weber Street North
Waterloo, Ontario, N2J 3G4 Waterloo, Ontario, N2J 3G4
Canada Canada
## To build: ## To build:
make all ```sh
make all
```
## To run: ## To run:
./ant 'ERE' [file ...] ```sh
./ant 'ERE' [file ...]
```
## Try: ## Try:
You may also want to try the author's test suite: You may also want to try the author's test suite:
make -f ant.test.mk ```sh
make -f ant.test.mk
```
## Judges' comments: ## Judges' comments:
See the author's Posix P1003.2-like documentation file ant.txt See the author's POSIX P1003.2-like documentation file ant.txt for more
for more information. information.
This program demonstrates that Posix doesn't guarantee readability. :-) This program demonstrates that POSIX doesn't guarantee readability. :-)
## Author's comments: ## Author's comments:
+24 -20
View File
@@ -1,14 +1,16 @@
# "Bill Gates" Award: # "Bill Gates" Award:
Chris Mills Chris Mills
Pagine Corporation Pagine Corporation
1961-A Concourse Drive 1961-A Concourse Drive
San Jose, CA 95131 San Jose, CA 95131
USA USA
## To build: ## To build:
make all ```sh
make all
```
NOTE: this entry requires `X11/Xlib.h` header file and the X11 library to NOTE: this entry requires `X11/Xlib.h` header file and the X11 library to
compile. macOS users running Mountain Lion and later will need to download and compile. macOS users running Mountain Lion and later will need to download and
@@ -17,13 +19,15 @@ entry.
## To run: ## To run:
DISPLAY="your_X_server_display" ```sh
export DISPLAY DISPLAY="your_X_server_display"
./cmills [speed] # must be run on an X11 server export DISPLAY
./cmills [speed] # must be run on an X11 server
```
where: where:
speed update speed from 1 to 9 (default is 9) `speed` is update speed from 1 to 9 (default is 9).
## Judges' comments: ## Judges' comments:
@@ -31,19 +35,19 @@ From the San Jose Mercury News (May 15, 1993 page 20A "West Hackers
trounce East in computer quiz game"): trounce East in computer quiz game"):
"Since 1984, a contest has been held on Usenet for the most > "Since 1984, a contest has been held on Usenet for the most
unreadable, creative, bizarre but working C program", Gates > unreadable, creative, bizarre but working C program", Gates
said. "What is the name of this contest?" > said. "What is the name of this contest?"
>
"Windows," shot back Gassee, naming Microsoft's premier product > "Windows," shot back Gassee, naming Microsoft's premier product
- a product over which Apple sued Microsoft five years ago. Not > - a product over which Apple sued Microsoft five years ago. Not
the right answer - it's "The Obfuscated C Contest [sic]" - but > the right answer - it's "The Obfuscated C Contest [sic]" - but
it brought down the house of Apple partisans... > it brought down the house of Apple partisans...
[The expression on Bill Gates' face was a sight to behold, as reported [The expression on Bill Gates' face was a sight to behold, as reported
to us by several who were there]. to us by several who were there].
You must set $DISPLAY in your environment or the program will You must set `$DISPLAY` in your environment or the program will
dump core. This is not a bug as the author documented it as dump core. This is not a bug as the author documented it as
a feature. :-) a feature. :-)
+34 -27
View File
@@ -1,63 +1,70 @@
# Best Abuse of the C Preprocessor: # Best Abuse of the C Preprocessor:
David Gibson David Gibson
University of Cape Town University of Cape Town
1 Sweet Valley Road
1 Sweet Valley Road Bergvliet
Bergvliet 7945
7945 South Africa
South Africa
## To build: ## To build:
make all ```sh
make all
```
## To run ## To run:
./dgibson.sh [datafile] ```sh
./dgibson.sh [datafile]
```
where: where:
`datafile` is the initial pattern (default: dgibson.data1)
datafile initial pattern (default: dgibson.data1)
## Try: ## Try:
```sh
./dgibson.sh dgibson.data3 ./dgibson.sh dgibson.data3
```
## Judges' comments: ## Judges' comments:
We have provided the shell script `dgibson.sh` to make it easier We have provided the shell script [dgibson.sh](dgibson.sh) to make it easier
to run this entry. Run this shell script several times to to run this entry. Run this shell script several times to
see what happens. see what happens.
There are a number of data files available: There are a number of data files available:
dgibson.data1 - [dgibson.data1](dgibson.data1)
dgibson.data2 - [dgibson.data2](dgibson.data2)
dgibson.data3 - [dgibson.data3](dgibson.data3)
dgibson.data4 - [dgibson.data4](dgibson.data4)
dgibson.data5 - [dgibson.data5](dgibson.data5)
For `dgibson.data5` you will need a large screen, lots of virtual For [dgibson.data5](dgibson.data5) you will need a large screen, lots of virtual
memory and lots of time! memory and lots of time!
Good luck trying to use a debugger on this entry! Life is not Good luck trying to use a debugger on this entry! Life is not
always pretty. always pretty.
## Author's comments ## Author's comments:
This program plays the Game of Life. This program plays the [Game of
Life](https://en.wikipedia.org/wiki/Conway's_Game_of_Life).
Life is a cellular automaton invented by J. H. Conway, in which each of Life is a cellular automaton invented by J. H. Conway, in which each of
a rectangular grid of cells can be alive or dead, and cells with more a rectangular grid of cells can be alive or dead, and cells with more
than 3 or less than 2 (out of 8) live neighbours die, and empty cells than 3 or less than 2 (out of 8) live neighbours die, and empty cells
with exactly 3 neighbours give birth. with exactly 3 neighbours give birth.
Some notes: the "STAT n" information does not have to be present in the ### Some notes:
initial configuration; the initial configuration should not have live
cells around the edges; the grid should be a perfect rectangle. - the "STAT n" information does not have to be present in the initial
configuration
- the initial configuration should not have live cells around the edges
- the grid should be a perfect rectangle.
Further features: the current generation number is preserved, and the Further features: the current generation number is preserved, and the
grid automatically resizes itself as the object gets too big or too grid automatically resizes itself as the object gets too big or too