Merge pull request #392 from xexyl/1993-dgibson
Format fixes in 1993/dgibson/README.md
This commit is contained in:
6 files changed
+117
-88
No files matched your search
+5
-4
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
|
||||||
|
|||||||
Reference in new issue
Block a user