improve how markdown code language is commented

We added a space between the markdown triple code mark
and language that was enclosed in HTML comments.

So a line of the form:

````
```<!---c--->
````

became:

````
``` <!---c--->
````

This was done to **help** some code see that the HTML comment
string was not a markdown code specifier.   Not all code
understands this after this changed.  For example, `pandoc(1)`
still forms HTML classes of the form "&lt;!---c--&gt;"
when it encounters the above mentioned change.

We also fixed a problem with `2019/dogon/README.md` regarding
a markdown code block.

We also fixed a problem with `2020/yang/README.md` regarding
a markdown code block.
This commit is contained in:
Landon Curt Noll committed 2024-04-12 11:45:50 -07:00
1 parent c549f6585e
commit 3ddbac9e6b
357 files changed
+2432 -2399

No files matched your search

+4 -4
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./anonymous ./anonymous
``` ```
@@ -22,7 +22,7 @@ as the alternate code. See below for the tattoo side-by-side with the code.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
@@ -31,7 +31,7 @@ as the alternate code. See below for the tattoo side-by-side with the code.
NOTE: this version might not work on some systems like macOS. NOTE: this version might not work on some systems like macOS.
```<!---sh--> ``` <!---sh-->
./anonymous.alt ./anonymous.alt
``` ```
+7 -7
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -22,7 +22,7 @@ For more detailed information see [1984 decot bugs](../../bugs.html#1984_decot).
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./decot ./decot
``` ```
@@ -36,14 +36,14 @@ can use this version.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
### Alternate use: ### Alternate use:
```<!---sh--> ``` <!---sh-->
./decot.alt ./decot.alt
``` ```
@@ -61,13 +61,13 @@ the judges offer this one comment: understand remarks!
Some new (in 1984) compilers disliked line 15 of the original source, so we Some new (in 1984) compilers disliked line 15 of the original source, so we
changed it from: changed it from:
```<!---c--> ``` <!---c-->
for(signal=0;*k * x * __FILE__ *i;) do { for(signal=0;*k * x * __FILE__ *i;) do {
``` ```
to: to:
```<!---c--> ``` <!---c-->
for(signal=0;*k *x * __FILE__ *i;) do { for(signal=0;*k *x * __FILE__ *i;) do {
``` ```
@@ -75,7 +75,7 @@ To see what we mean look at the [original source file](decot.orig.c). The
[alternate code](decot.alt.c) is the version that has this modification. The [alternate code](decot.alt.c) is the version that has this modification. The
fixed version has instead: fixed version has instead:
```<!---c--> ``` <!---c-->
for(signal=0;*k *= * __FILE__ *i;) do { for(signal=0;*k *= * __FILE__ *i;) do {
``` ```
+5 -5
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./laman <positive number> ./laman <positive number>
``` ```
@@ -17,7 +17,7 @@
The program accepts ONE POSITIVE number. Seeing is believing, so try things The program accepts ONE POSITIVE number. Seeing is believing, so try things
like: like:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
./laman 4 ./laman 4
@@ -33,14 +33,14 @@ This code should run you in circles.
Some new compilers (in 1984) dislike lines 6 and 10 of the source, so we changed Some new compilers (in 1984) dislike lines 6 and 10 of the source, so we changed
them from: them from:
```<!---c--> ``` <!---c-->
;++f)a[ b<<5|c] =d++,b+ =e;for( f=0;f<O ;++f)a[ b<<5|c] =d++,b+ =e;for( f=0;f<O
<<5|c]^ =a[b<<5 |c]^=a[ (k-(b+1 ))<<5|c] <<5|c]^ =a[b<<5 |c]^=a[ (k-(b+1 ))<<5|c]
``` ```
to: to:
```<!---c--> ``` <!---c-->
;++f)a[ b<<5|c] =d++,b+= e;for( f=0;f<O ;++f)a[ b<<5|c] =d++,b+= e;for( f=0;f<O
<<5|c]^= a[b<<5 |c]^=a[ (k-(b+1 ))<<5|c] <<5|c]^= a[b<<5 |c]^=a[ (k-(b+1 ))<<5|c]
``` ```
+12 -12
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
@@ -24,7 +24,7 @@ For more detailed information see [1984 mullender bugs](../../bugs.html#1984_mul
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./mullender.alt [microseconds] ./mullender.alt [microseconds]
``` ```
@@ -48,7 +48,7 @@ which is probably not as uncommon as you think :-).
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./mullender.alt ./mullender.alt
./mullender.alt 5000 # wait for 5000 microseconds and see what happens ./mullender.alt 5000 # wait for 5000 microseconds and see what happens
@@ -72,14 +72,14 @@ machine dependent code was discouraged.
### Original build: ### Original build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
### Original use: ### Original use:
```<!---sh--> ``` <!---sh-->
./mullender ./mullender
``` ```
@@ -137,19 +137,19 @@ Repo](https://github.com/dspinellis/unix-history-repo/tree/Research-Release).
`gentab.c` can be built like: `gentab.c` can be built like:
```<!---sh--> ``` <!---sh-->
make gentab make gentab
``` ```
### gentab use: ### gentab use:
```<!---sh--> ``` <!---sh-->
./gentab file ./gentab file
``` ```
### gentab try: ### gentab try:
```<!---sh--> ``` <!---sh-->
./gentab gentab > g.c ./gentab gentab > g.c
``` ```
@@ -256,7 +256,7 @@ separate.
The [PDP](https://en.wikipedia.org/wiki/Programmed_Data_Processor) and The [PDP](https://en.wikipedia.org/wiki/Programmed_Data_Processor) and
[VAX](https://en.wikipedia.org/wiki/VAX) codes implement the same algorithm: [VAX](https://en.wikipedia.org/wiki/VAX) codes implement the same algorithm:
```<!---c--> ``` <!---c-->
for (;;) { for (;;) {
write(1, " :-)\b\b\b\b", 9); write(1, " :-)\b\b\b\b", 9);
delay(); delay();
@@ -284,7 +284,7 @@ We started with writing the
We both knew [PDP-11](https://en.wikipedia.org/wiki/PDP-11) assembly so that was We both knew [PDP-11](https://en.wikipedia.org/wiki/PDP-11) assembly so that was
no problem. The assembly code we came up with is as follows: no problem. The assembly code we came up with is as follows:
```<!---asm--> ``` <!---asm-->
pdp: pdp:
mov pc,r4 mov pc,r4
tst -(r4) tst -(r4)
@@ -331,7 +331,7 @@ VAX code in C and massaged the
program that we came up with is as follows: program that we came up with is as follows:
```<!---asm--> ``` <!---asm-->
vax: .word 0400 + (pdp - vax) / 2 - 1 vax: .word 0400 + (pdp - vax) / 2 - 1
1: 1:
pushl $9 pushl $9
@@ -389,7 +389,7 @@ extracted the machine code from the object file.
> NOTE from judges: see [gentab.c](gentab.c) for a copy of this file that can be > NOTE from judges: see [gentab.c](gentab.c) for a copy of this file that can be
compiled in modern systems. compiled in modern systems.
```<!---c--> ``` <!---c-->
#include <stdio.h> #include <stdio.h>
#include <a.out.h> #include <a.out.h>
+2 -2
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./applin ./applin
``` ```
+4 -4
View File
@@ -1,20 +1,20 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./august ./august
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -22,7 +22,7 @@ If you have the `primes(6)` tool (sometimes part of [BSD
Games](https://github.com/vattam/BSDGames)) you can see Games](https://github.com/vattam/BSDGames)) you can see
what of the output in the first `N` (say `15` or `25`) lines are primes: what of the output in the first `N` (say `15` or `25`) lines are primes:
```<!---sh--> ``` <!---sh-->
./primes.sh # 15 ./primes.sh # 15
./primes.sh 25 ./primes.sh 25
``` ```
+7 -7
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./lycklama.alt < some_file ./lycklama.alt < some_file
``` ```
@@ -24,13 +24,13 @@ call with a configurable time to sleep. The default is 500 microseconds but you
reconfigure it like: reconfigure it like:
```<!---sh--> ``` <!---sh-->
make SLEEP=700 clobber alt make SLEEP=700 clobber alt
``` ```
which would set it at 700. Then, whether you use the default value or not, try: which would set it at 700. Then, whether you use the default value or not, try:
```<!---sh--> ``` <!---sh-->
./try.alt.sh ./try.alt.sh
``` ```
@@ -45,21 +45,21 @@ modern systems.
### Original build: ### Original build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
### Original use: ### Original use:
```<!---sh--> ``` <!---sh-->
./lycklama < some_file ./lycklama < some_file
``` ```
### Original try: ### Original try:
```<!---sh--> ``` <!---sh-->
./lycklama < lycklama.c ./lycklama < lycklama.c
./lycklama < lycklama.alt.c ./lycklama < lycklama.alt.c
./lycklama < lycklama.orig.c ./lycklama < lycklama.orig.c
+5 -5
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -10,7 +10,7 @@ There is alternate code which allows one to change the size of the maze. See
### To run: ### To run:
```<!---sh--> ``` <!---sh-->
./shapiro ./shapiro
``` ```
@@ -23,7 +23,7 @@ of the maze. The alt code allows one to easily do this.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
@@ -32,7 +32,7 @@ of the maze. The alt code allows one to easily do this.
If you wish to change the value you can do it like: If you wish to change the value you can do it like:
```<!---sh--> ``` <!---sh-->
make clobber SIZE=5 alt make clobber SIZE=5 alt
``` ```
@@ -41,7 +41,7 @@ error. If it's <= 0 || >= 5000 then it is set to 39, the default.
You might also wish to try: You might also wish to try:
```<!---sh--> ``` <!---sh-->
./try.alt.sh ./try.alt.sh
``` ```
+7 -7
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -11,7 +11,7 @@ more details on it.
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./sicherman < file ./sicherman < file
echo foo | ./sicherman echo foo | ./sicherman
@@ -23,7 +23,7 @@ more details on it.
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -43,7 +43,7 @@ audience.
Although this will be built if the original fails to compile you can do it Although this will be built if the original fails to compile you can do it
manually like: manually like:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
@@ -52,14 +52,14 @@ In this case it will be built as `sicherman.alt`.
### Alternate use: ### Alternate use:
```<!---sh--> ``` <!---sh-->
./sicherman.alt < file ./sicherman.alt < file
``` ```
### Alternate try: ### Alternate try:
```<!---sh--> ``` <!---sh-->
./try.alt.sh ./try.alt.sh
``` ```
@@ -80,7 +80,7 @@ on a line. Now enter the letters 'n' through 'z'. But to borrow a quote
from Richard Stallman: If you think you understand what this code from Richard Stallman: If you think you understand what this code
does, then you don't, so read it again! Explain why: does, then you don't, so read it again! Explain why:
```<!---sh--> ``` <!---sh-->
./sicherman < sicherman.c | ./sicherman | diff - ./sicherman.c ./sicherman < sicherman.c | ./sicherman | diff - ./sicherman.c
``` ```
+3 -3
View File
@@ -1,20 +1,20 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./applin ./applin
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./applin.c ./applin.c
``` ```
+2 -2
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -18,7 +18,7 @@ For more detailed information see [1986 august bugs](../../bugs.html#1986_august
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./august ./august
``` ```
+3 -3
View File
@@ -1,20 +1,20 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./bright some_file ./bright some_file
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
+3 -3
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./hague 2>/dev/null ./hague 2>/dev/null
# enter some text # enter some text
``` ```
@@ -15,7 +15,7 @@
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
+2 -2
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./holloway ./holloway
``` ```
+4 -4
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -18,7 +18,7 @@ if nothing else.
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./marshall ./marshall
``` ```
@@ -36,14 +36,14 @@ instead offer the problematic code as an alternate version whereas
To see if your compiler has the problems noted: To see if your compiler has the problems noted:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
### Alternate use: ### Alternate use:
```<!---sh--> ``` <!---sh-->
./marshall.alt ./marshall.alt
``` ```
+2 -2
View File
@@ -54,7 +54,7 @@ dumps core just like before! What about the call to `_exit()`?
The call was: The call was:
```<!---c--> ``` <!---c-->
_exit(argv[(int)*argc-2/cc[1*(int)*argc]|-1<<4]); _exit(argv[(int)*argc-2/cc[1*(int)*argc]|-1<<4]);
``` ```
@@ -72,7 +72,7 @@ infinite loop!
After we fix the infinite loop if we change the `_exit()` call in macOS and After we fix the infinite loop if we change the `_exit()` call in macOS and
disable the optimiser we might get something like: disable the optimiser we might get something like:
```<!---sh--> ``` <!---sh-->
$ ./marshall $ ./marshall
choo choo choo choo
Segmentation fault: 11 Segmentation fault: 11
+2 -2
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./pawka ./pawka
``` ```
+3 -3
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./stein $(printf "\015\015"); echo ./stein $(printf "\015\015"); echo
``` ```
@@ -24,7 +24,7 @@ The `\015` in the above `printf(1)` command produces a control-N.
One some machines, a control-M control-N arg is needed One some machines, a control-M control-N arg is needed
to get the command to output cleanly: to get the command to output cleanly:
```<!---sh--> ``` <!---sh-->
./stein $(printf "\014\015"); echo ./stein $(printf "\014\015"); echo
``` ```
+2 -2
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./wall ./wall
``` ```
+3 -3
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
some_command | ./biggar | od -c some_command | ./biggar | od -c
./biggar < file | od -c ./biggar < file | od -c
@@ -16,7 +16,7 @@
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
+4 -4
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -10,7 +10,7 @@ To compile on a 16 bit machine, change 300000 to 30000.
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./heckbert col < file ./heckbert col < file
``` ```
@@ -19,7 +19,7 @@ where col is the number of columns to fold at and file is the file to fold.
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -28,7 +28,7 @@ where col is the number of columns to fold at and file is the file to fold.
Folding at the wrong length may be equivalent to a "Spindle or Mutilate" operation. For example: Folding at the wrong length may be equivalent to a "Spindle or Mutilate" operation. For example:
```<!---sh--> ``` <!---sh-->
./heckbert 40 < heckbert.c > ph.c ; make ph ; ./ph 20 < heckbert.c > bar.c ; make bar ./heckbert 40 < heckbert.c > ph.c ; make ph ; ./ph 20 < heckbert.c > bar.c ; make bar
``` ```
+3 -3
View File
@@ -1,20 +1,20 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./hines file.c ./hines file.c
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
+6 -6
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./korn ./korn
``` ```
@@ -29,14 +29,14 @@ Several points are important to understand this program:
2. What is the value of the symbol `"have"`? (hint: the value is NOT 4 2. What is the value of the symbol `"have"`? (hint: the value is NOT 4
characters, or `'h'`, or a string) Consider the fact that: characters, or `'h'`, or a string) Consider the fact that:
```<!---c--> ``` <!---c-->
char *x; char *x;
``` ```
defines a pointer to a `char` (i.e. an address), and that the `=` assigns defines a pointer to a `char` (i.e. an address), and that the `=` assigns
things of compatible types. Since: things of compatible types. Since:
```<!---c--> ``` <!---c-->
x = "have"; x = "have";
``` ```
@@ -44,13 +44,13 @@ is legal C, what type of value is `"have"`?
3. Note that the following expressions yield the same value: 3. Note that the following expressions yield the same value:
```<!---c--> ``` <!---c-->
x[3] *(x+3) *(3+x) x[3] *(x+3) *(3+x)
``` ```
since addition is commutative. What can be said about this value? since addition is commutative. What can be said about this value?
```<!---c--> ``` <!---c-->
3[x] 3[x]
``` ```
+3 -3
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./lievaart ./lievaart
# enter a level and start playing as described below # enter a level and start playing as described below
``` ```
@@ -17,7 +17,7 @@
To see what it would have looked like without the size restrictions: To see what it would have looked like without the size restrictions:
```<!---sh--> ``` <!---sh-->
./lievaart2 ./lievaart2
# enter a level and start playing as described below # enter a level and start playing as described below
``` ```
+4 -4
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./wall ./wall
# enter some numbers # enter some numbers
@@ -18,14 +18,14 @@
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
You may of course run the commands manually and enter text as you wish. For You may of course run the commands manually and enter text as you wish. For
instance you might try one or both of: instance you might try one or both of:
```<!---sh--> ``` <!---sh-->
./wall | bc ./wall | bc
./wall | cat ./wall | cat
+2 -2
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./westley ./westley
``` ```
+3 -3
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -12,7 +12,7 @@ program. See the [Alternate code](#alternate-code) section below for details.
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./applin ./applin
``` ```
@@ -25,7 +25,7 @@ with this entry.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
+3 -3
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -18,13 +18,13 @@ For more detailed information see [1988 dale bugs](../../bugs.html#1988_dale).
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
Observe that three of the commands in the script are: Observe that three of the commands in the script are:
```<!---sh--> ``` <!---sh-->
./dale these files are in this directory: * ./dale these files are in this directory: *
./dale $(printf "the following files exist in this directory:\n%s\n" *) ./dale $(printf "the following files exist in this directory:\n%s\n" *)
./dale "$(printf "the following files exist in this directory:\n%s\n" *)" ./dale "$(printf "the following files exist in this directory:\n%s\n" *)"
+5 -5
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -11,7 +11,7 @@ code](#alternate-code) below.
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./isaak ./isaak
``` ```
@@ -21,7 +21,7 @@ code](#alternate-code) below.
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](isaak.alt.c).
The original entry starts with the line: The original entry starts with the line:
```<!---c--> ``` <!---c-->
main(){}; main(){};
``` ```
@@ -37,7 +37,7 @@ compile.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
@@ -64,7 +64,7 @@ due to the fact that BSD style systems have an `sprintf(3)` that returns a `char
*`. Due to the above problems, we placed the output of this program in the *`. Due to the above problems, we placed the output of this program in the
file: isaak.encode. To read this file do. file: isaak.encode. To read this file do.
```<!---sh--> ``` <!---sh-->
uudecode < isaak.encode uudecode < isaak.encode
cat isaak.output cat isaak.output
``` ```
+7 -7
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make make
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./litmaath some text ./litmaath some text
``` ```
@@ -17,7 +17,7 @@ code](#alternate-code) section below.
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./litmaath eschew obfuscation ./litmaath eschew obfuscation
``` ```
@@ -31,7 +31,7 @@ a file.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
@@ -40,7 +40,7 @@ Use `litmaath.alt` as you would `litmaath` above.
### Alternate try: ### Alternate try:
```<!---sh--> ``` <!---sh-->
./litmaath.alt six was afraid of seven because seven eight nine ./litmaath.alt six was afraid of seven because seven eight nine
``` ```
@@ -50,7 +50,7 @@ Use `litmaath.alt` as you would `litmaath` above.
Note the unusual structure: Note the unusual structure:
```<!---c--> ``` <!---c-->
while (<condition>) while (<condition>)
; ;
``` ```
@@ -66,7 +66,7 @@ could make the body of the `while` loop an `fprintf` with interesting
variables like: variables like:
```<!---c--> ``` <!---c-->
fprintf(stderr, fprintf(stderr,
"argv=%lo *argv=%lo **argv=%c argv[1]=%lo *argv[1]=%c argc=%d\n", "argv=%lo *argv=%lo **argv=%c argv[1]=%lo *argv[1]=%c argc=%d\n",
(long) argv, (long) *argv, *argv && **argv ? **argv : '@', (long) argv, (long) *argv, *argv && **argv ? **argv : '@',
+1 -1
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
+3 -3
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./reddy ./reddy
char *(*(fun[16])(); char *(*(fun[16])();
char *(*(*(*(*(*fun[32])))))(); char *(*(*(*(*(*fun[32])))))();
@@ -15,7 +15,7 @@
What happens if you input, and what you do about it? What happens if you input, and what you do about it?
```<!---c--> ``` <!---c-->
char *(*(*(*(*(*fun[32])))))()); char *(*(*(*(*(*fun[32])))))());
``` ```
+4 -4
View File
@@ -1,20 +1,20 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./robison 80 10 ./robison 80 10
./robison 40 16 ./robison 40 16
``` ```
The first and second parameters are optional. You might also try: The first and second parameters are optional. You might also try:
```<!---sh--> ``` <!---sh-->
./robison 80 2 # <--- can you find the bug? ./robison 80 2 # <--- can you find the bug?
./robison 80 -246 ./robison 80 -246
``` ```
@@ -24,7 +24,7 @@ The first and second parameters are optional. You might also try:
The following might make an interesting benchmark: The following might make an interesting benchmark:
```<!---sh--> ``` <!---sh-->
./robison 100 ./robison 100
``` ```
+6 -6
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make clobber all make clobber all
``` ```
@@ -12,7 +12,7 @@ code](#alternate-code) section below.
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./spinellis ./spinellis
``` ```
@@ -21,7 +21,7 @@ EOF (typically ctrl-d).
Now run again: Now run again:
```<!---sh--> ``` <!---sh-->
./spinellis ./spinellis
``` ```
@@ -33,7 +33,7 @@ For clang or compilers that won't read from `/dev/tty`, we provide this version.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make clobber alt make clobber alt
``` ```
@@ -42,7 +42,7 @@ and follow the instructions.
### Alternate use: ### Alternate use:
```<!---sh--> ``` <!---sh-->
./spinellis.alt ./spinellis.alt
``` ```
@@ -51,7 +51,7 @@ EOF (typically ctrl-d).
Now run again: Now run again:
```<!---sh--> ``` <!---sh-->
./spinellis.alt ./spinellis.alt
``` ```
+8 -8
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -11,13 +11,13 @@ might wish to do so.
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./westley ./westley
``` ```
Also try: Also try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -31,7 +31,7 @@ This version is the original which might not work as you expect nowadays.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
@@ -41,7 +41,7 @@ This version is the original which might not work as you expect nowadays.
To see if your compiler has the problem described in the Judges' remarks below, To see if your compiler has the problem described in the Judges' remarks below,
try: try:
```<!---sh--> ``` <!---sh-->
./westley.alt ./westley.alt
``` ```
@@ -52,7 +52,7 @@ Does it show the same output as `westley`?
Your compiler must parse Your compiler must parse
```<!---c--> ``` <!---c-->
#define _ -a #define _ -a
-_ -_
``` ```
@@ -62,7 +62,7 @@ conforming ANSI C Preprocessors may object to this: for such
compilers, you can elide the non-standard token-pasting requirement compilers, you can elide the non-standard token-pasting requirement
by changing the #define line to: by changing the #define line to:
```<!---c--> ``` <!---c-->
#define _ F-->00||F-OO--; #define _ F-->00||F-OO--;
``` ```
@@ -71,7 +71,7 @@ code is the original.
You might enjoy looking at the output of: You might enjoy looking at the output of:
```<!---sh--> ``` <!---sh-->
cc -E westley.alt.c cc -E westley.alt.c
``` ```
+3 -3
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -18,14 +18,14 @@ For more detailed information see [1989 fubar bugs](../../bugs.html#1989_fubar).
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./fubar <number> ./fubar <number>
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh # run on 1 - 7 ./try.sh # run on 1 - 7
./fubar.sh 2 # run via script ./fubar.sh 2 # run via script
+5 -5
View File
@@ -2,7 +2,7 @@
NOTE: this will run the program itself. NOTE: this will run the program itself.
```<!---sh--> ``` <!---sh-->
make clobber all make clobber all
``` ```
@@ -12,7 +12,7 @@ See the [Alternate code](#alternate-code) section below for more details.
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./jar.1 ./jar.1
``` ```
@@ -26,14 +26,14 @@ This alternate code, which prints something slightly different, is provided as w
NOTE: this will run the program itself. NOTE: this will run the program itself.
```<!---sh--> ``` <!---sh-->
make clobber alt make clobber alt
``` ```
### Alternate use: ### Alternate use:
```<!---sh--> ``` <!---sh-->
./jar.1.alt ./jar.1.alt
``` ```
@@ -43,7 +43,7 @@ NOTE: this will run the program itself.
On many systems the compiler will not allow you to send the object file to On many systems the compiler will not allow you to send the object file to
`/dev/tty`. The author suggested: `/dev/tty`. The author suggested:
```<!---sh--> ``` <!---sh-->
cc -c -o /dev/tty jar.1.c cc -c -o /dev/tty jar.1.c
``` ```
+4 -4
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./jar.2 ./jar.2
[enter some lisp] [enter some lisp]
@@ -19,7 +19,7 @@ NOTE: this entry will likely segfault on invalid input.
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
./try.sh chocolate_cake.lisp ./try.sh chocolate_cake.lisp
@@ -65,7 +65,7 @@ lisp expressions (followed by CR), the program evaluates them and
prints out the return values. End execution by typing an end-of-file prints out the return values. End execution by typing an end-of-file
character. character.
```<!---lisp--> ``` <!---lisp-->
(+ 2.5 3.1) (+ 2.5 3.1)
(defun fib (n) (defun fib (n)
(if (< n 2) (if (< n 2)
+6 -6
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -11,7 +11,7 @@ To get this to compile with a modern CPP, we had to replace `#D` with `#define`.
Run the program this way: Run the program this way:
```<!---sh--> ``` <!---sh-->
./ovdluhe < textfile ./ovdluhe < textfile
``` ```
@@ -21,7 +21,7 @@ by chance or is killed.
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ; sleep 2 ; ./try.sh ./try.sh ; sleep 2 ; ./try.sh
``` ```
@@ -34,7 +34,7 @@ it's a `#define` it's easy to set up.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make P=9 clobber alt make P=9 clobber alt
``` ```
@@ -46,14 +46,14 @@ program to fail and a negative value will cause a compilation error.
### Alternate use: ### Alternate use:
```<!---sh--> ``` <!---sh-->
./ovdluhe.alt ./ovdluhe.alt
``` ```
### Alternate try: ### Alternate try:
```<!---sh--> ``` <!---sh-->
./try.alt.sh ./try.alt.sh
P=5 ./try.alt.sh P=5 ./try.alt.sh
+4 -4
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -10,7 +10,7 @@ out. See [alternate code](#alternate-code) below for more details.
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./paul ./paul
``` ```
@@ -28,14 +28,14 @@ could easily be added.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
### Alternate use: ### Alternate use:
```<!---sh--> ``` <!---sh-->
./paul.alt ./paul.alt
``` ```
+3 -3
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -18,7 +18,7 @@ For more detailed information see [1989 robison bugs](../../bugs.html#1989_robis
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./robison ./robison
# enter valid expressions # enter valid expressions
``` ```
@@ -26,7 +26,7 @@ For more detailed information see [1989 robison bugs](../../bugs.html#1989_robis
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./robison ./robison
11x10 11x10
# enter other expressions # enter other expressions
+2 -2
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./roemer ./roemer
``` ```
+5 -5
View File
@@ -1,20 +1,20 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./tromp [drops_per_sec [cmd_string]] ./tromp [drops_per_sec [cmd_string]]
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./tromp 5 ./tromp 5
./tromp 10 "hkl jq" ./tromp 10 "hkl jq"
@@ -53,7 +53,7 @@ the judges' additional remarks in the author's remarks, for more details.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
@@ -138,7 +138,7 @@ at the start and `-raw` at the end. This further reduces the size of
the program, but has the possible disadvantage that the program the program, but has the possible disadvantage that the program
can only by stopped by 'q' or by the `kill -9' command. can only by stopped by 'q' or by the `kill -9' command.
```<!---c--> ``` <!---c-->
long h[4];t(){h[3]-=h[3]/3000;setitimer(0,h,0);}c,d,l,v[]={(int)t,0,2},w,s,I,K long h[4];t(){h[3]-=h[3]/3000;setitimer(0,h,0);}c,d,l,v[]={(int)t,0,2},w,s,I,K
=0,i=276,j,k,q[276],Q[276],*n=q,*m,x=17,f[]={7,-13,-12,1,8,-11,-12,-1,9,-1,1, =0,i=276,j,k,q[276],Q[276],*n=q,*m,x=17,f[]={7,-13,-12,1,8,-11,-12,-1,9,-1,1,
12,3,-13,-12,-1,12,-1,11,1,15,-1,13,1,18,-1,1,2,0,-12,-1,11,1,-12,1,13,10,-12, 12,3,-13,-12,-1,12,-1,11,1,15,-1,13,1,18,-1,1,2,0,-12,-1,11,1,-12,1,13,10,-12,
+2 -2
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
+11 -11
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -20,26 +20,26 @@ For more detailed information see [1989 westley bugs](../../bugs.html#1989_westl
Try compiling and running the 4 resulting programs like: Try compiling and running the 4 resulting programs like:
```<!---sh--> ``` <!---sh-->
./compile.sh ./compile.sh
``` ```
If you need to specify an alternate compiler path, say because your default If you need to specify an alternate compiler path, say because your default
compiler is clang (or in the case of macOS gcc is clang) you can do so like: compiler is clang (or in the case of macOS gcc is clang) you can do so like:
```<!---sh--> ``` <!---sh-->
CC=/opt/local/bin/gcc-mp-12 ./compile.sh CC=/opt/local/bin/gcc-mp-12 ./compile.sh
``` ```
If you wish to delay the script or remove the delay you can do so like: If you wish to delay the script or remove the delay you can do so like:
```<!---sh--> ``` <!---sh-->
DELAY=2 ./compile.sh DELAY=2 ./compile.sh
``` ```
Finally try: Finally try:
```<!---sh--> ``` <!---sh-->
./westley ./westley
# input some lines of text, sending EOF (usually ctrl-d) to end # input some lines of text, sending EOF (usually ctrl-d) to end
@@ -70,7 +70,7 @@ different algorithm for each version (hereafter referred to as
When compiling these versions, one needs to define `trgpune` When compiling these versions, one needs to define `trgpune`
in the compile line (which the Makefile now has). Example: in the compile line (which the Makefile now has). Example:
```<!---sh--> ``` <!---sh-->
cc -Dtrgpune=putchar ver3.c -o ver3 cc -Dtrgpune=putchar ver3.c -o ver3
``` ```
@@ -109,13 +109,13 @@ function `vs()` to define in the ROT13 version. But a function
called `vs()` turns into a function called `if()` in the original, called `vs()` turns into a function called `if()` in the original,
so it can't be done. Therefore, I do: so it can't be done. Therefore, I do:
```<!---c--> ``` <!---c-->
expr1 && expr2 && (expr3=etc); expr1 && expr2 && (expr3=etc);
``` ```
which is the same as: which is the same as:
```<!---c--> ``` <!---c-->
if (expr1 && expr2) expr3=etc; if (expr1 && expr2) expr3=etc;
``` ```
@@ -124,7 +124,7 @@ expressions if they aren't in an assignment or conditional
statement. This might warrant a warning, since other compilers statement. This might warrant a warning, since other compilers
may do this. I found MANY compilers botched: may do this. I found MANY compilers botched:
```<!---c--> ``` <!---c-->
expr1 && (expr2,expr3); expr1 && (expr2,expr3);
``` ```
@@ -146,7 +146,7 @@ such statements to make it more portable.
Normally (!), a reversible C program is done thus: Normally (!), a reversible C program is done thus:
```<!---c--> ``` <!---c-->
/**/ forward code /*/ edoc drawkcab /**/ /**/ forward code /*/ edoc drawkcab /**/
``` ```
@@ -154,7 +154,7 @@ If your compiler nests comments, it will get this wrong.
However, I have made some bits of the code palindromic, However, I have made some bits of the code palindromic,
(or different, but reversible) so it is more like: (or different, but reversible) so it is more like:
```<!---c--> ``` <!---c-->
/**/forward/*//**/ palindromic /**//*/drawkcab/**/ /**/forward/*//**/ palindromic /**//*/drawkcab/**/
``` ```
+4 -4
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -21,7 +21,7 @@ For more detailed information see [1990 baruch bugs](../../bugs.html#1990_baruch
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
echo 4 | ./baruch echo 4 | ./baruch
echo 7 | ./baruch echo 7 | ./baruch
``` ```
@@ -29,7 +29,7 @@ For more detailed information see [1990 baruch bugs](../../bugs.html#1990_baruch
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -47,7 +47,7 @@ question. YMMV.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
+3 -3
View File
@@ -1,20 +1,20 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./cmills [starting_cash] ./cmills [starting_cash]
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./cmills 5000 ./cmills 5000
``` ```
+3 -3
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./dds ./dds
``` ```
@@ -16,7 +16,7 @@
Give the following lines as input: Give the following lines as input:
```<!---basic--> ``` <!---basic-->
OLD LANDER.BAS OLD LANDER.BAS
RUN RUN
``` ```
+6 -6
View File
@@ -1,20 +1,20 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
echo foo bar | ./dg echo foo bar | ./dg
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -24,13 +24,13 @@
Some C preprocessors got confused about single quotes in certain cases. Some C preprocessors got confused about single quotes in certain cases.
In particular, the following source line: In particular, the following source line:
```<!---c--> ``` <!---c-->
b12(ase(bco(acp(bi(acp(bcp(acp(bpl(aqu(bqu(A)))))))))))))))))))))))))))))) b12(ase(bco(acp(bi(acp(bcp(acp(bpl(aqu(bqu(A))))))))))))))))))))))))))))))
``` ```
sometimes has to be changed to: sometimes has to be changed to:
```<!---c--> ``` <!---c-->
b12(ase(bco(acp(bi(acp(bcp(acp(bpl('A')))))))))))))))))))))))))))) b12(ase(bco(acp(bi(acp(bcp(acp(bpl('A'))))))))))))))))))))))))))))
``` ```
@@ -56,7 +56,7 @@ As for the rot13 algorithm, it relies on `index(3)` to find if the
character is in the set `A-Za-z`. `l[]` is an array that gets filled character is in the set `A-Za-z`. `l[]` is an array that gets filled
with: with:
```<!---c--> ``` <!---c-->
"nopqrstuvwxyzzzzabcdefghijklmmmmNOPQRSTUVWXYZZZZABCDEFGHIJKLMMMM" "nopqrstuvwxyzzzzabcdefghijklmmmmNOPQRSTUVWXYZZZZABCDEFGHIJKLMMMM"
``` ```
+6 -6
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -9,7 +9,7 @@
To test the official C entry, one might try: To test the official C entry, one might try:
```<!---sh--> ``` <!---sh-->
echo "Quartz glyph jocks vend, fix, BMW." | compress | ./btoa | ./jaw echo "Quartz glyph jocks vend, fix, BMW." | compress | ./btoa | ./jaw
``` ```
@@ -19,7 +19,7 @@ sentence.
#### Also try: #### Also try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -39,14 +39,14 @@ it to 1530 bytes) which implements the complete shark utility. The script,
The sender must have `compress` and `btoa`. To send, try: The sender must have `compress` and `btoa`. To send, try:
```<!---sh--> ``` <!---sh-->
./shark.sh jaw.* README.md > receive ./shark.sh jaw.* README.md > receive
``` ```
The resulting file, `receive`, unpacks the input files The resulting file, `receive`, unpacks the input files
even if the receiver lacks `uncompress` and `btoa`: even if the receiver lacks `uncompress` and `btoa`:
```<!---sh--> ``` <!---sh-->
mkdir -p test mkdir -p test
cd test cd test
sh ../receive sh ../receive
@@ -168,7 +168,7 @@ Construct `sharkmail`, to auto-split `sharkives` into mailable segments and mail
them. Here's a simple one, which could be extended to enable auto-reassembly them. Here's a simple one, which could be extended to enable auto-reassembly
with one shell cmd at the far end. with one shell cmd at the far end.
```<!---sh--> ``` <!---sh-->
#!/bin/sh #!/bin/sh
m=$1; shift m=$1; shift
shark $* | split -800 - /tmp/shark$$ shark $* | split -800 - /tmp/shark$$
+6 -6
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -11,7 +11,7 @@ that can be used if your compiler is incapable of compiling `X=g()...` in
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./pjr ./pjr
``` ```
@@ -22,7 +22,7 @@ Note that some compilers will be unable to compile the expression `X=g()...` in
`main()` due to lack of temporary stack space. One might want to try replacing `main()` due to lack of temporary stack space. One might want to try replacing
`main()` with: `main()` with:
```<!---c--> ``` <!---c-->
main(){X=s().v().o().o().l().S().d().l().i().o().w().N();} main(){X=s().v().o().o().l().S().d().l().i().o().w().N();}
``` ```
@@ -34,14 +34,14 @@ well.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
### Alternate use: ### Alternate use:
```<!---sh--> ``` <!---sh-->
./pjr.alt ./pjr.alt
``` ```
@@ -74,7 +74,7 @@ opposite:
To encode a new string input the string as it is meant to come out: To encode a new string input the string as it is meant to come out:
```<!---c--> ``` <!---c-->
X=s().v().o().o().l().S().d().l().i().o().w().N(); X=s().v().o().o().l().S().d().l().i().o().w().N();
``` ```
+3 -3
View File
@@ -1,20 +1,20 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./scjones ./scjones
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
+3 -3
View File
@@ -1,19 +1,19 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
NOTE: that's not a typo or mistake but one can also do: NOTE: that's not a typo or mistake but one can also do:
```<!---sh--> ``` <!---sh-->
./o ./o
``` ```
+9 -9
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -25,7 +25,7 @@ In 2023 it was noticed that in some systems like macOS there was confusing
output due to a warning at runtime that was interspersed with the output of the output due to a warning at runtime that was interspersed with the output of the
program. For instance it would show: program. For instance it would show:
```<!---sh--> ``` <!---sh-->
./tbr ./tbr
$ warning: this program uses gets(), which is unsafe. $ warning: this program uses gets(), which is unsafe.
``` ```
@@ -40,7 +40,7 @@ below, in the [alternate version](#alternate-code) section.
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./tbr ./tbr
$ enter some shell commands $ enter some shell commands
``` ```
@@ -54,7 +54,7 @@ just `exit` or `logout`? Hint: see the authors' remarks.
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./tbr ./tbr
$ ls -l tbr tbr.c $ ls -l tbr tbr.c
@@ -79,7 +79,7 @@ documented, are not considered bugs as such in the context of the contest.
The authors supplied us with a slightly smaller unformatted version The authors supplied us with a slightly smaller unformatted version
of the program which we include below: of the program which we include below:
```<!---c--> ``` <!---c-->
#define D ,close( #define D ,close(
char*c,q[512],m[256],*v[99],**u,*i[3];int f[2],p;main(){for(m[m[60]=m[62]= char*c,q[512],m[256],*v[99],**u,*i[3];int f[2],p;main(){for(m[m[60]=m[62]=
32]=m[*m=124[m]=9]=6;e(-8),gets(1+(c=q))||(exit(0),0);r(0,0))for(;*++c;);} 32]=m[*m=124[m]=9]=6;e(-8),gets(1+(c=q))||(exit(0),0);r(0,0))for(;*++c;);}
@@ -99,14 +99,14 @@ equivalent like the authors intended.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
### Alternate use: ### Alternate use:
```<!---sh--> ``` <!---sh-->
./tbr.alt ./tbr.alt
``` ```
@@ -165,13 +165,13 @@ argument is stolen every time a `>` or `<` is encountered. The
shell flags an error if no arguments are on the stack. Thus, for shell flags an error if no arguments are on the stack. Thus, for
example: example:
```<!---sh--> ``` <!---sh-->
cat > foo > bar cat > foo > bar
``` ```
cats to `foo`, since it was pushed last, but cats to `foo`, since it was pushed last, but
```<!---sh--> ``` <!---sh-->
cat > > foo bar cat > > foo bar
``` ```
+8 -8
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -18,7 +18,7 @@ For more detailed information see [1990 theorem bugs](../../bugs.html#1990_theor
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./theorem expression x1 x2 h y1 ./theorem expression x1 x2 h y1
``` ```
@@ -35,7 +35,7 @@ where:
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -62,7 +62,7 @@ left to right. (i.e., parenthesis aren't supported).
Try running the program with the following args: Try running the program with the following args:
```<!---sh--> ``` <!---sh-->
./theorem y 0 1 0.1 1 ./theorem y 0 1 0.1 1
./theorem 1/x 1 2 0.1 0 ./theorem 1/x 1 2 0.1 0
./theorem 'x^2/y+x' 0 1 0.1 6 ./theorem 'x^2/y+x' 0 1 0.1 6
@@ -71,14 +71,14 @@ Try running the program with the following args:
But wait, there is more! You also get, free of charge, a But wait, there is more! You also get, free of charge, a
reversing filter! Try: reversing filter! Try:
```<!---sh--> ``` <!---sh-->
./theorem -r 0 0 0 0 < theorem.c > sorter.c ./theorem -r 0 0 0 0 < theorem.c > sorter.c
``` ```
Still not impressed? The author throws in for free, a Still not impressed? The author throws in for free, a
sort program! Try: sort program! Try:
```<!---sh--> ``` <!---sh-->
make sorter make sorter
ls | ./sorter ls | ./sorter
``` ```
@@ -87,14 +87,14 @@ This program is safe for home use as well. The author has
included a safety feature in case you misplace the original included a safety feature in case you misplace the original
program source: program source:
```<!---sh--> ``` <!---sh-->
./sorter -r 0 0 0 0 < sorter.c > theorem_bkp.c ./sorter -r 0 0 0 0 < sorter.c > theorem_bkp.c
``` ```
And finally, as a special offer to users of this entry, And finally, as a special offer to users of this entry,
the author provides a Fibonacci sequence generator! Try: the author provides a Fibonacci sequence generator! Try:
```<!---sh--> ``` <!---sh-->
./sorter 0 0 0 0 < theorem.c > fibonacci.c ./sorter 0 0 0 0 < theorem.c > fibonacci.c
make fibonacci make fibonacci
./fibonacci 1 1 ./fibonacci 1 1
+5 -5
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./westley <number> ./westley <number>
``` ```
@@ -16,7 +16,7 @@ The number should be greater than 0.
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -30,14 +30,14 @@ The alternate code is provided to show how C changed.
If you have an old enough compiler try and to see how C has changed over the years: If you have an old enough compiler try and to see how C has changed over the years:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
### Alternate use: ### Alternate use:
```<!---sh--> ``` <!---sh-->
./westley.alt <number> ./westley.alt <number>
``` ```
+1 -1
View File
@@ -35,7 +35,7 @@ been eliminated, and will likely be considered in future years.
A number of entries made use of the following C pre-processor feature: A number of entries made use of the following C pre-processor feature:
```<!---c--> ``` <!---c-->
#define X define #define X define
#X foo bar #X foo bar
``` ```
+5 -5
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -10,7 +10,7 @@ familiar to vi(m) users.
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./ant some_file ./ant some_file
``` ```
@@ -20,12 +20,12 @@ program exit without doing anything.
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
make hill make hill
./ant hill ./ant hill
``` ```
```<!---sh--> ``` <!---sh-->
make mole make mole
./ant mole ./ant mole
``` ```
@@ -46,7 +46,7 @@ rest was unchanged.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
+2 -2
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
./sorta < sorta.itailrec ./sorta < sorta.itailrec
+5 -5
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -21,7 +21,7 @@ For more detailed information see [1991 buzzard bugs](../../bugs.html#1991_buzza
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./buzzard ./buzzard
``` ```
@@ -37,14 +37,14 @@ code directly so the keys are not made a `-D` at the compiler.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
### Alternate use: ### Alternate use:
```<!---sh--> ``` <!---sh-->
./buzzard.alt ./buzzard.alt
``` ```
@@ -89,7 +89,7 @@ so make sure to convert tabs to spaces before using it.
Usage: Usage:
```<!---sh--> ``` <!---sh-->
./buzzard [filename [escape-char [start-x start-yNNN ./buzzard [filename [escape-char [start-x start-yNNN
``` ```
+3 -3
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./cdupont ./cdupont
``` ```
@@ -16,7 +16,7 @@
Why is the following label necessary? Why is the following label necessary?
```<!---c--> ``` <!---c-->
sorryfor_this_unused_but_very_needed_label: sorryfor_this_unused_but_very_needed_label:
``` ```
+4 -4
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./davidguy ip_address:server.screen ./davidguy ip_address:server.screen
``` ```
@@ -16,7 +16,7 @@ where `ip_address` in an IP address of an X server.
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./davidguy 127.0.0.1:0.0 ./davidguy 127.0.0.1:0.0
``` ```
@@ -24,7 +24,7 @@ Of course, you may need to supply a more reasonable address. :-)
## Also try: ## Also try:
```<!---sh--> ``` <!---sh-->
cp -f davidguy guydavid cp -f davidguy guydavid
./guydavid 127.0.0.1:0.0 ./guydavid 127.0.0.1:0.0
``` ```
+4 -4
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./dds basic_program ./dds basic_program
./a.out 2>/dev/null ./a.out 2>/dev/null
``` ```
@@ -17,7 +17,7 @@
The author suggests trying: The author suggests trying:
```<!---sh--> ``` <!---sh-->
./dds LANDER.BAS ./dds LANDER.BAS
./a.out ./a.out
``` ```
@@ -27,7 +27,7 @@ produced? How does `a.c` relate to [LANDER.BAS](LANDER.BAS)?
What happens if you give the program a C program like itself? Try: What happens if you give the program a C program like itself? Try:
```<!---sh--> ``` <!---sh-->
./dds dds.c ./dds dds.c
``` ```
+3 -3
View File
@@ -1,20 +1,20 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
echo text | ./fine echo text | ./fine
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
+6 -6
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -11,7 +11,7 @@ that's fewer than the original program.
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./rince ./rince
``` ```
@@ -30,7 +30,7 @@ The author set the maximum number of moves to 484.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
@@ -41,7 +41,7 @@ configurable maximum number of moves allowed, defaulting to the entry's max,
To reconfigure the maximum number of moves to 700: To reconfigure the maximum number of moves to 700:
```<!---sh--> ``` <!---sh-->
make clobber MAXMOVES=700 alt make clobber MAXMOVES=700 alt
``` ```
@@ -50,13 +50,13 @@ To reconfigure the maximum number of moves to 700:
To run the first alt version: To run the first alt version:
```<!---sh--> ``` <!---sh-->
./rince.alt ./rince.alt
``` ```
To run the second alt version: To run the second alt version:
```<!---sh--> ``` <!---sh-->
./rince.alt2 ./rince.alt2
``` ```
+9 -9
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -27,7 +27,7 @@ for the interested. See the [try](#try) section if you just want to play.
Make and then run as follows: Make and then run as follows:
```<!---sh--> ``` <!---sh-->
./westley [move_location] | tee nextmove.c ./westley [move_location] | tee nextmove.c
``` ```
@@ -43,7 +43,7 @@ a move on a tic-tac-toe board:
If you omit `move_location`, then the computer moves first. For your If you omit `move_location`, then the computer moves first. For your
next move, recompile `nextmove.c` and play it again: next move, recompile `nextmove.c` and play it again:
```<!---sh--> ``` <!---sh-->
make nextmove make nextmove
./nextmove move_location | tee nextmove.c ./nextmove move_location | tee nextmove.c
``` ```
@@ -54,7 +54,7 @@ next move, recompile `nextmove.c` and play it again:
We have provided the shell script, [ttt](ttt.sh), to make it easier to play the We have provided the shell script, [ttt](ttt.sh), to make it easier to play the
game: game:
```<!---sh--> ``` <!---sh-->
make ttt make ttt
./ttt [first_move] # <- omit first arg to have it move first ./ttt [first_move] # <- omit first arg to have it move first
./ttt next_move ./ttt next_move
@@ -64,14 +64,14 @@ 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 `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](ttt.sh) script has two other modes:
```<!---sh--> ``` <!---sh-->
./ttt quitgame # cancel any game in progress, revert to merlyn.c ./ttt quitgame # cancel any game in progress, revert to merlyn.c
./ttt clobber # remove all game files, revert to original source ./ttt clobber # remove all game files, revert to original source
``` ```
For example here is a potentially losing game: For example here is a potentially losing game:
```<!---sh--> ``` <!---sh-->
./ttt 1 ./ttt 1
./ttt 4 ./ttt 4
./ttt 6 ./ttt 6
@@ -80,7 +80,7 @@ For example here is a potentially losing game:
The final might look like: The final might look like:
```<!---c--> ``` <!---c-->
a(X){/*/X=- a(X){/*/X=- a(X){/*/X=- a(X){/*/X=-
X -1;F;X=- -1;F;X=- X -1;F;X=- -1;F;X=-
-1;F;}/*/ -1;F;}/*/ -1;F;}/*/ -1;F;}/*/
@@ -123,7 +123,7 @@ can lose if you cheat. That's supposed to happen. Can you win any other time?
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
@@ -194,7 +194,7 @@ function as `a()`, `b()`, or `c()`. After each function is called, the global
variables `X` and `O` contain bitmasks of where all the `X`s and `O`s are placed. variables `X` and `O` contain bitmasks of where all the `X`s and `O`s are placed.
The statement: The statement:
```<!---c--> ``` <!---c-->
X=- <char> -1; X=- <char> -1;
``` ```
+11 -11
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -19,13 +19,13 @@ For more detailed information see [1992 adrian bugs](../../bugs.html#1992_adrian
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
For the slow minded, try: For the slow minded, try:
```<!---sh--> ``` <!---sh-->
./adsleep 32767 ./adsleep 32767
``` ```
@@ -134,7 +134,7 @@ character list.
With the automaton specification in `filename`, invoke the program by With the automaton specification in `filename`, invoke the program by
typing typing
```<!---sh--> ``` <!---sh-->
./adrian filename ./adrian filename
``` ```
@@ -151,7 +151,7 @@ occurs if your automaton has more than 257 states.
Running: Running:
```<!---sh--> ``` <!---sh-->
./adrian from < your_mailbox ./adrian from < your_mailbox
``` ```
@@ -169,7 +169,7 @@ the regular expression:
I suggest using `adrian.c` as input, and storing the output in `adwc.c`: I suggest using `adrian.c` as input, and storing the output in `adwc.c`:
```<!---sh--> ``` <!---sh-->
./adrian < adrian.c > adwc.c ./adrian < adrian.c > adwc.c
``` ```
@@ -181,13 +181,13 @@ in the input file.
Another possibly interesting automaton can be created by slightly Another possibly interesting automaton can be created by slightly
adjusting the `adrian.c` file. Change the first line to read adjusting the `adrian.c` file. Change the first line to read
```<!---c--> ``` <!---c-->
/* . echo| . */ /* . echo| . */
``` ```
and repeat the process above and repeat the process above
```<!---sh--> ``` <!---sh-->
./adrian <adrian.c > adecho.c ./adrian <adrian.c > adecho.c
``` ```
@@ -204,7 +204,7 @@ employed.
Two other adjustments to the first line also yield useful results. By Two other adjustments to the first line also yield useful results. By
changing it to changing it to
```<!---c--> ``` <!---c-->
/* . head; . */ /* . head; . */
``` ```
@@ -221,7 +221,7 @@ specified (again this was changed to `__FILE__`).
By setting the first line to By setting the first line to
```<!---c--> ``` <!---c-->
/* . basename . */ /* . basename . */
``` ```
@@ -240,7 +240,7 @@ The resulting base name is printed to stdout.
Lastly, by setting the first line to Lastly, by setting the first line to
```<!---c--> ``` <!---c-->
/* . sleep . */ /* . sleep . */
``` ```
+7 -7
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -21,14 +21,14 @@ For more detailed information see [1992 albert bugs](../../bugs.html#1992_albert
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./albert number ./albert number
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -64,7 +64,7 @@ The [albert.alt.c](albert.c) file is the fixed file, whereas the
To compile this alternate version: To compile this alternate version:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
@@ -76,7 +76,7 @@ Use `albert.alt` as you would `albert` above.
### Alternate try: ### Alternate try:
```<!---sh--> ``` <!---sh-->
./try.alt.sh ./try.alt.sh
``` ```
@@ -106,7 +106,7 @@ if you want to factor Fermat's 4th number. Then just run it.
Or you may type `./albert <some-number>` Or you may type `./albert <some-number>`
A nice one is also (30 ones): A nice one is also (30 ones):
```<!---sh--> ``` <!---sh-->
./albert 111111111111111111111111111111 ./albert 111111111111111111111111111111
``` ```
@@ -114,7 +114,7 @@ Apart from the foregoing there are no special execution instructions.
To customize the program into a factorizer of a fixed number, use To customize the program into a factorizer of a fixed number, use
```<!---sh--> ``` <!---sh-->
cc albert.c -o 4294967297 cc albert.c -o 4294967297
``` ```
+3 -3
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./ant Makefile ./ant Makefile
./ant Makefile rule ./ant Makefile rule
@@ -18,7 +18,7 @@ where `Makefile` is a Makefile to use and `rule` is an optional rule to use.
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
+11 -11
View File
@@ -1,20 +1,20 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./buzzard.1 num num ./buzzard.1 num num
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -23,7 +23,7 @@
To see good C Preprocessor buzzard.1, try: To see good C Preprocessor buzzard.1, try:
```<!---sh--> ``` <!---sh-->
make babble.cppcb make babble.cppcb
cat babble.cppcb cat babble.cppcb
``` ```
@@ -54,19 +54,19 @@ short strings.
`buzzard.1` is a simple mathematical program. It expects two numeric `buzzard.1` is a simple mathematical program. It expects two numeric
arguments. arguments.
```<!---sh--> ``` <!---sh-->
./buzzard.1 0 <num> ./buzzard.1 0 <num>
``` ```
will print out the factorial of `<num>`. will print out the factorial of `<num>`.
```<!---sh--> ``` <!---sh-->
./buzzard.1 <num1> <num2> ./buzzard.1 <num1> <num2>
``` ```
will print out the largest common factor of `num1` and `num2`. will print out the largest common factor of `num1` and `num2`.
```<!---sh--> ``` <!---sh-->
./buzzard.1 1 <num2> ./buzzard.1 1 <num2>
``` ```
@@ -171,21 +171,21 @@ programs is the conditional (given that we have loops).
Since all you can do in the given operation output set is Since all you can do in the given operation output set is
assignment, we implement "conditional assignment": assignment, we implement "conditional assignment":
```<!---c--> ``` <!---c-->
if (x) y = z; if (x) y = z;
``` ```
To implement this, we constrain `x` to be either 0 or 1, and To implement this, we constrain `x` to be either 0 or 1, and
simply compute: simply compute:
```<!---c--> ``` <!---c-->
y = (z * x) + (y * (1-x)); y = (z * x) + (y * (1-x));
``` ```
This is more obscured by factoring out common terms and restricting This is more obscured by factoring out common terms and restricting
ourselves to two operand operations: ourselves to two operand operations:
```<!---c--> ``` <!---c-->
temp = z; (temp == z) temp = z; (temp == z)
temp -= y; (temp == z-y) temp -= y; (temp == z-y)
temp *= x; (temp == (z-y)*x) temp *= x; (temp == (z-y)*x)
@@ -199,7 +199,7 @@ Next we imagine we have a [pc](https://en.wikipedia.org/wiki/Program_counter).
we're not currently coming up on statement pc. To handle this, we simply make we're not currently coming up on statement pc. To handle this, we simply make
every operation conditional on the pc having the correct value: every operation conditional on the pc having the correct value:
```<!---c--> ``` <!---c-->
if (pc == some_constant) y = z; if (pc == some_constant) y = z;
``` ```
+9 -9
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -13,13 +13,13 @@ code](#alternate-code) below for details.
First, you must make sure that `first` is made first (even though `make all` First, you must make sure that `first` is made first (even though `make all`
should make first first :-) ): should make first first :-) ):
```<!---sh--> ``` <!---sh-->
make first make first
``` ```
Second: Second:
```<!---sh--> ``` <!---sh-->
# get help: # get help:
echo help | cat third help.th - | ./first echo help | cat third help.th - | ./first
@@ -29,7 +29,7 @@ Second:
Third: Third:
```<!---sh--> ``` <!---sh-->
cat third help.th - | ./first cat third help.th - | ./first
``` ```
@@ -50,7 +50,7 @@ Fourth:
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -63,7 +63,7 @@ fix that the author notes in their remarks.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
@@ -75,7 +75,7 @@ Use `buzzard.2.alt` as you would `buzzard.2` above.
### Alternate try: ### Alternate try:
```<!---sh--> ``` <!---sh-->
./try.alt.sh ./try.alt.sh
``` ```
@@ -125,7 +125,7 @@ Do not expect to be able to do anything interesting with `first`.
To do something interesting, you need to feed `first` the file To do something interesting, you need to feed `first` the file
[third](third) first. In unix, you can do [third](third) first. In unix, you can do
```<!---sh--> ``` <!---sh-->
cat third help.th - | ./first cat third help.th - | ./first
``` ```
@@ -226,7 +226,7 @@ When you get the `Ok.` message from `third`, try out some sample
you in a normal way. It only prints `'Ok.'` after you define a word). you in a normal way. It only prints `'Ok.'` after you define a word).
```<!---sh--> ``` <!---sh-->
2 3 + . cr 2 3 + . cr
``` ```
+7 -7
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -21,14 +21,14 @@ For more detailed information see [1992 gson bugs](../../bugs.html#1992_gson).
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./ag word word2 word3 < /path/to/dictionary ./ag word word2 word3 < /path/to/dictionary
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -45,7 +45,7 @@ following locations though the last one is more ironic:
Then using the proper dictionary file it does: Then using the proper dictionary file it does:
```<!---sh--> ``` <!---sh-->
./ag free software foundation < /usr/share/dict/words ./ag free software foundation < /usr/share/dict/words
./ag obfuscated c contest < /usr/share/dict/words ./ag obfuscated c contest < /usr/share/dict/words
./ag unix international < /usr/share/dict/words ./ag unix international < /usr/share/dict/words
@@ -73,7 +73,7 @@ weren't allowed to print!
The author provided an obfuscated script that can be used to construct 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](mkdict.sh). To use try:
```<!---sh--> ``` <!---sh-->
cat README.md | ./mkdict.sh > words cat README.md | ./mkdict.sh > words
``` ```
@@ -103,7 +103,7 @@ have one already, you can make your own dictionary by concatenating a few
hundred of your favourite Usenet articles and piping them through the following hundred of your favourite Usenet articles and piping them through the following
obfuscated shell script: obfuscated shell script:
```<!---sh--> ``` <!---sh-->
#!/bin/sh #!/bin/sh
z=a-z];tr [A-Z\] \[$z|sed s/[\^$z[\^$z*/_/g|tr _ \\012|grep ..|sort -u z=a-z];tr [A-Z\] \[$z|sed s/[\^$z[\^$z*/_/g|tr _ \\012|grep ..|sort -u
``` ```
@@ -258,7 +258,7 @@ those bits that should remain zero. For example, the following
program prints all those 16-bit integers that contain zeroes in all program prints all those 16-bit integers that contain zeroes in all
even bit positions: even bit positions:
```<!---c--> ``` <!---c-->
main(){int i=0,s=0xAAAA;do{printf("%04x\t",i);}while(i=((i|~s)+1)&s);} main(){int i=0,s=0xAAAA;do{printf("%04x\t",i);}while(i=((i|~s)+1)&s);}
``` ```
+4 -4
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
# text mode # text mode
./imc -text ./imc -text
@@ -19,7 +19,7 @@
To see a number of options and configurations: To see a number of options and configurations:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -164,7 +164,7 @@ standard error to indicate its progress (one dot per pixel line).
Here are a couple of good pictures to draw: Here are a couple of good pictures to draw:
```<!---sh--> ``` <!---sh-->
./imc -s 512,512 -f 600000 -l 512 -m 16 -c.00805,.74274 > screen1.ras ./imc -s 512,512 -f 600000 -l 512 -m 16 -c.00805,.74274 > screen1.ras
./imc -s512,512 -j-.523,-.535 > screen2.ras ./imc -s512,512 -j-.523,-.535 > screen2.ras
``` ```
+4 -4
View File
@@ -2,7 +2,7 @@
If your machine support the X Window System, Version 11: If your machine support the X Window System, Version 11:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
@@ -24,7 +24,7 @@ For more detailed information see [1992 kivinen bugs](../../bugs.html#1992_kivin
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./kivinen.alt ./kivinen.alt
./kivinen.alt a ./kivinen.alt a
@@ -41,7 +41,7 @@ Also try changing the speed that the game moves. For instance if you wish to
change the `usleep(3)` value to `30000` from `20000`, try: change the `usleep(3)` value to `30000` from `20000`, try:
```<!---sh--> ``` <!---sh-->
make clobber SLEEP=30000 alt # make it slower make clobber SLEEP=30000 alt # make it slower
make clobber SLEEP=10000 alt # make it faster make clobber SLEEP=10000 alt # make it faster
@@ -59,7 +59,7 @@ code.
### Original build: ### Original build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
+2 -2
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -18,7 +18,7 @@ For more detailed information see [1992 lush bugs](../../bugs.html#1992_lush).
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./lush.sh ./lush.sh
``` ```
+2 -2
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./marangon ./marangon
``` ```
+4 -4
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./nathan ./nathan
# enter some text # enter some text
``` ```
@@ -17,7 +17,7 @@
To see some other fun uses: To see some other fun uses:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -58,7 +58,7 @@ distribute some winning entries outside of the US.
Nathan Sidwell stated that he was willing to distribute the winning source. To Nathan Sidwell stated that he was willing to distribute the winning source. To
read HIS instructions of how to obtain his winning program one was able to run: read HIS instructions of how to obtain his winning program one was able to run:
```<!---sh--> ``` <!---sh-->
make nathan make nathan
./nathan ./nathan
``` ```
+4 -4
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -18,7 +18,7 @@ For more detailed information see [1992 vern bugs](../../bugs.html#1992_vern).
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./vern 3 # <-- default is 2 ./vern 3 # <-- default is 2
``` ```
@@ -42,7 +42,7 @@ suggested above. :-)
For a real quick game try: For a real quick game try:
```<!---sh--> ``` <!---sh-->
./vern ./vern
65 55 65 55
@@ -124,7 +124,7 @@ wouldn't pass the character limit. A nice side effect is that the
initial source is gloriously difficult to peruse. In particular, the Makefile initial source is gloriously difficult to peruse. In particular, the Makefile
does: does:
```<!---sh--> ``` <!---sh-->
sed <vern.c 's/{ /(/g;s/} /)/g;s/; /#define /' | \ sed <vern.c 's/{ /(/g;s/} /)/g;s/; /#define /' | \
sed 's/} /=/g;s/{ /i/g' >vern.tmp.c sed 's/} /=/g;s/{ /i/g' >vern.tmp.c
``` ```
+9 -9
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -22,7 +22,7 @@ For more detailed information see [1992 westley bugs](../../bugs.html#1992_westl
If lost: If lost:
```<!---sh--> ``` <!---sh-->
./whereami.sh lat long ./whereami.sh lat long
``` ```
@@ -36,7 +36,7 @@ should just use the `westley` and `westley.alt` programs directly.
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -48,14 +48,14 @@ The author provided a version for the US which we added. To build:
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
### Alternate use: ### Alternate use:
```<!---sh--> ``` <!---sh-->
./whereami.alt.sh lat long ./whereami.alt.sh lat long
``` ```
@@ -67,7 +67,7 @@ NOTE: this alternative version also needs a terminal with at least 80 columns.
The [try.sh](try.sh) script uses both the original entry and the alternate code The [try.sh](try.sh) script uses both the original entry and the alternate code
so one can try the same script for both: so one can try the same script for both:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -76,7 +76,7 @@ so one can try the same script for both:
To find the approximate place where this entry was judged, type: To find the approximate place where this entry was judged, type:
```<!---sh--> ``` <!---sh-->
./whereami 37 -122 # NOTE: - means west of meridian ./whereami 37 -122 # NOTE: - means west of meridian
# or if you don't have curses installed: # or if you don't have curses installed:
@@ -164,7 +164,7 @@ is reasonably accurate.
For a domestic (US) version with higher resolution, try: For a domestic (US) version with higher resolution, try:
```<!---c--> ``` <!---c-->
main(l,a,n,d)char**a;{for(d=atoi(a[1])/2*80-atoi(a[2])-2043; main(l,a,n,d)char**a;{for(d=atoi(a[1])/2*80-atoi(a[2])-2043;
n="bnaBCOCXdBBHGYdAP[A M E R I C A].AqandkmavX|ELC}BOCd" n="bnaBCOCXdBBHGYdAP[A M E R I C A].AqandkmavX|ELC}BOCd"
[l++-3];)for(;n-->64;)putchar(!d+++33^l&1);} [l++-3];)for(;n-->64;)putchar(!d+++33^l&1);}
@@ -173,7 +173,7 @@ For a domestic (US) version with higher resolution, try:
The code will test the 80-column wrap and document itself if it is The code will test the 80-column wrap and document itself if it is
joined together as one 160-character line and listed. You should see: joined together as one 160-character line and listed. You should see:
```<!---c--> ``` <!---c-->
main(l,a,n,d)... main(l,a,n,d)...
[A M E R I C A]... [A M E R I C A]...
``` ```
+3 -3
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -18,14 +18,14 @@ For more detailed information see [1993 ant bugs](../../bugs.html#1993_ant).
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./ant 'ERE' [file ...] ./ant 'ERE' [file ...]
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
+4 -4
View File
@@ -4,7 +4,7 @@ We recommend you try the alt version first so you can get a better idea of what
this entry was like back in 1993. See the [original code](#original-code) this entry was like back in 1993. See the [original code](#original-code)
section below to run the original. section below to run the original.
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
@@ -16,7 +16,7 @@ requires X11?](../../faq.html#X11macos).
To configure how many microseconds to sleep before updates try: To configure how many microseconds to sleep before updates try:
```<!---sh--> ``` <!---sh-->
make clobber SLEEP=200 alt make clobber SLEEP=200 alt
``` ```
@@ -34,7 +34,7 @@ For more detailed information see [1993 cmills bugs](../../bugs.html#1993_cmills
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
DISPLAY="your_X_server_display" DISPLAY="your_X_server_display"
export DISPLAY export DISPLAY
./cmills.alt [speed] # must be run on an X11 server ./cmills.alt [speed] # must be run on an X11 server
@@ -56,7 +56,7 @@ on but you can use the original without any delays if you wish.
### Original build: ### Original build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
+3 -3
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./dgibson.sh [datafile] ./dgibson.sh [datafile]
``` ```
@@ -18,7 +18,7 @@ where:
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
+6 -6
View File
@@ -1,26 +1,26 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./ejb level ./ejb level
``` ```
where: where:
```<!---sh--> ``` <!---sh-->
level a value from -128 to 127 level a value from -128 to 127
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -45,7 +45,7 @@ We note that this also works under macOS just fine.
#### Output solution to Towers of Hanoi for five rings: #### Output solution to Towers of Hanoi for five rings:
```<!---sh--> ``` <!---sh-->
./ejb 5 ./ejb 5
``` ```
@@ -54,7 +54,7 @@ text description of how to solve the puzzle.
#### Output solution to the Patience puzzle for six rings: #### Output solution to the Patience puzzle for six rings:
```<!---sh--> ``` <!---sh-->
./ejb -6 ./ejb -6
``` ```
+2 -2
View File
@@ -5,14 +5,14 @@ compile. macOS users running Mountain Lion and later will need to download and
install [XQuartz](https://www.xquartz.org) in order to compile and run this install [XQuartz](https://www.xquartz.org) in order to compile and run this
entry. entry.
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./jonth # must be run on an X11 server ./jonth # must be run on an X11 server
``` ```
+3 -3
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -9,13 +9,13 @@
To have the computer guess: To have the computer guess:
```<!---sh--> ``` <!---sh-->
./leo [colors] ./leo [colors]
``` ```
To guess the computer's number: To guess the computer's number:
```<!---sh--> ``` <!---sh-->
./mind [colors] ./mind [colors]
``` ```
+6 -6
View File
@@ -2,7 +2,7 @@
If you have gcc < 2.3.3 you can build this entry like: If you have gcc < 2.3.3 you can build this entry like:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -48,7 +48,7 @@ For more detailed information see [1993 lmfjyh bugs](../../bugs.html#1993_lmfjyh
If you have gcc < 2.3.3 (i.e. the entry can compile): If you have gcc < 2.3.3 (i.e. the entry can compile):
```<!---sh--> ``` <!---sh-->
./lmfjyh ./lmfjyh
``` ```
@@ -64,7 +64,7 @@ Nonetheless it will be compiled in case the original entry fails to compile.
Should you wish to build this version manually: Should you wish to build this version manually:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
@@ -99,7 +99,7 @@ that should be familiar to all C-programmers.
#### Listing 1: A simple "Hello World" program #### Listing 1: A simple "Hello World" program
```<!---c--> ``` <!---c-->
main() main()
{ {
puts("Hello World!"); puts("Hello World!");
@@ -118,14 +118,14 @@ the file.
#### Listing 2: Compressed "Hello world" #### Listing 2: Compressed "Hello world"
```<!---c--> ``` <!---c-->
char*_=__FILE__; char*_=__FILE__;
``` ```
#### Listing 3: Code embedded in the file name #### Listing 3: Code embedded in the file name
```<!---c--> ``` <!---c-->
";main(){puts("Hello World!");}char*C=".c ";main(){puts("Hello World!");}char*C=".c
``` ```
+7 -7
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
@@ -12,21 +12,21 @@ code](#original-code) below.
If you wish to speed the entry up, say to 500 microseconds between writes, try: If you wish to speed the entry up, say to 500 microseconds between writes, try:
```<!---sh--> ``` <!---sh-->
make clobber SLEEP=500 alt make clobber SLEEP=500 alt
``` ```
Alternatively if you wish to slow it down, say to 1500 microseconds between Alternatively if you wish to slow it down, say to 1500 microseconds between
writes, try: writes, try:
```<!---sh--> ``` <!---sh-->
make clobber SLEEP=1500 alt make clobber SLEEP=1500 alt
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./plummer.alt number arg ./plummer.alt number arg
``` ```
@@ -42,7 +42,7 @@ bypass](https://hitchhikers.fandom.com/wiki/Bypass).
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.alt.sh ./try.alt.sh
./try.alt.sh 21701 ./try.alt.sh 21701
@@ -70,7 +70,7 @@ course).
### Original build: ### Original build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -82,7 +82,7 @@ Use `plummer` as you would `plummer.alt` above.
### Original try: ### Original try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
./try.sh 21701 ./try.sh 21701
+6 -6
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -22,7 +22,7 @@ For more detailed information see [bugs report with 1993/rince](../../bugs.html#
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./rince [cabbage] ./rince [cabbage]
``` ```
@@ -37,13 +37,13 @@ Some people may want to slow down the game by increasing the
value 17 in the lines: value 17 in the lines:
```<!---c--> ``` <!---c-->
struct timeval v= {0,1<<17} ; struct timeval v= {0,1<<17} ;
``` ```
and and
```<!---c--> ``` <!---c-->
refresh(),c=select(k,&y,0,0,(v.tv_usec=1<<17,&v))?getch():0; refresh(),c=select(k,&y,0,0,(v.tv_usec=1<<17,&v))?getch():0;
``` ```
@@ -57,7 +57,7 @@ changed).
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make SLEEP=18 clobber alt make SLEEP=18 clobber alt
``` ```
@@ -107,7 +107,7 @@ with the curses library (typically `/lib/libcurses.a` for static libraries)
used. It has been suggested that the following gcc command may help: used. It has been suggested that the following gcc command may help:
```<!---sh--> ``` <!---sh-->
gcc -fno-builtin -I/usr/include -o rince rince.c -lcurses -ltermcap gcc -fno-builtin -I/usr/include -o rince rince.c -lcurses -ltermcap
``` ```
+5 -5
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -18,7 +18,7 @@ For more detailed information see [1993 schnitzi bugs](../../bugs.html#1993_schn
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./schnitzi file ./schnitzi file
``` ```
@@ -33,14 +33,14 @@ in [1993 schnitzi bugs](../../bugs.html#1993_schnitzi).
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./schnitzi schnitzi.info ./schnitzi schnitzi.info
# ask some questions suggested by the author, noted below # ask some questions suggested by the author, noted below
``` ```
We also suggest you ask the program the following questions: We also suggest you ask the program the following questions:
```<!---sh--> ``` <!---sh-->
Who is Mark Schnitzus? Who is Mark Schnitzus?
Who was Jack the Ripper ? Who was Jack the Ripper ?
@@ -51,7 +51,7 @@ intentional spelling error there.
Try feeding the program source to the program and ask both: Try feeding the program source to the program and ask both:
```<!---sh--> ``` <!---sh-->
What is cat ? What is cat ?
What is cat? What is cat?
``` ```
+7 -7
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -18,7 +18,7 @@ For more detailed information see [1993 vanb bugs](../../bugs.html#1993_vanb).
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./vanb 'exp' ./vanb 'exp'
``` ```
@@ -28,7 +28,7 @@ hexadecimal and decimal numbers.
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -133,7 +133,7 @@ Here's a version of the program before it got formatted into the VIII,
augmented with comments showing where each state begins. `N1` and `N2` are augmented with comments showing where each state begins. `N1` and `N2` are
notes: notes:
```<!---c--> ``` <!---c-->
#define O5 main #define O5 main
O5(O2,O7,O3)char**O7; O5(O2,O7,O3)char**O7;
{ {
@@ -180,14 +180,14 @@ printf, and sends the parser to state `012` (which is `<E>`).
The `E` and `T` states work like this: The `E` and `T` states work like this:
```<!---c--> ``` <!---c-->
int e(){ return eprime( t() ); } int e(){ return eprime( t() ); }
``` ```
The `E'` and `T'` states work like this: The `E'` and `T'` states work like this:
```<!---c--> ``` <!---c-->
int eprime( int intermediate ) int eprime( int intermediate )
{ {
if( ch == '+' ) if( ch == '+' )
@@ -202,7 +202,7 @@ The `E'` and `T'` states work like this:
The `D`, `X` and `O` states work like this (they assume that they're initially The `D`, `X` and `O` states work like this (they assume that they're initially
called with `0`): called with `0`):
```<!---c--> ``` <!---c-->
int octal( int intermediate ) int octal( int intermediate )
{ {
if( ch>='0' && ch<='7' ) if( ch>='0' && ch<='7' )
+2 -2
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./dodsond1 ./dodsond1
``` ```
+5 -5
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -23,7 +23,7 @@ For more detailed information see [1994 dodsond2 bugs](../../bugs.html#1994_dods
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./dodsond2 ./dodsond2
``` ```
@@ -39,21 +39,21 @@ from working in some cases.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
The default number of arrows in this version is 3 but if you want to change it, The default number of arrows in this version is 3 but if you want to change it,
say to 5, try: say to 5, try:
```<!---sh--> ``` <!---sh-->
make clobber ARROWS=5 alt make clobber ARROWS=5 alt
``` ```
### Alternate use: ### Alternate use:
```<!---sh--> ``` <!---sh-->
./dodsond2.alt ./dodsond2.alt
``` ```
+7 -7
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./horton A B C D ./horton A B C D
``` ```
@@ -16,7 +16,7 @@
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -29,14 +29,14 @@ version.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
### Alternate use: ### Alternate use:
```<!---sh--> ``` <!---sh-->
./horton.alt A B C D ./horton.alt A B C D
``` ```
@@ -45,7 +45,7 @@ Where A, B, C and D are numbers like with `horton`.
### Alternate try: ### Alternate try:
```<!---sh--> ``` <!---sh-->
./try.alt.sh ./try.alt.sh
``` ```
@@ -80,7 +80,7 @@ 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](gtface.c) program for another example. Try:
```<!---sh--> ``` <!---sh-->
make gtface make gtface
./gtface < gtface.data ./gtface < gtface.data
``` ```
+3 -3
View File
@@ -1,13 +1,13 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./imc [NUMBER] ./imc [NUMBER]
``` ```
@@ -16,7 +16,7 @@ where `[NUMBER]` is an optional number. Default is 5.
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
+3 -3
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -18,7 +18,7 @@ For more detailed information see [1994 ldb bugs](../../bugs.html#1994_ldb).
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./ldb < file ./ldb < file
some_command | ./ldb some_command | ./ldb
@@ -27,7 +27,7 @@ For more detailed information see [1994 ldb bugs](../../bugs.html#1994_ldb).
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
+8 -8
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -23,14 +23,14 @@ For more detailed information see [1994 schnitzi bugs](../../bugs.html#1994_schn
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./schnitzi < textfile ./schnitzi < textfile
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
@@ -49,7 +49,7 @@ buffer size. This is due to a comment which is explained in more detail in
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
@@ -62,7 +62,7 @@ feeding the source code to it will not work right.
### Alternate try: ### Alternate try:
```<!---sh--> ``` <!---sh-->
./try.alt.sh ./try.alt.sh
``` ```
@@ -71,7 +71,7 @@ feeding the source code to it will not work right.
Try: Try:
```<!---sh--> ``` <!---sh-->
./schnitzi < schnitzi.c ./schnitzi < schnitzi.c
``` ```
@@ -96,14 +96,14 @@ is run by redirecting a file into the executable on the command
line; for instance, for the file 'info', the program line; for instance, for the file 'info', the program
would be run as follows: would be run as follows:
```<!---sh--> ``` <!---sh-->
./schnitzi < info ./schnitzi < info
``` ```
The program generates interesting results when its source file is The program generates interesting results when its source file is
used as input: used as input:
```<!---sh--> ``` <!---sh-->
./schnitzi < schnitzi.c ./schnitzi < schnitzi.c
``` ```
+3 -3
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -19,7 +19,7 @@ For more detailed information see [1994 shapiro bugs](../../bugs.html#1994_shapi
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./shapiro & ./shapiro &
``` ```
@@ -28,7 +28,7 @@ Now find the clock in the same terminal window (or console if at the console).
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./shapiro ./shapiro
^Z ^Z
bg bg
+3 -3
View File
@@ -1,20 +1,20 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./smr ./smr
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
+7 -7
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -22,7 +22,7 @@ For more detailed information see [1994 tvr bugs](../../bugs.html#1994_tvr).
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./tvr mode screensize/2 < colormapfile ./tvr mode screensize/2 < colormapfile
``` ```
@@ -31,7 +31,7 @@ Mode may be a value from 0 to 12.
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.color.sh # for colour displays ./try.color.sh # for colour displays
./try.bw.sh # for Black & White displays ./try.bw.sh # for Black & White displays
``` ```
@@ -44,14 +44,14 @@ The author provided us a spoiler version that might be of interest to some.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
### Alternate use: ### Alternate use:
```<!---sh--> ``` <!---sh-->
./tvr.alt altmode screensize/2 < colormapfile ./tvr.alt altmode screensize/2 < colormapfile
``` ```
@@ -61,7 +61,7 @@ where `altmode` `1` - `4` correspond to mode `0` - `3` in the original entry and
### Alternate try: ### Alternate try:
```<!---sh--> ``` <!---sh-->
./try.alt.color.sh # for colour displays ./try.alt.color.sh # for colour displays
./try.alt.bw.sh # for Black & White displays ./try.alt.bw.sh # for Black & White displays
``` ```
@@ -123,7 +123,7 @@ the fourth is a variation of that with more nice effects.
### Usage: ### Usage:
```<!---sh--> ``` <!---sh-->
./tvr mode screensize/2 < colormapfile ./tvr mode screensize/2 < colormapfile
``` ```
+6 -6
View File
@@ -1,6 +1,6 @@
## To build: ## To build:
```<!---sh--> ``` <!---sh-->
make all make all
``` ```
@@ -10,20 +10,20 @@ code](#alternate-code) below for more details.
## To use: ## To use:
```<!---sh--> ``` <!---sh-->
./weisberg ./weisberg
``` ```
## Try: ## Try:
```<!---sh--> ``` <!---sh-->
./try.sh ./try.sh
``` ```
If you have `primes(1)` installed you might also wish to try: If you have `primes(1)` installed you might also wish to try:
```<!---sh--> ``` <!---sh-->
./primes.sh number ./primes.sh number
``` ```
@@ -40,14 +40,14 @@ something with you might try this version.
### Alternate build: ### Alternate build:
```<!---sh--> ``` <!---sh-->
make alt make alt
``` ```
### Alternate use: ### Alternate use:
```<!---sh--> ``` <!---sh-->
./weisberg.alt ./weisberg.alt
``` ```
Loaded 100 of 357 files, more files were not shown because too many files have changed in this diff. Show more