Format fixes to 1991/davidguy/README.md
This commit is contained in:
1 parent
1a15582979
commit
1c8452c4ed
1 file changed
+36
-18
+36
-18
@@ -1,36 +1,53 @@
|
|||||||
# Best X11 Graphics:
|
# Best X11 Graphics:
|
||||||
|
|
||||||
David Applegate Guy Jacobson
|
David Applegate
|
||||||
School of Computer Science AT&T Bell Laboratories
|
School of Computer Science
|
||||||
Carnegie Mellon University 600 Mountain Avenue
|
Carnegie Mellon University
|
||||||
Pittsburgh PA 15213 Murray Hill NJ 07974
|
Pittsburgh PA 15213
|
||||||
USA USA
|
USA
|
||||||
|
|
||||||
|
|
||||||
|
Guy Jacobson
|
||||||
|
AT&T Bell Laboratories
|
||||||
|
600 Mountain Avenue
|
||||||
|
Murray Hill NJ 07974
|
||||||
|
USA
|
||||||
|
|
||||||
|
|
||||||
## To build:
|
## To build:
|
||||||
|
|
||||||
make all
|
```sh
|
||||||
|
make all
|
||||||
|
```
|
||||||
|
|
||||||
## To run:
|
## To run:
|
||||||
|
|
||||||
./davidguy ip_address:server.screen
|
```sh
|
||||||
|
./davidguy ip_address:server.screen
|
||||||
|
```
|
||||||
|
|
||||||
where `ip_address` in an IP address of an X server.
|
where `ip_address` in an IP address of an X server.
|
||||||
|
|
||||||
## Try:
|
## Try:
|
||||||
|
|
||||||
./davidguy 127.0.0.1:0.0
|
```sh
|
||||||
|
./davidguy 127.0.0.1:0.0
|
||||||
|
```
|
||||||
|
|
||||||
Of course, you may need to supply a more reasonable address. :-)
|
Of course, you may need to supply a more reasonable address. :-)
|
||||||
|
|
||||||
## Also try:
|
## Also try:
|
||||||
|
|
||||||
cp -f davidguy guydavid
|
```sh
|
||||||
./guydavid 127.0.0.1:0.0
|
cp -f davidguy guydavid
|
||||||
|
./guydavid 127.0.0.1:0.0
|
||||||
## Judges' comments
|
```
|
||||||
|
|
||||||
Can you determine why this makes a difference?
|
Can you determine why this makes a difference?
|
||||||
|
|
||||||
|
## Judges' comments:
|
||||||
|
|
||||||
|
|
||||||
We permitted this type of entry to win because:
|
We permitted this type of entry to win because:
|
||||||
|
|
||||||
- it did not require X to be on the host system
|
- it did not require X to be on the host system
|
||||||
@@ -43,11 +60,11 @@ explain this further.
|
|||||||
We are pleased that this entry has helped bring new 'life' into
|
We are pleased that this entry has helped bring new 'life' into
|
||||||
the contest.
|
the contest.
|
||||||
|
|
||||||
## Author's comments
|
## Authors' comments:
|
||||||
|
|
||||||
The program is a fully-functional X client. It talks directly to
|
The program is a fully-functional X client. It talks directly to
|
||||||
the X server through a socket without using Xlib, Xt or any other
|
the X server through a socket without using Xlib, Xt or any other
|
||||||
wussie toolkit junk. With no arguments, it will try to run
|
wussy toolkit junk. With no arguments, it will try to run
|
||||||
locally using the unix-domain socket (only on BSD :-( ) or you can
|
locally using the unix-domain socket (only on BSD :-( ) or you can
|
||||||
give it a command line argument identifying a display host address
|
give it a command line argument identifying a display host address
|
||||||
(in dotted octet notation, like 127.0.0.1:0.0) where the X server
|
(in dotted octet notation, like 127.0.0.1:0.0) where the X server
|
||||||
@@ -57,9 +74,9 @@ that the program works even when the server and the client have
|
|||||||
different architectures). It buffers communication to the X
|
different architectures). It buffers communication to the X
|
||||||
server for efficiency.
|
server for efficiency.
|
||||||
|
|
||||||
[[ NOTE: The original source in davidguy.c used only an IP address
|
NOTE: The original source in davidguy.c used only an IP address
|
||||||
argument (assumed :0.0) and assumed the color of black
|
argument (assumed :0.0) and assumed the color of black
|
||||||
and white. ]]
|
and white.
|
||||||
|
|
||||||
The program doesn't require any user interaction; you can just sit
|
The program doesn't require any user interaction; you can just sit
|
||||||
back and watch it run. All the action takes place in the root
|
back and watch it run. All the action takes place in the root
|
||||||
@@ -84,7 +101,8 @@ the program was supposed to do would still be hard to understand.
|
|||||||
|
|
||||||
### Quasi-spoiler on internals:
|
### Quasi-spoiler on internals:
|
||||||
|
|
||||||
The program plays Conway's game of Life in the root window's
|
The program plays [Conway's Game of
|
||||||
|
Life](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life) in the root window's
|
||||||
background pixmap. It starts by setting the background to random
|
background pixmap. It starts by setting the background to random
|
||||||
bits, and then plays Life, with one Life cell for each pixel of the
|
bits, and then plays Life, with one Life cell for each pixel of the
|
||||||
screen. In the game of Life, a cell survives to the next round if
|
screen. In the game of Life, a cell survives to the next round if
|
||||||
@@ -96,7 +114,7 @@ if it has 4 or more neighbors.
|
|||||||
The algorithm used to compute the next generation is based on the
|
The algorithm used to compute the next generation is based on the
|
||||||
observation that a cell's state in the next generation is a boolean
|
observation that a cell's state in the next generation is a boolean
|
||||||
function of its current state, and the states of its 8 neighbors
|
function of its current state, and the states of its 8 neighbors
|
||||||
(ie, a boolean function from 9 bits to 1 bit). This function can
|
(i.e., a boolean function from 9 bits to 1 bit). This function can
|
||||||
be computed by a boolean circuit. In addition, intermediate values
|
be computed by a boolean circuit. In addition, intermediate values
|
||||||
computed by the circuit can be shared between neighboring cells,
|
computed by the circuit can be shared between neighboring cells,
|
||||||
reducing the number of gates per cell required. These ideas
|
reducing the number of gates per cell required. These ideas
|
||||||
|
|||||||
Reference in new issue
Block a user