From 8dee3da6ba48b3213da324f67e7e45c67cbf1e09 Mon Sep 17 00:00:00 2001
From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com>
Date: Thu, 18 May 2023 10:08:01 -0700
Subject: [PATCH 1/8] Format check 1993/plummer/README.md + add alt code
Alt code is so that one can see with modern systems what is actually
happening. The time to sleep is configurable.
---
1993/plummer/.gitignore | 1 +
1993/plummer/Makefile | 9 ++++--
1993/plummer/README.md | 62 ++++++++++++++++++++++++++++----------
1993/plummer/plummer.alt.c | 1 +
4 files changed, 54 insertions(+), 19 deletions(-)
create mode 100644 1993/plummer/plummer.alt.c
diff --git a/1993/plummer/.gitignore b/1993/plummer/.gitignore
index 0ce7bbccf..6d2000905 100644
--- a/1993/plummer/.gitignore
+++ b/1993/plummer/.gitignore
@@ -1 +1,2 @@
plummer
+plummer.alt
diff --git a/1993/plummer/Makefile b/1993/plummer/Makefile
index 34246f868..d67c1bdd9 100644
--- a/1993/plummer/Makefile
+++ b/1993/plummer/Makefile
@@ -57,7 +57,7 @@ ARCH=
# Defines that are needed to compile
#
-CDEFINE=
+CDEFINE= -DZ=200
# Include files that are needed to compile
#
@@ -112,8 +112,8 @@ OBJ= ${PROG}.o
DATA=
TARGET= ${PROG}
#
-ALT_OBJ=
-ALT_TARGET=
+ALT_OBJ= ${PROG}.alt.o
+ALT_TARGET= ${PROG}.alt
#################
@@ -136,6 +136,9 @@ ${PROG}: ${PROG}.c
alt: data ${ALT_TARGET}
@${TRUE}
+${PROG}.alt: ${PROG}.alt.c
+ ${CC} ${CFLAGS} $< -o $@ ${LIBS}
+
# data files
#
data: ${DATA}
diff --git a/1993/plummer/README.md b/1993/plummer/README.md
index cfbab66a7..10b26e1c3 100644
--- a/1993/plummer/README.md
+++ b/1993/plummer/README.md
@@ -11,6 +11,7 @@ US
make all
```
+
## To run:
```sh
@@ -22,6 +23,36 @@ where:
- number is a number (try 21701)
- arg is any argument
+NOTE: an alternate version exists. See Alternate code section below.
+
+## Try:
+
+```sh
+./plummer 01234567890876543210 xxx
+
+```
+
+### Alternate code:
+
+[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) added an alternate
+version which uses `usleep()` so you can see what is happening with faster
+systems. To use:
+
+
+```sh
+make alt
+```
+
+Use `plummer.alt` as you would `plummer`.
+
+If you wish to change the time to sleep (default `200`) you can do so like:
+
+```sh
+make clobber CDEFINE="-DZ=50" alt
+```
+
+Thank you Cody!
+
### INABIAF - it's not a bug it's a feature :-)
This entry will very likely crash or do something else if you run it without
@@ -41,32 +72,31 @@ specifies the number to start counting from and uses leading `0`s to
indicate the number of digits, the second argument can be anything
but must be present.
-Variable names are single characters chosen for their similarity to
-other characters (O for 0, l for 1, S for 5 in some fonts, and _
-for ... well nothing really, but it is easy to miss). To prevent
-the need for `strlen()`, the fact that argv is laid out sequentially
-is exploited (ie. `argv[i + 1] == argv[i] + strlen(argv[i]) + 1`).
-This is not portable (by the books), but it seems to work
-everywhere I try (actually, for VMS, that only holds for `i > 1`).
-Also, I depend on the fact that a carriage return causes the line
-just written to be overwritten. `lint` (and most compilers) complain
-that there is no control path leading to a return from `main()`. At
-125 characters, it still fits on a single line (for those of us who
-don't mind ruining our eyes with 132 column screens).
+Variable names are single characters chosen for their similarity to other
+characters (`O` for `0` (zero), `l` for `1` (one), `S` for `5` (five) in some
+fonts, and `_` for ... well nothing really, but it is easy to miss). To
+prevent the need for `strlen()`, the fact that argv is laid out sequentially is
+exploited (i.e. `argv[i + 1] == argv[i] + strlen(argv[i]) + 1`). This is not
+portable (by the books), but it seems to work everywhere I try (actually, for
+VMS, that only holds for `i > 1`). Also, I depend on the fact that a carriage
+return causes the line just written to be overwritten. `lint` (and most
+compilers) complain that there is no control path leading to a return from
+`main()`. At 125 characters, it still fits on a single line (for those of us
+who don't mind ruining our eyes with 132 column screens).
The first statement points the base of `l` (the argument vector) to
be the first argument by incrementing it. It then assigns `O` to
point to the character before the first character of the second
-argument which also happens to be the NULL termination of the first
+argument which also happens to be the NUL termination of the first
argument. `*O` gets a `\r` assigned to it. Finally `0` is assigned to
the first character of the second argument which has the effect of
-NULL terminating the first argument after the carriage return had
-removed its NULL termination. I really tried to make the last part
+NUL terminating the first argument after the carriage return had
+removed its NUL termination. I really tried to make the last part
of that statement part of the original expression, but the best I
could do was attach it with a comma (against the advice of K&R).
The for loop runs the next for loop continuously (actually until
the machine crashes or the user gets tired of seeing the
-counting). The next for loop is the meat of the program. In the
+counting). The next for loop is the meat of the program. In the
initialization statement, the string pointed to by `l` (the first
argument containing the digits used for counting followed by a `\r`)
is printed, and `_` is started at the least significant digit in the
diff --git a/1993/plummer/plummer.alt.c b/1993/plummer/plummer.alt.c
new file mode 100644
index 000000000..6bb7da8ac
--- /dev/null
+++ b/1993/plummer/plummer.alt.c
@@ -0,0 +1 @@
+char*_,*O;main(S,l)char**l;{*(O=*(l+++S-1)-1)=13,*l[1]=0;for(;;)for(printf(*l),_=O-1,usleep(Z);_>=*l&&++*_>(S+*O+S)*S;*_--=(S+*O)*S);}
From e8c536e64713cb4211e60fc08d73f9b9df930ea9 Mon Sep 17 00:00:00 2001
From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com>
Date: Thu, 18 May 2023 10:12:53 -0700
Subject: [PATCH 2/8] Add try section to alt code of 1993/plummer
---
1993/plummer/README.md | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/1993/plummer/README.md b/1993/plummer/README.md
index 10b26e1c3..b8c9c4771 100644
--- a/1993/plummer/README.md
+++ b/1993/plummer/README.md
@@ -51,6 +51,12 @@ If you wish to change the time to sleep (default `200`) you can do so like:
make clobber CDEFINE="-DZ=50" alt
```
+#### Try:
+
+```sh
+./plummer.alt xyzzyzzyx 5555
+```
+
Thank you Cody!
### INABIAF - it's not a bug it's a feature :-)
From b5599f5556601f57b08fa956550e305e47c9a371 Mon Sep 17 00:00:00 2001
From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com>
Date: Thu, 18 May 2023 11:01:22 -0700
Subject: [PATCH 3/8] Add sdl binary to 2000/thadgavin/.gitignore
---
2000/thadgavin/.gitignore | 1 +
1 file changed, 1 insertion(+)
diff --git a/2000/thadgavin/.gitignore b/2000/thadgavin/.gitignore
index c7930e680..5aeb20c6b 100644
--- a/2000/thadgavin/.gitignore
+++ b/2000/thadgavin/.gitignore
@@ -1 +1,2 @@
thadgavin
+thadgavin_sdl
From 7490f5f1d058449b0a29b923cb66c555f636e531 Mon Sep 17 00:00:00 2001
From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com>
Date: Thu, 18 May 2023 11:08:44 -0700
Subject: [PATCH 4/8] Format 1995/dodsond2/README.md
---
1995/dodsond2/README.md | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/1995/dodsond2/README.md b/1995/dodsond2/README.md
index 3cdde3163..fc6e87507 100644
--- a/1995/dodsond2/README.md
+++ b/1995/dodsond2/README.md
@@ -1,9 +1,6 @@
# Best Game
Don Dodson
-AG Communication Systems
-4101 W Union Hills Dr #1104
-Glendale, AZ 85308
US
## To build:
@@ -29,11 +26,10 @@ attempt.
### Interactive 3D Maze
-Step into a randomly generated 3D maze and try to get out alive!
-Use the vi movement keys (hjkl) to move on a level, and u or d
-to move (u)p or (d)own from a position with a U or D on the
-map. To simulate the feeling of being in an unknown labyrinth,
-areas which you have not visited cannot be seen.
+Step into a randomly generated 3D maze and try to get out alive! Use the vi
+movement keys (`hjkl`) to move on a level, and `u` or `d` to move (u)p or (d)own
+from a position with a `U` or `D` on the map. To simulate the feeling of being
+in an unknown labyrinth, areas which you have not visited cannot be seen.
Reach the north-west left corner of level 1 to exit.
From ae05ac2766db81a3a57fbc923c669f99daf84e82 Mon Sep 17 00:00:00 2001
From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com>
Date: Thu, 18 May 2023 11:11:18 -0700
Subject: [PATCH 5/8] Initial check of 2015/yang/README.md
More to do but I'm getting the changes made out of the way for issue #4.
---
2015/yang/README.md | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/2015/yang/README.md b/2015/yang/README.md
index 283dc2743..e61a224b0 100644
--- a/2015/yang/README.md
+++ b/2015/yang/README.md
@@ -1,7 +1,7 @@
# Most Pointed Reaction
- Don Yang
-
+Don Yang
+
## To build:
@@ -65,7 +65,7 @@ echo IOCCC | ./fuuko_cpp98 > output_cpp98.c
```
Don't like dango either? Use a C++11 compiler to get just circles (or
-swiss cheese, if you prefer that).
+Swiss cheese, if you prefer that).
```sh
g++ -O3 -std=c++11 fuuko.c -lm -o fuuko_cpp11
@@ -106,7 +106,7 @@ Fuuko has been tested under these environments:
The most obscure parts are in detecting the subtle differences in
different dialects. The standard committees put a lot of effort into
-avoiding "quiet changes", but Fuuko is still able exploit a few of
+avoiding "quiet changes", but Fuuko is still able to exploit a few of
those. It should be an interesting exercise for the reader to figure
how she did it.
From d277d118595373f0abcdb8166848d9a902454b60 Mon Sep 17 00:00:00 2001
From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com>
Date: Thu, 18 May 2023 11:13:05 -0700
Subject: [PATCH 6/8] Partial format fix 2014/maffiodo2/README.md
---
2014/maffiodo2/README.md | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/2014/maffiodo2/README.md b/2014/maffiodo2/README.md
index 220512a45..7da205bd9 100644
--- a/2014/maffiodo2/README.md
+++ b/2014/maffiodo2/README.md
@@ -24,17 +24,19 @@ cat image.rgb | ./prog ' .,:;!$#@'
## Judges' remarks:
-On the face of it :-) given what this program one might wonder what makes this winner special.
-But when you realize the source is small enough to tweet on twitter you understand.
+On the face of it :-) given what this program does one might wonder what makes
+this winner special. But when you realize the source is small enough to tweet
+on twitter you understand.
-Who will be the first to tweet this source? How many re-tweets will such tweet get?
-And how many people will really understand the tweet?
+Who will be the first to tweet this source? How many re-tweets will such tweet
+get? And how many people will really understand the tweet?
## Author's remarks:
### Remarks
-This program convert an image to an ASCII ART. The program reads a raw RGB image from **stdin** and print the ASCII ART to **stdout**.
+This program convert an image to an ASCII ART. The program reads a raw RGB image
+from **stdin** and print the ASCII ART to **stdout**.
The build process will raise some warnings about:
@@ -45,7 +47,8 @@ The program crash if run without parameters.
### Screen size
-If you have a terminal geometry than if different from the common 80x25 you can modify the *output width* by changing the value of the first variable:
+If you have a terminal geometry than is different from the common 80x25 you can
+modify the *output width* by changing the value of the first variable:
```c
d=80,
From 4b0a2cb64a7c1319329b93678b762743b82197fb Mon Sep 17 00:00:00 2001
From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com>
Date: Thu, 18 May 2023 11:19:39 -0700
Subject: [PATCH 7/8] Add kernel and fs.tar to 2004/gavin
The files were supplied by Yusuke Endoh. Thank you Yusuke!
I also made some typo fixes in the README.md file.
---
2004/gavin/.gitignore | 3 +--
2004/gavin/README.md | 15 ++++++++++++---
2004/gavin/fs.tar | Bin 0 -> 30720 bytes
2004/gavin/kernel | Bin 0 -> 4608 bytes
4 files changed, 13 insertions(+), 5 deletions(-)
create mode 100644 2004/gavin/fs.tar
create mode 100644 2004/gavin/kernel
diff --git a/2004/gavin/.gitignore b/2004/gavin/.gitignore
index 641d56fe3..3b272d8b3 100644
--- a/2004/gavin/.gitignore
+++ b/2004/gavin/.gitignore
@@ -1,6 +1,5 @@
-fs.tar
gavin
-kernel
sh
vi
gavin.o
+fs/
diff --git a/2004/gavin/README.md b/2004/gavin/README.md
index 1bfbdd932..d5ead237c 100644
--- a/2004/gavin/README.md
+++ b/2004/gavin/README.md
@@ -25,7 +25,7 @@ su
```
Make a floppy with an ext2 filesystem (`mke2fs /dev/fd0` replacing `fd0` with
-whatever the floppy device is!), mount it under `/mnt/floppy`. Then:
+whatever the floppy device is!), mount it under `/mnt/floppy` and then:
```sh
@@ -47,13 +47,13 @@ Move the window away from the corner.
vi gavin.c
```
-Scroll the file with up-arrow and down-arrow
+Scroll up and down the file with up-arrow and down-arrow.
```sh
sh
```
-Can have several shell windows:
+You can have several shell windows:
```sh
vi README.md
@@ -62,6 +62,15 @@ vi README.md
Press and hold any key.
+### Alternate method
+
+[Yusuke Endoh](/winners.html#Yusuke_Endoh) provided the `kernel` and `fs.tar`
+files which can be used if you cannot normally use this entry. Instead of
+generating the files just use the files provided.
+
+Thank you Yusuke!
+
+
## Judges' remarks:
Over the years, we've seen a program that dumps core if executed on a "wrong"
diff --git a/2004/gavin/fs.tar b/2004/gavin/fs.tar
new file mode 100644
index 0000000000000000000000000000000000000000..35a03f8bf8a64c9fce5674c5d0670a72ab732ae2
GIT binary patch
literal 30720
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
literal 0
HcmV?d00001
diff --git a/2004/gavin/kernel b/2004/gavin/kernel
new file mode 100644
index 0000000000000000000000000000000000000000..7f38294bb14aa56c00961303807ae8f167271fe6
GIT binary patch
literal 4608
zcmd^CeQ;FO6~FuTC0TIIZbO*
zyex2ezKFDr=r|*&)3J`DZRub@3kk~*YW>&>wNcZuLTpzz>WUeNh`j#J+XPp~&a^Y-
zpZ3n2d(J)Q+}}O#+;i{V9l3n@N=X`&nQ`sV^vv|kkr}M2?DlfG#=?v-8{}KN(!xgm
z4|qwEl;?QnNzhJ+M$2;qCJe}@(MTTP1Nwi519RA%)2GAm%>h4+aSiz2FwO&&^z&lq
zXFx6jpACKs$smfM5R{8}2xBye+C&iP$AQW~WAhyQ7J%Ob-U~hkd=IoL&)&2-~xhJM%(I5V3m
zzT%S*04-PGfWp|5Z!?4Mej9^~A(>f2hYcTbo&DMy7@K>yJa550p4;c#waGu0mCc_~
zF>}@(ch0_^0PbBhePMZ3r8S)f{cT07owanfgkOuB1~Cu+=co_$NXV9W`LB
z7TEOgt9@86*~M5T;i8{>-t4{p2aNZ@Nk17ok!(5*9iYkd--doZ0ev;12J+R4`qb5n
zy7%fuZ3eU^$GPZ;?nXg<{0#~$d7EJ#NZ27N9sM0HN7RYE5HEB{Fxr~mL$AwShZcG~
z9#!tT@Cmy1zERGjTGl+Lr%Um7nI7_}o~SxO#9(W!1#NZn@i^1+DYM7#&|8I77WV-1KDdyzhwW
zi701G+|$Fu7dms~=*M5s=N*tE&26?FA3=r#4+r0AG;8HQQX*~6qqYNE6`ZOGlI?IC
z$FW1=L`o>1;LwL9l5_+^Q->S@W2ziEE>8AOLk4fv^=sJX&v;W}5?L`RN*jHc2CApq
zbdh^Hc|3T&F;&|}aq>|6*Ms>N%7Z6-SZb@M**ybI=<73jM(&WzL
z&Gt*DaaRS72jI%%?S1KR_|3P0*bZ1Ht3&f}ukNtgbvY97M~slVe_-?JAP#JP$Ma@e
z@Plu3J@ziZ!UAKj()FYGBW!a95`>gUyF`nTl2{t=9EWOQR9zD<;3lr5b;5C7f9S1N
zfHJMNckxe_REGvGz^SX5qw3|aJJ0cO|KvA#U%%Ajmfx^x
z6sWe%gu~%(w>|tz8Y%kMy3XY&6xw5?*h&gxR;k==({p
zCWY9g%AIbx%kL?zj5N*G6f(Kn{pD))DR*_3e~PwEw9|@BL}*jlqfnm-X1Y?IjmO3ZHKem$;H>+H<+JnKP#F-KTv_IY
z!8Ry1|2=r#)^Y|CzVo`^JKia_!=l@L)ay(xe+q|ZJEDy!vJ^UjV;C}L3LV5)FH6ky
z9ak=!Y{AFjs+8g~Y=MxBffAzZ)sJ^%=
z-p0lB3hs+5mzQk*Oj8+xP|GCK367LavzC^P@Y>X}5sDnogS)%J>g(kvAek%dT=@RN
zJjpI*+G@HM$oe1w!#52y8tLi}v#@gr_OgJCC+s6x{DNWb?mh
zzq<*3OndESV)`%klfA-yc|)&q%xa)&2Mh4l%(^mvhdPvNKcZQNA&=|5g7l%8H+zjVwK>)_n~2f%nf55N(3=H9s%?Ce|XH`H%@
zu#rg(^Jc6{|Km>I**Dg2c(9RNatiaLr0S8o-@7efktBZ)TOpDV4ZNToa|d
z8MVvmmadhGrWoV=q7o-#{|{b9ZnDuQP6h2cV`1be*N_t3crbwt$3L!wo$7=3lj?=)
zp!a+JR8InX@rwU>_){G{3cuvjmt**CLjM%@sTs87_Bl%$yft-em-rfLYhYmP0Z@N%
zR3Aog=K$n#6*M$9)YR5D6x5YWo>Wk~W<^1Rcj*SNYd$Mj=Bry%ljv&-R<5aAwmiQW
z8(r+GX(&pl^KoWtlT8K78+;5UA(hRSid{t$nQ6-&L?jrMESlD1Y5Gng7Xo<&1)q*|
zn1m2U!k-IaH{T4Um?pf4c+I)xq>=OAxx%nuvBdr8y`hdt!mVu+dK`^Zx2`+$oWXOnT4vFJEj=~4QCl*iy<
IG4D?OC;zS&P5=M^
literal 0
HcmV?d00001
From 0d5b3045643433b9892088eda7298def39b280e6 Mon Sep 17 00:00:00 2001
From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com>
Date: Thu, 18 May 2023 11:21:30 -0700
Subject: [PATCH 8/8] Add end to code block end in 2014/birken/README.md
---
2014/birken/README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/2014/birken/README.md b/2014/birken/README.md
index 8a14cb08f..68c105baa 100644
--- a/2014/birken/README.md
+++ b/2014/birken/README.md
@@ -27,6 +27,7 @@ make
./prog
./prog http://127.0.0.1:1701
+```
## Judges' remarks: