diff --git a/1985/august/README.md b/1985/august/README.md index 5f6ac2d08..fd5173c5b 100644 --- a/1985/august/README.md +++ b/1985/august/README.md @@ -42,7 +42,7 @@ If you let it, the program will continue to print a numerical sequence (can you guess in what base it is printed by looking at the code?) until you run out of memory or until they sell your computer, whichever comes first. -If you use the [primes.sh](primes.sh) script can you figure out if there's +If you use the [primes.sh](%%REPO_URL%%/1985/august/primes.sh) script can you figure out if there's anything funny going on with the output? diff --git a/1985/august/index.html b/1985/august/index.html index 2f98e5cda..2fdd8cfcc 100644 --- a/1985/august/index.html +++ b/1985/august/index.html @@ -173,7 +173,7 @@ action of the program?
If you let it, the program will continue to print a numerical sequence (can you guess in what base it is printed by looking at the code?) until you run out of memory or until they sell your computer, whichever comes first.
-If you use the primes.sh script can you figure out if there’s +
If you use the primes.sh script can you figure out if there’s anything funny going on with the output?
No remarks were provided by the author.
diff --git a/1985/sicherman/README.md b/1985/sicherman/README.md index 5c6fc3ac2..cbf54d1f6 100644 --- a/1985/sicherman/README.md +++ b/1985/sicherman/README.md @@ -30,10 +30,10 @@ more details on it. ## Alternate code: -The [sicherman.alt.c](sicherman.alt.c) is a slight change in the fixed version +The [sicherman.alt.c](%%REPO_URL%%/1985/sicherman/sicherman.alt.c) is a slight change in the fixed version (fixed so it does not require `-traditional-cpp`) in that it has two args to `main()` as some compilers object to certain number of args in `main()`. This -will be built in the case of the [sicherman.c](sicherman.c) failing to compile. +will be built in the case of the [sicherman.c](%%REPO_URL%%/1985/sicherman/sicherman.c) failing to compile. In this case it'll be compiled to `sicherman` to simplify it for the larger audience. diff --git a/1985/sicherman/index.html b/1985/sicherman/index.html index c46e7174a..45bc3276e 100644 --- a/1985/sicherman/index.html +++ b/1985/sicherman/index.html @@ -167,10 +167,10 @@ more details on it. ./try.sh
The sicherman.alt.c is a slight change in the fixed version +
The sicherman.alt.c is a slight change in the fixed version
(fixed so it does not require -traditional-cpp) in that it has two args to
main() as some compilers object to certain number of args in main(). This
-will be built in the case of the sicherman.c failing to compile.
+will be built in the case of the sicherman.c failing to compile.
In this case it’ll be compiled to sicherman to simplify it for the larger
audience.
make all
A smaller version, originally called zsmall.c (and still exists as such, as
-the source of the alt code), of applin.c, can be found in
-applin.alt.c. Your machine may have an easier time with this
+the source of the alt code), of applin.c, can be found in
+applin.alt.c. Your machine may have an easier time with this
program. See the Alternate code section below for details.
./applin
@@ -172,17 +172,17 @@ with this entry.
Dhyrstone/sec/cpu machine) using the System V cpp. (The GNU cpp when defined as
BIG_CPP took only 45 seconds.)
Your cpp may not be able to compile it due to a common bug that results in
-cpp running out of space. The routine zsmall is a smaller version
-of the applin.c entry.
cpp running out of space. The routine zsmall is a smaller version
+of the applin.c entry.
This entry is by far the most unusual abuse of the C preprocessor that we have received thus far. Nearly all of the real work is done in the C preprocessor!
-When we compiled applin.c on an +
When we compiled applin.c on an
Amdahl 5890-300E, we found that it
spent over 75 minutes in the System V C preprocessor! Besides showing that the
standard System V cpp is slow, it showed that it contained a memory usage
-problem. The applin.c only uses 29 different preprocessor symbols
+problem. The applin.c only uses 29 different preprocessor symbols
(besides stdio.h) and yet the preprocessor ran out of space!
The GNU C preprocessor took under 45 seconds to perform the 2nd pass
on the Amdahl 5890-300E. But due to the ANSI-likeness of GNU cpp (v. 1-21),
diff --git a/1988/isaak/README.md b/1988/isaak/README.md
index aebc78bb3..94fad95cb 100644
--- a/1988/isaak/README.md
+++ b/1988/isaak/README.md
@@ -18,7 +18,7 @@ code](#alternate-code) below.
## Alternate code:
-The original version of this code is in [isaak.alt.c](isaak.alt.c).
+The original version of this code is in [isaak.alt.c](%%REPO_URL%%/1988/isaak/isaak.alt.c).
The original entry starts with the line:
```
@@ -51,7 +51,7 @@ an EBCDIC machine.
### Historical notes about the original entry:
-NOTE: If you named the file anything other than [isaak.c](isaak.c), you had to
+NOTE: If you named the file anything other than [isaak.c](%%REPO_URL%%/1988/isaak/isaak.c), you had to
change the `#include` on line 6. This limitation has been fixed by using the
`__FILE__` macro.
@@ -70,7 +70,7 @@ file: isaak.encode. To read this file do.
```
Since this was fixed, this file is not strictly necessary. See the
-[isaak.alt.c](isaak.alt.c) for the original source.
+[isaak.alt.c](%%REPO_URL%%/1988/isaak/isaak.alt.c) for the original source.
FYI: We are likely to be more strict about portability in the future.
diff --git a/1988/isaak/index.html b/1988/isaak/index.html
index 117750ddf..957991978 100644
--- a/1988/isaak/index.html
+++ b/1988/isaak/index.html
@@ -160,7 +160,7 @@ code below.
./isaak
The original version of this code is in isaak.alt.c. +
The original version of this code is in isaak.alt.c. The original entry starts with the line:
main(){};
This works on some systems. Why? Note that #include <stdio.h> is given on
@@ -176,7 +176,7 @@ compile.
The program relies heavily on ASCII. Don’t even think of running it on an EBCDIC machine.
NOTE: If you named the file anything other than isaak.c, you had to +
NOTE: If you named the file anything other than isaak.c, you had to
change the #include on line 6. This limitation has been fixed by using the
__FILE__ macro.
NOTE: The use of null comments to separate macros to construct different tokens @@ -188,7 +188,7 @@ file: isaak.encode. To read this file do.
uudecode < isaak.encode
cat isaak.output
Since this was fixed, this file is not strictly necessary. See the -isaak.alt.c for the original source.
+isaak.alt.c for the original source.FYI: We are likely to be more strict about portability in the future.
No remarks were provided by the author.
diff --git a/1988/westley/README.md b/1988/westley/README.md index 5c0eaf417..f764ce810 100644 --- a/1988/westley/README.md +++ b/1988/westley/README.md @@ -66,7 +66,7 @@ by changing the #define line to: #define _ F-->00||F-OO--; ``` -This is what the modified code in [westley.c](westley.c) does whereas the alt +This is what the modified code in [westley.c](%%REPO_URL%%/1988/westley/westley.c) does whereas the alt code is the original. You might enjoy looking at the output of: diff --git a/1988/westley/index.html b/1988/westley/index.html index 091407a10..4b3649222 100644 --- a/1988/westley/index.html +++ b/1988/westley/index.html @@ -180,7 +180,7 @@ conforming ANSI C Preprocessors may object to this: for such compilers, you can elide the non-standard token-pasting requirement by changing the #define line to: #define _ F-->00||F-OO--;
-This is what the modified code in westley.c does whereas the alt +
This is what the modified code in westley.c does whereas the alt code is the original.
You might enjoy looking at the output of:
cc -E westley.alt.c
diff --git a/1990/jaw/README.md b/1990/jaw/README.md
index 1eef7a582..2b321b3d5 100644
--- a/1990/jaw/README.md
+++ b/1990/jaw/README.md
@@ -34,7 +34,7 @@ The program, in its base form, implements two useful utilities:
Included with this entry is a shell script (with comments edited down to reduce
it to 1530 bytes) which implements the complete shark utility. The script,
-[shark.sh](shark.sh), contains a `jaw.c` embedded within it!
+[shark.sh](%%REPO_URL%%/1990/jaw/shark.sh), contains a `jaw.c` embedded within it!
The sender must have `compress` and `btoa`. To send, try:
diff --git a/1990/jaw/index.html b/1990/jaw/index.html
index 6f04e1466..f567d3b89 100644
--- a/1990/jaw/index.html
+++ b/1990/jaw/index.html
@@ -177,7 +177,7 @@ sentence.
Included with this entry is a shell script (with comments edited down to reduce
it to 1530 bytes) which implements the complete shark utility. The script,
-shark.sh, contains a jaw.c embedded within it!
jaw.c embedded within it!
The sender must have compress and btoa. To send, try:
./shark.sh jaw.* README.md > receive
The resulting file, receive, unpacks the input files
diff --git a/1990/stig/README.md b/1990/stig/README.md
index 25092375b..27c022b46 100644
--- a/1990/stig/README.md
+++ b/1990/stig/README.md
@@ -23,7 +23,7 @@ NOTE: that's not a typo or mistake but one can also do:
We changed the alias that the author's suggested alias from a
C-shell alias to a Bourne-like shell alias.
-Note that `shst.c` is renamed to [stig.c](stig.c) in the distribution.
+Note that `shst.c` is renamed to [stig.c](%%REPO_URL%%/1990/stigstig.c) in the distribution.
WARNING: This program's `how to compile` is too specific to a particular shell.
The obfuscation of this program is more related to shell obfuscation than C
diff --git a/1990/stig/index.html b/1990/stig/index.html
index 83bfccb51..3402e043f 100644
--- a/1990/stig/index.html
+++ b/1990/stig/index.html
@@ -161,7 +161,7 @@ Location: NO - Kingdom of Norway (
We changed the alias that the author’s suggested alias from a C-shell alias to a Bourne-like shell alias.
-Note that shst.c is renamed to stig.c in the distribution.
Note that shst.c is renamed to stig.c in the distribution.
WARNING: This program’s how to compile is too specific to a particular shell.
The obfuscation of this program is more related to shell obfuscation than C
obfuscation. This type of entry will not be permitted in future contests.
The program’s source implements four functions, all from the same source file!
-When you compile theorem.c as is and run with 5 args, it +
When you compile theorem.c as is and run with 5 args, it
numerically solves the equation y'=f(x,y), with a step size of h (see above
usage), over the interval x=[x1,x2], with the initial condition of y(x1)=y1.
The ‘expression’ f(x,y) is any function of x and y with the
diff --git a/1991/dds/README.md b/1991/dds/README.md
index 39260b07e..d73a46121 100644
--- a/1991/dds/README.md
+++ b/1991/dds/README.md
@@ -23,7 +23,7 @@ The author suggests trying:
```
Notice that a file `a.c` has been generated. Can you tell how `a.c` was
-produced? How does `a.c` relate to [LANDER.BAS](LANDER.BAS)?
+produced? How does `a.c` relate to [LANDER.BAS](%%REPO_URL%%/1991/ddsLANDER.BAS)?
What happens if you give the program a C program like itself? Try:
diff --git a/1991/dds/index.html b/1991/dds/index.html
index 744d88a62..9a2b75aa1 100644
--- a/1991/dds/index.html
+++ b/1991/dds/index.html
@@ -162,7 +162,7 @@ Location: GR - Hellenic Republic (
./dds LANDER.BAS
./a.out
Notice that a file a.c has been generated. Can you tell how a.c was
-produced? How does a.c relate to LANDER.BAS?
a.c relate to LANDER.BAS?
What happens if you give the program a C program like itself? Try:
./dds dds.c
You’ll get errors yes but what does the generated file look like? What about diff --git a/1991/rince/README.md b/1991/rince/README.md index 022b71826..11b6eb170 100644 --- a/1991/rince/README.md +++ b/1991/rince/README.md @@ -18,10 +18,10 @@ that's fewer than the original program. ## Alternate code: -The first alternate version, [rince.alt.c](rince.alt.c), disables a maximum move +The first alternate version, [rince.alt.c](%%REPO_URL%%/1991/rince/rince.alt.c), disables a maximum move count so that anyone with enough patience and time can complete the puzzle, without having to worry about how many moves they make, assuming they don't get -stuck. The second version, [rince.alt2.c](rince.alt2.c), allows one to +stuck. The second version, [rince.alt2.c](%%REPO_URL%%/1991/rince/rince.alt2.c), allows one to reconfigure at compilation the maximum number of moves, even if that is lowering the count. diff --git a/1991/rince/index.html b/1991/rince/index.html index 5915dfbd8..df4be03a2 100644 --- a/1991/rince/index.html +++ b/1991/rince/index.html @@ -160,10 +160,10 @@ that’s fewer than the original program.
./rince
The first alternate version, rince.alt.c, disables a maximum move +
The first alternate version, rince.alt.c, disables a maximum move count so that anyone with enough patience and time can complete the puzzle, without having to worry about how many moves they make, assuming they don’t get -stuck. The second version, rince.alt2.c, allows one to +stuck. The second version, rince.alt2.c, allows one to reconfigure at compilation the maximum number of moves, even if that is lowering the count.
The author set the maximum number of moves to 484.
diff --git a/1991/westley/README.md b/1991/westley/README.md index 04281b531..784f51448 100644 --- a/1991/westley/README.md +++ b/1991/westley/README.md @@ -51,7 +51,7 @@ next move, recompile `nextmove.c` and play it again: ## Try: -We have provided the shell script, [ttt](ttt.sh), to make it easier to play the +We have provided the shell script, [ttt](%%REPO_URL%%/1991/westley/ttt.sh), to make it easier to play the game: ``` @@ -62,7 +62,7 @@ game: The shell script determines when the game is over, and automatically replaces `merlyn.c` (copied from [westley.c](westley.c) with an improved version after a -loss). The [ttt](ttt.sh) script has two other modes: +loss). The [ttt](%%REPO_URL%%/1991/westley/ttt.sh) script has two other modes: ``` ./ttt quitgame # cancel any game in progress, revert to merlyn.c @@ -136,7 +136,7 @@ Rather than use `ttt` try the script `ttt.alt` instead. ## Judges' remarks: Can you figure out why the board looks different than the -[westley.c](westley.c)? +[westley.c](%%REPO_URL%%/1991/westley/westley.c)? What happens if you make a move already made? diff --git a/1991/westley/index.html b/1991/westley/index.html index e59ea966e..8a834c105 100644 --- a/1991/westley/index.html +++ b/1991/westley/index.html @@ -175,14 +175,14 @@ next move, recompilenextmove.c and play it again:
make nextmove
./nextmove move_location | tee nextmove.c
We have provided the shell script, ttt, to make it easier to play the +
We have provided the shell script, ttt, to make it easier to play the game:
make ttt
./ttt [first_move] # <- omit first arg to have it move first
./ttt next_move
The shell script determines when the game is over, and automatically replaces
merlyn.c (copied from westley.c with an improved version after a
-loss). The ttt script has two other modes:
./ttt quitgame # cancel any game in progress, revert to merlyn.c
./ttt clobber # remove all game files, revert to original source
For example here is a potentially losing game:
@@ -229,7 +229,7 @@ can lose if you cheat. That’s supposed to happen. Can you win any other time?<Rather than use ttt try the script ttt.alt instead.
Can you figure out why the board looks different than the -westley.c?
+westley.c?What happens if you make a move already made?
Now go try and draw or better yet win (without cheating which is very easy :-) )! Why is win better than draw? Because everyone knows how to draw:
diff --git a/1992/albert/README.md b/1992/albert/README.md index acdec33cf..890d88d4d 100644 --- a/1992/albert/README.md +++ b/1992/albert/README.md @@ -35,7 +35,7 @@ For more detailed information see [1992 albert bugs](../../bugs.html#1992_albert ## Alternate code: -An alternate version of this entry, [albert.alt.c](albert.alt.c), is provided. +An alternate version of this entry, [albert.alt.c](%%REPO_URL%%/1992/albert/albert.alt.c), is provided. Leo Broukhis, before he was an IOCCC judge, sent the IOCCC judges this Email message: @@ -56,8 +56,8 @@ judges this Email message: the first factor is 101 and is usually found in an instant. ``` -The [albert.alt.c](albert.c) file is the fixed file, whereas the -[albert.c](albert.c) is the file before applying Leo Broukhis' fix. +The [albert.alt.c](%%REPO_URL%%/1992/albert/albert.c) file is the fixed file, whereas the +[albert.c](1992/albert/1992/albert/lbert.c) is the file before applying Leo Broukhis' fix. ### Alternate build: diff --git a/1992/albert/index.html b/1992/albert/index.html index 9754519e8..b29510200 100644 --- a/1992/albert/index.html +++ b/1992/albert/index.html @@ -164,7 +164,7 @@ Location: NL - Kingdom of the Netherlan ./try.sh
An alternate version of this entry, albert.alt.c, is provided. +
An alternate version of this entry, albert.alt.c, is provided. Leo Broukhis, before he was an IOCCC judge, sent the IOCCC judges this Email message:
From: leo _at_ zycad -dot- com (Leo Broukhis)
@@ -181,8 +181,8 @@ judges this Email message:
I've found a number exposing another bug: 10000000001 (that's 9 0's).
Both albert and albert.orig loop without printing anything, although
the first factor is 101 and is usually found in an instant.
-The albert.alt.c file is the fixed file, whereas the -albert.c is the file before applying Leo Broukhis’ fix.
+The albert.alt.c file is the fixed file, whereas the +albert.c is the file before applying Leo Broukhis’ fix.
To compile this alternate version:
make alt
diff --git a/1992/ant/.entry.json b/1992/ant/.entry.json
index a15708391..a9ba6e564 100644
--- a/1992/ant/.entry.json
+++ b/1992/ant/.entry.json
@@ -42,7 +42,7 @@
"entry_text" : "how to run"
},
{
- "file_path" : "ant.README",
+ "file_path" : "ant.README.txt",
"inventory_order" : 150,
"OK_to_edit" : true,
"display_as" : "text",
diff --git a/1992/ant/README.md b/1992/ant/README.md
index 6256e5760..75333ae4d 100644
--- a/1992/ant/README.md
+++ b/1992/ant/README.md
@@ -35,7 +35,7 @@ P1003 subcommittee.
## Author's remarks:
-See the file [ant.README](ant.README).
+See the file [ant.README.txt](%%REPO_URL%%/1992/ant/ant.README).
cat third help.th - | ./first
@@ -132,10 +132,10 @@ To do something interesting, you need to feed `first` the file
to do this. Hopefully most operating systems will provide a way to do this. It
may take some time for this to complete (I seem to remember it taking several
minutes on an 8086 PC); `THIRD` will prompt you when it is finished. The file
-[third](third) has not been obfuscated, due to sheer kindness on the author's
+[third](%%REPO_URL%%/1992/buzzard.2/third) has not been obfuscated, due to sheer kindness on the author's
part.
-For more information on what you can do once you've piped [third](third) into
+For more information on what you can do once you've piped [third](%%REPO_URL%%/1992/buzzard.2/third) into
first, type `help` and consult
[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) manuals for
further reference. Six sample THIRD programs are included in the files
diff --git a/1992/buzzard.2/index.html b/1992/buzzard.2/index.html
index 3fa7b8a0c..a18fb3a1d 100644
--- a/1992/buzzard.2/index.html
+++ b/1992/buzzard.2/index.html
@@ -176,7 +176,7 @@ should make first first :-) ):
./try.sh
This alternate version, buzzard.2.alt.c, does not contain a +
This alternate version, buzzard.2.alt.c, does not contain a fix that the author notes in their remarks.
make alt
@@ -215,14 +215,14 @@ but gives no warning messages. A sample program, demo1.1st, is
included, but it only works on ASCII systems.
Do not expect to be able to do anything interesting with first.
To do something interesting, you need to feed first the file
-third first. In unix, you can do
cat third help.th - | ./first
to do this. Hopefully most operating systems will provide a way to do this. It
may take some time for this to complete (I seem to remember it taking several
minutes on an 8086 PC); THIRD will prompt you when it is finished. The file
-third has not been obfuscated, due to sheer kindness on the author’s
+third has not been obfuscated, due to sheer kindness on the author’s
part.
For more information on what you can do once you’ve piped third into +
For more information on what you can do once you’ve piped third into
first, type help and consult
FORTH manuals for
further reference. Six sample THIRD programs are included in the files
diff --git a/1992/gson/README.md b/1992/gson/README.md
index f15731019..ee0abc6e9 100644
--- a/1992/gson/README.md
+++ b/1992/gson/README.md
@@ -57,9 +57,9 @@ Then using the proper dictionary file it does:
where `/usr/share/dict/words` is the dictionary file.
-Then it uses the [mkdict.sh](mkdict.sh) script to create a dictionary file out
-of the files [README.md](README.md), [try.sh](try.sh) (itself) and
-[Makefile](Makefile) and it repeats the same commands as above. In the case no
+Then it uses the [mkdict.sh](%%REPO_URL%%/1992/gson/mkdict.sh) script to create a dictionary file out
+of the files [README.md](%%REPO_URL%%/1992/gson/README.md), [try.sh](try.sh) (itself) and
+[Makefile](%%REPO_URL%%/1992/gson/Makefile) and it repeats the same commands as above. In the case no
dictionary file can be found in the first step it only runs the commands once
with the created dictionary file.
@@ -71,7 +71,7 @@ names listed above. Run this program to find the anagrams they
weren't allowed to print!
The author provided an obfuscated script that can be used to construct
-dictionaries which has been put in as [mkdict.sh](mkdict.sh). To use try:
+dictionaries which has been put in as [mkdict.sh](%%REPO_URL%%/1992/gson/mkdict.sh). To use try:
```
cat README.md | ./mkdict.sh > words
diff --git a/1992/gson/index.html b/1992/gson/index.html
index ab010ee2a..39eba9553 100644
--- a/1992/gson/index.html
+++ b/1992/gson/index.html
@@ -180,9 +180,9 @@ following locations though the last one is more ironic:
where /usr/share/dict/words is the dictionary file.
Then it uses the mkdict.sh script to create a dictionary file out -of the files README.md, try.sh (itself) and -Makefile and it repeats the same commands as above. In the case no +
Then it uses the mkdict.sh script to create a dictionary file out +of the files README.md, try.sh (itself) and +Makefile and it repeats the same commands as above. In the case no dictionary file can be found in the first step it only runs the commands once with the created dictionary file.
The author provided an obfuscated script that can be used to construct -dictionaries which has been put in as mkdict.sh. To use try:
+dictionaries which has been put in as mkdict.sh. To use try: cat README.md | ./mkdict.sh > words
Then try using the program as shown above with the file words.
Of course, the source (layout) is self-documenting! :-)
NOTE: The original winning source assumed that exit(3) returned a value which
cause problems for some systems where exit(3) returns a void. The file
-imc.c has been modified to avoid this problem. The original file also
+imc.c has been modified to avoid this problem. The original file also
declared argc to be a long which was fixed.
-lX11.
NOTE: The original winning source kivinen.orig.c assumed that
exit(3) returned a value which cause problems for some systems where exit(3) returns
-void. The file kivinen.c avoids this problem.
void. The file kivinen.c avoids this problem.
This kit includes three games from the early era of video games designed for diff --git a/1992/marangon/README.md b/1992/marangon/README.md index 1bae2f83d..964f67175 100644 --- a/1992/marangon/README.md +++ b/1992/marangon/README.md @@ -25,7 +25,7 @@ NOTE: Some systems need to compile with `-ltermcap` as well as `-lcurses`. NOTE: The original winning source [marangon.orig.c](marangon.orig.c), found in the archive directory, assumed that `exit(3)` returns a value which cause problems for some systems where `exit(3)` returns a `void`. The file -[marangon.c](marangon.c) avoids this problem. +[marangon.c](%%REPO_URL%%/1992/marangon/marangon.c) avoids this problem. ## Author's remarks: diff --git a/1992/marangon/index.html b/1992/marangon/index.html index 9ea48e6d7..fc0069425 100644 --- a/1992/marangon/index.html +++ b/1992/marangon/index.html @@ -165,7 +165,7 @@ are not careful, you may find things “at 6’s and 7’s”. :-)
NOTE: The original winning source marangon.orig.c, found in
the archive directory, assumed that exit(3) returns a value which cause
problems for some systems where exit(3) returns a void. The file
-marangon.c avoids this problem.
It starts off by creating a table with number 5 in all places. The CPU melts
the numbers and you must return them in original state. When you increase a
diff --git a/1992/westley/README.md b/1992/westley/README.md
index d345c17f5..1956fa4a8 100644
--- a/1992/westley/README.md
+++ b/1992/westley/README.md
@@ -64,7 +64,7 @@ NOTE: this alternative version also needs a terminal with at least 80 columns.
### Alternate try:
-The [try.sh](try.sh) script uses both the original entry and the alternate code
+The [try.sh](%%REPO_URL%%/1992/westley/try.sh) script uses both the original entry and the alternate code
so one can try the same script for both:
```
diff --git a/1992/westley/index.html b/1992/westley/index.html
index 5d3587503..244871b99 100644
--- a/1992/westley/index.html
+++ b/1992/westley/index.html
@@ -177,7 +177,7 @@ should just use the westley and westley.alt programs d
./whereami.alt.sh lat long
NOTE: this alternative version also needs a terminal with at least 80 columns.
The try.sh script uses both the original entry and the alternate code +
The try.sh script uses both the original entry and the alternate code so one can try the same script for both:
./try.sh
The author has provided several CABBAGE files for your amusement:
rince.data1 plays +
rince.data1 plays
[Breakout](https://en.wikipedia.org/wiki/Breakout_(video_game). Keys are ,
for left, / for right, and . for ‘fire the ball’.
rince.data2 plays the old James Bonfield’s +
rince.data2 plays the old James Bonfield’s (1991/rince game from IOCCC 1991.
rince.data3 Sokoban screen 11. You are the o character.
+
rince.data3 Sokoban screen 11. You are the o character.
You must push the money m into the dotted region of the screen. The game is
considered finished when all the ms are then Ms.
rince.data4 Sokoban screen 13. Same rules as above.
rince.data4 Sokoban screen 13. Same rules as above.
For a brief design description, see design.html.
+For a brief design description, see design.html.
If you are running SunOS 4.1.x (assuming you can find an ANSI compiler in the first place), this program may be used to log diff --git a/1993/schnitzi/README.md b/1993/schnitzi/README.md index 0f0e24325..ceab4c188 100644 --- a/1993/schnitzi/README.md +++ b/1993/schnitzi/README.md @@ -66,7 +66,7 @@ After this program prints the contents of 'file', ask it some questions related to the text. The author suggests the following questions when using -[schnitzi.info](schnitzi.info): +[schnitzi.info](%%REPO_URL%%/1993/schnitzi/schnitzi.info): - Who is Mark Schnitzius? diff --git a/1993/schnitzi/index.html b/1993/schnitzi/index.html index abc4a5b87..b1f1a140d 100644 --- a/1993/schnitzi/index.html +++ b/1993/schnitzi/index.html @@ -182,7 +182,7 @@ intentional spelling error there.
After this program prints the contents of ‘file’, ask it some questions related to the text.
The author suggests the following questions when using -schnitzi.info:
+schnitzi.info:Indeed, when dodsond2.gz is uncompressed, it is identical -to the dodsond2.c file you find today.
+to the dodsond2.c file you find today.The IOCCC rules and guidelines were modified in an effort to address this fun “abuse of the rules” style hack.
It is worth noting that without this compression “abuse of the rules” -style hack, the dodsond2.c is further obfuscated.
+style hack, the dodsond2.c is further obfuscated.Go searching for the Wumpus in the Caverns of Doom! But be careful…
There are pits and bats waiting to seal your fate, as well as a
diff --git a/1994/horton/README.md b/1994/horton/README.md
index eb3677888..787d7ce9c 100644
--- a/1994/horton/README.md
+++ b/1994/horton/README.md
@@ -23,7 +23,7 @@
## Alternate code:
-This confuses cb greatly. See [horton.alt.c](horton.alt.c) for an unobfuscated/enhanced
+This confuses cb greatly. See [horton.alt.c](%%REPO_URL%%/1994/horton/horton.alt.c) for an unobfuscated/enhanced
version.
@@ -78,7 +78,7 @@ cogs in the wheels of the grand plot to overthrow the cubics!
Oh, by the way, it uses a self-contained graphtab and frame buffer.
It's easily modified to graph *any* 96x160 bitmap on a dumb terminal.
-See the [gtface](gtface.c) program for another example. Try:
+See the [gtface](%%REPO_URL%%/1994/horton/gtface.c) program for another example. Try:
```
make gtface
diff --git a/1994/horton/index.html b/1994/horton/index.html
index bd002f5bc..e8a9c4d40 100644
--- a/1994/horton/index.html
+++ b/1994/horton/index.html
@@ -160,7 +160,7 @@ Location: US - United States of America
This confuses cb greatly. See horton.alt.c for an unobfuscated/enhanced
+ This confuses cb greatly. See horton.alt.c for an unobfuscated/enhanced
version.Try:
./try.shAlternate code:
-Alternate build:
@@ -187,7 +187,7 @@ of their cubic equations. Those dastardly arguments are mere coefficients,
cogs in the wheels of the grand plot to overthrow the cubics! make alt
Oh, by the way, it uses a self-contained graphtab and frame buffer. It’s easily modified to graph any 96x160 bitmap on a dumb terminal.
-See the gtface program for another example. Try:
+See the gtface program for another example. Try:
make gtface
./gtface < gtface.data
For more information, see my article
diff --git a/1994/smr/README.md b/1994/smr/README.md index 27e8f3f6b..687771567 100644 --- a/1994/smr/README.md +++ b/1994/smr/README.md @@ -26,7 +26,7 @@ was the world's smallest self reproducing program. While the sizes of these submissions varied, a quick glance would reveal that they were too big, until this entry came along. -While strictly speaking, [smr.c](smr.c) is not a valid C program, it is not an +While strictly speaking, [smr.c](%%REPO_URL%%/1994/smr/smr.c) is not a valid C program, it is not an invalid C program either! Some C compilers will compile an empty file into a program that does nothing. But even if your compiler can't, the build instructions supplied with this entry will produce an executable file. On most diff --git a/1994/smr/index.html b/1994/smr/index.html index 97ab69dc9..7aee9572b 100644 --- a/1994/smr/index.html +++ b/1994/smr/index.html @@ -163,7 +163,7 @@ Location: US - United States of America was the world’s smallest self reproducing program. While the sizes of these submissions varied, a quick glance would reveal that they were too big, until this entry came along. -While strictly speaking, smr.c is not a valid C program, it is not an +
While strictly speaking, smr.c is not a valid C program, it is not an invalid C program either! Some C compilers will compile an empty file into a program that does nothing. But even if your compiler can’t, the build instructions supplied with this entry will produce an executable file. On most diff --git a/1994/weisberg/README.md b/1994/weisberg/README.md index 9f4a20207..447b73368 100644 --- a/1994/weisberg/README.md +++ b/1994/weisberg/README.md @@ -27,7 +27,7 @@ If you have `primes(1)` installed you might also wish to try: ./primes.sh number ``` -where `number` is a positive number, defaulting to 15. The [try.sh](try.sh) +where `number` is a positive number, defaulting to 15. The [try.sh](%%REPO_URL%%/1994/weisberg/try.sh) script will also do this. diff --git a/1994/weisberg/index.html b/1994/weisberg/index.html index b9ceef794..2ca8f6f39 100644 --- a/1994/weisberg/index.html +++ b/1994/weisberg/index.html @@ -162,7 +162,7 @@ code below for more details.
./try.sh
If you have primes(1) installed you might also wish to try:
./primes.sh number
-where number is a positive number, defaulting to 15. The try.sh
+
where number is a positive number, defaulting to 15. The try.sh
script will also do this.
If you liked what you saw from the above program, and happen to diff --git a/1994/westley/README.md b/1994/westley/README.md index 4bd6e8a1a..981fc43d1 100644 --- a/1994/westley/README.md +++ b/1994/westley/README.md @@ -29,7 +29,7 @@ invocations_ specified. That means with the right compiler invocation you can 'win' the game on the first go. There are a variety of different `-D` flags you give to `cc` that change the -message you get. You might wish to look at the [source code](westley.alt.c) to +message you get. You might wish to look at the [source code](%%REPO_URL%%/1994/westley/westley.alt.c) to get a better idea or see below in the [Try](#try) section for running the game from start to finish. @@ -70,7 +70,7 @@ reason that we recommend you try it first. ``` There are a variety of different `-D` flags you can give to `cc` that change the -message you get. You might wish to look at the [source code](westley.c) to get a +message you get. You might wish to look at the [source code](%%REPO_URL%%/1994/westley/westley.c) to get a better idea or see below in the [Original try](#original-try) section for running the game from start to finish. diff --git a/1994/westley/index.html b/1994/westley/index.html index e5bdd1b7f..670987943 100644 --- a/1994/westley/index.html +++ b/1994/westley/index.html @@ -170,7 +170,7 @@ else.
invocations specified. That means with the right compiler invocation you can ‘win’ the game on the first go.There are a variety of different -D flags you give to cc that change the
-message you get. You might wish to look at the source code to
+message you get. You might wish to look at the source code to
get a better idea or see below in the Try section for running the game
from start to finish.
make all
There are a variety of different -D flags you can give to cc that change the
-message you get. You might wish to look at the source code to get a
+message you get. You might wish to look at the source code to get a
better idea or see below in the Original try section for
running the game from start to finish.
While it may not have been the intention of the author, the
judges noted that the C pre-processed version (with the #includes
left intact) looked very much like a rat “dropping core”. See
-garry.alt.c and judge for yourself!
make alt
./try.alt.sh
The author was kind enough to provide a less obfuscated version of -the source called garry.fmt.c.
+the source called garry.fmt.c.This program is a file filter, designed to do environment-expansion and incorporating the ability to create binary from escaped data in the diff --git a/1995/vanschnitz/README.md b/1995/vanschnitz/README.md index 5c8367c6b..a87707dfe 100644 --- a/1995/vanschnitz/README.md +++ b/1995/vanschnitz/README.md @@ -36,7 +36,7 @@ For more detailed information see [1995 vanschnitz bugs](../../bugs.html#1995_va ## Alternate code: The authors provided a spoiler version of the program. Originally uuencoded we -have decoded it for the wider audience in [vanschnitz.alt.c](vanschnitz.alt.c). The +have decoded it for the wider audience in [vanschnitz.alt.c](%%REPO_URL%%/1995/vanschnitz/vanschnitz.alt.c). The `uuencode`d blob is still available in their remarks below. They encourage you to first try and figure out the program without the spoiler. @@ -120,7 +120,7 @@ solution wherein the disks end up on peg 2; for an even number of disks, they will end on peg 3. This should provide some hint as to what sort of algorithm is used. -We have included a [spoiler](spoiler.c) version of the program, with +We have included a [spoiler](%%REPO_URL%%/1995/vanschnitz/spoiler.c) version of the program, with meaningful symbol names and comments, but we encourage you to try to decipher the program without it... diff --git a/1995/vanschnitz/index.html b/1995/vanschnitz/index.html index 146fdd42f..81769b053 100644 --- a/1995/vanschnitz/index.html +++ b/1995/vanschnitz/index.html @@ -171,7 +171,7 @@ in 2023. See Alternate code below.
./try.sh
The authors provided a spoiler version of the program. Originally uuencoded we
-have decoded it for the wider audience in vanschnitz.alt.c. The
+have decoded it for the wider audience in vanschnitz.alt.c. The
uuencoded blob is still available in their remarks below. They encourage you
to first try and figure out the program without the spoiler.
We have included a spoiler version of the program, with +
We have included a spoiler version of the program, with meaningful symbol names and comments, but we encourage you to try to decipher the program without it…
begin 444 spoiler.c
diff --git a/1996/august/README.md b/1996/august/README.md
index a3fdd526c..e936ff85e 100644
--- a/1996/august/README.md
+++ b/1996/august/README.md
@@ -129,15 +129,15 @@ Or even simpler:
cat august.c test.oc | ./august | ./august
```
-A larger example is included [fac.oc](fac.oc).
+A larger example is included [fac.oc](%%REPO_URL%%/1996/august/fac.oc).
The compiler for OC is naturally written in OC (where did you think the byte
-code came from?). It is in the file [parse.oc](parse.oc).
+code came from?). It is in the file [parse.oc](%%REPO_URL%%/1996/august/parse.oc).
Hmm... So now we have an interpreter written in OC and a compiler for OC, can
we compile the interpreter? Yes, we can! The OC compiler does not have a
preprocessor (hey, what do you expect from a program that is this small), so we
-need to use an external one. To pre-process [august.c](august.c) use the
+need to use an external one. To pre-process [august.c](%%REPO_URL%%/1996/august/august.c) use the
command from the Makefile, but add the `-E` flag and change 60000 to 40000,
i.e.:
diff --git a/1996/august/index.html b/1996/august/index.html
index f19ed990d..8ac6dfc0f 100644
--- a/1996/august/index.html
+++ b/1996/august/index.html
@@ -213,13 +213,13 @@ and binary in august) and that we have this in a file named test.oc
./august < test.oo
Or even simpler:
cat august.c test.oc | ./august | ./august
-A larger example is included fac.oc.
+A larger example is included fac.oc.
The compiler for OC is naturally written in OC (where did you think the byte
-code came from?). It is in the file parse.oc.
+code came from?). It is in the file parse.oc.
Hmm… So now we have an interpreter written in OC and a compiler for OC, can
we compile the interpreter? Yes, we can! The OC compiler does not have a
preprocessor (hey, what do you expect from a program that is this small), so we
-need to use an external one. To pre-process august.c use the
+need to use an external one. To pre-process august.c use the
command from the Makefile, but add the -E flag and change 60000 to 40000,
i.e.:
cc -E -DZ=40000 .... august.c > august.oc
diff --git a/1996/rcm/README.md b/1996/rcm/README.md
index 3ec41f1cc..88bd7e63d 100644
--- a/1996/rcm/README.md
+++ b/1996/rcm/README.md
@@ -31,7 +31,7 @@ For a good no-op try:
gzip -c < rcm.c | ./rcm
```
-NOTE: this is done in the [try.sh](try.sh) script as well, along with some other
+NOTE: this is done in the [try.sh](%%REPO_URL%%/1996/rcm/try.sh) script as well, along with some other
commands including a way to do the above command but with more steps.
diff --git a/1996/rcm/index.html b/1996/rcm/index.html
index 7cd11e557..9e6460ee7 100644
--- a/1996/rcm/index.html
+++ b/1996/rcm/index.html
@@ -163,7 +163,7 @@ Location: US - United States of America
Judges’ remarks:
For a good no-op try:
gzip -c < rcm.c | ./rcm
-NOTE: this is done in the try.sh script as well, along with some other
+
NOTE: this is done in the try.sh script as well, along with some other
commands including a way to do the above command but with more steps.
Author’s remarks:
Except for some silly requirements regarding input validation, CRC checking, and
diff --git a/1996/schweikh2/README.md b/1996/schweikh2/README.md
index e83379aa9..c226c8291 100644
--- a/1996/schweikh2/README.md
+++ b/1996/schweikh2/README.md
@@ -41,14 +41,14 @@ The author also suggests:
```
(and we do too) which works with `sh`, `bash`, `ksh` and `zsh` as well. Press
-ctrl-c to stop it. Observe how the [try.sh](try.sh) script does this once to
+ctrl-c to stop it. Observe how the [try.sh](%%REPO_URL%%/1996/schweikh2/try.sh) script does this once to
make it easier to see what is happening.
## Judges' remarks:
The original program, with only slight obfuscations, may be found
-in [hunni.c](hunni.c). The perl script, [hunni.pl](hunni.pl), obfuscates it
+in [hunni.c](%%REPO_URL%%/1996/schweikh2/hunni.c). The perl script, [hunni.pl](hunni.pl), obfuscates it
appropriately. Try:
```
diff --git a/1996/schweikh2/index.html b/1996/schweikh2/index.html
index cec3faaa4..9a47cbff8 100644
--- a/1996/schweikh2/index.html
+++ b/1996/schweikh2/index.html
@@ -170,11 +170,11 @@ Location: DE - Federal Republic of Germ
The author also suggests:
while :; do grep -v '#' schweikh2.c; done
(and we do too) which works with sh, bash, ksh and zsh as well. Press
-ctrl-c to stop it. Observe how the try.sh script does this once to
+ctrl-c to stop it. Observe how the try.sh script does this once to
make it easier to see what is happening.
Judges’ remarks:
The original program, with only slight obfuscations, may be found
-in hunni.c. The perl script, hunni.pl, obfuscates it
+in hunni.c. The perl script, hunni.pl, obfuscates it
appropriately. Try:
less hunni.c
diff --git a/1996/schweikh3/README.md b/1996/schweikh3/README.md
index 97602c521..930c1b921 100644
--- a/1996/schweikh3/README.md
+++ b/1996/schweikh3/README.md
@@ -22,7 +22,7 @@ You have been warned.
The source fails to compile on compilers that recognize the inline
keyword by default. For gcc, you may need to use `-ansi`.
-See the file [schweikh3.info](schweikh3.info) for example output from various
+See the file [schweikh3.info](%%REPO_URL%%/1996/schweikh3/schweikh3.info) for example output from various
systems.
But still it is a useful utility. To use try:
diff --git a/1996/schweikh3/index.html b/1996/schweikh3/index.html
index eda21ebe2..c6c2130ac 100644
--- a/1996/schweikh3/index.html
+++ b/1996/schweikh3/index.html
@@ -163,7 +163,7 @@ You have been warned.
Judges’ remarks:
The source fails to compile on compilers that recognize the inline
keyword by default. For gcc, you may need to use -ansi.
-See the file schweikh3.info for example output from various
+
See the file schweikh3.info for example output from various
systems.
But still it is a useful utility. To use try:
./schweikh3
diff --git a/1998/banks/README.md b/1998/banks/README.md
index 1d16b5cbf..71c859cd8 100644
--- a/1998/banks/README.md
+++ b/1998/banks/README.md
@@ -28,7 +28,7 @@ on this in the author's comments in the [Alternate Build
Instructions](#alternate-build-instructions) section.
If however you wish to change the above controls, see the header file
-[keysym.h](keysym.h) for the definitions of other characters that you might wish
+[keysym.h](%%REPO_URL%%/1998/banks/keysym.h) for the definitions of other characters that you might wish
to use. The name of the macro in the header file is what you need to set the
macros to, depending on what controls you wish to redefine. For instance, to set
the throttle up and down to `u` and `d`:
@@ -46,7 +46,7 @@ corresponds to `d`:
#define XK_u 0x0075 /* U+0075 LATIN SMALL LETTER U */
```
-Note that the [keysym.h](keysym.h) file is not complete from X11; it's just the
+Note that the [keysym.h](%%REPO_URL%%/1998/banks/keysym.h) file is not complete from X11; it's just the
more likely candidates (and some that are probably unlikely :-) ).
The upper case letters would be `XK_U` and `XK_D` and you can search the header
@@ -200,31 +200,31 @@ less than 1000 total lines of input.
Here is a brief description of the scenery files:
-- [horizon.sc](horizon.sc)
+- [horizon.sc](%%REPO_URL%%/1998/banks/horizon.sc)
A horizon, nothing more. You will probably always want to input this piece
of scenery.
-- [mountains.sc](mountains.sc)
+- [mountains.sc](%%REPO_URL%%/1998/banks/mountains.sc)
An alternate horizon; a little more mountainous.
-- [pittsburgh.sc]([pittsburgh.sc])
+- [pittsburgh.sc](%%REPO_URL%%/1998/banks/pittsburgh.sc)
Scenery of downtown Pittsburgh. The downtown area is initially located
to your right.
-- [bb.sc](bb.sc)
+- [bb.sc](%%REPO_URL%%/1998/banks/bb.sc)
Simple obstacle course. Try to fly over the buildings and under the
bridges.
-- [pyramids.sc](pyramids.sc)
+- [pyramids.sc](1998/banks/pyramids.sc)
Fly over the tombs of the ancient Pharaohs, in this (fictitious) Egyptian
landscape.
-- [river.sc](river.sc)
+- [river.sc](%%REPO_URL%%/1998/banks/river.sc)
Follow a flowing river from the sky.
@@ -261,7 +261,7 @@ I'm sure you'll be making your own scenery files very soon!!!
### Alternate Build Instructions
Several options must be passed to the compiler to make the build
-work. The provided [Makefile](Makefile) has the appropriate options set
+work. The provided [Makefile](%%REPO_URL%%/1998/banks/Makefile) has the appropriate options set
to default values. Use this section if you want to compile with
different options.
diff --git a/1998/banks/index.html b/1998/banks/index.html
index 00614b232..7b977c2bf 100644
--- a/1998/banks/index.html
+++ b/1998/banks/index.html
@@ -172,7 +172,7 @@ default value. The author provided the following table:
on this in the author’s comments in the Alternate Build
Instructions section.
If however you wish to change the above controls, see the header file
-keysym.h for the definitions of other characters that you might wish
+keysym.h for the definitions of other characters that you might wish
to use. The name of the macro in the header file is what you need to set the
macros to, depending on what controls you wish to redefine. For instance, to set
the throttle up and down to u and d:
@@ -181,7 +181,7 @@ the throttle up and down to u and d:
corresponds to d:
#define XK_d 0x0064 /* U+0064 LATIN SMALL LETTER D */
#define XK_u 0x0075 /* U+0075 LATIN SMALL LETTER U */
-Note that the keysym.h file is not complete from X11; it’s just the
+
Note that the keysym.h file is not complete from X11; it’s just the
more likely candidates (and some that are probably unlikely :-) ).
The upper case letters would be XK_U and XK_D and you can search the header
file for ‘LATIN CAPITAL D’, for example.
@@ -283,21 +283,21 @@ You may input more than one scenery file, as long as there are
less than 1000 total lines of input.
Here is a brief description of the scenery files:
--
+
-
A horizon, nothing more. You will probably always want to input this piece
of scenery.
--
+
-
An alternate horizon; a little more mountainous.
--
+
-
Scenery of downtown Pittsburgh. The downtown area is initially located
to your right.
--
+
-
Simple obstacle course. Try to fly over the buildings and under the
bridges.
--
+
-
Fly over the tombs of the ancient Pharaohs, in this (fictitious) Egyptian
landscape.
--
+
-
Follow a flowing river from the sky.
A few examples of how to input scenery:
@@ -316,7 +316,7 @@ positive altitudes.
I’m sure you’ll be making your own scenery files very soon!!!
Alternate Build Instructions
Several options must be passed to the compiler to make the build
-work. The provided Makefile has the appropriate options set
+work. The provided Makefile has the appropriate options set
to default values. Use this section if you want to compile with
different options.
To map a key to a control, you must pass an option to the
diff --git a/1998/dlowe/README.md b/1998/dlowe/README.md
index cb4e9c099..ce7fe83f4 100644
--- a/1998/dlowe/README.md
+++ b/1998/dlowe/README.md
@@ -118,17 +118,17 @@ A CGI script such as:
```
can be used to pootify web pages. This has been added as
-[pootify.cgi.sh](pootify.cgi.sh) which forbids `file://` based URLs and which
+[pootify.cgi.sh](%%REPO_URL%%/1998/dlowe/pootify.cgi.sh) which forbids `file://` based URLs and which
uses `lynx(1)` with the option referred to above. This will not, of course,
render it as html but rather show the modified html. Nevertheless, this has
**NOT** been tested as a CGI script with a webserver to display a pootified web
page.
-The [pootify.sh](pootify.sh) script has also been added which is a modification
+The [pootify.sh](%%REPO_URL%%/1998/dlowe/pootify.sh) script has also been added which is a modification
to the above script which can be used to render html files locally with the
added bonus that one can use `file://` URLs. If one wants a CGI script they
should use the above one instead. You can use the script
-[pootify.sh](pootify.sh), however, to download and generate html files that you
+[pootify.sh](%%REPO_URL%%/1998/dlowe/pootify.sh), however, to download and generate html files that you
can look at locally in a browser or pipe through `less(1)`. For instance:
```
diff --git a/1998/dlowe/index.html b/1998/dlowe/index.html
index 9c2c93d9e..fcae60a3d 100644
--- a/1998/dlowe/index.html
+++ b/1998/dlowe/index.html
@@ -213,16 +213,16 @@ more consistent level of quality. :-)
fi
fi
can be used to pootify web pages. This has been added as
-pootify.cgi.sh which forbids file:// based URLs and which
+pootify.cgi.sh which forbids file:// based URLs and which
uses lynx(1) with the option referred to above. This will not, of course,
render it as html but rather show the modified html. Nevertheless, this has
NOT been tested as a CGI script with a webserver to display a pootified web
page.
The pootify.sh script has also been added which is a modification +
The pootify.sh script has also been added which is a modification
to the above script which can be used to render html files locally with the
added bonus that one can use file:// URLs. If one wants a CGI script they
should use the above one instead. You can use the script
-pootify.sh, however, to download and generate html files that you
+pootify.sh, however, to download and generate html files that you
can look at locally in a browser or pipe through less(1). For instance:
./pootify.sh URL=https://microsoft.com | less
diff --git a/1998/dorssel/README.md b/1998/dorssel/README.md
index f9b794641..baffe84c3 100644
--- a/1998/dorssel/README.md
+++ b/1998/dorssel/README.md
@@ -45,7 +45,7 @@ altering the behavior ?
### Extra credit:
-Try doing what the last part of the last command in [try.sh](try.sh) suggests.
+Try doing what the last part of the last command in [try.sh](%%REPO_URL%%/1998/dorssel/try.sh) suggests.
As in, do the following:
```
@@ -111,7 +111,7 @@ is the same as
./dorssel < dorssel.c | ./dorssel
```
-- The file [dorssel.md](dorssel.md) contains all the information needed to
+- The file [dorssel.html](dorssel.html) contains all the information needed to
understand this program. For an obfuscated spoiler, try
```
diff --git a/1998/dorssel/index.html b/1998/dorssel/index.html
index 8f69ef59e..60c3a7340 100644
--- a/1998/dorssel/index.html
+++ b/1998/dorssel/index.html
@@ -176,7 +176,7 @@ what values may they be changed without altering the behavior?
altering the behavior ?
Extra credit:
-Try doing what the last part of the last command in try.sh suggests.
+
Try doing what the last part of the last command in try.sh suggests.
As in, do the following:
echo ". -..- . .-. -.-. .. ... .
-.-. .... .- -. --. . - .... . .--. .-. --- --. .-. .- -- ... --- .. - -.. --- . ... -. --- - ... .... --- ..- -" | ./dorssel
@@ -218,7 +218,7 @@ text that can be reversibly Morsified, i.e.
is the same as
./dorssel < dorssel.c | ./dorssel
-- The file dorssel.md contains all the information needed to
+
- The file dorssel.html contains all the information needed to
understand this program. For an obfuscated spoiler, try
./dorssel < dorssel.md
diff --git a/1998/fanf/README.md b/1998/fanf/README.md
index d85fe5401..5c08f365e 100644
--- a/1998/fanf/README.md
+++ b/1998/fanf/README.md
@@ -28,7 +28,7 @@ Enter an expression on standard input. To try some we have selected:
### Historical aside:
-At a time the code in [fanf.c](fanf.c) was that of [fanf.orig.c](fanf.orig.c)
+At a time the code in [fanf.c](%%REPO_URL%%/1998/fanf/fanf.c) was that of [fanf.orig.c](fanf.orig.c)
but to get this to compile in modern systems it had to be translated to what you
now see. The intermediate steps can still be performed but they might be
different from the past. This should be kept in mind as you read the below
@@ -38,10 +38,10 @@ This program translates lambda expressions into combinator
expressions. But you do not need to know Lambda Calculus to be
impressed by this program!
-See the file [fanf.lambda](fanf.lambda) for more examples of lambda calculus
+See the file [fanf.lambda](%%REPO_URL%%/1998/fanf/fanf.lambda) for more examples of lambda calculus
source.
-Notice how large the code grows from the [fanf.c](fanf.c) into the final
+Notice how large the code grows from the [fanf.c](%%REPO_URL%%/1998/fanf/fanf.c) into the final
`fanftmp2.c` C program. Take a look at that final C program again,
can you begin to understand what it is doing?
diff --git a/1998/fanf/index.html b/1998/fanf/index.html
index 5a4dd1020..8196fd626 100644
--- a/1998/fanf/index.html
+++ b/1998/fanf/index.html
@@ -163,7 +163,7 @@ this entry because of the system resources it requires.
./try.sh
Judges’ remarks:
Historical aside:
-At a time the code in fanf.c was that of fanf.orig.c
+
At a time the code in fanf.c was that of fanf.orig.c
but to get this to compile in modern systems it had to be translated to what you
now see. The intermediate steps can still be performed but they might be
different from the past. This should be kept in mind as you read the below
@@ -171,9 +171,9 @@ remarks.
This program translates lambda expressions into combinator
expressions. But you do not need to know Lambda Calculus to be
impressed by this program!
-See the file fanf.lambda for more examples of lambda calculus
+
See the file fanf.lambda for more examples of lambda calculus
source.
-Notice how large the code grows from the fanf.c into the final
+
Notice how large the code grows from the fanf.c into the final
fanftmp2.c C program. Take a look at that final C program again,
can you begin to understand what it is doing?
Look at the first stage of the C pre-processing which was done like:
diff --git a/1998/schweikh1/README.md b/1998/schweikh1/README.md
index e1a18d11c..c7729e283 100644
--- a/1998/schweikh1/README.md
+++ b/1998/schweikh1/README.md
@@ -109,7 +109,7 @@ itself. Just load it in your favorite editor.
`gcc` (the GNU C compiler) must be available at runtime. It is assumed that your
C implementation keeps headers as files in the `/usr/include` directory. The
-[info](info) file must be readable and reside in the current working directory.
+[info](%%REPO_URL%%/1998/schweikh1/info) file must be readable and reside in the current working directory.
The current working directory must be writable in order to create a temporary
file (which is removed upon program termination). In case you don't have gcc at
runtime, not all is lost if your compiler or preprocessor can produce a list of
diff --git a/1998/schweikh1/index.html b/1998/schweikh1/index.html
index 3143690c0..c2657d201 100644
--- a/1998/schweikh1/index.html
+++ b/1998/schweikh1/index.html
@@ -219,7 +219,7 @@ itself. Just load it in your favorite editor.
Requirements
gcc (the GNU C compiler) must be available at runtime. It is assumed that your
C implementation keeps headers as files in the /usr/include directory. The
-info file must be readable and reside in the current working directory.
+info file must be readable and reside in the current working directory.
The current working directory must be writable in order to create a temporary
file (which is removed upon program termination). In case you don’t have gcc at
runtime, not all is lost if your compiler or preprocessor can produce a list of
diff --git a/1998/schweikh3/README.md b/1998/schweikh3/README.md
index 1572aca3b..e574f873f 100644
--- a/1998/schweikh3/README.md
+++ b/1998/schweikh3/README.md
@@ -81,7 +81,7 @@ Thank God the IEEE does not standardize a coding style...
### What this program does
This is best explained in the man page. The troff source for this
-man page can be found in the file [samefile.1](samefile.1). To render try:
+man page can be found in the file [samefile.1](%%REPO_URL%%/1998/schweikh3/samefile.1). To render try:
```
`man ./samefile.1
diff --git a/1998/schweikh3/index.html b/1998/schweikh3/index.html
index 2dd48e069..4bd34024f 100644
--- a/1998/schweikh3/index.html
+++ b/1998/schweikh3/index.html
@@ -192,7 +192,7 @@ the tool as well at h
Thank God the IEEE does not standardize a coding style…
What this program does
This is best explained in the man page. The troff source for this
-man page can be found in the file samefile.1. To render try:
+man page can be found in the file samefile.1. To render try:
`man ./samefile.1
Otherwise:
SAMEFILE(1) User Manuals SAMEFILE(1)
diff --git a/2000/dhyang/README.md b/2000/dhyang/README.md
index 25e2ced2e..5b2129a6b 100644
--- a/2000/dhyang/README.md
+++ b/2000/dhyang/README.md
@@ -39,12 +39,12 @@ them with cool layout!
For your enjoyment:
-1. Compile [dhyang.c](dhyang.c).
+1. Compile [dhyang.c](%%REPO_URL%%/2000/dhyang/dhyang.c).
2. Run `./dhyang` and redirect output to another `.c` file.
3. Compile that file.
4. Repeat steps 2 and 3 until eventually the output cycles.
-To interpret the output: the [dhyang.c](dhyang.c.c) is an image of Saitou
+To interpret the output: the [dhyang.c](%%REPO_URL%%/2000/dhyang/dhyang.c.c) is an image of Saitou
Hajime, which eventually generates three sources files that are images of "aku
soku zan" (sin swift slay), Saitou's motto ;)
@@ -52,7 +52,7 @@ For best viewing, set tab spaces to 8 characters, and set your
terminal fonts to as close to square as possible. I hate to do this
but you know, size...
-[dhyang.c](dhyang.c) and all its output compiles with gcc if your OS uses ASCII
+[dhyang.c](%%REPO_URL%%/2000/dhyang/dhyang.c) and all its output compiles with gcc if your OS uses ASCII
character set. No file is included and all functions assume default `int` return
type (a source of compile warnings).
diff --git a/2000/dhyang/index.html b/2000/dhyang/index.html
index af3330466..fd2b78754 100644
--- a/2000/dhyang/index.html
+++ b/2000/dhyang/index.html
@@ -171,18 +171,18 @@ program that generates a set of mutually reproducing programs, all of
them with cool layout!
For your enjoyment:
-- Compile dhyang.c.
+- Compile dhyang.c.
- Run
./dhyang and redirect output to another .c file.
- Compile that file.
- Repeat steps 2 and 3 until eventually the output cycles.
-To interpret the output: the dhyang.c is an image of Saitou
+
To interpret the output: the dhyang.c is an image of Saitou
Hajime, which eventually generates three sources files that are images of “aku
soku zan” (sin swift slay), Saitou’s motto ;)
For best viewing, set tab spaces to 8 characters, and set your
terminal fonts to as close to square as possible. I hate to do this
but you know, size…
-dhyang.c and all its output compiles with gcc if your OS uses ASCII
+
dhyang.c and all its output compiles with gcc if your OS uses ASCII
character set. No file is included and all functions assume default int return
type (a source of compile warnings).
./jarijyrki < finance.sheet
```
-The file [finance.sheet](finance.sheet) has been provided as an example. This
+The file [finance.sheet](%%REPO_URL%%/2000/jarijyrki/finance.sheet) has been provided as an example. This
file contains a set of financial numbers and two graphical entities - a pie
chart and a histogram - based on them. We recommend starting the use of the
program from this file, as a way to study and learn the formula language
@@ -184,7 +184,7 @@ Below the Formula Area is the Column Letters Area: `A`, `B`, and so on.
Correspondingly, on the left side of the window is the Row Numbers Area: `1`, `2`,
and so on. The rest of the window is dedicated to the actual spreadsheet cells.
-The example spreadsheet, [finance.sheet](finance.sheet), provided with this
+The example spreadsheet, [finance.sheet](%%REPO_URL%%/2000/jarijyrki/finance.sheet), provided with this
program contains two sets of numbers in the visible area of the spreadsheet. The
top set of numbers forms the product-by-product turnover breakdown of an
imaginary company. Below it is the yearly development of the company profits. On
diff --git a/2000/jarijyrki/index.html b/2000/jarijyrki/index.html
index d126208bf..3a5f20e11 100644
--- a/2000/jarijyrki/index.html
+++ b/2000/jarijyrki/index.html
@@ -226,10 +226,10 @@ character at the end of the formula; press backspace to delete the last one.
Finish the formula with ! to create the histogram.
2.2. Starting and Loading Spreadsheets
To start the spreadsheet program with an existing
-spreadsheet, for instance finance.sheet, use the following
+spreadsheet, for instance finance.sheet, use the following
command line:
./jarijyrki < finance.sheet
-The file finance.sheet has been provided as an example. This
+
The file finance.sheet has been provided as an example. This
file contains a set of financial numbers and two graphical entities - a pie
chart and a histogram - based on them. We recommend starting the use of the
program from this file, as a way to study and learn the formula language
@@ -250,7 +250,7 @@ currently selected cell. The program starts with A1 as being the cu
Below the Formula Area is the Column Letters Area: A, B, and so on.
Correspondingly, on the left side of the window is the Row Numbers Area: 1, 2,
and so on. The rest of the window is dedicated to the actual spreadsheet cells.
-The example spreadsheet, finance.sheet, provided with this
+
The example spreadsheet, finance.sheet, provided with this
program contains two sets of numbers in the visible area of the spreadsheet. The
top set of numbers forms the product-by-product turnover breakdown of an
imaginary company. Below it is the yearly development of the company profits. On
diff --git a/2000/tomx/README.md b/2000/tomx/README.md
index d618e40f1..d39e369fd 100644
--- a/2000/tomx/README.md
+++ b/2000/tomx/README.md
@@ -25,8 +25,8 @@ There is an alternate version that compiles [mkentry.c](mkentry.c). See
## Alternate code:
This alternate code is based on the author's remarks with a slight fix so that
-it will do what it once did, compile and run [mkentry.c](mkentry.c). You can use
-it in a similar way as [tomx.c](tomx.c), both executing the source file and
+it will do what it once did, compile and run [mkentry.c](%%REPO_URL%%/2000/tomx/mkentry.c). You can use
+it in a similar way as [tomx.c](%%REPO_URL%%/2000/tomx/tomx.c), both executing the source file and
using it as a Makefile and running the code ends up running `mkentry`.
@@ -98,7 +98,7 @@ like a C program.
program that it is. It is possible to do `#include "prog2.c"` in the place of
the `main()`, leaving the complexities of the C file elsewhere and making this
source still acceptable to `make` and `sh`. The following modification to the
-last few lines will compile the IOCCC's famous [mkentry.c](mkentry.c).
+last few lines will compile the IOCCC's famous [mkentry.c](%%REPO_URL%%/2000/tomx/mkentry.c).
```
.PHONY: /* true clean */
diff --git a/2000/tomx/index.html b/2000/tomx/index.html
index fa2e7ffd1..d7cd72353 100644
--- a/2000/tomx/index.html
+++ b/2000/tomx/index.html
@@ -162,8 +162,8 @@ Location: NL - Kingdom of the Netherlan
./try.sh
Alternate code:
This alternate code is based on the author’s remarks with a slight fix so that
-it will do what it once did, compile and run mkentry.c. You can use
-it in a similar way as tomx.c, both executing the source file and
+it will do what it once did, compile and run mkentry.c. You can use
+it in a similar way as tomx.c, both executing the source file and
using it as a Makefile and running the code ends up running mkentry.
Alternate build:
make alt
@@ -210,7 +210,7 @@ like a C program.
program that it is. It is possible to do #include "prog2.c" in the place of
the main(), leaving the complexities of the C file elsewhere and making this
source still acceptable to make and sh. The following modification to the
-last few lines will compile the IOCCC’s famous mkentry.c.
+last few lines will compile the IOCCC’s famous mkentry.c.
.PHONY: /* true clean */
#undef true
diff --git a/2001/anonymous/README.md b/2001/anonymous/README.md
index 201b3a960..8b77adac2 100644
--- a/2001/anonymous/README.md
+++ b/2001/anonymous/README.md
@@ -5,7 +5,7 @@
```
The programs that this program is supposed to act on,
-[anonymous.ten.c](anonymous.ten.c) and [anonymous.bed.c](anonymous.bed.c),
+[anonymous.ten.c](%%REPO_URL%%/2001/anonymous/anonymous.ten.c) and [anonymous.bed.c](%%REPO_URL%%/2001/anonymous/anonymous.bed.c),
compiled with `make`, MUST be compiled as 32-bit ELF binaries. In the case that
this fails these programs will be compiled as 64-bit binaries as alternate code,
`anonymous.ten.alt` and `anonymous.bed.alt`, ELF or otherwise. However trying to
@@ -47,7 +47,7 @@ set to) and run it directly.
What happens if the x86 program has already been modified by this program? The
judges' remarks below might give you a hint!
-What happens if you try it on another file like [anonymous.c](anonymous.c)? Can
+What happens if you try it on another file like [anonymous.c](%%REPO_URL%%/2001/anonymous/anonymous.c)? Can
you recompile it okay? What if you run it on `anonymous` itself? Can you run the
program successfully after it without recompiling?
@@ -218,10 +218,10 @@ In short, please consider this a full disclaimer for any bug that may
turn up - yes the program is unsafe, but it's pretty cool anyway.
Despite all this, the translator is not exclusively limited to running the
-[anonymous.ten](anonymous.ten.c) program. Other trivial **_x86_** programs may
+[anonymous.ten](%%REPO_URL%%/2001/anonymous/anonymous.ten.c) program. Other trivial **_x86_** programs may
run on the translator \- and I have successfully run a wide range of "Hello
World" programs, including one of last year's IOCCC entries,
-[tomx](../../2000/tomx/tomx.c).
+[tomx](2001/anonymous/2000/tomx/tomx.c).
### Complete Program
@@ -233,7 +233,7 @@ new set of switches, and the call to `execv(3)` asks for the newly compiled
program to be executed. I would point out that almost every other entry to this
competition also require a C compiler (well, the published winning entries at any rate,
and I recognize that a few don't). There is little real difference between this
-program and one like last year's entry [dhyang](../../2000/dhyang/dhyang.c); both are
+program and one like last year's entry [dhyang](%%REPO_URL%%/2000/dhyang/dhyang.c); both are
just C programs that generate C code as their output.
Enjoy and thanks!
diff --git a/2001/anonymous/index.html b/2001/anonymous/index.html
index 5a9f9ef9e..7d5baa843 100644
--- a/2001/anonymous/index.html
+++ b/2001/anonymous/index.html
@@ -155,7 +155,7 @@ Location: GB - United Kingdom of Great
To build:
make
The programs that this program is supposed to act on,
-anonymous.ten.c and anonymous.bed.c,
+anonymous.ten.c and anonymous.bed.c,
compiled with make, MUST be compiled as 32-bit ELF binaries. In the case that
this fails these programs will be compiled as 64-bit binaries as alternate code,
anonymous.ten.alt and anonymous.bed.alt, ELF or otherwise. However trying to
@@ -177,7 +177,7 @@ whatever your system will compile them as).
set to) and run it directly.
What happens if the x86 program has already been modified by this program? The
judges’ remarks below might give you a hint!
-What happens if you try it on another file like anonymous.c? Can
+
What happens if you try it on another file like anonymous.c? Can
you recompile it okay? What if you run it on anonymous itself? Can you run the
program successfully after it without recompiling?
Alternate code:
@@ -295,10 +295,10 @@ can only pass up to 3 parameters to the target library function, etc.
In short, please consider this a full disclaimer for any bug that may
turn up - yes the program is unsafe, but it’s pretty cool anyway.
Despite all this, the translator is not exclusively limited to running the
-anonymous.ten program. Other trivial x86 programs may
+anonymous.ten program. Other trivial x86 programs may
run on the translator - and I have successfully run a wide range of “Hello
World” programs, including one of last year’s IOCCC entries,
-tomx.
+tomx.
Complete Program
The fact that the program makes calls to system(3) and execv(3) may imply that
it is not a complete program in its own right, as it relies on other programs.
@@ -307,7 +307,7 @@ new set of switches, and the call to execv(3) asks for the newly co
program to be executed. I would point out that almost every other entry to this
competition also require a C compiler (well, the published winning entries at any rate,
and I recognize that a few don’t). There is little real difference between this
-program and one like last year’s entry dhyang; both are
+program and one like last year’s entry dhyang; both are
just C programs that generate C code as their output.
Enjoy and thanks!
diff --git a/2001/herrmann1/index.html b/2001/herrmann1/index.html
index c0831261d..92c3df78b 100644
--- a/2001/herrmann1/index.html
+++ b/2001/herrmann1/index.html
@@ -202,7 +202,7 @@ terminal!
How to use it
For the impatient
-The info files herrmann1.turing and herrmann1.gcd are sample
+
The info files herrmann1.turing and herrmann1.gcd are sample
programs for the Turing machine. For example, type
./herrmann1.sh 'prg=herrmann1.times2'
and watch the animated Turing machine multiply 8 by two (in
diff --git a/2001/herrmann2/README.md b/2001/herrmann2/README.md
index 7c2e85378..37a589c61 100644
--- a/2001/herrmann2/README.md
+++ b/2001/herrmann2/README.md
@@ -18,8 +18,8 @@
./try.sh
```
-If you use vi(m) you can see a pattern in [herrmann2.cup](herrmann2.cup) and
-[herrmann2.ioccc][(herrmann2.ioccc]) by say:
+If you use vi(m) you can see a pattern in [herrmann2.cup](%%REPO_URL%%/2001/herrmann2herrmann2.cup) and
+[herrmann2.ioccc][(%%REPO_URL%%/2001/herrmann2herrmann2.ioccc]) by say:
```
@@ -32,7 +32,7 @@ and
/l
```
-For additional fun in [herrmann2.cup](herrmann2.cup) try:
+For additional fun in [herrmann2.cup](%%REPO_URL%%/2001/herrmann2herrmann2.cup) try:
```
@@ -40,7 +40,7 @@ For additional fun in [herrmann2.cup](herrmann2.cup) try:
/q
```
-and in [herrmann2.ioccc](herrmann2.ioccc) try:
+and in [herrmann2.ioccc](%%REPO_URL%%/2001/herrmann2herrmann2.ioccc) try:
```
/n
diff --git a/2001/herrmann2/index.html b/2001/herrmann2/index.html
index 8860d17db..b3084f581 100644
--- a/2001/herrmann2/index.html
+++ b/2001/herrmann2/index.html
@@ -158,15 +158,15 @@ Location: DE - Federal Republic of Germ
./herrmann2
Try:
./try.sh
-If you use vi(m) you can see a pattern in herrmann2.cup and
-[herrmann2.ioccc][(herrmann2.ioccc]) by say:
+If you use vi(m) you can see a pattern in herrmann2.cup and
+[herrmann2.ioccc][(https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2herrmann2.ioccc]) by say:
/[pon]\
and
/l
-For additional fun in herrmann2.cup try:
+For additional fun in herrmann2.cup try:
/[po]
/q
-and in herrmann2.ioccc try:
+and in herrmann2.ioccc try:
/n
Judges’ remarks:
Be careful when staring at the source code - your eyes might cross, but
diff --git a/2001/kev/README.md b/2001/kev/README.md
index 1294a6014..62645ff37 100644
--- a/2001/kev/README.md
+++ b/2001/kev/README.md
@@ -163,7 +163,7 @@ the name of the machine running the server, e.g.
```
Make sure that the terminals on both ends are the same size. Also, the TCP port
-number (by default 5455) specified in the [Makefile](Makefile) mustn't be
+number (by default 5455) specified in the [Makefile](%%REPO_URL%%/2001/kev/Makefile) mustn't be
blocked by a firewall.
Here's a good quick example to see it in action on your own
diff --git a/2001/kev/index.html b/2001/kev/index.html
index 82ec0afab..accce3c07 100644
--- a/2001/kev/index.html
+++ b/2001/kev/index.html
@@ -229,7 +229,7 @@ getting the ball past your opponent’s paddle. It’s pretty fun! :)
the name of the machine running the server, e.g.
./kev localhost
Make sure that the terminals on both ends are the same size. Also, the TCP port
-number (by default 5455) specified in the Makefile mustn’t be
+number (by default 5455) specified in the Makefile mustn’t be
blocked by a firewall.
Here’s a good quick example to see it in action on your own
machine, assuming you have Xwindows:
diff --git a/2001/westley/README.md b/2001/westley/README.md
index 820b9600f..8e83f048e 100644
--- a/2001/westley/README.md
+++ b/2001/westley/README.md
@@ -54,7 +54,7 @@ This is compiled by default; use `westley.sort` as you would `westley` above.
The author also stated that if you just sort the code you'll get the with
`sort`) version that just prints out the punch card. The
-[westley.punch.c](westley.punch.c) code is specifically so that Westley can punch
+[westley.punch.c](%%REPO_URL%%/2001/westley/westley.punch.c) code is specifically so that Westley can punch
everyone in the face! :-) This is also compiled by default.
@@ -67,7 +67,7 @@ everyone in the face! :-) This is also compiled by default.
## Alternate code:
-An alternate version of this entry, [westley.alt.c](westley.alt.c), is provided.
+An alternate version of this entry, [westley.alt.c](%%REPO_URL%%/2001/westley/westley.alt.c), is provided.
This alternate code might be less portable.
diff --git a/2001/westley/index.html b/2001/westley/index.html
index 427f75932..f3edbcd82 100644
--- a/2001/westley/index.html
+++ b/2001/westley/index.html
@@ -180,12 +180,12 @@ code by line and it will always sort the order of the input.
Punch card code:
The author also stated that if you just sort the code you’ll get the with
sort) version that just prints out the punch card. The
-westley.punch.c code is specifically so that Westley can punch
+westley.punch.c code is specifically so that Westley can punch
everyone in the face! :-) This is also compiled by default.
Punch card try:
echo 'Brian Westley does it again!' | ./westley.punch 2>/dev/null
Alternate code:
-An alternate version of this entry, westley.alt.c, is provided.
+
An alternate version of this entry, westley.alt.c, is provided.
This alternate code might be less portable.
Alternate build:
make alt
diff --git a/2004/arachnid/README.md b/2004/arachnid/README.md
index 2675d9580..8311eb444 100644
--- a/2004/arachnid/README.md
+++ b/2004/arachnid/README.md
@@ -73,7 +73,7 @@ characters as walls.
Feed the program its own source for a default maze. Running it with no command
line parameters will do this. In a nice symmetry, the character constant `~`
that recognises exits to input mazes itself forms the exit to the default maze.
-Another maze, [arachnid.txt](arachnid.txt) has also been provided. This maze is
+Another maze, [arachnid.txt](%%REPO_URL%%/2004/arachnid/arachnid.txt) has also been provided. This maze is
255x255, about the largest maze supported, for the particularly insane maze
explorers out there.
diff --git a/2004/arachnid/index.html b/2004/arachnid/index.html
index 52a7df15f..73c248e32 100644
--- a/2004/arachnid/index.html
+++ b/2004/arachnid/index.html
@@ -189,7 +189,7 @@ characters as walls.
Feed the program its own source for a default maze. Running it with no command
line parameters will do this. In a nice symmetry, the character constant ~
that recognises exits to input mazes itself forms the exit to the default maze.
-Another maze, arachnid.txt has also been provided. This maze is
+Another maze, arachnid.txt has also been provided. This maze is
255x255, about the largest maze supported, for the particularly insane maze
explorers out there.
Usage
diff --git a/2004/burley/README.md b/2004/burley/README.md
index 0444c4a3e..1eef1c474 100644
--- a/2004/burley/README.md
+++ b/2004/burley/README.md
@@ -62,7 +62,7 @@ of what state is being saved and restored?
NOTE: the author talks about how it is a single statement. This might not be
strictly true in 2023 for the fixes for it to work so you can look at the
-original file [burley.orig.c](burley.orig.c) to see what is meant.
+original file [burley.orig.c](%%REPO_URL%%/2004/burley/burley.orig.c) to see what is meant.
## Author's remarks:
diff --git a/2004/burley/index.html b/2004/burley/index.html
index a7767dbca..6a632872a 100644
--- a/2004/burley/index.html
+++ b/2004/burley/index.html
@@ -192,7 +192,7 @@ the program so this “strategy” no longer works?
of what state is being saved and restored?
NOTE: the author talks about how it is a single statement. This might not be
strictly true in 2023 for the fixes for it to work so you can look at the
-original file burley.orig.c to see what is meant.
+original file burley.orig.c to see what is meant.
Author’s remarks:
This program plays draw poker. What is unusual about it is that it
is written as a single statement – count the semicolons! (OK, there
diff --git a/2004/gavare/README.md b/2004/gavare/README.md
index 69057c6da..1d1f6941a 100644
--- a/2004/gavare/README.md
+++ b/2004/gavare/README.md
@@ -37,15 +37,15 @@ to not worry about writing it to a file and just viewing the image it creates.
## Alternate code:
-The alt code [gavare.alt.c](gavare.alt.c) allows you to change the size of the
+The alt code [gavare.alt.c](%%REPO_URL%%/2004/gavare/gavare.alt.c) allows you to change the size of the
image as well as the anti-alias setting, when compiling.
The author also provided [on their web page for the
entry](https://gavare.se/ioccc/ioccc_gavare.c.html) an unobfuscated version that
was used during development, which we have included in the file
-[gavare.r3.c](gavare.r3.c).
+[gavare.r3.c](%%REPO_URL%%/2004/gavare/gavare.r3.c).
-Finally, the file [gavare.alt2.c](gavare.alt2.c) sets binary mode
+Finally, the file [gavare.alt2.c](%%REPO_URL%%/2004/gavare/gavare.alt2.c) sets binary mode
on `stdout` which theoretically should work in Windows.
diff --git a/2004/gavare/index.html b/2004/gavare/index.html
index b365390a4..707f40e90 100644
--- a/2004/gavare/index.html
+++ b/2004/gavare/index.html
@@ -167,13 +167,13 @@ if you have ImageMagick installed, you can convert it to a jpeg:
./gavare | xv -
to not worry about writing it to a file and just viewing the image it creates.
Alternate code:
-The alt code gavare.alt.c allows you to change the size of the
+
The alt code gavare.alt.c allows you to change the size of the
image as well as the anti-alias setting, when compiling.
The author also provided on their web page for the
entry an unobfuscated version that
was used during development, which we have included in the file
-gavare.r3.c.
-Finally, the file gavare.alt2.c sets binary mode
+gavare.r3.c.
+Finally, the file gavare.alt2.c sets binary mode
on stdout which theoretically should work in Windows.
Alternate build:
To build the configurable and unobfuscated versions:
diff --git a/2004/gavin/README.md b/2004/gavin/README.md
index 4cbd9db59..fbb1e68c8 100644
--- a/2004/gavin/README.md
+++ b/2004/gavin/README.md
@@ -145,7 +145,7 @@ which is partially defined by the OS, and partially for the application's own
use.
The program compiles into a tool to build a kernel image,
-so having built the program, the [Makefile](Makefile) will run it,
+so having built the program, the [Makefile](%%REPO_URL%%/2004/gavin/Makefile) will run it,
redirecting the output into a file called `kernel`.
The Makefile will then proceed to build a root filesystem image.
This involves rebuilding the program with different compiler flags,
diff --git a/2004/gavin/index.html b/2004/gavin/index.html
index 84047ac51..34487f5cd 100644
--- a/2004/gavin/index.html
+++ b/2004/gavin/index.html
@@ -228,7 +228,7 @@ necessary work. Applications are passed a pointer to their task structure,
which is partially defined by the OS, and partially for the application’s own
use.
The program compiles into a tool to build a kernel image,
-so having built the program, the Makefile will run it,
+so having built the program, the Makefile will run it,
redirecting the output into a file called kernel.
The Makefile will then proceed to build a root filesystem image.
This involves rebuilding the program with different compiler flags,
diff --git a/2004/hibachi/README.md b/2004/hibachi/README.md
index 1760a1788..66b604cd2 100644
--- a/2004/hibachi/README.md
+++ b/2004/hibachi/README.md
@@ -26,7 +26,7 @@ we are considering starting an IOCCC standards body just to reign in the likes
of Mr Howe.
This entry also has the dubious honour of being the only one to have been
-submitted with its own [configure](build/configure) script.
+submitted with its own [configure](%%REPO_URL%%/2004/hibachi/build/configure) script.
NOTE: the author states there is a tarball `hibachi.tgz` but this was extracted
so the file does not exist here.
diff --git a/2004/hibachi/index.html b/2004/hibachi/index.html
index 69744da74..853f7d343 100644
--- a/2004/hibachi/index.html
+++ b/2004/hibachi/index.html
@@ -166,7 +166,7 @@ are not exactly sure how many organisations will be upset with this entry, but
we are considering starting an IOCCC standards body just to reign in the likes
of Mr Howe.
This entry also has the dubious honour of being the only one to have been
-submitted with its own configure script.
+submitted with its own configure script.
NOTE: the author states there is a tarball hibachi.tgz but this was extracted
so the file does not exist here.
Author’s remarks:
diff --git a/2004/vik2/README.md b/2004/vik2/README.md
index 8a760429a..297d0f47b 100644
--- a/2004/vik2/README.md
+++ b/2004/vik2/README.md
@@ -31,7 +31,7 @@ IOCCC. I thought it was time to relive hour long compile times so I made a
program that does (almost) all computation in the pre-processor. The program
even causes `gcc` (and other pre-processors) to crash when configured to do
maximum number of computations. The default configuration of the
-[Makefile](Makefile) is set to make the program compile in a not too long time.
+[Makefile](%%REPO_URL%%/2004/vik2/Makefile) is set to make the program compile in a not too long time.
I've got `cpp` to crash in a couple of different ways. Most common is to
get a segmentation fault, but a couple of times it just got stuck in
diff --git a/2004/vik2/index.html b/2004/vik2/index.html
index 6c465e3b2..f1c929e65 100644
--- a/2004/vik2/index.html
+++ b/2004/vik2/index.html
@@ -170,7 +170,7 @@ IOCCC. I thought it was time to relive hour long compile times so I made a
program that does (almost) all computation in the pre-processor. The program
even causes gcc (and other pre-processors) to crash when configured to do
maximum number of computations. The default configuration of the
-Makefile is set to make the program compile in a not too long time.
+Makefile is set to make the program compile in a not too long time.
I’ve got cpp to crash in a couple of different ways. Most common is to
get a segmentation fault, but a couple of times it just got stuck in
some infinite loop.
diff --git a/2005/aidan/README.md b/2005/aidan/README.md
index fc3a7929e..90b3984eb 100644
--- a/2005/aidan/README.md
+++ b/2005/aidan/README.md
@@ -73,16 +73,16 @@ generate new ones.
### Contents
-* program file: [aidan.c](aidan.c) - sudoku solver and generator
-* test suite: [test-su.perl](test-su.perl) - optional test script (written for Perl5)
-* sudoku file: [blank.sudoku](blank.sudoku)
-* sudoku file: [insane1.sudoku](insane1.sudoku)
-* sudoku file: [insane2.sudoku](insane2.sudoku)
-* sudoku file: [insane3.sudoku](insane3.sudoku)
-* sudoku file: [insane4.sudoku](insane4.sudoku)
-* sudoku file: [insane5.sudoku](insane5.sudoku)
-* sudoku file: [tough1.sudoku](tough1.sudoku)
-* sudoku file: [wp.sudoku](wp.sudoku)
+* program file: [aidan.c](%%REPO_URL%%/2005/aidan/aidan.c) - sudoku solver and generator
+* test suite: [test-su.perl](%%REPO_URL%%/2005/aidan/test-su.perl) - optional test script (written for Perl5)
+* sudoku file: [blank.sudoku](%%REPO_URL%%/2005/aidan/blank.sudoku)
+* sudoku file: [insane1.sudoku](%%REPO_URL%%/2005/aidan/insane1.sudoku)
+* sudoku file: [insane2.sudoku](%%REPO_URL%%/2005/aidan/insane2.sudoku)
+* sudoku file: [insane3.sudoku](%%REPO_URL%%/2005/aidan/insane3.sudoku)
+* sudoku file: [insane4.sudoku](%%REPO_URL%%/2005/aidan/insane4.sudoku)
+* sudoku file: [insane5.sudoku](%%REPO_URL%%/2005/aidan/insane5.sudoku)
+* sudoku file: [tough1.sudoku](%%REPO_URL%%/2005/aidan/tough1.sudoku)
+* sudoku file: [wp.sudoku](%%REPO_URL%%/2005/aidan/wp.sudoku)
Yes, the test suite really is 5 times larger than the actual program. You
@@ -150,7 +150,7 @@ Now, with modern computers this **can** be solved using brute force, e.g.:
:n%27?"\n":n%81?"\n------+-------+------\n":"\n\n"));}return z;}
```
-**Judges' note**: this was added as [aidan.alt.c](aidan.alt.c).
+**Judges' note**: this was added as [aidan.alt.c](%%REPO_URL%%/2005/aidan/aidan.alt.c).
That isn't the approach I've used; it's slow (particularly in worst-case or
nearly so scenarios), inelegant, and not a good starting point for sudoku
@@ -177,7 +177,7 @@ program generated):
```
Be warned - it's evil! (I certainly haven't been able to solve it by hand. The
-brute-force program given above, `sudoku-bfi.c` ([aidan.alt.c](aidan.alt.c)),
+brute-force program given above, `sudoku-bfi.c` ([aidan.alt.c](%%REPO_URL%%/2005/aidan/aidan.alt.c)),
also has trouble - it took 66 seconds to solve it - but probably for different
reasons. That's the worst performance I've had from brute-force so far!)
diff --git a/2005/aidan/index.html b/2005/aidan/index.html
index 86c9ad5a3..987497741 100644
--- a/2005/aidan/index.html
+++ b/2005/aidan/index.html
@@ -186,16 +186,16 @@ into the directory instead. These files were added to the list.
generate new ones.
Contents
-- program file: aidan.c - sudoku solver and generator
-- test suite: test-su.perl - optional test script (written for Perl5)
-- sudoku file: blank.sudoku
-- sudoku file: insane1.sudoku
-- sudoku file: insane2.sudoku
-- sudoku file: insane3.sudoku
-- sudoku file: insane4.sudoku
-- sudoku file: insane5.sudoku
-- sudoku file: tough1.sudoku
-- sudoku file: wp.sudoku
+- program file: aidan.c - sudoku solver and generator
+- test suite: test-su.perl - optional test script (written for Perl5)
+- sudoku file: blank.sudoku
+- sudoku file: insane1.sudoku
+- sudoku file: insane2.sudoku
+- sudoku file: insane3.sudoku
+- sudoku file: insane4.sudoku
+- sudoku file: insane5.sudoku
+- sudoku file: tough1.sudoku
+- sudoku file: wp.sudoku
Yes, the test suite really is 5 times larger than the actual program. You
did say this was a parody of the software development process…
@@ -241,7 +241,7 @@ Telegraph, a UK newspaper.
d;for(n=p;i[++p];);s[p]=n;i[p]=1;goto f;d:z=p<81;printf("\n%s!\n\n",z?"Fail":
"Success");for(n=0;n<81;){p=i[n];printf("%c %s",(p?p|48:'.'),(++n%3?"":n%9?"| "
:n%27?"\n":n%81?"\n------+-------+------\n":"\n\n"));}return z;}
-Judges’ note: this was added as aidan.alt.c.
+Judges’ note: this was added as aidan.alt.c.
That isn’t the approach I’ve used; it’s slow (particularly in worst-case or
nearly so scenarios), inelegant, and not a good starting point for sudoku
generation. It’s also much too easy to understand ;-) Instead, I’ve written a
@@ -262,7 +262,7 @@ program generated):
3 . . | . . . | . . .
. . . | . . . | . 6 1
Be warned - it’s evil! (I certainly haven’t been able to solve it by hand. The
-brute-force program given above, sudoku-bfi.c (aidan.alt.c),
+brute-force program given above, sudoku-bfi.c (aidan.alt.c),
also has trouble - it took 66 seconds to solve it - but probably for different
reasons. That’s the worst performance I’ve had from brute-force so far!)
stty(1) commands try:
make anon-no_stty
-This will compile anon.c as anon to not use stty(1).
This will compile anon.c as anon to not use stty(1).
The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
diff --git a/2005/boutines/README.md b/2005/boutines/README.md
index 8279f594e..ae60f02e6 100644
--- a/2005/boutines/README.md
+++ b/2005/boutines/README.md
@@ -26,7 +26,7 @@ Implementations](https://www.w3.org/Graphics/SVG/WG/wiki/Implementations).
./try.sh
```
-If `ruby` is installed [try.sh](try.sh) will generate an SVG file by:
+If `ruby` is installed [try.sh](%%REPO_URL%%/2005/boutines/try.sh) will generate an SVG file by:
```
ruby -e '20.times{puts "#{rand} #{rand}"}' | ./boutines > test.svg
diff --git a/2005/boutines/index.html b/2005/boutines/index.html
index 146d0e0fe..4c6e182df 100644
--- a/2005/boutines/index.html
+++ b/2005/boutines/index.html
@@ -164,7 +164,7 @@ Implementations.
./boutines < input > output.svg
./try.sh
-If ruby is installed try.sh will generate an SVG file by:
If ruby is installed try.sh will generate an SVG file by:
ruby -e '20.times{puts "#{rand} #{rand}"}' | ./boutines > test.svg
It will also create an SVG file with the file input.txt.
The script will check if convert is available and if so it will try converting
diff --git a/2005/giljade/README.md b/2005/giljade/README.md
index 9a583cf1d..91681c468 100644
--- a/2005/giljade/README.md
+++ b/2005/giljade/README.md
@@ -40,7 +40,7 @@ For more detailed information see [2005 giljade bugs](../../bugs.html#2005_gilja
./giljade out
```
-NOTE: [try.sh](try.sh) will ask you if you wish to do this.
+NOTE: [try.sh](%%REPO_URL%%/2005/giljadetry.sh) will ask you if you wish to do this.
## Judges' remarks:
diff --git a/2005/giljade/index.html b/2005/giljade/index.html
index dbd2d7f0b..9ba69497d 100644
--- a/2005/giljade/index.html
+++ b/2005/giljade/index.html
@@ -167,7 +167,7 @@ will not work with it enabled.
./giljade > out
./giljade out
-NOTE: try.sh will ask you if you wish to do this.
+NOTE: try.sh will ask you if you wish to do this.
This entry takes editorial in how it deals with its output. After using vi(1)
(or vim(1)) to look at the source, use vi(1) (or vim(1)) to look at its
diff --git a/2005/mikeash/README.md b/2005/mikeash/README.md
index 3750abd76..dd5ab284c 100644
--- a/2005/mikeash/README.md
+++ b/2005/mikeash/README.md
@@ -143,7 +143,7 @@ this, run the common lisp compiler and then type the following command:
(load "mikeash.c")
```
-The source code of [mikeash.c](mikeash.c) will be printed.
+The source code of [mikeash.c](%%REPO_URL%%/2005/mikeashmikeash.c) will be printed.
### Obfuscation
diff --git a/2005/mikeash/index.html b/2005/mikeash/index.html
index 35586625c..3449a0137 100644
--- a/2005/mikeash/index.html
+++ b/2005/mikeash/index.html
@@ -237,7 +237,7 @@ for running itself. To do the latter, try this:
(load "mikeash.c")
-The source code of mikeash.c will be printed.
+The source code of mikeash.c will be printed.
Lispob is obfuscated in several ways. First, it’s actually two programs
in one, which actually share a small amount of code. Running a C code
diff --git a/2005/vik/README.md b/2005/vik/README.md
index 4816def06..f8277506d 100644
--- a/2005/vik/README.md
+++ b/2005/vik/README.md
@@ -80,13 +80,13 @@ Start the engine using a built in labyrinth and texture bitmaps:
```
Start the engine and loads the labyrinth defined in the file
-[maze.map](maze.map):
+[maze.map](%%REPO_URL%%/2005/vik/maze.map):
```
./vik maze.map
```
-Start the engine using [maze.map](maze.map) in a window that is 400 pixels wide:
+Start the engine using [maze.map](%%REPO_URL%%/2005/vik/maze.map) in a window that is 400 pixels wide:
```
./vik -w 400 maze.map
diff --git a/2005/vik/index.html b/2005/vik/index.html
index 6387d0d9f..1627bd144 100644
--- a/2005/vik/index.html
+++ b/2005/vik/index.html
@@ -197,9 +197,9 @@ three options which have to be typed in a specific order as described below.
Start the engine using a built in labyrinth and texture bitmaps:
./vik
Start the engine and loads the labyrinth defined in the file -maze.map:
+maze.map: ./vik maze.map
-Start the engine using maze.map in a window that is 400 pixels wide:
+Start the engine using maze.map in a window that is 400 pixels wide:
./vik -w 400 maze.map
Note that the mapfile has to be the last argument and the -w option if present
has to be the first. The map definition files and the bitmap files should be
diff --git a/2005/vince/README.md b/2005/vince/README.md
index 834df89d9..70e6374d0 100644
--- a/2005/vince/README.md
+++ b/2005/vince/README.md
@@ -23,7 +23,7 @@ what happens!
## Alternate code:
-The [vince.alt.c](vince.alt.c) code of the submission will run on SGI IRIX and
+The [vince.alt.c](%%REPO_URL%%/2005/vince/vince.alt.c) code of the submission will run on SGI IRIX and
also has the recursive `CPP` macro (which sneaked in accidentally) removed.
diff --git a/2005/vince/index.html b/2005/vince/index.html
index 4565b0644..2ab668076 100644
--- a/2005/vince/index.html
+++ b/2005/vince/index.html
@@ -162,7 +162,7 @@ installed.
When running this in the program’s window try hitting space a few times and see what happens!
The vince.alt.c code of the submission will run on SGI IRIX and +
The vince.alt.c code of the submission will run on SGI IRIX and
also has the recursive CPP macro (which sneaked in accidentally) removed.
To compile this alternate version:
diff --git a/2006/monge/README.md b/2006/monge/README.md index 30c541822..a23c572c7 100644 --- a/2006/monge/README.md +++ b/2006/monge/README.md @@ -46,7 +46,7 @@ as the number of iterations to perform. ### Alternate build: -To use the default values, the same as [monge.c](monge.c), just do: +To use the default values, the same as [monge.c](%%REPO_URL%%/2006/monge/monge.c), just do: ``` diff --git a/2006/monge/index.html b/2006/monge/index.html index cb583bc63..89ea639f9 100644 --- a/2006/monge/index.html +++ b/2006/monge/index.html @@ -171,7 +171,7 @@ of iterations to use. See Alternate code below.This alternate code lets you specify the width and height of the image as well as the number of iterations to perform.To use the default values, the same as monge.c, just do:
+To use the default values, the same as monge.c, just do:
make alt
But if you wish to actually make use of it you will want to redefine one or more
of the variables W, H and I. The defaults are (respectively) 400, 300 and
diff --git a/2006/sloane/README.md b/2006/sloane/README.md
index 25956ffb7..528db0f4a 100644
--- a/2006/sloane/README.md
+++ b/2006/sloane/README.md
@@ -41,7 +41,7 @@ code](#original-code) was being used, you can do:
## Original code:
Should you wish to see the original you may do so with the original code,
-[sloane.c](sloane.c).
+[sloane.c](%%REPO_URL%%/2006/sloane/sloane.c).
### Original build:
diff --git a/2006/sloane/index.html b/2006/sloane/index.html
index 015450850..f216351e8 100644
--- a/2006/sloane/index.html
+++ b/2006/sloane/index.html
@@ -173,7 +173,7 @@ code was being used, you can do:
Should you wish to see the original you may do so with the original code, -sloane.c.
+sloane.c. make clobber all
One of the most well known would be the Sierpinski Gasket:
3 0 0 1 1
.5 0 0 .5 0 0 .33
.5 0 0 .5 .5 0 .33
.5 0 0 .5 .25 .433 .34
-or the fern:
+or the fern:
4 -5.5 0 5.5 11
0 0 0 .16 0 0 .01
.85 .04 -.04 .85 0 1.6 .85
diff --git a/2006/sykes1/README.md b/2006/sykes1/README.md
index 36fee17f9..a40ca40b1 100644
--- a/2006/sykes1/README.md
+++ b/2006/sykes1/README.md
@@ -93,7 +93,7 @@ Use `sykes1.alt` as you would `sykes1` above.
### Alternate try:
-The [try.sh](try.sh) script will use both versions to show some differences. You
+The [try.sh](%%REPO_URL%%/2006/sykes1/try.sh) script will use both versions to show some differences. You
can do so like:
```
@@ -103,7 +103,7 @@ can do so like:
## Judges' remarks:
-Read the [sykes1.html](sykes1.html) page source.
+Read the [sykes1.html](%%REPO_URL%%/2006/sykes1/sykes1.html) page source.
Now then read the C source. Confused? :-) If it's not clear try:
```
@@ -124,7 +124,7 @@ If you did not get one for Christmas, there is an [article about these
puzzles in wikipedia](http://en.wikipedia.org/wiki/Bedlam_cube).
Some instructions on how to make your own cube are in the included file
-[bedlam-cubes.pdf](bedlam-cubes.pdf).
+[bedlam-cubes.pdf](%%REPO_URL%%/2006/sykes1/bedlam-cubes.pdf).
Finally, you can watch it being solved with the video file here,
[solving-bedlam-cube.mp4](solving-bedlam-cube.mp4).
@@ -148,7 +148,7 @@ shows you how to build the cube piece by piece, rendered in glorious
ASCII art is all very well, but you also have a web browser, right? Well, just
open the file [sykes1.html](sykes1.html). This html file is just a copy of
-[sykes1.c](sykes1.c), which helpfully contains an html document that should make
+[sykes1.c](%%REPO_URL%%/2006/sykes1/sykes1.c), which helpfully contains an html document that should make
the browser display for you a nice animated GIF, showing you how to build the
cube. Rendered in glorious 3D color.
diff --git a/2006/sykes1/index.html b/2006/sykes1/index.html
index cf9157c93..97d555a0a 100644
--- a/2006/sykes1/index.html
+++ b/2006/sykes1/index.html
@@ -189,11 +189,11 @@ maximum:
Alternate use:
Use sykes1.alt as you would sykes1 above.
Alternate try:
-The try.sh script will use both versions to show some differences. You
+
The try.sh script will use both versions to show some differences. You
can do so like:
./try.sh
Judges’ remarks:
-Read the sykes1.html page source.
+
Read the sykes1.html page source.
Now then read the C source. Confused? :-) If it’s not clear try:
diff -s sykes1.c sykes1.html
For extra credit, understand what happens when you give this entry
@@ -204,7 +204,7 @@ an negative number argument, and why.
If you did not get one for Christmas, there is an article about these
puzzles in wikipedia.
Some instructions on how to make your own cube are in the included file
-bedlam-cubes.pdf.
+bedlam-cubes.pdf.
Finally, you can watch it being solved with the video file here,
solving-bedlam-cube.mp4.
Actually the cube is very hard to do by hand by just trying to fit it
@@ -218,7 +218,7 @@ shows you how to build the cube piece by piece, rendered in glorious
3D ASCII.
ASCII art is all very well, but you also have a web browser, right? Well, just
open the file sykes1.html. This html file is just a copy of
-sykes1.c, which helpfully contains an html document that should make
+sykes1.c, which helpfully contains an html document that should make
the browser display for you a nice animated GIF, showing you how to build the
cube. Rendered in glorious 3D color.
Want to see another solution? Try:
diff --git a/2006/toledo3/README.md b/2006/toledo3/README.md
index aa26efb83..7ba6d0c8f 100644
--- a/2006/toledo3/README.md
+++ b/2006/toledo3/README.md
@@ -25,15 +25,15 @@ tested with Windows. See [alternate code](#alternate-code) below.
## Alternate code:
-The author provided two additional versions, [toledo3-sbar.c](toledo3-sbar.c)
-and [toledo3-txt.c](toledo3-txt.c). Respectively these create a status bar and
+The author provided two additional versions, [toledo3-sbar.c](%%REPO_URL%%/2006/toledo3/toledo3-sbar.c)
+and [toledo3-txt.c](%%REPO_URL%%/2006/toledo3/toledo3-txt.c). Respectively these create a status bar and
make the game text only.
### Alternate build:
With the exception of the Windows version, these are built by default. To build
-the Windows version, [toledo3.alt.c](toledo3.alt.c), you will have to figure out
+the Windows version, [toledo3.alt.c](%%REPO_URL%%/2006/toledo3/toledo3.alt.c), you will have to figure out
how to compile Windows code.
@@ -136,10 +136,10 @@ play stronger?
### UPGRADES
-Using [toledo3-sbar.c](toledo3-sbar.c) (which is too large for this IOCCC size
+Using [toledo3-sbar.c](%%REPO_URL%%/2006/toledo3/toledo3-sbar.c) (which is too large for this IOCCC size
rules) creates a status display about gameplay on the window title bar.
-Using [toledo3-txt.c](toledo3-txt.c) turns this into being purely text based.
+Using [toledo3-txt.c](%%REPO_URL%%/2006/toledo3/toledo3-txt.c) turns this into being purely text based.
./blakely < evolve_to_3.dat
diff --git a/2011/blakely/index.html b/2011/blakely/index.html
index 87fdb3291..33e4abc07 100644
--- a/2011/blakely/index.html
+++ b/2011/blakely/index.html
@@ -189,10 +189,10 @@ layout of the source-code is such that it evolves to a digital representation of
the first 15 decimal places of pi after 4 time steps. This was setup using the
other feature of the program which can be demonstrated as follows:
./blakely - < 3.dat
-The program will first display the grid given in 3.dat, and then three
+
The program will first display the grid given in 3.dat, and then three
more grids (taking a few minutes to display the last). Waiting for any more
grids will take a substantial amount of time. The final grid has been put into
-evolve_to_3.dat, and if you type
+evolve_to_3.dat, and if you type
./blakely < evolve_to_3.dat
then the 3 will reappear after three time steps.
As should now be clear, this use of the program will attempt to evolve a given setup
diff --git a/2011/dlowe/README.md b/2011/dlowe/README.md
index af2d9b73d..f8d195824 100644
--- a/2011/dlowe/README.md
+++ b/2011/dlowe/README.md
@@ -87,7 +87,7 @@ where:
NOTE: The above directories were not shipped and everything from the entries
that did not win were flushed to `/dev/null`.
-The [earlystop.pl](earlystop.pl) tool wrote:
+The [earlystop.pl](%%REPO_URL%%/2011/dlowe/earlystop.pl) tool wrote:
```
training 1 to 1001...
@@ -98,7 +98,7 @@ The [earlystop.pl](earlystop.pl) tool wrote:
The resulting `ioccc-winlose-trained.net` file was included in the
[dlowe-aux-data.tar.bz2](dlowe-aux-data.tar.bz2) tarball.
-The [dlowe.c](dlowe.c) was explicitly excluded from this trailing set, so this
+The [dlowe.c](%%REPO_URL%%/2011/dlowe/dlowe.c) was explicitly excluded from this trailing set, so this
test is interesting:
```
@@ -125,40 +125,40 @@ mean it will win or lose a future IOCCC. On the other hand ... it just might!
While we cannot supply you with the losing IOCCC source code, the author did supply a number
data sets on which to test:
-We created the [english-trained.net](dlowe-aux-data/english-trained.net) as follows:
+We created the [english-trained.net](%%REPO_URL%%/2011/dlowe/dlowe-aux-data/english-trained.net) as follows:
```
./dlowe -8000 dlowe-aux-data/english-1/ dlowe-aux-data/english-0/ < /dev/null > dlowe-aux-data/english-trained.net
```
-- [dlowe-aux-data/english-0/](dlowe-aux-data/english-0/)
+- [dlowe-aux-data/english-0/](%%REPO_URL%%/2011/dlowe/dlowe-aux-data/english-0)
Non-English (French) text
-- [dlowe-aux-data/english-1/](dlowe-aux-data/english-1)
+- [dlowe-aux-data/english-1/](%%REPO_URL%%/2011/dlowe/dlowe-aux-data/english-1)
English (non-French) text
-We created the [png-trained.net](dlowe-aux-data/png-trained.net) as follows:
+We created the [png-trained.net](%%REPO_URL%%/2011/dlowe/dlowe-aux-data/png-trained.net) as follows:
```
./dlowe -8000 png-1/ png-0/ < /dev/null > dlowe-aux-data/png-trained.net
```
-- [dlowe-aux-data/png-0/](dlowe-aux-data/png-0/)
+- [dlowe-aux-data/png-0/](%%REPO_URL%%/2011/dlowe/dlowe-aux-data/png-0)
Non-png (gif) images
-- [dlowe-aux-data/png-1/](dlowe-aux-data/png-1/)
+- [dlowe-aux-data/png-1/](%%REPO_URL%%/2011/dlowe/dlowe-aux-data/png-0/dlowe-aux-data/png-1)
png (non-gif) images
-We created the [xor-trained.net](dlowe-aux-data/xor-trained.net) as follows:
+We created the [xor-trained.net](%%REPO_URL%%/2011/dlowe/dlowe-aux-data/png-0/dlowe-aux-data/xor-trained.net) as follows:
```
./dlowe -8000 dlowe-aux-data/xor-1/ dlowe-aux-data/xor-0/ < /dev/null > dlowe-aux-data/xor-trained.net
```
-- [dlowe-aux-data/xor-0](dlowe-aux-data/xor-0/)
+- [dlowe-aux-data/xor-0](%%REPO_URL%%/2011/dlowe/dlowe-aux-data/png-0/dlowe-aux-data/xor-0)
Data that XORs to 0
-- [dlowe-aux-data/xor-1/](dlowe-aux-data/xor-1/)
+- [dlowe-aux-data/xor-1/](%%REPO_URL%%/2011/dlowe/dlowe-aux-data/png-0/dlowe-aux-data/xor-1)
Data that XORs to 1
**NOTE**: The directory args **must end in a** `/` for them to work.
@@ -251,11 +251,11 @@ produced a network with about 87% accuracy
#### English corpora
-The [english-1](dlowe-aux-data/english-1) corpus was obtained by manually scraping the first results from
+The [english-1](%%REPO_URL%%/2011/dlowe/dlowe-aux-data/png-0/dlowe-aux-data/english-1) corpus was obtained by manually scraping the first results from
a search for "[paris
filetype:txt](https://www.google.com/search?q=paris+filetype%3Atxt&lr=lang_en&tbs=lr%3Alang_1en&sxsrf=APwXEdeHXyUYdUxCYQQDHmJhbHzX9aARSA%3A1683049834430&source=hp&ei=ak1RZJHUGN_DkPIP26OtkA8&iflsig=AOEireoAAAAAZFFbejA0Xfqoq__FXx--Ok0S6GQjnGnA&ved=0ahUKEwiRsZOcmdf-AhXfIUQIHdtRC_IQ4dUDCAo&uact=5&oq=paris+filetype%3Atxt&gs_lcp=Cgdnd3Mtd2l6EANQAFgAYN4DaABwAHgAgAE-iAE-kgEBMZgBAKABAqABAQ&sclient=gws-wiz)".
-The [english-0](dlowe-aux-data/english-0) corpus was obtained by manually scraping the first results from
+The [english-0](%%REPO_URL%%/2011/dlowe/dlowe-aux-data/png-0/dlowe-aux-data/english-0) corpus was obtained by manually scraping the first results from
a search for "[paris
filetype:txt](https://www.google.com/search?q=paris+filetype%3Atxt&lr=lang_fr&tbs=lr%3Alang_1fr&sxsrf=APwXEddcsQ-gMhrqSUJo6omWFUl7jQMASg%3A1683049870736&source=hp&ei=jk1RZLevK_fKkPIPjbWN-AU&iflsig=AOEireoAAAAAZFFbnvExHGkcavB5H8F0xsLAWN2KfYFK&ved=0ahUKEwi3rrutmdf-AhV3JUQIHY1aA18Q4dUDCAo&uact=5&oq=paris+filetype%3Atxt&gs_lcp=Cgdnd3Mtd2l6EANQAFgAYLMDaABwAHgAgAE-iAE-kgEBMZgBAKABAqABAQ&sclient=gws-wiz)".
@@ -265,7 +265,7 @@ filetype:txt](https://www.google.com/search?q=paris+filetype%3Atxt&lr=lang_fr&tb
* Using these corpora as a training set;
* Using several dozen additional text files (obtained by the same methods) as a
test set;
-* Using the included [earlystop.pl](earlystop.pl) script, which stopped after
+* Using the included [earlystop.pl](%%REPO_URL%%/2011/dlowe/dlowe-aux-data/png-0/earlystop.pl) script, which stopped after
10000 iterations;
* Interpreting output of `> 0.5` as "probably English" and `< 0.5` as "probably
French"
@@ -275,10 +275,10 @@ produced a network with 100% accuracy.
### xor corpora
-The [xor-1](dlowe-aux-data/xor-1) corpus consists of two files containing `01`
+The [xor-1](%%REPO_URL%%/2011/dlowe/dlowe-aux-data/png-0/dlowe-aux-data/xor-1) corpus consists of two files containing `01`
and `10` respectively.
-The [xor-0](dlowe-aux-data/xor-0) corpus consists of two files containing `00`
+The [xor-0](%%REPO_URL%%/2011/dlowe/dlowe-aux-data/png-0/dlowe-aux-data/xor-0) corpus consists of two files containing `00`
and `11` respectively.
diff --git a/2011/dlowe/index.html b/2011/dlowe/index.html
index 62357cbb1..bdfe18709 100644
--- a/2011/dlowe/index.html
+++ b/2011/dlowe/index.html
@@ -195,13 +195,13 @@ plus 1/2 of the C code winning entries from prior IOCCC contests
NOTE: The above directories were not shipped and everything from the entries
that did not win were flushed to /dev/null.
-The earlystop.pl tool wrote:
+The earlystop.pl tool wrote:
training 1 to 1001...
training 1001 to 2001...
prior error = 56.746974766043; current error = 58.095691135305
The resulting ioccc-winlose-trained.net file was included in the
dlowe-aux-data.tar.bz2 tarball.
-The dlowe.c was explicitly excluded from this trailing set, so this
+
The dlowe.c was explicitly excluded from this trailing set, so this
test is interesting:
./dlowe dlowe.c < dlowe-aux-data/ioccc-winlose-trained.net
NOTE: this is done in try.sh.
@@ -214,28 +214,28 @@ mean it will win or lose a future IOCCC. On the other hand … it just might!other data sets to try
While we cannot supply you with the losing IOCCC source code, the author did supply a number
data sets on which to test:
-We created the english-trained.net as follows:
+We created the english-trained.net as follows:
./dlowe -8000 dlowe-aux-data/english-1/ dlowe-aux-data/english-0/ < /dev/null > dlowe-aux-data/english-trained.net
-dlowe-aux-data/english-0/
Non-English (French) text
-dlowe-aux-data/english-1/
English (non-French) text
-We created the png-trained.net as follows:
+We created the png-trained.net as follows:
./dlowe -8000 png-1/ png-0/ < /dev/null > dlowe-aux-data/png-trained.net
-dlowe-aux-data/png-0/
Non-png (gif) images
-dlowe-aux-data/png-1/
png (non-gif) images
-We created the xor-trained.net as follows:
+We created the xor-trained.net as follows:
./dlowe -8000 dlowe-aux-data/xor-1/ dlowe-aux-data/xor-0/ < /dev/null > dlowe-aux-data/xor-trained.net
-dlowe-aux-data/xor-0
Data that XORs to 0
-dlowe-aux-data/xor-1/
Data that XORs to 1
NOTE: The directory args must end in a / for them to work.
@@ -293,10 +293,10 @@ a .gif”
produced a network with about 87% accuracy
English corpora
-The english-1 corpus was obtained by manually scraping the first results from
+
The english-1 corpus was obtained by manually scraping the first results from
a https://www.google.com/webhp?lr=lang_en search for “paris
filetype:txt”.
-The english-0 corpus was obtained by manually scraping the first results from
+
The english-0 corpus was obtained by manually scraping the first results from
a https://www.google.com/webhp?lr=lang_fr search for “paris
filetype:txt”.
Results:
@@ -304,16 +304,16 @@ filetype:txt”.
Using these corpora as a training set;
Using several dozen additional text files (obtained by the same methods) as a
test set;
-Using the included earlystop.pl script, which stopped after
+ Using the included earlystop.pl script, which stopped after
10000 iterations;
Interpreting output of > 0.5 as “probably English” and < 0.5 as “probably
French”
produced a network with 100% accuracy.
xor corpora
-The xor-1 corpus consists of two files containing 01
+
The xor-1 corpus consists of two files containing 01
and 10 respectively.
-The xor-0 corpus consists of two files containing 00
+
The xor-0 corpus consists of two files containing 00
and 11 respectively.
Results:
Using these corpora as a training set takes about 8000 iterations to learn xor
diff --git a/2011/hamaji/README.md b/2011/hamaji/README.md
index 1f05494db..c57ec59af 100644
--- a/2011/hamaji/README.md
+++ b/2011/hamaji/README.md
@@ -19,7 +19,7 @@
```
If you have perl installed you should be able to reproduce
-[dragon.nono](dragon.nono) like:
+[dragon.nono](%%REPO_URL%%/2011/hamaji/dragon.nono) like:
```
perl c2nono.pl hamaji.c | ./hamaji
@@ -213,16 +213,16 @@ dragon](https://japanesezodiac.com/japanese-year-of-the-dragon).
The second author wrote the picture, and the first author did
everything else.
-The [dragon.nono](dragon.nono), [samurai.nono](samurai.nono), and
+The [dragon.nono](%%REPO_URL%%/2011/hamaji/dragon.nono), [samurai.nono](%%REPO_URL%%/2011/hamaji/samurai.nono), and
[penguin.nono](penguin.nono) were written by the
-second author. The [soccer.nono](soccer.nono) was from a wikipedia entry. This file
-is important because it requires some guesses. The [random.nono](random.nono) file
-was randomly generated. The [codegolf.nono](codegolf.nono) and
-[face.nono](face.nono) were taken from
+second author. The [soccer.nono](%%REPO_URL%%/2011/hamaji/soccer.nono) was from a wikipedia entry. This file
+is important because it requires some guesses. The [random.nono](%%REPO_URL%%/2011/hamaji/random.nono) file
+was randomly generated. The [codegolf.nono](%%REPO_URL%%/2011/hamaji/codegolf.nono) and
+[face.nono](%%REPO_URL%%/2011/hamaji/face.nono) were taken from
.
-You can reproduce [dragon.nono](dragon.nono) from [hamaji.c](hamaji.c) using
-[c2nono.pl](c2nono.pl):
+You can reproduce [dragon.nono](%%REPO_URL%%/2011/hamaji/dragon.nono) from [hamaji.c](%%REPO_URL%%/2011/hamaji/hamaji.c) using
+[c2nono.pl](%%REPO_URL%%/2011/hamaji/c2nono.pl):
```
perl c2nono.pl hamaji.c | ./hamaji
diff --git a/2011/hamaji/index.html b/2011/hamaji/index.html
index c38f4dfa1..7b5e594aa 100644
--- a/2011/hamaji/index.html
+++ b/2011/hamaji/index.html
@@ -164,7 +164,7 @@ Location: JP - Japan
Try:
./try.sh
If you have perl installed you should be able to reproduce
-dragon.nono like:
+dragon.nono like:
perl c2nono.pl hamaji.c | ./hamaji
Judges’ remarks:
This program solves Nonograms which is
@@ -292,15 +292,15 @@ the dragon because 2012 is the dragon.nono, samurai.nono, and
+
The dragon.nono, samurai.nono, and
penguin.nono were written by the
-second author. The soccer.nono was from a wikipedia entry. This file
-is important because it requires some guesses. The random.nono file
-was randomly generated. The codegolf.nono and
-face.nono were taken from
+second author. The soccer.nono was from a wikipedia entry. This file
+is important because it requires some guesses. The random.nono file
+was randomly generated. The codegolf.nono and
+face.nono were taken from
https://web.archive.org/web/20130218055139/http://codegolf.com/paint-by-numbers.
-You can reproduce dragon.nono from hamaji.c using
-c2nono.pl:
+You can reproduce dragon.nono from hamaji.c using
+c2nono.pl:
perl c2nono.pl hamaji.c | ./hamaji