diff --git a/1984/anonymous/index.html b/1984/anonymous/index.html
index e3972a39d..53659a2b6 100644
--- a/1984/anonymous/index.html
+++ b/1984/anonymous/index.html
@@ -416,10 +416,10 @@
first entry
↑ 1984 ↑
1984/decot →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -521,19 +521,19 @@ ends in a smily face: ;}.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
for(signal=0;*k * x * __FILE__ *i;) do {
to:
for(signal=0;*k *x * __FILE__ *i;) do {
-To see what we mean look at the original source
-file at line
+ To see what we mean look at the original source
+file at line
15 which has the way it once was. The
-alternate code is the version that has
-this modification but at line 16. The
+alternate code is the version that has
+this modification but at line 16. The
fixed version has instead: plus a line above it that had to be added. for(signal=0;*k *= * __FILE__ *i;) do {
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
In 2023 remarks were discovered from Sjoerd Mullender, one of the authors, and so was the program that was used by the authors to generate the array that he referred to. -Because a.out.h, which gentab.c uses, +Because a.out.h, which gentab.c uses, is not available in all systems (like macOS) and more importantly because we wanted it to be as close to as the original as possible we used a copy of https://raw.githubusercontent.com/dspinellis/unix-history-repo/Research-Release/usr/include/a.out.h @@ -730,7 +730,7 @@ formats for each constant in the resulting array, and we wanted to choose the format randomly. So we wrote a program to choose an appropriate format at random. The program we wrote for that follows. This program actually also extracted the machine code from the object file.
-NOTE from judges: see gentab.c for a copy of this file that can be +
NOTE from judges: see gentab.c for a copy of this file that can be compiled in modern systems.
#include <stdio.h>
#include <a.out.h>
@@ -824,20 +824,20 @@ the comment to &&.
Primary files
-- mullender.c - entry source code
-- Makefile - entry Makefile
-- mullender.alt.c - alternate source code that works with modern systems
-- mullender.orig.c - original source code
-- gentab.c - authors’ tool to generate code
-- a.out.h - gentab.c header file for compatibility with systems in 1984
+- mullender.c - entry source code
+- Makefile - entry Makefile
+- mullender.alt.c - alternate source code that works with modern systems
+- mullender.orig.c - original source code
+- gentab.c - authors’ tool to generate code
+- a.out.h - gentab.c header file for compatibility with systems in 1984
Secondary files
- 1984_mullender.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -905,7 +905,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1985/applin/index.html b/1985/applin/index.html
index 679dc7d9a..b393f85c4 100644
--- a/1985/applin/index.html
+++ b/1985/applin/index.html
@@ -416,10 +416,10 @@
← 1984/mullender
↑ 1985 ↑
1985/august →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -483,17 +483,17 @@ certainly takes its time saying hello.
Primary files
-- applin.c - entry source code
-- Makefile - entry Makefile
-- applin.orig.c - original source code
+- applin.c - entry source code
+- Makefile - entry Makefile
+- applin.orig.c - original source code
Secondary files
- 1985_applin.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -561,7 +561,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1985/august/index.html b/1985/august/index.html
index e0a107064..0dd2d6a91 100644
--- a/1985/august/index.html
+++ b/1985/august/index.html
@@ -416,10 +416,10 @@
← 1985/applin
↑ 1985 ↑
1985/lycklama →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -465,7 +465,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?
Author’s remarks:
No remarks were provided by the author.
@@ -494,19 +494,19 @@ anything funny going on with the output?
Primary files
-- august.c - entry source code
-- Makefile - entry Makefile
-- august.orig.c - original source code
-- primes.sh - script to try entry if you have the primes utility
-- try.sh - script to try entry
+- august.c - entry source code
+- Makefile - entry Makefile
+- august.orig.c - original source code
+- primes.sh - script to try entry if you have the primes utility
+- try.sh - script to try entry
Secondary files
- 1985_august.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -574,7 +574,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1985/index.html b/1985/index.html
index 6e7969ab4..e167c8fe1 100644
--- a/1985/index.html
+++ b/1985/index.html
@@ -416,7 +416,7 @@
↑ top ↑
1986 →
Inventory
- ✓
+ ✓
@@ -541,7 +541,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1985/lycklama/index.html b/1985/lycklama/index.html
index 82d1eb0ab..a0b1dd6d6 100644
--- a/1985/lycklama/index.html
+++ b/1985/lycklama/index.html
@@ -416,10 +416,10 @@
← 1985/august
↑ 1985 ↑
1985/shapiro →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -503,19 +503,19 @@ The program itself looks like tty noise.
Primary files
-- lycklama.c - entry source code
-- Makefile - entry Makefile
-- lycklama.alt.c - alternate source code
-- lycklama.orig.c - original source code
-- try.alt.sh - script to try alternate code
+- lycklama.c - entry source code
+- Makefile - entry Makefile
+- lycklama.alt.c - alternate source code
+- lycklama.orig.c - original source code
+- try.alt.sh - script to try alternate code
Secondary files
- 1985_lycklama.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -583,7 +583,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1985/shapiro/index.html b/1985/shapiro/index.html
index 8af3df6b7..479f67c12 100644
--- a/1985/shapiro/index.html
+++ b/1985/shapiro/index.html
@@ -416,10 +416,10 @@
← 1985/lycklama
↑ 1985 ↑
1985/sicherman →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -500,19 +500,19 @@ arguments and notice the output.
Primary files
-- shapiro.c - entry source code
-- Makefile - entry Makefile
-- shapiro.alt.c - alternate source code
-- shapiro.orig.c - original source code
-- try.alt.sh - script to try alternate code
+- shapiro.c - entry source code
+- Makefile - entry Makefile
+- shapiro.alt.c - alternate source code
+- shapiro.orig.c - original source code
+- try.alt.sh - script to try alternate code
Secondary files
- 1985_shapiro.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -580,7 +580,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1985/sicherman/index.html b/1985/sicherman/index.html
index bd2d18c03..24a88ff1d 100644
--- a/1985/sicherman/index.html
+++ b/1985/sicherman/index.html
@@ -416,10 +416,10 @@
← 1985/shapiro
↑ 1985 ↑
1986/applin →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -458,7 +458,7 @@ See Alternate code below for more details on it.
Try:
./try.sh
Alternate code:
-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().
Alternate build:
@@ -508,20 +508,20 @@ does, then you don’t, so read it again! Explain why:
Primary files
-- sicherman.c - entry source code
-- Makefile - entry Makefile
-- sicherman.alt.c - alternate source code
-- sicherman.orig.c - original source code
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
+- sicherman.c - entry source code
+- Makefile - entry Makefile
+- sicherman.alt.c - alternate source code
+- sicherman.orig.c - original source code
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
Secondary files
- 1985_sicherman.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -589,7 +589,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1986/applin/index.html b/1986/applin/index.html
index 6527b4fa7..e8cc04d27 100644
--- a/1986/applin/index.html
+++ b/1986/applin/index.html
@@ -416,10 +416,10 @@
← 1985/sicherman
↑ 1986 ↑
1986/august →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -481,17 +481,17 @@ compilers as well as executable by the Bourne shell!
Primary files
-- applin.c - entry source code
-- Makefile - entry Makefile
-- applin.orig.c - original source code
+- applin.c - entry source code
+- Makefile - entry Makefile
+- applin.orig.c - original source code
Secondary files
- 1986_applin.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -559,7 +559,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1986/august/index.html b/1986/august/index.html
index 99d7d094f..2e930e8db 100644
--- a/1986/august/index.html
+++ b/1986/august/index.html
@@ -416,10 +416,10 @@
← 1986/applin
↑ 1986 ↑
1986/bright →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -488,17 +488,17 @@ enough to try and parse it correctly.
Primary files
-- august.c - entry source code
-- Makefile - entry Makefile
-- august.orig.c - original source code
+- august.c - entry source code
+- Makefile - entry Makefile
+- august.orig.c - original source code
Secondary files
- 1986_august.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -566,7 +566,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1986/bright/index.html b/1986/bright/index.html
index eaf31e0b3..aa9b8cd8f 100644
--- a/1986/bright/index.html
+++ b/1986/bright/index.html
@@ -416,10 +416,10 @@
← 1986/august
↑ 1986 ↑
1986/hague →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -483,18 +483,18 @@ maintain the Bourne shell! :-}
Primary files
-- bright.c - entry source code
-- Makefile - entry Makefile
-- bright.orig.c - original source code
-- try.sh - script to try entry
+- bright.c - entry source code
+- Makefile - entry Makefile
+- bright.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1986_bright.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -562,7 +562,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1986/hague/index.html b/1986/hague/index.html
index cdf499f05..eb4e52833 100644
--- a/1986/hague/index.html
+++ b/1986/hague/index.html
@@ -416,10 +416,10 @@
← 1986/bright
↑ 1986 ↑
1986/holloway →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -490,19 +490,19 @@ credit, what Morse message does the program spell out?
Primary files
-- hague.c - entry source code
-- Makefile - entry Makefile
-- hague.orig.c - original source code
+- hague.c - entry source code
+- Makefile - entry Makefile
+- hague.orig.c - original source code
- input.txt - input file used by try.sh
-- try.sh - script to try entry
+- try.sh - script to try entry
Secondary files
- 1986_hague.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -570,7 +570,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1986/holloway/index.html b/1986/holloway/index.html
index 37a755120..1119805c7 100644
--- a/1986/holloway/index.html
+++ b/1986/holloway/index.html
@@ -416,10 +416,10 @@
← 1986/hague
↑ 1986 ↑
1986/marshall →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -480,17 +480,17 @@ this version as the first C program!
Primary files
-- holloway.c - entry source code
-- Makefile - entry Makefile
-- holloway.orig.c - original source code
+- holloway.c - entry source code
+- Makefile - entry Makefile
+- holloway.orig.c - original source code
Secondary files
- 1986_holloway.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -558,7 +558,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1986/index.html b/1986/index.html
index c2eae39b6..c2a492435 100644
--- a/1986/index.html
+++ b/1986/index.html
@@ -416,7 +416,7 @@
↑ top ↑
1987 →
Inventory
- ✓
+ ✓
@@ -554,7 +554,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1986/marshall/compilers.html b/1986/marshall/compilers.html
index 31304339b..836a094a7 100644
--- a/1986/marshall/compilers.html
+++ b/1986/marshall/compilers.html
@@ -413,7 +413,7 @@
@@ -432,7 +432,7 @@ disabled, where if the optimiser was enabled it would work with one compiler but
not the other; on the other hand, if you disabled the optimiser the opposite
problem would occur: the working compiler would no longer work and the other one
would! And then there’s the problem of linux versus macOS causing problems.
-Using the alternate source code
+
Using the alternate source code
demonstrates the problem so you can see if your compiler has the problem
described below.
In some versions of gcc and clang (this was first discovered in fedora linux 38)
@@ -446,9 +446,9 @@ segfault!
It was not only one compiler that dumped core. Both dumped core with other
behaviour, depending on what changes in code were made, and the optimiser being
on or off. clang in macOS also dumped core!
-The marshall.c has the original fix
+
The marshall.c has the original fix
for clang, which works with some compilers, depending on the optimiser. Below
-we refer to the alternate code
+we refer to the alternate code
marshall.alt.c.
The conflicting compiler problems:
Below we describe the conflicting options that resulted in the need to modify
@@ -567,7 +567,7 @@ eventually could?
diff --git a/1986/marshall/index.html b/1986/marshall/index.html
index 71acd7022..5d965e9c4 100644
--- a/1986/marshall/index.html
+++ b/1986/marshall/index.html
@@ -416,10 +416,10 @@
← 1986/holloway
↑ 1986 ↑
1986/pawka →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -460,7 +460,7 @@ entertainment if nothing else.
Alternate code:
Due to the different conflicting problems with gcc and
clang, we offer the problematic code as an alternate version whereas
-marshall.c has both the loop (that
+marshall.c has both the loop (that
turned into an infinite loop) commented out and the complicated arg to _exit(2)
commented out, changing the value passed into _exit() to 1.
Alternate build:
@@ -505,20 +505,20 @@ from printing a program!
Primary files
-- marshall.c - entry source code
-- Makefile - entry Makefile
-- marshall.alt.c - alternate source code
-- marshall.orig.c - original source code
+- marshall.c - entry source code
+- Makefile - entry Makefile
+- marshall.alt.c - alternate source code
+- marshall.orig.c - original source code
- compilers.html - about compilers and optimizers that broke this entry
Secondary files
- 1986_marshall.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- compilers.md - markdown source for compilers.html
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- compilers.md - markdown source for compilers.html
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -586,7 +586,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1986/pawka/index.html b/1986/pawka/index.html
index c4c1e69ee..a86fca07e 100644
--- a/1986/pawka/index.html
+++ b/1986/pawka/index.html
@@ -416,10 +416,10 @@
← 1986/marshall
↑ 1986 ↑
1986/stein →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -479,17 +479,17 @@ is obfuscated, of all things!
Primary files
-- pawka.c - entry source code
-- Makefile - entry Makefile
-- pawka.orig.c - original source code
+- pawka.c - entry source code
+- Makefile - entry Makefile
+- pawka.orig.c - original source code
Secondary files
- 1986_pawka.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -557,7 +557,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1986/stein/index.html b/1986/stein/index.html
index c85b29e53..da12a5dab 100644
--- a/1986/stein/index.html
+++ b/1986/stein/index.html
@@ -416,10 +416,10 @@
← 1986/pawka
↑ 1986 ↑
1986/wall →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -487,18 +487,18 @@ In time, you will figure out what it does. :-)
Primary files
-- stein.c - entry source code
-- Makefile - entry Makefile
-- stein.orig.c - original source code
-- stein.sh - script to run this entry
+- stein.c - entry source code
+- Makefile - entry Makefile
+- stein.orig.c - original source code
+- stein.sh - script to run this entry
Secondary files
- 1986_stein.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -566,7 +566,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1986/wall/index.html b/1986/wall/index.html
index 140a353f5..c8c590ab9 100644
--- a/1986/wall/index.html
+++ b/1986/wall/index.html
@@ -416,10 +416,10 @@
← 1986/stein
↑ 1986 ↑
1987/biggar →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -494,18 +494,18 @@ compiler documents the program.
Primary files
-- wall.c - entry source code
-- Makefile - entry Makefile
-- wall.alt.c - alternate source code
-- wall.orig.c - original source code
+- wall.c - entry source code
+- Makefile - entry Makefile
+- wall.alt.c - alternate source code
+- wall.orig.c - original source code
Secondary files
- 1986_wall.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -573,7 +573,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1987/biggar/index.html b/1987/biggar/index.html
index 31aea93c2..8b64c4c67 100644
--- a/1987/biggar/index.html
+++ b/1987/biggar/index.html
@@ -416,10 +416,10 @@
← 1986/wall
↑ 1987 ↑
1987/heckbert →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -495,18 +495,18 @@ an infinite loop by this entry.
Primary files
-- biggar.c - entry source code
-- Makefile - entry Makefile
-- biggar.orig.c - original source code
-- try.sh - script to try entry
+- biggar.c - entry source code
+- Makefile - entry Makefile
+- biggar.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1987_biggar.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -574,7 +574,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1987/heckbert/index.html b/1987/heckbert/index.html
index 041b1cf66..22b46a52c 100644
--- a/1987/heckbert/index.html
+++ b/1987/heckbert/index.html
@@ -416,10 +416,10 @@
← 1987/biggar
↑ 1987 ↑
1987/hines →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -489,19 +489,19 @@ the contest tool chest.
Primary files
-- heckbert.c - entry source code
-- Makefile - entry Makefile
-- heckbert.orig.c - original source code
-- try.sh - script to try entry
+- heckbert.c - entry source code
+- Makefile - entry Makefile
+- heckbert.orig.c - original source code
+- try.sh - script to try entry
- FoldSpindleMutilate.pdf - cultural history of the punch card
Secondary files
- 1987_heckbert.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -569,7 +569,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1987/hines/index.html b/1987/hines/index.html
index 80e8342de..06e440f1b 100644
--- a/1987/hines/index.html
+++ b/1987/hines/index.html
@@ -416,10 +416,10 @@
← 1987/heckbert
↑ 1987 ↑
1987/korn →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -485,20 +485,20 @@ See the Communications of the ACM, March 1987, Page 195-196.
Primary files
-- hines.c - entry source code
-- Makefile - entry Makefile
-- hines.orig.c - original source code
-- goto.c - sample source full of goto statements
+- hines.c - entry source code
+- Makefile - entry Makefile
+- hines.orig.c - original source code
+- goto.c - sample source full of goto statements
- goto.txt - text file with goto in various cases to see how entry works
-- try.sh - script to try entry
+- try.sh - script to try entry
Secondary files
- 1987_hines.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -566,7 +566,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1987/index.html b/1987/index.html
index fc8c6a430..18d535db1 100644
--- a/1987/index.html
+++ b/1987/index.html
@@ -416,7 +416,7 @@
↑ top ↑
1988 →
Inventory
- ✓
+ ✓
@@ -557,7 +557,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1987/korn/index.html b/1987/korn/index.html
index e40bedbb9..48f1469e5 100644
--- a/1987/korn/index.html
+++ b/1987/korn/index.html
@@ -416,10 +416,10 @@
← 1987/hines
↑ 1987 ↑
1987/lievaart →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -506,17 +506,17 @@ greatly inspired this contest.
Primary files
-- korn.c - entry source code
-- Makefile - entry Makefile
-- korn.orig.c - original source code
+- korn.c - entry source code
+- Makefile - entry Makefile
+- korn.orig.c - original source code
Secondary files
- 1987_korn.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -584,7 +584,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1987/lievaart/index.html b/1987/lievaart/index.html
index cbb4851e6..64b814308 100644
--- a/1987/lievaart/index.html
+++ b/1987/lievaart/index.html
@@ -416,10 +416,10 @@
← 1987/korn
↑ 1987 ↑
1987/wall →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -470,7 +470,7 @@ ending-game rather poor. But further it knows all the rules, uses lievaart2.c contains what the program would
+program. The file lievaart2.c contains what the program would
have been without the size restriction. This version has the full end game
logic and displays the board after each move! See above for how to use this.
Author’s remarks:
@@ -500,18 +500,18 @@ logic and displays the board after each move! See above for how to use this.
Primary files
-- lievaart.c - entry source code
-- Makefile - entry Makefile
-- lievaart.orig.c - original source code
-- lievaart2.c - source code with drawn board - breaks size rule
+- lievaart.c - entry source code
+- Makefile - entry Makefile
+- lievaart.orig.c - original source code
+- lievaart2.c - source code with drawn board - breaks size rule
Secondary files
- 1987_lievaart.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -579,7 +579,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1987/wall/index.html b/1987/wall/index.html
index c034b3f1c..d7ebb15cb 100644
--- a/1987/wall/index.html
+++ b/1987/wall/index.html
@@ -416,10 +416,10 @@
← 1987/lievaart
↑ 1987 ↑
1987/westley →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -500,18 +500,18 @@ why this is being done and how it is being exploited?
Primary files
-- wall.c - entry source code
-- Makefile - entry Makefile
-- wall.orig.c - original source code
-- try.sh - script to try entry
+- wall.c - entry source code
+- Makefile - entry Makefile
+- wall.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1987_wall.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -579,7 +579,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1987/westley/index.html b/1987/westley/index.html
index 848a9a485..177810386 100644
--- a/1987/westley/index.html
+++ b/1987/westley/index.html
@@ -416,10 +416,10 @@
← 1987/wall
↑ 1987 ↑
1988/applin →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -480,17 +480,17 @@ of if it as a C ink blot. :-)
Primary files
-- westley.c - entry source code
-- Makefile - entry Makefile
-- westley.orig.c - original source code
+- westley.c - entry source code
+- Makefile - entry Makefile
+- westley.orig.c - original source code
Secondary files
- 1987_westley.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -558,7 +558,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1988/applin/index.html b/1988/applin/index.html
index b06ca9745..ddf5534a3 100644
--- a/1988/applin/index.html
+++ b/1988/applin/index.html
@@ -416,10 +416,10 @@
← 1987/westley
↑ 1988 ↑
1988/dale →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -447,8 +447,8 @@ Location: US - United States of America
To build:
make all
A smaller version, originally called zsmall.c (and still exists as such, as
-the source of the alternate code), of applin.c, can be found in
-applin.alt.c. Your machine may have an easier time with this
+the source of the alternate 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.
Try:
./applin
@@ -465,17 +465,17 @@ Dhyrstone/sec/cpu machine) using the System V cpp. (The GNU c
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 alternate code
-zsmall is a smaller version
-of the entry applin.c.
+zsmall is a smaller version
+of the entry applin.c.
Judges’ remarks:
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),
@@ -508,18 +508,18 @@ Clearly the GNU C preprocessor is faster.
Primary files
-- applin.c - entry source code
-- Makefile - entry Makefile
-- applin.alt.c - alternate source code
-- applin.orig.c - original source code
+- applin.c - entry source code
+- Makefile - entry Makefile
+- applin.alt.c - alternate source code
+- applin.orig.c - original source code
Secondary files
- 1988_applin.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -587,7 +587,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1988/dale/index.html b/1988/dale/index.html
index 1abdf85d9..3270189cf 100644
--- a/1988/dale/index.html
+++ b/1988/dale/index.html
@@ -416,10 +416,10 @@
← 1988/applin
↑ 1988 ↑
1988/isaak →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -493,18 +493,18 @@ system calls.
Primary files
-- dale.c - entry source code
-- Makefile - entry Makefile
-- dale.orig.c - original source code
-- try.sh - script to try entry
+- dale.c - entry source code
+- Makefile - entry Makefile
+- dale.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1988_dale.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -572,7 +572,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1988/index.html b/1988/index.html
index a69ecba5e..09866087c 100644
--- a/1988/index.html
+++ b/1988/index.html
@@ -416,7 +416,7 @@
↑ top ↑
1989 →
Inventory
- ✓
+ ✓
@@ -553,7 +553,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1988/isaak/index.html b/1988/isaak/index.html
index 94dae7f45..46cada0f6 100644
--- a/1988/isaak/index.html
+++ b/1988/isaak/index.html
@@ -416,10 +416,10 @@
← 1988/dale
↑ 1988 ↑
1988/litmaath →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -453,7 +453,7 @@ code below.
./isaak
Alternate code:
The original version of this code is in
-isaak.alt.c, with a minor fix so that it
+isaak.alt.c, with a minor fix so that it
will compile. The original entry starts with the line:
main(){};
This works on some systems. Why? Note that #include <stdio.h> is given on
@@ -473,8 +473,8 @@ an EBCDIC machine.
Historical notes about the original entry
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 in
-isaak.c and
-isaak.alt.c by using the __FILE__ macro.
+isaak.c and
+isaak.alt.c by using the __FILE__ macro.
NOTE: The use of null comments to separate macros to construct different tokens
from a single macro (e.g., "O/**/O" creates either ++ or -- by defining
O to be + or -) may cause some strict ANSI C preprocessors to object.
@@ -483,7 +483,7 @@ due to the fact that BSD style systems have an sprintf(3) that retu
file isaak.output.txt. Since this was fixed, this file is
not strictly necessary, but we keep it for historical purposes (decoded as it
used to be uuencoded). See the
-isaak.orig.c for the original source.
+isaak.orig.c for the original source.
FYI: We are likely to be more strict about portability in the future.
Author’s remarks:
No remarks were provided by the author.
@@ -512,19 +512,19 @@ used to be uuencoded). See the
Primary files
-- isaak.c - entry source code
-- Makefile - entry Makefile
-- isaak.alt.c - alternate source code
-- isaak.orig.c - original source code
+- isaak.c - entry source code
+- Makefile - entry Makefile
+- isaak.alt.c - alternate source code
+- isaak.orig.c - original source code
- isaak.output.txt - program output
Secondary files
- 1988_isaak.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -592,7 +592,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1988/litmaath/index.html b/1988/litmaath/index.html
index 664927abc..232ed8a74 100644
--- a/1988/litmaath/index.html
+++ b/1988/litmaath/index.html
@@ -416,10 +416,10 @@
← 1988/isaak
↑ 1988 ↑
1988/phillipps →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -504,18 +504,18 @@ variables like:
Primary files
-- litmaath.c - entry source code
-- Makefile - entry Makefile
-- litmaath.alt.c - alternate source code
-- litmaath.orig.c - original source code
+- litmaath.c - entry source code
+- Makefile - entry Makefile
+- litmaath.alt.c - alternate source code
+- litmaath.orig.c - original source code
Secondary files
- 1988_litmaath.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -583,7 +583,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1988/phillipps/index.html b/1988/phillipps/index.html
index 040c5c254..e797c777f 100644
--- a/1988/phillipps/index.html
+++ b/1988/phillipps/index.html
@@ -416,10 +416,10 @@
← 1988/litmaath
↑ 1988 ↑
1988/reddy →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -479,17 +479,17 @@ by pounding on the keys of an old typewriter at random.
Primary files
-- phillipps.c - entry source code
-- Makefile - entry Makefile
-- phillipps.orig.c - original source code
+- phillipps.c - entry source code
+- Makefile - entry Makefile
+- phillipps.orig.c - original source code
Secondary files
- 1988_phillipps.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -557,7 +557,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1988/reddy/index.html b/1988/reddy/index.html
index 3e036ef49..a516ec289 100644
--- a/1988/reddy/index.html
+++ b/1988/reddy/index.html
@@ -416,10 +416,10 @@
← 1988/phillipps
↑ 1988 ↑
1988/robison →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -483,17 +483,17 @@ in such little space.
Primary files
-- reddy.c - entry source code
-- Makefile - entry Makefile
-- reddy.orig.c - original source code
+- reddy.c - entry source code
+- Makefile - entry Makefile
+- reddy.orig.c - original source code
Secondary files
- 1988_reddy.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -561,7 +561,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1988/robison/index.html b/1988/robison/index.html
index 849b47054..22d3fa047 100644
--- a/1988/robison/index.html
+++ b/1988/robison/index.html
@@ -416,10 +416,10 @@
← 1988/reddy
↑ 1988 ↑
1988/spinellis →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -491,17 +491,17 @@ ANSI committee should look into this practical simplification of C.
Primary files
-- robison.c - entry source code
-- Makefile - entry Makefile
-- robison.orig.c - original source code
+- robison.c - entry source code
+- Makefile - entry Makefile
+- robison.orig.c - original source code
Secondary files
- 1988_robison.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -569,7 +569,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1988/spinellis/index.html b/1988/spinellis/index.html
index 4d3754090..a6a1efed6 100644
--- a/1988/spinellis/index.html
+++ b/1988/spinellis/index.html
@@ -416,10 +416,10 @@
← 1988/robison
↑ 1988 ↑
1988/westley →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -500,20 +500,20 @@ skills.
Primary files
-- spinellis.c - entry source code
-- Makefile - entry Makefile
-- spinellis.alt.c - alternate source code
-- spinellis.orig.c - original source code
+- spinellis.c - entry source code
+- Makefile - entry Makefile
+- spinellis.alt.c - alternate source code
+- spinellis.orig.c - original source code
- input2.txt - example input file
- input.txt - example input file
Secondary files
- 1988_spinellis.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -581,7 +581,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1988/westley/index.html b/1988/westley/index.html
index b8494f47b..9b83ce685 100644
--- a/1988/westley/index.html
+++ b/1988/westley/index.html
@@ -416,10 +416,10 @@
← 1988/spinellis
↑ 1988 ↑
1989/fubar →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -473,7 +473,7 @@ 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 alternate code
+westley.c does whereas the alternate code
is the original.
You might enjoy looking at the output of:
cc -E westley.alt.c
@@ -506,19 +506,19 @@ is the original.
Primary files
-- westley.c - entry source code
-- Makefile - entry Makefile
-- westley.alt.c - alternate source code
-- westley.orig.c - original source code
-- try.sh - script to try entry
+- westley.c - entry source code
+- Makefile - entry Makefile
+- westley.alt.c - alternate source code
+- westley.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1988_westley.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -586,7 +586,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1989/fubar/index.html b/1989/fubar/index.html
index 117cdd2fe..0a7012a5d 100644
--- a/1989/fubar/index.html
+++ b/1989/fubar/index.html
@@ -416,10 +416,10 @@
← 1988/westley
↑ 1989 ↑
1989/jar.1 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -503,19 +503,19 @@ much more so.
Primary files
-- fubar.c - entry source code
-- Makefile - entry Makefile
-- fubar.orig.c - original source code
-- fubar.sh - script to run entry
-- try.sh - script to try entry
+- fubar.c - entry source code
+- Makefile - entry Makefile
+- fubar.orig.c - original source code
+- fubar.sh - script to run entry
+- try.sh - script to try entry
Secondary files
- 1989_fubar.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -583,7 +583,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1989/index.html b/1989/index.html
index 4b3ac5a08..a06ddc0f1 100644
--- a/1989/index.html
+++ b/1989/index.html
@@ -416,7 +416,7 @@
↑ top ↑
1990 →
Inventory
- ✓
+ ✓
@@ -555,7 +555,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1989/jar.1/index.html b/1989/jar.1/index.html
index 5dbaa0674..2cbd56299 100644
--- a/1989/jar.1/index.html
+++ b/1989/jar.1/index.html
@@ -416,10 +416,10 @@
← 1989/fubar
↑ 1989 ↑
1989/jar.2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -520,20 +520,20 @@ need not be actually run.
Primary files
-- jar.1.c - entry source code
-- Makefile - entry Makefile
-- jar.1.alt.c - alternate source code
-- jar.1.orig.c - original source code
-- jar.1.alt.sh - compile or recompile and run alternate source code
-- jar.1.sh - compile or recompile and run entry
+- jar.1.c - entry source code
+- Makefile - entry Makefile
+- jar.1.alt.c - alternate source code
+- jar.1.orig.c - original source code
+- jar.1.alt.sh - compile or recompile and run alternate source code
+- jar.1.sh - compile or recompile and run entry
Secondary files
- 1989_jar.1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -601,7 +601,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1989/jar.2/index.html b/1989/jar.2/index.html
index 2e3e458f7..0ea321c13 100644
--- a/1989/jar.2/index.html
+++ b/1989/jar.2/index.html
@@ -416,10 +416,10 @@
← 1989/jar.1
↑ 1989 ↑
1989/ovdluhe →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -554,21 +554,21 @@ poor performance!
Primary files
-- jar.2.c - entry source code
-- Makefile - entry Makefile
-- jar.2.orig.c - original source code
-- chocolate_cake.lisp - example LISP source file
-- fib.lisp - example LISP source file
-- try.lisp - example LISP source file
-- try.sh - script to try entry
+- jar.2.c - entry source code
+- Makefile - entry Makefile
+- jar.2.orig.c - original source code
+- chocolate_cake.lisp - example LISP source file
+- fib.lisp - example LISP source file
+- try.lisp - example LISP source file
+- try.sh - script to try entry
Secondary files
- 1989_jar.2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -636,7 +636,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1989/ovdluhe/index.html b/1989/ovdluhe/index.html
index 53cd82e7d..a76889a8c 100644
--- a/1989/ovdluhe/index.html
+++ b/1989/ovdluhe/index.html
@@ -416,10 +416,10 @@
← 1989/jar.2
↑ 1989 ↑
1989/paul →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -517,20 +517,20 @@ observe the result.
Primary files
-- ovdluhe.c - entry source code
-- Makefile - entry Makefile
-- ovdluhe.alt.c - alternate source code
-- ovdluhe.orig.c - original source code
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
+- ovdluhe.c - entry source code
+- Makefile - entry Makefile
+- ovdluhe.alt.c - alternate source code
+- ovdluhe.orig.c - original source code
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
Secondary files
- 1989_ovdluhe.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -598,7 +598,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1989/paul/index.html b/1989/paul/index.html
index a6dd0a01a..ef9c7df07 100644
--- a/1989/paul/index.html
+++ b/1989/paul/index.html
@@ -416,10 +416,10 @@
← 1989/ovdluhe
↑ 1989 ↑
1989/robison →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -572,18 +572,18 @@ could easily be added.
Primary files
-- paul.c - entry source code
-- Makefile - entry Makefile
-- paul.alt.c - alternate source code
-- paul.orig.c - original source code
+- paul.c - entry source code
+- Makefile - entry Makefile
+- paul.alt.c - alternate source code
+- paul.orig.c - original source code
Secondary files
- 1989_paul.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -651,7 +651,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1989/robison/index.html b/1989/robison/index.html
index 4af3b84e3..518ed5ce4 100644
--- a/1989/robison/index.html
+++ b/1989/robison/index.html
@@ -416,10 +416,10 @@
← 1989/paul
↑ 1989 ↑
1989/roemer →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -521,18 +521,18 @@ out the irrelevant bytes from your cc compiler.
Primary files
-- robison.c - entry source code
-- Makefile - entry Makefile
-- robison.orig.c - original source code
-- try.sh - script to try entry
+- robison.c - entry source code
+- Makefile - entry Makefile
+- robison.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1989_robison.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -600,7 +600,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1989/roemer/index.html b/1989/roemer/index.html
index 76571bf17..066165dc4 100644
--- a/1989/roemer/index.html
+++ b/1989/roemer/index.html
@@ -416,10 +416,10 @@
← 1989/robison
↑ 1989 ↑
1989/tromp →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -483,17 +483,17 @@ strip newlines and tabs, if your cb can’t do that).
Primary files
-- roemer.c - entry source code
-- Makefile - entry Makefile
-- roemer.orig.c - original source code
+- roemer.c - entry source code
+- Makefile - entry Makefile
+- roemer.orig.c - original source code
Secondary files
- 1989_roemer.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -561,7 +561,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1989/tromp/index.html b/1989/tromp/index.html
index 1e60cc911..b2562b416 100644
--- a/1989/tromp/index.html
+++ b/1989/tromp/index.html
@@ -416,10 +416,10 @@
← 1989/roemer
↑ 1989 ↑
1989/vanb →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -581,18 +581,18 @@ the kill -9 command.
Primary files
-- tromp.c - entry source code
-- Makefile - entry Makefile
-- tromp.alt.c - alternate source code
-- tromp.orig.c - original source code
+- tromp.c - entry source code
+- Makefile - entry Makefile
+- tromp.alt.c - alternate source code
+- tromp.orig.c - original source code
Secondary files
- 1989_tromp.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -660,7 +660,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1989/vanb/index.html b/1989/vanb/index.html
index 2ce8a0b65..3f08fbf21 100644
--- a/1989/vanb/index.html
+++ b/1989/vanb/index.html
@@ -416,10 +416,10 @@
← 1989/tromp
↑ 1989 ↑
1989/westley →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -487,18 +487,18 @@ value is negative.
Primary files
-- vanb.c - entry source code
-- Makefile - entry Makefile
-- vanb.orig.c - original source code
-- try.sh - script to try entry
+- vanb.c - entry source code
+- Makefile - entry Makefile
+- vanb.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1989_vanb.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -566,7 +566,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1989/westley/index.html b/1989/westley/index.html
index f7957ad33..9f5952801 100644
--- a/1989/westley/index.html
+++ b/1989/westley/index.html
@@ -416,10 +416,10 @@
← 1989/vanb
↑ 1989 ↑
1990/baruch →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -569,19 +569,19 @@ will lack a terminating newline.
Primary files
-- westley.c - entry source code
-- Makefile - entry Makefile
-- westley.orig.c - original source code
-- compile.sh - generate and compile entry generated versions
-- try.sh - script to try entry
+- westley.c - entry source code
+- Makefile - entry Makefile
+- westley.orig.c - original source code
+- compile.sh - generate and compile entry generated versions
+- try.sh - script to try entry
Secondary files
- 1989_westley.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -649,7 +649,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1990/baruch/index.html b/1990/baruch/index.html
index cccfb6401..5aa93fd59 100644
--- a/1990/baruch/index.html
+++ b/1990/baruch/index.html
@@ -416,10 +416,10 @@
← 1989/westley
↑ 1990 ↑
1990/cmills →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -532,19 +532,19 @@ to replace the " #Q" string with " \261\2".
Primary files
-- baruch.c - entry source code
-- Makefile - entry Makefile
-- baruch.alt.c - alternate source code
-- baruch.orig.c - original source code
-- try.sh - script to try entry
+- baruch.c - entry source code
+- Makefile - entry Makefile
+- baruch.alt.c - alternate source code
+- baruch.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1990_baruch.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -612,7 +612,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1990/cmills/index.html b/1990/cmills/index.html
index eca7ad7ba..138c43b46 100644
--- a/1990/cmills/index.html
+++ b/1990/cmills/index.html
@@ -416,10 +416,10 @@
← 1990/baruch
↑ 1990 ↑
1990/dds →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -497,17 +497,17 @@ times, and it will show all hands as they are played.
Primary files
-- cmills.c - entry source code
-- Makefile - entry Makefile
-- cmills.orig.c - original source code
+- cmills.c - entry source code
+- Makefile - entry Makefile
+- cmills.orig.c - original source code
Secondary files
- 1990_cmills.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -575,7 +575,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1990/dds/index.html b/1990/dds/index.html
index 058b18adc..33da6473c 100644
--- a/1990/dds/index.html
+++ b/1990/dds/index.html
@@ -416,10 +416,10 @@
← 1990/cmills
↑ 1990 ↑
1990/dg →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -557,18 +557,18 @@ fits in an 80*25 screen).
Primary files
-- dds.c - entry source code
-- Makefile - entry Makefile
-- dds.orig.c - original source code
-- LANDER.BAS - BASIC source code for Lunar Lander game
+- dds.c - entry source code
+- Makefile - entry Makefile
+- dds.orig.c - original source code
+- LANDER.BAS - BASIC source code for Lunar Lander game
Secondary files
- 1990_dds.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -636,7 +636,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1990/dg/index.html b/1990/dg/index.html
index d684ce433..4c4720228 100644
--- a/1990/dg/index.html
+++ b/1990/dg/index.html
@@ -416,10 +416,10 @@
← 1990/dds
↑ 1990 ↑
1990/jaw →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -503,18 +503,18 @@ with 16 to translate, and output, otherwise pass it unchanged.
Primary files
-- dg.c - entry source code
-- Makefile - entry Makefile
-- dg.orig.c - original source code
-- try.sh - script to try entry
+- dg.c - entry source code
+- Makefile - entry Makefile
+- dg.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1990_dg.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -582,7 +582,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1990/index.html b/1990/index.html
index 418f7cbeb..7b21a5426 100644
--- a/1990/index.html
+++ b/1990/index.html
@@ -416,7 +416,7 @@
↑ top ↑
1991 →
Inventory
- ✓
+ ✓
@@ -555,7 +555,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1990/jaw/index.html b/1990/jaw/index.html
index e46077488..49014eb4e 100644
--- a/1990/jaw/index.html
+++ b/1990/jaw/index.html
@@ -416,10 +416,10 @@
← 1990/dg
↑ 1990 ↑
1990/pjr →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -475,7 +475,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!
+shark.sh, contains a 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
@@ -631,20 +631,20 @@ Dan Bernstein’s high-compression ‘squeeze’.
Primary files
-- jaw.c - entry source code
-- Makefile - entry Makefile
-- jaw.orig.c - original source code
-- try.sh - script to try entry
-- btoa - binary to ASCII utility
-- shark.sh - shark utility with embedded source
+- jaw.c - entry source code
+- Makefile - entry Makefile
+- jaw.orig.c - original source code
+- try.sh - script to try entry
+- btoa - binary to ASCII utility
+- shark.sh - shark utility with embedded source
Secondary files
- 1990_jaw.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -712,7 +712,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1990/pjr/index.html b/1990/pjr/index.html
index e0b7261ac..af074cf20 100644
--- a/1990/pjr/index.html
+++ b/1990/pjr/index.html
@@ -416,10 +416,10 @@
← 1990/jaw
↑ 1990 ↑
1990/scjones →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -515,18 +515,18 @@ to the reader to find out what it is.
Primary files
-- pjr.c - entry source code
-- Makefile - entry Makefile
-- pjr.alt.c - alternate source code
-- pjr.orig.c - original source code
+- pjr.c - entry source code
+- Makefile - entry Makefile
+- pjr.alt.c - alternate source code
+- pjr.orig.c - original source code
Secondary files
- 1990_pjr.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -594,7 +594,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1990/scjones/index.html b/1990/scjones/index.html
index 0fbffbcf8..b57b854fb 100644
--- a/1990/scjones/index.html
+++ b/1990/scjones/index.html
@@ -416,10 +416,10 @@
← 1990/pjr
↑ 1990 ↑
1990/stig →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -501,18 +501,18 @@ would allow for sequence numbers to be punched in columns 73-80 :-).
Primary files
-- scjones.c - entry source code
-- Makefile - entry Makefile
-- scjones.orig.c - original source code
-- try.sh - script to try entry
+- scjones.c - entry source code
+- Makefile - entry Makefile
+- scjones.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1990_scjones.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -580,7 +580,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1990/stig/index.html b/1990/stig/index.html
index e57f3ea35..d07c68ef3 100644
--- a/1990/stig/index.html
+++ b/1990/stig/index.html
@@ -416,10 +416,10 @@
← 1990/scjones
↑ 1990 ↑
1990/tbr →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -453,7 +453,7 @@ Location: NO - Kingdom of Norway (
Judges’ remarks:
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.
@@ -494,18 +494,18 @@ K&R support nested comments when properly implemented, but what the heck.
Primary files
-- stig.c - entry source code
-- Makefile - entry Makefile
-- stig.orig.c - original source code
-- stig.sh - script to run this entry
+- stig.c - entry source code
+- Makefile - entry Makefile
+- stig.orig.c - original source code
+- stig.sh - script to run this entry
Secondary files
- 1990_stig.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -573,7 +573,7 @@ Jump to: top
diff --git a/1990/tbr/index.html b/1990/tbr/index.html
index da7ba3645..eb4310be1 100644
--- a/1990/tbr/index.html
+++ b/1990/tbr/index.html
@@ -416,10 +416,10 @@
← 1990/stig
↑ 1990 ↑
1990/theorem →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -505,7 +505,7 @@ of the program:
0),e(open(*i,0)):5,t?dup2(t,1)D t):i[2]?9 D
1),e(creat(i[2],438)):2,e(execvp(*u,u))):e(chdir(u[1])*2):6;}
e(x){x<0?write(2,"?\n$ "-x/4,2),x+1||(exit(1),0):5;}
-This is the alternate source except that it
+
This is the alternate source except that it
has the exit() returns void fix as well as the gets(3) to fgets(3) fix
applied to it to make it functionally equivalent like the authors intended. The
above code is their original alternate code.
@@ -588,18 +588,18 @@ all ed(1) does too.
Primary files
-- tbr.c - entry source code
-- Makefile - entry Makefile
-- tbr.alt.c - alternate source code
-- tbr.orig.c - original source code
+- tbr.c - entry source code
+- Makefile - entry Makefile
+- tbr.alt.c - alternate source code
+- tbr.orig.c - original source code
Secondary files
- 1990_tbr.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -667,7 +667,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1990/theorem/index.html b/1990/theorem/index.html
index 87ee3849f..31bc48da8 100644
--- a/1990/theorem/index.html
+++ b/1990/theorem/index.html
@@ -416,10 +416,10 @@
← 1990/tbr
↑ 1990 ↑
1990/westley →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -465,7 +465,7 @@ Location: US - United States of America
Judges’ remarks:
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
@@ -537,18 +537,18 @@ lines, each less than 99 characters long.
Primary files
-- theorem.c - entry source code
-- Makefile - entry Makefile
-- theorem.orig.c - original source code
-- try.sh - script to try entry
+- theorem.c - entry source code
+- Makefile - entry Makefile
+- theorem.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1990_theorem.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -616,7 +616,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1990/westley/index.html b/1990/westley/index.html
index 1cb97ae3e..0e7d8a80a 100644
--- a/1990/westley/index.html
+++ b/1990/westley/index.html
@@ -416,10 +416,10 @@
← 1990/theorem
↑ 1990 ↑
1991/ant →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -520,19 +520,19 @@ on some systems. My personal favorite lint complaint is
Primary files
-- westley.c - entry source code
-- Makefile - entry Makefile
-- westley.alt.c - alternate source code
-- westley.orig.c - original source code
-- try.sh - script to try entry
+- westley.c - entry source code
+- Makefile - entry Makefile
+- westley.alt.c - alternate source code
+- westley.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1990_westley.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -600,7 +600,7 @@ Jump to: top
diff --git a/1991/ant/index.html b/1991/ant/index.html
index 2310afac1..9f1e796c3 100644
--- a/1991/ant/index.html
+++ b/1991/ant/index.html
@@ -416,10 +416,10 @@
← 1990/westley
↑ 1991 ↑
1991/brnstnd →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -460,8 +460,8 @@ program exit without doing anything.
./ant mole
The author provided us with an unobfuscated version, -ant.alt.c.
-The other alternate version, ant.alt2.c +ant.alt.c.
+The other alternate version, ant.alt2.c
changes the commands slightly so that to go to the first column you should enter
0, to go to the last column you should enter $, to quit you should enter
q, to go back a word you should enter b and to go forwards a word you should
@@ -584,19 +584,19 @@ ISBN 0-13-822305-X, chapter 5
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
The sorta scripts described below can sorta be found in this directory.
2 2+#` [ about as basic as you can get ]ld
This script takes 2, adds 2 to it, and prints the result (with a newline). I get 5 on the hand-held Sinclair under ZYNIX. Let me know if your machine produces a different result so that I can send you patches.
- 0A` [ take arg 0, print it ]
This is self-explanatory.
- [D2sD3s]:Dld [ input m n, output m n m n ]ld
[2*1=d]:cld [ aux routine for :d recursion ]ld
@@ -476,43 +476,43 @@ its arguments. Can you see how? (Hint: Try ./sorta "2 2+" 3 < sorta.ica
Look at program A.) icalc also provides a useful binary output routine,
and if you can’t remember offhand that D2sD3s&2sD&1sD&&&D& means XOR,
you can just look it up here.
-sorta.idup
+sorta.idup
[ld#1_+1=y]:x
[uD1+=x]:y
0""1=y`
This script prints out the maximum file descriptor available from
repeated dup(2)s—usually NOFILE - 1. Can you see how it works?
-sorta.iecho
+sorta.iecho
[" "$ld]:sld [ print a space ]ld
[1s1+DA$ld1s1_+D=sD=x]:xld [ given n (argc-n), print args ]ld
0a1_+D=x""` [ simulation of /bin/echo ]ld
This is a clone of /bin/echo, minus any argument processing and escape
interpretation. (Note that, unlike some shells’ echo, /bin/echo prints a
newline even with no arguments.) Try ./sorta foo bar < iecho.
-sorta.ifact1
+sorta.ifact1
1#`ld2*#`ld3*#`ld4*#`ld5*#`ld6*#`ld7*#`ld8*#`ld9*#`ld10*#`ld
This is a very straightforward factorial program: Take 1, print it,
multiply by 2, print it, multiply by 3, print it, etc.
-sorta.ifact2
+sorta.ifact2
[1+D2s*#`ld1s]:f
1 0
1=f 1=f 1=f 1=f 1=f 1=f 1=f 1=f 1=f 1=f
ifact1 does a lot of repeated work. ifact2 takes advantage of this by
keeping the current n! n on the stack. Each call to routine f (1=f)
increments n by 1 and prints out the factorial.
-sorta.ifact3
+sorta.ifact3
[1+D2s*#`ld1s]:f [ given (n-1)! (n-1), print n!, put n! n ]
[2s1=f2s1_+D0>=x]:x [ given n n! x, print (n+1)! through (n+x)! ]
0 1 10 1=x
Finally, ifact3 removes all the redundancy from ifact2, and exhibits
proper documentation of stack routines. You can replace the 10 by
anything in this version.
-sorta.iio
+sorta.iio
[ a simple example of interpreting code on the fly ]ld
["] "2 2+":xT ["]T " produces "T 1=x#T " which should be 4."T`
Notice that "2 2+" is a literal string inside the program.
-sorta.irot13
+sorta.irot13
"[] [.tr] "
["]".[a-m][n-z][A-M][N-Z]"[" ]TTT ["]".[n-z][a-m][N-Z][A-M]"[" ]TTT
"[tr] !q"T:xld
@@ -529,7 +529,7 @@ spots. 1A 0 0 o opens argv[1]; the ' keep
subroutine h to print a nice error message if necessary. 0Ou closes
stdout and replaces it with the new descriptor. Finally, subroutine x
executes the tr.
-sorta.isleep
+sorta.isleep
["" "+sleep" "+5" "sleep" !q]:S [F0>1_+=S]:s
"forking sleep 5..."`ld
1=s
@@ -537,13 +537,13 @@ executes the tr.
w
"done, sleep exit code " #T`
This script illustrates the classic fork-exec-wait.
-sorta.itailrec
+sorta.itailrec
[3*#" "T$ldD=f]:f
1=f
The sole purpose of this script is to prove that sorta can do infinite
tail recursion (in this case, in program f). Do ./sorta < itailrec | more
and watch the powers of 3 (mod your computer’s word size) flow by.
-sorta.iwhosort
+sorta.iwhosort
[0Ou "" "+-u" "sort" !q]:S [F0>1_+=S]:s
[1Ou "" "+-u" "who" !q]:W [F0>1_+=W]:w
P1=wO1=sOww
@@ -623,7 +623,7 @@ and watch the powers of 3 (mod your computer’s word size) flow by.
diff --git a/1991/buzzard/index.html b/1991/buzzard/index.html
index dc79ab529..c014f4ed2 100644
--- a/1991/buzzard/index.html
+++ b/1991/buzzard/index.html
@@ -416,10 +416,10 @@
← 1991/brnstnd
↑ 1991 ↑
1991/cdupont →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -541,18 +541,18 @@ to reach into arbitrary parcels of memory.
Primary files
-- buzzard.c - entry source code
-- Makefile - entry Makefile
-- buzzard.alt.c - alternate source code
-- buzzard.orig.c - original source code
+- buzzard.c - entry source code
+- Makefile - entry Makefile
+- buzzard.alt.c - alternate source code
+- buzzard.orig.c - original source code
Secondary files
- 1991_buzzard.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -620,7 +620,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1991/cdupont/index.html b/1991/cdupont/index.html
index 5d0f00442..4b8d7a580 100644
--- a/1991/cdupont/index.html
+++ b/1991/cdupont/index.html
@@ -416,10 +416,10 @@
← 1991/buzzard
↑ 1991 ↑
1991/davidguy →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -491,17 +491,17 @@ you to place the meaningful letters wherever you want.
Primary files
-- cdupont.c - entry source code
-- Makefile - entry Makefile
-- cdupont.orig.c - original source code
+- cdupont.c - entry source code
+- Makefile - entry Makefile
+- cdupont.orig.c - original source code
Secondary files
- 1991_cdupont.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -569,7 +569,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1991/davidguy/index.html b/1991/davidguy/index.html
index 4cdb032a0..66318718c 100644
--- a/1991/davidguy/index.html
+++ b/1991/davidguy/index.html
@@ -416,10 +416,10 @@
← 1991/cdupont
↑ 1991 ↑
1991/dds →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -556,17 +556,17 @@ on the screen, dominates the time to compute the next generation.
Primary files
-- davidguy.c - entry source code
-- Makefile - entry Makefile
-- davidguy.orig.c - original source code
+- davidguy.c - entry source code
+- Makefile - entry Makefile
+- davidguy.orig.c - original source code
Secondary files
- 1991_davidguy.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -634,7 +634,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1991/dds/index.html b/1991/dds/index.html
index 02465f87b..914bfc5a6 100644
--- a/1991/dds/index.html
+++ b/1991/dds/index.html
@@ -416,10 +416,10 @@
← 1991/davidguy
↑ 1991 ↑
1991/fine →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -454,7 +454,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?
+produced? How does 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
@@ -534,18 +534,18 @@ encoded by adding one to every character of it just to confuse you).
Primary files
-- dds.c - entry source code
-- Makefile - entry Makefile
-- dds.orig.c - original source code
-- LANDER.BAS - BASIC source code for Lunar Lander game
+- dds.c - entry source code
+- Makefile - entry Makefile
+- dds.orig.c - original source code
+- LANDER.BAS - BASIC source code for Lunar Lander game
Secondary files
- 1991_dds.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -613,7 +613,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1991/fine/index.html b/1991/fine/index.html
index 0219fc518..797df10b5 100644
--- a/1991/fine/index.html
+++ b/1991/fine/index.html
@@ -416,10 +416,10 @@
← 1991/dds
↑ 1991 ↑
1991/rince →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -546,18 +546,18 @@ for the student.
Primary files
-- fine.c - entry source code
-- Makefile - entry Makefile
-- fine.orig.c - original source code
-- try.sh - script to try entry
+- fine.c - entry source code
+- Makefile - entry Makefile
+- fine.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1991_fine.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -625,7 +625,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1991/index.html b/1991/index.html
index 8650c8d92..092a7fa00 100644
--- a/1991/index.html
+++ b/1991/index.html
@@ -416,7 +416,7 @@
↑ top ↑
1992 →
Inventory
- ✓
+ ✓
@@ -609,7 +609,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1991/rince/index.html b/1991/rince/index.html
index 48023f472..0853aa123 100644
--- a/1991/rince/index.html
+++ b/1991/rince/index.html
@@ -416,10 +416,10 @@
← 1991/fine
↑ 1991 ↑
1991/westley →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -452,10 +452,10 @@ that’s fewer than the original program.
To use:
./rince
Alternate code:
-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.
@@ -524,20 +524,20 @@ Take care that it’s facing in the correct direction.
Primary files
-- rince.c - entry source code
-- Makefile - entry Makefile
-- rince.alt2.c - second alternate source code
-- rince.alt.c - alternate source code
-- rince.orig.c - original source code
+- rince.c - entry source code
+- Makefile - entry Makefile
+- rince.alt2.c - second alternate source code
+- rince.alt.c - alternate source code
+- rince.orig.c - original source code
- map-key.jpg - key to map image
Secondary files
- 1991_rince.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -605,7 +605,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1991/westley/index.html b/1991/westley/index.html
index 7915c6978..3fee38da0 100644
--- a/1991/westley/index.html
+++ b/1991/westley/index.html
@@ -416,10 +416,10 @@
← 1991/rince
↑ 1991 ↑
1992/adrian →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -469,14 +469,14 @@ next move, recompile nextmove.c and play it again:
make nextmove
./nextmove move_location | tee nextmove.c
Try:
-We have provided the shell script, ttt.sh, to make it easier to play the
+
We have provided the shell script, ttt.sh, to make it easier to play the
game:
make ttt
./ttt [first_move]
./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:
+merlyn.c (copied from westley.c with an improved version after a
+loss). The ttt script has two other modes:
# cancel any game in progress,
# revert to merlyn.c:
./ttt quitgame
@@ -499,7 +499,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.
Judges’ remarks:
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! Why is win better than draw? Because
everyone knows how to draw:
@@ -647,20 +647,20 @@ found. A template is scanned from bottom to top, right to left
Primary files
-- westley.c - entry source code
-- Makefile - entry Makefile
-- westley.alt.c - alternate source code
-- westley.orig.c - original source code
-- ttt.alt.sh - script to play alternate version
-- ttt.sh - play tic-tac-toe
+- westley.c - entry source code
+- Makefile - entry Makefile
+- westley.alt.c - alternate source code
+- westley.orig.c - original source code
+- ttt.alt.sh - script to play alternate version
+- ttt.sh - play tic-tac-toe
Secondary files
- 1991_westley.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -728,7 +728,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1992/adrian/index.html b/1992/adrian/index.html
index b8f089826..31434a357 100644
--- a/1992/adrian/index.html
+++ b/1992/adrian/index.html
@@ -416,10 +416,10 @@
← 1991/westley
↑ 1992 ↑
1992/albert →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -623,25 +623,25 @@ when compiled depending on the compiler.
Primary files
-- adrian.c - entry source code
-- Makefile - entry Makefile
-- adrian.orig.c - original source code
-- adrian.grep.1 - agrep script
-- adrian.grep.2 - agrep script
-- adrian.grep.3 - agrep script
-- adrian.grep.4 - agrep script
-- adrian.grep.5 - agrep script
-- adrian.grep.from - agrep script
-- adrian.grep.try - agrep script
-- try.sh - script to try entry
+- adrian.c - entry source code
+- Makefile - entry Makefile
+- adrian.orig.c - original source code
+- adrian.grep.1 - agrep script
+- adrian.grep.2 - agrep script
+- adrian.grep.3 - agrep script
+- adrian.grep.4 - agrep script
+- adrian.grep.5 - agrep script
+- adrian.grep.from - agrep script
+- adrian.grep.try - agrep script
+- try.sh - script to try entry
Secondary files
- 1992_adrian.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -709,7 +709,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1992/albert/index.html b/1992/albert/index.html
index 678d3a114..b681ef080 100644
--- a/1992/albert/index.html
+++ b/1992/albert/index.html
@@ -416,10 +416,10 @@
← 1992/adrian
↑ 1992 ↑
1992/ant →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -458,7 +458,7 @@ Location: NL - Kingdom of the Netherlan
Try:
./try.sh
Alternate code:
-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:
@@ -474,8 +474,8 @@ in albert.orig.c that has been fixed in albert.c,
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.
Alternate build:
To compile this alternate version:
make alt
@@ -560,20 +560,20 @@ Observation: “if it ends in a zero, it is divisible by ten”.
Primary files
-- albert.c - entry source code
-- Makefile - entry Makefile
-- albert.alt.c - alternate source code
-- albert.orig.c - original source code
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
+- albert.c - entry source code
+- Makefile - entry Makefile
+- albert.alt.c - alternate source code
+- albert.orig.c - original source code
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
Secondary files
- 1992_albert.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -641,7 +641,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1992/ant/index.html b/1992/ant/index.html
index 55fd3312c..48b45d0f0 100644
--- a/1992/ant/index.html
+++ b/1992/ant/index.html
@@ -416,10 +416,10 @@
← 1992/albert
↑ 1992 ↑
1992/buzzard.1 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -456,7 +456,7 @@ code below.
Try:
./try.sh
Alternate code:
-This version, ant.alt.c, was provided by the
+
This version, ant.alt.c, was provided by the
author in 2024, and is an unobfuscated version.
Alternate build:
make alt
@@ -497,24 +497,24 @@ P1003 subcommittee.
Primary files
-- ant.c - entry source code
-- Makefile - entry Makefile
-- ant.orig.c - original source code
-- try.sh - script to try entry
-- ant.alt.c - author provided unobfuscated code
-- sleep.c - author provided code for those who need a nap
-- ant.README.txt - am man page
-- ant.test.mk - Makefile to demonstrate entry
-- try.alt.sh - script to try unobfuscated code
-- ant.test.alt.mk - Makefile to demonstrate unobfuscated code
+- ant.c - entry source code
+- Makefile - entry Makefile
+- ant.orig.c - original source code
+- try.sh - script to try entry
+- ant.alt.c - author provided unobfuscated code
+- sleep.c - author provided code for those who need a nap
+- ant.README.txt - am man page
+- ant.test.mk - Makefile to demonstrate entry
+- try.alt.sh - script to try unobfuscated code
+- ant.test.alt.mk - Makefile to demonstrate unobfuscated code
Secondary files
- 1992_ant.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -582,7 +582,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1992/buzzard.1/index.html b/1992/buzzard.1/index.html
index fdecd922c..ca3c8aa45 100644
--- a/1992/buzzard.1/index.html
+++ b/1992/buzzard.1/index.html
@@ -416,10 +416,10 @@
← 1992/ant
↑ 1992 ↑
1992/buzzard.2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -650,18 +650,18 @@ dedicated to the memory of Charles Barrett.
Primary files
-- buzzard.1.c - entry source code
-- Makefile - entry Makefile
-- buzzard.1.orig.c - original source code
-- try.sh - script to try entry
+- buzzard.1.c - entry source code
+- Makefile - entry Makefile
+- buzzard.1.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1992_buzzard.1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -729,7 +729,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1992/buzzard.2/buzzard.2.README.html b/1992/buzzard.2/buzzard.2.README.html
index 8ef544abd..9f9855d93 100644
--- a/1992/buzzard.2/buzzard.2.README.html
+++ b/1992/buzzard.2/buzzard.2.README.html
@@ -413,7 +413,7 @@
@@ -429,26 +429,26 @@
- buzzard.2.README.html - this file
- buzzard.2.design.html - description of FIRST (design documentation of THIRD)
-- third - implementation of THIRD in FIRST
-- help.th - online listing of THIRD primitives
+- third - implementation of THIRD in FIRST
+- help.th - online listing of THIRD primitives
FIRST demos:
Use:
./first < demo_file
THIRD demos:
Use:
cat third demo_file | ./first
Demo files:
-- demo1.th - prints Hello World! regardless of character set
-- demo2.th - demonstrates a simple loop
-- demo3.th - demonstrates a simple if test
-- demo4.th - recursive factorial calculating on the way up
-- demo5.th - recursive factorial calculating on the way down
-- demo6.th - demonstrates switching from compiler to execution mode
+- demo1.th - prints Hello World! regardless of character set
+- demo2.th - demonstrates a simple loop
+- demo3.th - demonstrates a simple if test
+- demo4.th - recursive factorial calculating on the way up
+- demo5.th - recursive factorial calculating on the way down
+- demo6.th - demonstrates switching from compiler to execution mode
Interactive THIRD:
Use:
@@ -530,7 +530,7 @@
diff --git a/1992/buzzard.2/buzzard.2.design.html b/1992/buzzard.2/buzzard.2.design.html
index 098fc16d2..57f943af4 100644
--- a/1992/buzzard.2/buzzard.2.design.html
+++ b/1992/buzzard.2/buzzard.2.design.html
@@ -413,7 +413,7 @@
@@ -1195,7 +1195,7 @@ exit.
diff --git a/1992/buzzard.2/index.html b/1992/buzzard.2/index.html
index a480d98aa..14b074bf8 100644
--- a/1992/buzzard.2/index.html
+++ b/1992/buzzard.2/index.html
@@ -416,10 +416,10 @@
← 1992/buzzard.1
↑ 1992 ↑
1992/gson →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -468,7 +468,7 @@ should make first first :-) ):
Try:
./try.sh
Alternate code:
-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.
Alternate build:
make alt
@@ -507,14 +507,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
+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
@@ -638,33 +638,33 @@ and thus indirectly inspiring me to write this program.
Primary files
-- buzzard.2.c - entry source code
-- Makefile - entry Makefile
-- buzzard.2.alt.c - alternate source code
-- buzzard.2.orig.c - original source code
+- buzzard.2.c - entry source code
+- Makefile - entry Makefile
+- buzzard.2.alt.c - alternate source code
+- buzzard.2.orig.c - original source code
- buzzard.2.README.html - author’s description of files
- buzzard.2.design.html - about the FORTH language
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
-- demo1.1st - demo FORTH source
-- demo1.th - demo FORTH source
-- demo2.th - demo FORTH source
-- demo3.th - demo FORTH source
-- demo4.th - demo FORTH source
-- demo5.th - demo FORTH source
-- demo6.th - demo FORTH source
-- help.th - demo FORTH source
-- third - the third source
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
+- demo1.1st - demo FORTH source
+- demo1.th - demo FORTH source
+- demo2.th - demo FORTH source
+- demo3.th - demo FORTH source
+- demo4.th - demo FORTH source
+- demo5.th - demo FORTH source
+- demo6.th - demo FORTH source
+- help.th - demo FORTH source
+- third - the third source
Secondary files
- 1992_buzzard.2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- buzzard.2.README.md - markdown source for buzzard.2.README.html
-- buzzard.2.design.md - markdown source for buzzard.2.design.html
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- buzzard.2.README.md - markdown source for buzzard.2.README.html
+- buzzard.2.design.md - markdown source for buzzard.2.design.html
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -732,7 +732,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1992/gson/index.html b/1992/gson/index.html
index f100570da..9bacafb9d 100644
--- a/1992/gson/index.html
+++ b/1992/gson/index.html
@@ -416,10 +416,10 @@
← 1992/buzzard.2
↑ 1992 ↑
1992/imc →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -459,11 +459,11 @@ some invocations to crash in some systems.
./ag word word2 word3 < dictionary | less
Try:
./try.sh
-The script first will use the mkdict.sh script to create
+
The script first will use the mkdict.sh script to create
a dictionary file out of the files
-README.md,
-try.sh (itself) and
-Makefile runs the program with a number of
+README.md,
+try.sh (itself) and
+Makefile runs the program with a number of
strings on that dictionary file.
Then the script will determine (or try and determine) where your system
dictionary is located and assuming that it can find one it’ll use that. It
@@ -482,7 +482,7 @@ output.
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. 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.
Author’s remarks:
@@ -667,19 +667,19 @@ the word directly from standard input to standard output.
Primary files
-- gson.c - entry source code
-- Makefile - entry Makefile
-- gson.orig.c - original source code
-- try.sh - script to try entry
-- mkdict.sh - author supplied obfuscated script to make a dictionary
+- gson.c - entry source code
+- Makefile - entry Makefile
+- gson.orig.c - original source code
+- try.sh - script to try entry
+- mkdict.sh - author supplied obfuscated script to make a dictionary
Secondary files
- 1992_gson.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -747,7 +747,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1992/imc/index.html b/1992/imc/index.html
index 793fce8da..5eece2962 100644
--- a/1992/imc/index.html
+++ b/1992/imc/index.html
@@ -416,10 +416,10 @@
← 1992/gson
↑ 1992 ↑
1992/kivinen →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -461,7 +461,7 @@ output.
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.
Author’s remarks:
Portability
@@ -594,18 +594,18 @@ standard error to indicate its progress (one dot per pixel line).
Primary files
-- imc.c - entry source code
-- Makefile - entry Makefile
-- imc.orig.c - original source code
-- try.sh - script to try entry
+- imc.c - entry source code
+- Makefile - entry Makefile
+- imc.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1992_imc.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -673,7 +673,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1992/index.html b/1992/index.html
index 22942c56b..a71a49520 100644
--- a/1992/index.html
+++ b/1992/index.html
@@ -416,7 +416,7 @@
↑ top ↑
1993 →
Inventory
- ✓
+ ✓
@@ -605,7 +605,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1992/kivinen/index.html b/1992/kivinen/index.html
index 95cee0f7b..5b2ec2d5e 100644
--- a/1992/kivinen/index.html
+++ b/1992/kivinen/index.html
@@ -416,10 +416,10 @@
← 1992/imc
↑ 1992 ↑
1992/lush →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -487,9 +487,9 @@ code.
you have with the program. :-)
NOTE: Some systems do not need (or have) -lsocket -lresolv -lnsl.
Such systems should compile using -lX11.
-NOTE: The original winning source kivinen.orig.c assumed that
+
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.
Author’s remarks:
X Entertainment Kit
This kit includes three games from the early era of video games designed for
@@ -568,18 +568,18 @@ event loop at the end of program. It is not a bug, it’s a feature!
Primary files
-- kivinen.c - entry source code
-- Makefile - entry Makefile
-- kivinen.alt.c - alternate source code
-- kivinen.orig.c - original source code
+- kivinen.c - entry source code
+- Makefile - entry Makefile
+- kivinen.alt.c - alternate source code
+- kivinen.orig.c - original source code
Secondary files
- 1992_kivinen.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -647,7 +647,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1992/lush/index.html b/1992/lush/index.html
index 69c3410ff..d17c789ed 100644
--- a/1992/lush/index.html
+++ b/1992/lush/index.html
@@ -416,10 +416,10 @@
← 1992/kivinen
↑ 1992 ↑
1992/marangon →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -487,18 +487,18 @@ generates when compiling the source.
Primary files
-- lush.c - entry source code
-- Makefile - entry Makefile
-- lush.orig.c - original source code
-- lush.sh - script to run entry
+- lush.c - entry source code
+- Makefile - entry Makefile
+- lush.orig.c - original source code
+- lush.sh - script to run entry
Secondary files
- 1992_lush.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -566,7 +566,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1992/marangon/index.html b/1992/marangon/index.html
index abdb964cb..80a611e34 100644
--- a/1992/marangon/index.html
+++ b/1992/marangon/index.html
@@ -416,10 +416,10 @@
← 1992/lush
↑ 1992 ↑
1992/nathan →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -455,9 +455,9 @@ are not careful, you may find things “at 6s and 7s
NOTE: Some compilers have had trouble optimizing this entry.
NOTE: Some systems need to compile with -ltermcap as well as -lcurses.
NOTE: The original winning source
-marangon.orig.c assumed that
+marangon.orig.c assumed that
exit(3) returns a value which cause problems for some systems where exit(3)
-returns a void. The file marangon.c
+returns a void. The file marangon.c
avoids this problem.
Author’s remarks:
It starts off by creating a table with the number 5 in all places. The CPU melts
@@ -488,17 +488,17 @@ number, all the other eight numbers next to it decrease and vice-versa.
Primary files
-- marangon.c - entry source code
-- Makefile - entry Makefile
-- marangon.orig.c - original source code
+- marangon.c - entry source code
+- Makefile - entry Makefile
+- marangon.orig.c - original source code
Secondary files
- 1992_marangon.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -566,7 +566,7 @@ Jump to: top
diff --git a/1992/nathan/index.html b/1992/nathan/index.html
index 85c562bf5..201840f01 100644
--- a/1992/nathan/index.html
+++ b/1992/nathan/index.html
@@ -416,10 +416,10 @@
← 1992/marangon
↑ 1992 ↑
1992/vern →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -497,7 +497,7 @@ read HIS instructions of how to obtain his winning program one was able to run:<
./nathan
to learn how to get a copy of the code.
When someone compiled and ran the code as originally distributed (see:
-nathan.orig.c the code printed
+nathan.orig.c the code printed
the following message (sic):
Export of this program from the USA is governed by the US
@@ -514,7 +514,7 @@ A deamon will autoreply.
WARNING: You must not re-export this out of the USA, or else
the men in black might get you.
-Today, the nathan.c source code
+
Today, the nathan.c source code
is the source code is what you would have received had you
successfully completed the above instructions.
Today, the above instructions are no longer necessary.
@@ -528,10 +528,10 @@ certain nations in apparent violation of US laws, but I personally can’t
re-distribute a program contest entry to the network!
Updated personal note from chongo:
We removed the email address from the above quote (although you can still see it
-in the nathan.orig.c and
-nathan.alt.c code) because sending
+in the nathan.orig.c and
+nathan.alt.c code) because sending
email to that address is not required today and it is unknown if it is still
-valid. The nathan.c file now contains the
+valid. The nathan.c file now contains the
source you would have received in reply.
Thankfully much of the ridiculous US crypto regulations has been
amended to the extent where the above historical “workaround” is
@@ -597,19 +597,19 @@ operator, or argument separator?).
Primary files
-- nathan.c - entry source code
-- Makefile - entry Makefile
-- nathan.alt.c - alternate source code
-- nathan.orig.c - original source code
-- try.sh - script to try entry
+- nathan.c - entry source code
+- Makefile - entry Makefile
+- nathan.alt.c - alternate source code
+- nathan.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1992_nathan.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -677,7 +677,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1992/vern/index.html b/1992/vern/index.html
index 06ab224e9..fa277c7d8 100644
--- a/1992/vern/index.html
+++ b/1992/vern/index.html
@@ -416,10 +416,10 @@
← 1992/nathan
↑ 1992 ↑
1992/westley →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -590,17 +590,17 @@ nearest multiple of 4, and then the other constants are derived fro
Primary files
-- vern.c - entry source code
-- Makefile - entry Makefile
-- vern.orig.c - original source code
+- vern.c - entry source code
+- Makefile - entry Makefile
+- vern.orig.c - original source code
Secondary files
- 1992_vern.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -668,7 +668,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1992/westley/index.html b/1992/westley/index.html
index 43d0dbc32..748a04705 100644
--- a/1992/westley/index.html
+++ b/1992/westley/index.html
@@ -416,10 +416,10 @@
← 1992/vern
↑ 1992 ↑
1993/ant →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -473,7 +473,7 @@ like:
[A M E R I C A]…
That version, which will not compile with clang, is the second alternate
-version, westley.alt2.c.
+version, westley.alt2.c.
Alternate build:
make alt
If you have gcc you can also compile the second alternate version, though it
@@ -488,7 +488,7 @@ with wider terminals. To compile the second alternate version:
NOTE: this alternative version also needs a terminal with at least 80
columns.
Alternate try:
-The try.sh script uses both the original
+
The try.sh script uses both the original
entry and the alternate code so one can try the same script for both:
./try.sh
Judges’ remarks:
@@ -605,23 +605,23 @@ joined together as one 160-character line and listed. You should see:
Primary files
-- westley.c - entry source code
-- Makefile - entry Makefile
-- westley.alt.c - alternate source code
-- westley.alt2.c - one line alternate code that documents itself at 80 columns
-- westley.alt.orig.c - original source code
-- westley.orig.c - original source code
-- try.sh - script to try entry
-- whereami.alt.sh - alternate whereami tool
-- whereami.sh - script to show where you are on the map
+- westley.c - entry source code
+- Makefile - entry Makefile
+- westley.alt.c - alternate source code
+- westley.alt2.c - one line alternate code that documents itself at 80 columns
+- westley.alt.orig.c - original source code
+- westley.orig.c - original source code
+- try.sh - script to try entry
+- whereami.alt.sh - alternate whereami tool
+- whereami.sh - script to show where you are on the map
Secondary files
- 1992_westley.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -689,7 +689,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1993/ant/index.html b/1993/ant/index.html
index e25f8a9ae..6d2f5b1d9 100644
--- a/1993/ant/index.html
+++ b/1993/ant/index.html
@@ -416,10 +416,10 @@
← 1992/westley
↑ 1993 ↑
1993/cmills →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -459,7 +459,7 @@ code below.
Try:
./try.sh
Alternate code:
-The ant.alt.c is an
+
The ant.alt.c is an
unobfuscated version provided by the author. You can look at this code if you
want some clues in how it works.
Alternate build:
@@ -511,25 +511,25 @@ more information.
Primary files
-- ant.c - entry source code
-- Makefile - entry Makefile
-- ant.orig.c - original source code
+- ant.c - entry source code
+- Makefile - entry Makefile
+- ant.orig.c - original source code
- ant.txt - ag man page in text format
-- try.sh - script to try entry
-- ant.alt.c - author provided unobfuscated code
-- try.alt.sh - script to try unobfuscated code
-- test.alt.mk - author provided test suite Makefile for unobfuscated code
+- try.sh - script to try entry
+- ant.alt.c - author provided unobfuscated code
+- try.alt.sh - script to try unobfuscated code
+- test.alt.mk - author provided test suite Makefile for unobfuscated code
- ants.txt - lyrics of the Ants Go Marching song
-- ant.test.mk - test suite Makefile
-- ant.alt.test.mk - test suite Makefile for unobfuscated code
+- ant.test.mk - test suite Makefile
+- ant.alt.test.mk - test suite Makefile for unobfuscated code
Secondary files
- 1993_ant.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -597,7 +597,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1993/cmills/index.html b/1993/cmills/index.html
index b4d2e325b..10defafab 100644
--- a/1993/cmills/index.html
+++ b/1993/cmills/index.html
@@ -416,10 +416,10 @@
← 1993/ant
↑ 1993 ↑
1993/dgibson →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -532,18 +532,18 @@ which in turn is based on it’s area and speed. How silly!
Primary files
-- cmills.c - entry source code
-- Makefile - entry Makefile
-- cmills.alt.c - alternate source code
-- cmills.orig.c - original source code
+- cmills.c - entry source code
+- Makefile - entry Makefile
+- cmills.alt.c - alternate source code
+- cmills.orig.c - original source code
Secondary files
- 1993_cmills.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -611,7 +611,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1993/dgibson/index.html b/1993/dgibson/index.html
index 8e68896c2..85a1d442d 100644
--- a/1993/dgibson/index.html
+++ b/1993/dgibson/index.html
@@ -416,10 +416,10 @@
← 1993/cmills
↑ 1993 ↑
1993/ejb →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -450,24 +450,24 @@ Location: ZA - Republic of South Africa
./dgibson.sh [datafile]
where:
datafile is the initial pattern (default is the
-dgibson.data1 file).
+dgibson.data1 file).
Try:
./try.sh
Judges’ remarks:
-We have provided the shell script dgibson.sh to make it easier
+
We have provided the shell script dgibson.sh to make it easier
to run this entry. Run this shell script several times to
see what happens.
There are a number of data files available:
-- dgibson.data1
-- dgibson.data2
-- dgibson.data3
-- dgibson.data4
-- dgibson.data5
+- dgibson.data1
+- dgibson.data2
+- dgibson.data3
+- dgibson.data4
+- dgibson.data5
-For dgibson.data5 you will need a large screen, lots of virtual
-memory and lots of time! The try.sh script will run
-dgibson.sh on all the data files.
+For dgibson.data5 you will need a large screen, lots of virtual
+memory and lots of time! The try.sh script will run
+dgibson.sh on all the data files.
Good luck trying to use a debugger on this entry! Life is not
always pretty.
Author’s remarks:
@@ -516,24 +516,24 @@ necessary to recurse main() in two “directions” simultaneously.
Primary files
-- dgibson.c - entry source code
-- Makefile - entry Makefile
-- dgibson.orig.c - original source code
-- dgibson.sh - script to run entry
-- try.sh - script to try entry
-- dgibson.data1 - Game of Life cell layout
-- dgibson.data2 - Game of Life cell layout
-- dgibson.data3 - Game of Life cell layout
-- dgibson.data4 - Game of life cell layout
-- dgibson.data5 - Game of life cell layout
+- dgibson.c - entry source code
+- Makefile - entry Makefile
+- dgibson.orig.c - original source code
+- dgibson.sh - script to run entry
+- try.sh - script to try entry
+- dgibson.data1 - Game of Life cell layout
+- dgibson.data2 - Game of Life cell layout
+- dgibson.data3 - Game of Life cell layout
+- dgibson.data4 - Game of life cell layout
+- dgibson.data5 - Game of life cell layout
Secondary files
- 1993_dgibson.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -601,7 +601,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1993/ejb/hanoi.html b/1993/ejb/hanoi.html
index 936253ae8..6da33820e 100644
--- a/1993/ejb/hanoi.html
+++ b/1993/ejb/hanoi.html
@@ -413,7 +413,7 @@
@@ -510,7 +510,7 @@ exponential in the number rings.
diff --git a/1993/ejb/index.html b/1993/ejb/index.html
index 6b6b0b599..622dee16e 100644
--- a/1993/ejb/index.html
+++ b/1993/ejb/index.html
@@ -416,10 +416,10 @@
← 1993/dgibson
↑ 1993 ↑
1993/jonth →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -523,22 +523,22 @@ compiler since it uses signed char and ANSI-style function declarat
Primary files
-- ejb.c - entry source code
-- Makefile - entry Makefile
-- ejb.orig.c - original source code
+- ejb.c - entry source code
+- Makefile - entry Makefile
+- ejb.orig.c - original source code
- hanoi.html - about the Towers of Hanoi puzzle
- patience.html - about the Patience puzzle
-- try.sh - script to try entry
+- try.sh - script to try entry
Secondary files
- 1993_ejb.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- hanoi.md - markdown source for hanoi.html
-- .path - directory path from top level directory
-- patience.md - markdown source for patience.html
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- hanoi.md - markdown source for hanoi.html
+- .path - directory path from top level directory
+- patience.md - markdown source for patience.html
- index.html - this web page
@@ -606,7 +606,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1993/ejb/patience.html b/1993/ejb/patience.html
index c1fdec777..d0f7db074 100644
--- a/1993/ejb/patience.html
+++ b/1993/ejb/patience.html
@@ -413,7 +413,7 @@
@@ -633,7 +633,7 @@ exponential in the number of rings.
diff --git a/1993/index.html b/1993/index.html
index d87123e0e..0f9346167 100644
--- a/1993/index.html
+++ b/1993/index.html
@@ -416,7 +416,7 @@
↑ top ↑
1994 →
Inventory
- ✓
+ ✓
@@ -576,7 +576,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1993/jonth/index.html b/1993/jonth/index.html
index 57a24f660..40749626a 100644
--- a/1993/jonth/index.html
+++ b/1993/jonth/index.html
@@ -416,10 +416,10 @@
← 1993/ejb
↑ 1993 ↑
1993/leo →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -487,17 +487,17 @@ This program will not work on machines where sizeof(int)!=sizeof(void *)
Primary files
-- jonth.c - entry source code
-- Makefile - entry Makefile
-- jonth.orig.c - original source code
+- jonth.c - entry source code
+- Makefile - entry Makefile
+- jonth.orig.c - original source code
Secondary files
- 1993_jonth.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -565,7 +565,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1993/leo/index.html b/1993/leo/index.html
index 90fc423ec..3c4d61095 100644
--- a/1993/leo/index.html
+++ b/1993/leo/index.html
@@ -416,10 +416,10 @@
← 1993/jonth
↑ 1993 ↑
1993/lmfjyh →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -534,17 +534,17 @@ backspaces. Do “disable scrolling” on cmdtool or similar emulators.
Primary files
-- leo.c - entry source code
-- Makefile - entry Makefile
-- leo.orig.c - original source code
+- leo.c - entry source code
+- Makefile - entry Makefile
+- leo.orig.c - original source code
Secondary files
- 1993_leo.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -612,7 +612,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1993/lmfjyh/index.html b/1993/lmfjyh/index.html
index 781e4ca8a..505db7736 100644
--- a/1993/lmfjyh/index.html
+++ b/1993/lmfjyh/index.html
@@ -416,10 +416,10 @@
← 1993/leo
↑ 1993 ↑
1993/plummer →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -605,18 +605,18 @@ be new standard.
Primary files
-- lmfjyh.c - entry source code
-- Makefile - entry Makefile
-- lmfjyh.alt.c - alternate source code
-- lmfjyh.orig.c - original source code
+- lmfjyh.c - entry source code
+- Makefile - entry Makefile
+- lmfjyh.alt.c - alternate source code
+- lmfjyh.orig.c - original source code
Secondary files
- 1993_lmfjyh.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -684,7 +684,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1993/plummer/index.html b/1993/plummer/index.html
index 2b0fe3568..5fb874806 100644
--- a/1993/plummer/index.html
+++ b/1993/plummer/index.html
@@ -416,10 +416,10 @@
← 1993/lmfjyh
↑ 1993 ↑
1993/rince →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -584,20 +584,20 @@ successively larger number to the end of a string.
Primary files
-- plummer.c - entry source code
-- Makefile - entry Makefile
-- plummer.alt.c - alternate source code
-- plummer.orig.c - original source code
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
+- plummer.c - entry source code
+- Makefile - entry Makefile
+- plummer.alt.c - alternate source code
+- plummer.orig.c - original source code
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
Secondary files
- 1993_plummer.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -665,7 +665,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1993/rince/design.html b/1993/rince/design.html
index 4a838ad40..6bbe9b2d0 100644
--- a/1993/rince/design.html
+++ b/1993/rince/design.html
@@ -413,7 +413,7 @@
@@ -563,7 +563,7 @@ of map, and hence should also be one larger than expected.
diff --git a/1993/rince/index.html b/1993/rince/index.html
index 9c801b0c6..061ae12d2 100644
--- a/1993/rince/index.html
+++ b/1993/rince/index.html
@@ -416,10 +416,10 @@
← 1993/plummer
↑ 1993 ↑
1993/schnitzi →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -466,7 +466,7 @@ value 17 in the lines:
and
refresh(),c=select(k,&y,0,0,(v.tv_usec=1<<17,&v))?getch():0;
to another value like 18 or 19 which you can do with the alternate code.
-In the case of rince.alt2.c the movement keys for the default
+
In the case of rince.alt2.c the movement keys for the default
game are slightly different and will feel more familiar to vi users: h for
left, l for right (that was not changed) and k for fire (that was also not
changed).
@@ -478,17 +478,17 @@ changed).
Judges’ remarks:
The author has provided several CABBAGE files for your amusement:
-rince.data1 plays
+
rince.data1 plays
Breakout. Keys are ,
for left, / for right, and . for ‘fire the ball’.
-rince.data2 plays the old James Bonfield
+
rince.data2 plays the old James Bonfield
(1991/rince game from IOCCC
1991).
-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.
For a brief design description, see design.html.
@@ -602,25 +602,25 @@ mechanism other than control-c.
Primary files
-- rince.c - entry source code
-- Makefile - entry Makefile
-- rince.alt2.c - second alternate source code
-- rince.alt.c - alternate source code
-- rince.orig.c - original source code
+- rince.c - entry source code
+- Makefile - entry Makefile
+- rince.alt2.c - second alternate source code
+- rince.alt.c - alternate source code
+- rince.orig.c - original source code
- design.html - implementation notes
-- rince.data1 - CABBAGE data file
-- rince.data2 - CABBAGE data file
-- rince.data3 - CABBAGE data file
-- rince.data4 - CABBAGE data file
+- rince.data1 - CABBAGE data file
+- rince.data2 - CABBAGE data file
+- rince.data3 - CABBAGE data file
+- rince.data4 - CABBAGE data file
Secondary files
- 1993_rince.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- design.md - markdown source for design.html
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- design.md - markdown source for design.html
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -688,7 +688,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1993/schnitzi/index.html b/1993/schnitzi/index.html
index c1e01116e..94026fa30 100644
--- a/1993/schnitzi/index.html
+++ b/1993/schnitzi/index.html
@@ -416,10 +416,10 @@
← 1993/rince
↑ 1993 ↑
1993/vanb →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -476,7 +476,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:
- Who is Mark Schnitzius?
- What exactly does this program do?
@@ -550,18 +550,18 @@ from the Weekly World News.
Primary files
-- schnitzi.c - entry source code
-- Makefile - entry Makefile
-- schnitzi.orig.c - original source code
-- schnitzi.info - some interesting statements
+- schnitzi.c - entry source code
+- Makefile - entry Makefile
+- schnitzi.orig.c - original source code
+- schnitzi.info - some interesting statements
Secondary files
- 1993_schnitzi.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -629,7 +629,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1993/vanb/index.html b/1993/vanb/index.html
index b2305dc7f..579657e27 100644
--- a/1993/vanb/index.html
+++ b/1993/vanb/index.html
@@ -416,10 +416,10 @@
← 1993/schnitzi
↑ 1993 ↑
1994/dodsond1 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -630,19 +630,19 @@ called with 0):
Primary files
-- vanb.c - entry source code
-- Makefile - entry Makefile
-- vanb.alt.c - alternate source code
-- vanb.orig.c - original source code
-- try.sh - script to try entry
+- vanb.c - entry source code
+- Makefile - entry Makefile
+- vanb.alt.c - alternate source code
+- vanb.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1993_vanb.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -710,7 +710,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1994/dodsond1/index.html b/1994/dodsond1/index.html
index b9b48b224..57f7b82d8 100644
--- a/1994/dodsond1/index.html
+++ b/1994/dodsond1/index.html
@@ -416,10 +416,10 @@
← 1993/vanb
↑ 1994 ↑
1994/dodsond2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -485,17 +485,17 @@ make a move, and to determine the value of a move.
Primary files
-- dodsond1.c - entry source code
-- Makefile - entry Makefile
-- dodsond1.orig.c - original source code
+- dodsond1.c - entry source code
+- Makefile - entry Makefile
+- dodsond1.orig.c - original source code
Secondary files
- 1994_dodsond1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -563,7 +563,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1994/dodsond2/index.html b/1994/dodsond2/index.html
index 063068253..91fb3b10b 100644
--- a/1994/dodsond2/index.html
+++ b/1994/dodsond2/index.html
@@ -416,10 +416,10 @@
← 1994/dodsond1
↑ 1994 ↑
1994/horton →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -490,12 +490,12 @@ excluding whitespace (tab, space, newline), and excluding any ; { or } followed
by either whitespace or end of file, must be <= 1536.
-Indeed the dodsond2.c file is
+
Indeed the dodsond2.c file is
what 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.
Author’s remarks:
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
@@ -545,19 +545,19 @@ of the current room again.
Primary files
-- dodsond2.c - entry source code
-- Makefile - entry Makefile
-- dodsond2.alt.c - alternate source code
-- dodsond2.orig.c - original source code
+- dodsond2.c - entry source code
+- Makefile - entry Makefile
+- dodsond2.alt.c - alternate source code
+- dodsond2.orig.c - original source code
- dodsond2.gz - original source code in gzip form
Secondary files
- 1994_dodsond2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -625,7 +625,7 @@ Jump to: top
diff --git a/1994/horton/index.html b/1994/horton/index.html
index e96998023..fc2216b8c 100644
--- a/1994/horton/index.html
+++ b/1994/horton/index.html
@@ -416,10 +416,10 @@
← 1994/dodsond2
↑ 1994 ↑
1994/imc →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -455,7 +455,7 @@ code below.
./try.sh
Alternate code:
This confuses cb greatly. See
-horton.alt.c for an
+horton.alt.c for an
unobfuscated and enhanced version.
Alternate build:
make alt
@@ -485,7 +485,7 @@ of their cubic equations. Those dastardly arguments are mere coefficients,
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 program for another example. Try:
+See the gtface program for another example. Try:
make gtface
./gtface < gtface.data
How this entry works:
@@ -540,23 +540,23 @@ It’s easily modified to graph any 96x160 bitmap on a dumb terminal.
Primary files
-- horton.c - entry source code
-- Makefile - entry Makefile
-- horton.alt.c - author provided unobfuscated and enhanced code
-- horton.orig.c - original source code
-- gtface.c - gtface source code
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
+- horton.c - entry source code
+- Makefile - entry Makefile
+- horton.alt.c - author provided unobfuscated and enhanced code
+- horton.orig.c - original source code
+- gtface.c - gtface source code
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
- login_sept92-pp28-31.pdf - login article on graphics for dumb terminals
-- gtface.data - data for gtfsace
+- gtface.data - data for gtfsace
Secondary files
- 1994_horton.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -624,7 +624,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1994/imc/index.html b/1994/imc/index.html
index a2eac113a..f44ba240e 100644
--- a/1994/imc/index.html
+++ b/1994/imc/index.html
@@ -416,10 +416,10 @@
← 1994/horton
↑ 1994 ↑
1994/ldb →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -522,18 +522,18 @@ add up to n*(n*n+1)/2.
Primary files
-- imc.c - entry source code
-- Makefile - entry Makefile
-- imc.orig.c - original source code
-- try.sh - script to try entry
+- imc.c - entry source code
+- Makefile - entry Makefile
+- imc.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1994_imc.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -601,7 +601,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1994/index.html b/1994/index.html
index 4b1cf21aa..1dc01fa0b 100644
--- a/1994/index.html
+++ b/1994/index.html
@@ -416,7 +416,7 @@
↑ top ↑
1995 →
Inventory
- ✓
+ ✓
@@ -636,7 +636,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1994/ldb/index.html b/1994/ldb/index.html
index 3c66cff23..e3bd277e8 100644
--- a/1994/ldb/index.html
+++ b/1994/ldb/index.html
@@ -416,10 +416,10 @@
← 1994/imc
↑ 1994 ↑
1994/schnitzi →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -491,18 +491,18 @@ platform should be ASCII based.
Primary files
-- ldb.c - entry source code
-- Makefile - entry Makefile
-- ldb.orig.c - original source code
-- try.sh - script to try entry
+- ldb.c - entry source code
+- Makefile - entry Makefile
+- ldb.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1994_ldb.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -570,7 +570,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1994/schnitzi/index.html b/1994/schnitzi/index.html
index e922b19e9..442eed044 100644
--- a/1994/schnitzi/index.html
+++ b/1994/schnitzi/index.html
@@ -416,10 +416,10 @@
← 1994/ldb
↑ 1994 ↑
1994/shapiro →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -552,22 +552,22 @@ needed to pad it put it over the limit – it nearly filled a 79 by
Primary files
-- schnitzi.c - entry source code
-- Makefile - entry Makefile
-- schnitzi.alt2.c - second alternate source code
-- schnitzi.alt.c - alternate source code
-- schnitzi.orig.c - original source code
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
+- schnitzi.c - entry source code
+- Makefile - entry Makefile
+- schnitzi.alt2.c - second alternate source code
+- schnitzi.alt.c - alternate source code
+- schnitzi.orig.c - original source code
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
- try.txt - input file used by try.sh
Secondary files
- 1994_schnitzi.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -635,7 +635,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1994/shapiro/index.html b/1994/shapiro/index.html
index d64f0752e..b69c75100 100644
--- a/1994/shapiro/index.html
+++ b/1994/shapiro/index.html
@@ -416,10 +416,10 @@
← 1994/schnitzi
↑ 1994 ↑
1994/smr →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -469,7 +469,7 @@ Location: US - United States of America
Notice what you see in the output of ps! Observe too what happens after you
bring it back to the foreground.
Alternate code:
-This version, shapiro.alt.c, is an
+
This version, shapiro.alt.c, is an
unobfuscated version provided by the author.
Alternate build:
make alt
@@ -490,7 +490,7 @@ source file is self documenting. :-)
If you want a greater challenge, don’t read any further:
just try to understand the program via the source.
If you get stuck, come back and read below for additional hints and information.
-My entry, shapiro.c, is mostly comments, formatted in the shape of a
+
My entry, shapiro.c, is mostly comments, formatted in the shape of a
clock. If you strip out the comments and look at the code you will
quickly realize that the comments were the important part and that
the code does very little (see pun above). It writes (to stdout)
@@ -537,20 +537,20 @@ test it on.)
Primary files
-- shapiro.c - entry source code
-- Makefile - entry Makefile
-- shapiro.orig.c - original source code
+- shapiro.c - entry source code
+- Makefile - entry Makefile
+- shapiro.orig.c - original source code
- shapiro.html - author’s hints
-- shapiro.alt.c - author provided unobfuscated and formatted source code
+- shapiro.alt.c - author provided unobfuscated and formatted source code
Secondary files
- 1994_shapiro.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
-- shapiro.md - markdown source for shapiro.html
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
+- shapiro.md - markdown source for shapiro.html
- index.html - this web page
@@ -618,7 +618,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1994/shapiro/shapiro.html b/1994/shapiro/shapiro.html
index 7923c9990..1cac92cf8 100644
--- a/1994/shapiro/shapiro.html
+++ b/1994/shapiro/shapiro.html
@@ -413,7 +413,7 @@
@@ -426,7 +426,7 @@
HINTS
-For the first program, shapiro.c:
+For the first program, shapiro.c:
This is a very simple program:
1. #include <stdio.h>
2. main()
@@ -599,7 +599,7 @@ units are just the string in the slave number position.
diff --git a/1994/smr/index.html b/1994/smr/index.html
index 70ede4181..5e86f5419 100644
--- a/1994/smr/index.html
+++ b/1994/smr/index.html
@@ -416,10 +416,10 @@
← 1994/shapiro
↑ 1994 ↑
1994/tvr →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -455,7 +455,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
@@ -492,18 +492,18 @@ Produces a listing of itself on stdout.
Primary files
-- smr.c - entry source code
-- Makefile - entry Makefile
-- smr.orig.c - original source code
-- try.sh - script to try entry
+- smr.c - entry source code
+- Makefile - entry Makefile
+- smr.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1994_smr.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -571,7 +571,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1994/tvr/index.html b/1994/tvr/index.html
index 288341693..16d75b34d 100644
--- a/1994/tvr/index.html
+++ b/1994/tvr/index.html
@@ -416,10 +416,10 @@
← 1994/smr
↑ 1994 ↑
1994/weisberg →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -635,24 +635,24 @@ mono).
Primary files
-- tvr.c - entry source code
-- Makefile - entry Makefile
-- tvr.alt.c - less obfuscated source code
-- tvr.orig.c - original source code
-- try.alt.bw.sh - script to try alternate code in black and white mode
-- try.alt.color.sh - script to try alternate code in colour mode
-- try.bw.sh - script to try in black and white mode
-- try.color.sh - script to try in colour mode
-- tvr.bw - data file for black and white output
-- tvr.color - RGB values
+- tvr.c - entry source code
+- Makefile - entry Makefile
+- tvr.alt.c - less obfuscated source code
+- tvr.orig.c - original source code
+- try.alt.bw.sh - script to try alternate code in black and white mode
+- try.alt.color.sh - script to try alternate code in colour mode
+- try.bw.sh - script to try in black and white mode
+- try.color.sh - script to try in colour mode
+- tvr.bw - data file for black and white output
+- tvr.color - RGB values
Secondary files
- 1994_tvr.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -720,7 +720,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1994/weisberg/index.html b/1994/weisberg/index.html
index 7295e3338..19a7244c3 100644
--- a/1994/weisberg/index.html
+++ b/1994/weisberg/index.html
@@ -416,10 +416,10 @@
← 1994/tvr
↑ 1994 ↑
1994/westley →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -455,7 +455,7 @@ See Alternate code below for more details.
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 script will also try :-) and do
+try.sh script will also try :-) and do
this.
Alternate code:
If you liked what you saw from the above program, and happen to
@@ -481,7 +481,7 @@ run to completion, so as an added feature, it will cease execution upon
reception of a signal (any will do equally well), as well as in the
event of a system shutdown or reboot.
Bugs
-The alternative build (weisberg.c
+
The alternative build (weisberg.c
compiled to weisberg.alt) has never actually run
to completion. After running for close to a week it had reached somewhere around
250e6, when it became necessary to test the reboot feature (which worked
@@ -521,19 +521,19 @@ a bonus, the understandability of the code was reduced to zero.
Primary files
-- weisberg.c - entry source code
-- Makefile - entry Makefile
-- weisberg.orig.c - original source code
-- primes.sh - feed primes program to the entry
-- try.sh - script to try entry
+- weisberg.c - entry source code
+- Makefile - entry Makefile
+- weisberg.orig.c - original source code
+- primes.sh - feed primes program to the entry
+- try.sh - script to try entry
Secondary files
- 1994_weisberg.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -601,7 +601,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1994/westley/index.html b/1994/westley/index.html
index 5e61dc6b2..79cc4af7f 100644
--- a/1994/westley/index.html
+++ b/1994/westley/index.html
@@ -416,10 +416,10 @@
← 1994/weisberg
↑ 1994 ↑
1995/cdua →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -462,7 +462,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.
Try:
@@ -483,7 +483,7 @@ reason that we recommend you try it first.
Original build:
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.
Original use:
@@ -494,7 +494,7 @@ compiler line you will get a different message (as compiler errors
This is independent of the previous (if there are any previous) compiler
invocations specified. That means with the right compiler invocation you can
-‘win’ the game on the first go. But unlike the alternate code,
+‘win’ the game on the first go. But unlike the alternate code,
you do not run this program as it will not compile: instead it will be compiler
error messages; there is no running the program.
Original try:
@@ -596,20 +596,20 @@ unimportant.
Primary files
-- westley.c - entry source code
-- Makefile - entry Makefile
-- westley.alt.c - alternate source code
-- westley.orig.c - original source code
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
+- westley.c - entry source code
+- Makefile - entry Makefile
+- westley.alt.c - alternate source code
+- westley.orig.c - original source code
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
Secondary files
- 1994_westley.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -677,7 +677,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1995/cdua/index.html b/1995/cdua/index.html
index c6bf174d2..c77ead31a 100644
--- a/1995/cdua/index.html
+++ b/1995/cdua/index.html
@@ -416,10 +416,10 @@
← 1994/westley
↑ 1995 ↑
1995/dodsond1 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -515,18 +515,18 @@ statement to solve the maze.
Primary files
-- cdua.c - entry source code
-- Makefile - entry Makefile
-- cdua.alt.c - alternate source code
-- cdua.orig.c - original source code
+- cdua.c - entry source code
+- Makefile - entry Makefile
+- cdua.alt.c - alternate source code
+- cdua.orig.c - original source code
Secondary files
- 1995_cdua.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -594,7 +594,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1995/dodsond1/index.html b/1995/dodsond1/index.html
index 7341db67d..444e80ea1 100644
--- a/1995/dodsond1/index.html
+++ b/1995/dodsond1/index.html
@@ -416,10 +416,10 @@
← 1995/cdua
↑ 1995 ↑
1995/dodsond2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -495,19 +495,19 @@ code being inside the ()’s of one of the 6 orfa loop
Primary files
-- dodsond1.c - entry source code
-- Makefile - entry Makefile
-- dodsond1.orig.c - original source code
-- try.sh - script to try entry
+- dodsond1.c - entry source code
+- Makefile - entry Makefile
+- dodsond1.orig.c - original source code
+- try.sh - script to try entry
- try.this.txt - input file used by try.sh
Secondary files
- 1995_dodsond1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -575,7 +575,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1995/dodsond2/index.html b/1995/dodsond2/index.html
index 1c4037e94..391df98ea 100644
--- a/1995/dodsond2/index.html
+++ b/1995/dodsond2/index.html
@@ -416,10 +416,10 @@
← 1995/dodsond1
↑ 1995 ↑
1995/esde →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -484,17 +484,17 @@ in an unknown labyrinth, areas which you have not visited cannot be seen.
Primary files
-- dodsond2.c - entry source code
-- Makefile - entry Makefile
-- dodsond2.orig.c - original source code
+- dodsond2.c - entry source code
+- Makefile - entry Makefile
+- dodsond2.orig.c - original source code
Secondary files
- 1995_dodsond2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -562,7 +562,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1995/esde/index.html b/1995/esde/index.html
index 96a1bbee6..538a395f2 100644
--- a/1995/esde/index.html
+++ b/1995/esde/index.html
@@ -416,10 +416,10 @@
← 1995/dodsond2
↑ 1995 ↑
1995/garry →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -506,20 +506,20 @@ in each line).
Primary files
-- esde.c - entry source code
-- Makefile - entry Makefile
-- esde.orig.c - original source code
-- esde.data2 - example input file
-- esde.data - example input file
-- try.sh - script to try entry
+- esde.c - entry source code
+- Makefile - entry Makefile
+- esde.orig.c - original source code
+- esde.data2 - example input file
+- esde.data - example input file
+- try.sh - script to try entry
Secondary files
- 1995_esde.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -587,7 +587,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1995/garry/index.html b/1995/garry/index.html
index d8af331f8..1b29f1a16 100644
--- a/1995/garry/index.html
+++ b/1995/garry/index.html
@@ -416,10 +416,10 @@
← 1995/esde
↑ 1995 ↑
1995/heathbar →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -454,7 +454,7 @@ Location: DE - Federal Republic of Germ
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!
+garry.alt.c and judge for yourself!
Alternate build:
make alt
Alternate use:
@@ -463,7 +463,7 @@ left intact) looked very much like a rat “dropping core”. See
./try.alt.sh
Judges’ remarks:
The author was kind enough to provide a less obfuscated version of
-the source called garry.fmt.c.
+the source called garry.fmt.c.
Author’s remarks:
This program is a file filter, designed to do environment-expansion and
incorporating the ability to create binary from escaped data in the
@@ -510,22 +510,22 @@ variables by their binary representation, e.g.:
Primary files
-- garry.c - entry source code
-- Makefile - entry Makefile
-- garry.alt.c - alternate source code
-- garry.orig.c - original source code
-- garry.data - modified README.md for input to program
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
-- garry.fmt.c - author provided unobfuscated and formatted source code
+- garry.c - entry source code
+- Makefile - entry Makefile
+- garry.alt.c - alternate source code
+- garry.orig.c - original source code
+- garry.data - modified README.md for input to program
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
+- garry.fmt.c - author provided unobfuscated and formatted source code
Secondary files
- 1995_garry.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -593,7 +593,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1995/heathbar/index.html b/1995/heathbar/index.html
index 496d66844..6be04a026 100644
--- a/1995/heathbar/index.html
+++ b/1995/heathbar/index.html
@@ -416,10 +416,10 @@
← 1995/garry
↑ 1995 ↑
1995/leo →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -513,18 +513,18 @@ diligent effort to write especially clear code gets me extra points!
Primary files
-- heathbar.c - entry source code
-- Makefile - entry Makefile
-- heathbar.orig.c - original source code
-- try.sh - script to try entry
+- heathbar.c - entry source code
+- Makefile - entry Makefile
+- heathbar.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1995_heathbar.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -592,7 +592,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1995/index.html b/1995/index.html
index d20276ac9..6c8503d72 100644
--- a/1995/index.html
+++ b/1995/index.html
@@ -416,7 +416,7 @@
↑ top ↑
1996 →
Inventory
- ✓
+ ✓
@@ -634,7 +634,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1995/leo/index.html b/1995/leo/index.html
index 4f51fb4de..760289a7c 100644
--- a/1995/leo/index.html
+++ b/1995/leo/index.html
@@ -416,10 +416,10 @@
← 1995/heathbar
↑ 1995 ↑
1995/makarios →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -626,20 +626,20 @@ just try to understand the program via the source.
Primary files
-- leo.c - entry source code
-- Makefile - entry Makefile
-- leo.orig.c - original source code
+- leo.c - entry source code
+- Makefile - entry Makefile
+- leo.orig.c - original source code
- secret.html - web page with the secret switch
-- try.sh - script to try entry
+- try.sh - script to try entry
Secondary files
- 1995_leo.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
-- secret.md - markdown source for secret.html
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
+- secret.md - markdown source for secret.html
- index.html - this web page
@@ -707,7 +707,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1995/leo/secret.html b/1995/leo/secret.html
index c9eb76d38..4d0a0fe16 100644
--- a/1995/leo/secret.html
+++ b/1995/leo/secret.html
@@ -413,7 +413,7 @@
@@ -501,7 +501,7 @@
diff --git a/1995/makarios/index.html b/1995/makarios/index.html
index bcf535c0f..d7eae4709 100644
--- a/1995/makarios/index.html
+++ b/1995/makarios/index.html
@@ -416,10 +416,10 @@
← 1995/leo
↑ 1995 ↑
1995/savastio →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -485,17 +485,17 @@ of prime palindromes (palindromic in base 8, of course).
Primary files
-- makarios.c - entry source code
-- Makefile - entry Makefile
-- makarios.orig.c - original source code
+- makarios.c - entry source code
+- Makefile - entry Makefile
+- makarios.orig.c - original source code
Secondary files
- 1995_makarios.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -563,7 +563,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1995/savastio/index.html b/1995/savastio/index.html
index 7ec7e6386..b3eb96825 100644
--- a/1995/savastio/index.html
+++ b/1995/savastio/index.html
@@ -416,10 +416,10 @@
← 1995/makarios
↑ 1995 ↑
1995/schnitzi →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -509,18 +509,18 @@ time management studies and the factorial arts.
Primary files
-- savastio.c - entry source code
-- Makefile - entry Makefile
-- savastio.orig.c - original source code
-- try.sh - script to try entry
+- savastio.c - entry source code
+- Makefile - entry Makefile
+- savastio.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1995_savastio.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -588,7 +588,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1995/schnitzi/index.html b/1995/schnitzi/index.html
index 60361d226..6ee0ab244 100644
--- a/1995/schnitzi/index.html
+++ b/1995/schnitzi/index.html
@@ -416,10 +416,10 @@
← 1995/savastio
↑ 1995 ↑
1995/spinellis →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -485,18 +485,18 @@ amounts to doing a fork bomb on your machine!
Primary files
-- schnitzi.c - entry source code
-- Makefile - entry Makefile
-- schnitzi.orig.c - original source code
-- try.sh - script to try entry
+- schnitzi.c - entry source code
+- Makefile - entry Makefile
+- schnitzi.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1995_schnitzi.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -564,7 +564,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1995/spinellis/index.html b/1995/spinellis/index.html
index b421e324f..f35ed48fb 100644
--- a/1995/spinellis/index.html
+++ b/1995/spinellis/index.html
@@ -416,10 +416,10 @@
← 1995/schnitzi
↑ 1995 ↑
1995/vanschnitz →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -485,17 +485,17 @@ the rules?
Primary files
-- spinellis.c - entry source code
-- Makefile - entry Makefile
-- spinellis.orig.c - original source code
+- spinellis.c - entry source code
+- Makefile - entry Makefile
+- spinellis.orig.c - original source code
Secondary files
- 1995_spinellis.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -563,7 +563,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1995/vanschnitz/index.html b/1995/vanschnitz/index.html
index 21bb49b5b..9ece80ab0 100644
--- a/1995/vanschnitz/index.html
+++ b/1995/vanschnitz/index.html
@@ -416,10 +416,10 @@
← 1995/spinellis
↑ 1995 ↑
1996/august →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -470,7 +470,7 @@ just try to understand the program without looking at the Alternate code.
Alternate code:
The authors provided unobfuscated version of the program. Originally uuencoded
we have decoded it for the wider audience in
-vanschnitz.alt.c.
+vanschnitz.alt.c.
They encourage you to first try and figure out the program without reading the
deobfuscated version.
Alternate build:
@@ -526,7 +526,7 @@ the resulting program (on a Unix system) is to do the command
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 deobfuscated version of the program, with
+
We have included a deobfuscated version of the program, with
meaningful symbol names and comments, but we encourage you
to try to decipher the program without it…
@@ -489,7 +489,7 @@ syntax). Arrays can only be global. There is a rather limited set
of operators, and control constructs.
The compiler has absolutely no error checking, so things
can go wrong. But this is what seasoned C programmers are used to.
-Assume that the interpreter has been compiled (source in august.c
+
Assume that the interpreter has been compiled (source in august.c
and binary in august) and that we have this in a file named test.oc:
main() { putchar('!'); putchar('\n'); exit(0); }
We can then compile by
@@ -498,13 +498,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
@@ -629,21 +629,21 @@ defined. getchar() and putchar() are predefined functi
Primary files
-- august.c - entry source code
-- Makefile - entry Makefile
-- august.orig.c - original source code
-- fac.oc - oc source
-- parse.oc - oc source
-- test.oc - oc source
-- try.sh - script to try entry
+- august.c - entry source code
+- Makefile - entry Makefile
+- august.orig.c - original source code
+- fac.oc - oc source
+- parse.oc - oc source
+- test.oc - oc source
+- try.sh - script to try entry
Secondary files
- 1996_august.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -711,7 +711,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1996/dalbec/index.html b/1996/dalbec/index.html
index 9f29a5d0d..e966e8bd8 100644
--- a/1996/dalbec/index.html
+++ b/1996/dalbec/index.html
@@ -416,10 +416,10 @@
← 1996/august
↑ 1996 ↑
1996/eldby →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -510,18 +510,18 @@ where a==0.
Primary files
-- dalbec.c - entry source code
-- Makefile - entry Makefile
-- dalbec.orig.c - original source code
-- try.sh - script to try entry
+- dalbec.c - entry source code
+- Makefile - entry Makefile
+- dalbec.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1996_dalbec.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -589,7 +589,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1996/eldby/index.html b/1996/eldby/index.html
index aa90cd48f..5cc0472c4 100644
--- a/1996/eldby/index.html
+++ b/1996/eldby/index.html
@@ -416,10 +416,10 @@
← 1996/dalbec
↑ 1996 ↑
1996/gandalf →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -499,18 +499,18 @@ must be VT100 or better with 80 columns and 24 rows or more.
Primary files
-- eldby.c - entry source code
-- Makefile - entry Makefile
-- eldby.alt.c - alternate source code
-- eldby.orig.c - original source code
+- eldby.c - entry source code
+- Makefile - entry Makefile
+- eldby.alt.c - alternate source code
+- eldby.orig.c - original source code
Secondary files
- 1996_eldby.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -578,7 +578,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1996/gandalf/index.html b/1996/gandalf/index.html
index 9a5bfef78..088cb52ce 100644
--- a/1996/gandalf/index.html
+++ b/1996/gandalf/index.html
@@ -416,10 +416,10 @@
← 1996/eldby
↑ 1996 ↑
1996/huffman →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -491,18 +491,18 @@ you too?
Primary files
-- gandalf.c - entry source code
-- Makefile - entry Makefile
-- gandalf.orig.c - original source code
-- try.sh - script to try entry
+- gandalf.c - entry source code
+- Makefile - entry Makefile
+- gandalf.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1996_gandalf.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -570,7 +570,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1996/huffman/index.html b/1996/huffman/index.html
index 6ab5dc4fd..a8695715a 100644
--- a/1996/huffman/index.html
+++ b/1996/huffman/index.html
@@ -416,10 +416,10 @@
← 1996/gandalf
↑ 1996 ↑
1996/jonth →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -502,18 +502,18 @@ to the executable.
Primary files
-- huffman.c - entry source code
-- Makefile - entry Makefile
-- huffman.orig.c - original source code
-- try.sh - script to try entry
+- huffman.c - entry source code
+- Makefile - entry Makefile
+- huffman.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1996_huffman.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -581,7 +581,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1996/index.html b/1996/index.html
index d2ef6cdbf..b2ba6c058 100644
--- a/1996/index.html
+++ b/1996/index.html
@@ -416,7 +416,7 @@
↑ top ↑
1998 →
Inventory
- ✓
+ ✓
@@ -591,7 +591,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1996/jonth/index.html b/1996/jonth/index.html
index d123cabbd..11d5de6b6 100644
--- a/1996/jonth/index.html
+++ b/1996/jonth/index.html
@@ -416,10 +416,10 @@
← 1996/huffman
↑ 1996 ↑
1996/rcm →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -502,17 +502,17 @@ give two display arguments (./jonth host:0 host:0).
Primary files
-- jonth.c - entry source code
-- Makefile - entry Makefile
-- jonth.orig.c - original source code
+- jonth.c - entry source code
+- Makefile - entry Makefile
+- jonth.orig.c - original source code
Secondary files
- 1996_jonth.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -580,7 +580,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1996/rcm/index.html b/1996/rcm/index.html
index 2ed6e1018..9184413ea 100644
--- a/1996/rcm/index.html
+++ b/1996/rcm/index.html
@@ -416,10 +416,10 @@
← 1996/jonth
↑ 1996 ↑
1996/schweikh1 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -455,7 +455,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
+
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:
@@ -519,18 +519,18 @@ bytes.”
Primary files
-- rcm.c - entry source code
-- Makefile - entry Makefile
-- rcm.orig.c - original source code
-- try.sh - script to try entry
+- rcm.c - entry source code
+- Makefile - entry Makefile
+- rcm.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1996_rcm.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- rfc1951.gz - RFC 1951 gzipped
- rfc1952.gz - RFC 1952 gzipped
- index.html - this web page
@@ -600,7 +600,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1996/schweikh1/index.html b/1996/schweikh1/index.html
index ec9713832..85aaddd56 100644
--- a/1996/schweikh1/index.html
+++ b/1996/schweikh1/index.html
@@ -416,10 +416,10 @@
← 1996/rcm
↑ 1996 ↑
1996/schweikh2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -561,19 +561,19 @@ problems on other systems.
Primary files
-- schweikh1.c - entry source code
-- Makefile - entry Makefile
-- schweikh1.orig.c - original source code
-- errno.h - declare errno as an extern int
-- try.sh - script to try entry
+- schweikh1.c - entry source code
+- Makefile - entry Makefile
+- schweikh1.orig.c - original source code
+- errno.h - declare errno as an extern int
+- try.sh - script to try entry
Secondary files
- 1996_schweikh1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -641,7 +641,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1996/schweikh2/index.html b/1996/schweikh2/index.html
index fcf2a9e8a..3e809ef3b 100644
--- a/1996/schweikh2/index.html
+++ b/1996/schweikh2/index.html
@@ -416,10 +416,10 @@
← 1996/schweikh1
↑ 1996 ↑
1996/schweikh3 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -462,18 +462,18 @@ 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
perl ./hunni.pl < hunni.c
-NOTE: the try.sh script does this if you have
+
NOTE: the try.sh script does this if you have
perl(1) installed to show how the output is the same as
-schweikh2.c itself.
+schweikh2.c itself.
This entry was another crowd pleaser at the IOCCC
BOF.
Author’s remarks:
@@ -573,20 +573,20 @@ For a nice printout try this on your Bourne compatible shell:
Primary files
-- schweikh2.c - entry source code
-- Makefile - entry Makefile
-- schweikh2.orig.c - original source code
-- hunni.c - original slightly obfuscated source
-- hunni.pl - perl script to obfuscate original code hunni.c
-- try.sh - script to try entry
+- schweikh2.c - entry source code
+- Makefile - entry Makefile
+- schweikh2.orig.c - original source code
+- hunni.c - original slightly obfuscated source
+- hunni.pl - perl script to obfuscate original code hunni.c
+- try.sh - script to try entry
Secondary files
- 1996_schweikh2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -654,7 +654,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1996/schweikh3/index.html b/1996/schweikh3/index.html
index adede3d88..c0d0e889b 100644
--- a/1996/schweikh3/index.html
+++ b/1996/schweikh3/index.html
@@ -416,10 +416,10 @@
← 1996/schweikh2
↑ 1996 ↑
1996/westley →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -455,7 +455,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
@@ -533,7 +533,7 @@ situation and effectively halts.
I had the pleasure and pain to find all three behaviours on the
platforms I use regularly.
-The file schweikh3.info has output for
+
The file schweikh3.info has output for
Solaris, FreeBSD and Linux. The Linux case is interesting in that
the behaviour changes when calloc(3) is used instead of malloc(3).
For FreeBSD, the last two lines are not messages stemming from
@@ -580,18 +580,18 @@ minute or so.
Primary files
-- schweikh3.c - entry source code
-- Makefile - entry Makefile
-- schweikh3.orig.c - original source code
-- schweikh3.info - example output from various systems
+- schweikh3.c - entry source code
+- Makefile - entry Makefile
+- schweikh3.orig.c - original source code
+- schweikh3.info - example output from various systems
Secondary files
- 1996_schweikh3.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -659,7 +659,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1996/westley/index.html b/1996/westley/index.html
index e23022519..a112d35df 100644
--- a/1996/westley/index.html
+++ b/1996/westley/index.html
@@ -416,10 +416,10 @@
← 1996/schweikh3
↑ 1996 ↑
1998/banks →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -473,9 +473,9 @@ understand it.
the ASCII clock is built from the command line arguments, so many different
types of clocks can be generated. Three different scripts are supplied to print
out a grandfather clock, a mantle clock that runs backwards, and a linear-style
-clock. (they are clock1.sh,
-clock2.sh, and
-clock3.sh.
+clock. (they are clock1.sh,
+clock2.sh, and
+clock3.sh.
The program makes the following (possibly non-portable) assumptions:
Command line strings can be written to.
@@ -534,23 +534,23 @@ position. It won’t move until both hands click over at 4:00.
Primary files
-- westley.c - entry source code
-- Makefile - entry Makefile
-- westley.alt.c - alternate source code
-- westley.orig.c - original source code
-- clock1.sh - script to try first clock
-- clock2.sh - script to try second clock
-- clock3.sh - script to try third clock
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
+- westley.c - entry source code
+- Makefile - entry Makefile
+- westley.alt.c - alternate source code
+- westley.orig.c - original source code
+- clock1.sh - script to try first clock
+- clock2.sh - script to try second clock
+- clock3.sh - script to try third clock
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
Secondary files
- 1996_westley.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -618,7 +618,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1998/banks/index.html b/1998/banks/index.html
index ab5cc6f1d..18fcf8bc4 100644
--- a/1998/banks/index.html
+++ b/1998/banks/index.html
@@ -416,10 +416,10 @@
← 1996/westley
↑ 1998 ↑
1998/bas1 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -467,7 +467,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:
@@ -476,7 +476,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.
@@ -578,21 +578,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:
@@ -611,7 +611,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
@@ -670,24 +670,24 @@ flicker.
Primary files
-- banks.c - entry source code
-- Makefile - entry Makefile
-- banks.orig.c - original source code
-- keysym.h - header file to help identify some key symbols
-- bb.sc - scenery file
-- horizon.sc - scenery file
-- mountains.sc - scenery file
-- pittsburgh.sc - scenery file
-- pyramids.sc - scenery file
-- river.sc - scenery file
+- banks.c - entry source code
+- Makefile - entry Makefile
+- banks.orig.c - original source code
+- keysym.h - header file to help identify some key symbols
+- bb.sc - scenery file
+- horizon.sc - scenery file
+- mountains.sc - scenery file
+- pittsburgh.sc - scenery file
+- pyramids.sc - scenery file
+- river.sc - scenery file
Secondary files
- 1998_banks.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -755,7 +755,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1998/bas1/index.html b/1998/bas1/index.html
index 6fa2e7c16..3298bc8b7 100644
--- a/1998/bas1/index.html
+++ b/1998/bas1/index.html
@@ -416,10 +416,10 @@
← 1998/banks
↑ 1998 ↑
1998/bas2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -512,18 +512,18 @@ command line arguments.)
Primary files
-- bas1.c - entry source code
-- Makefile - entry Makefile
-- bas1.orig.c - original source code
-- bas1.sh - script to run entry
+- bas1.c - entry source code
+- Makefile - entry Makefile
+- bas1.orig.c - original source code
+- bas1.sh - script to run entry
Secondary files
- 1998_bas1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -591,7 +591,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1998/bas2/index.html b/1998/bas2/index.html
index a5dcbb69d..60fd055df 100644
--- a/1998/bas2/index.html
+++ b/1998/bas2/index.html
@@ -416,10 +416,10 @@
← 1998/bas1
↑ 1998 ↑
1998/chaos →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -502,18 +502,18 @@ the character).
Primary files
-- bas2.c - entry source code
-- Makefile - entry Makefile
-- bas2.orig.c - original source code
-- try.sh - script to try entry
+- bas2.c - entry source code
+- Makefile - entry Makefile
+- bas2.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1998_bas2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -581,7 +581,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1998/chaos/index.html b/1998/chaos/index.html
index 5a43701b5..7c031df32 100644
--- a/1998/chaos/index.html
+++ b/1998/chaos/index.html
@@ -416,10 +416,10 @@
← 1998/bas2
↑ 1998 ↑
1998/df →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -525,23 +525,23 @@ happier.
Primary files
-- chaos.c - entry source code
-- Makefile - entry Makefile
-- chaos.orig.c - original source code
-- try.sh - script to try entry
-- cube.data - data file for cube 3d object
-- desk.data - data file for desk 3d object
-- ioccc.data - data file for IOCCC 3d object
-- pyramid.data - data file for pyramid 3d object
-- xwing.data - data file for X-Wing 3d object
+- chaos.c - entry source code
+- Makefile - entry Makefile
+- chaos.orig.c - original source code
+- try.sh - script to try entry
+- cube.data - data file for cube 3d object
+- desk.data - data file for desk 3d object
+- ioccc.data - data file for IOCCC 3d object
+- pyramid.data - data file for pyramid 3d object
+- xwing.data - data file for X-Wing 3d object
Secondary files
- 1998_chaos.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -609,7 +609,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1998/df/index.html b/1998/df/index.html
index 1e12faac5..18ee32851 100644
--- a/1998/df/index.html
+++ b/1998/df/index.html
@@ -416,10 +416,10 @@
← 1998/chaos
↑ 1998 ↑
1998/dlowe →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -590,18 +590,18 @@ different.
Primary files
-- df.c - entry source code
-- Makefile - entry Makefile
-- df.orig.c - original source code
-- try.sh - script to try entry
+- df.c - entry source code
+- Makefile - entry Makefile
+- df.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1998_df.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -669,7 +669,7 @@ Jump to: top
diff --git a/1998/dlowe/index.html b/1998/dlowe/index.html
index 05b3677d6..242ff06de 100644
--- a/1998/dlowe/index.html
+++ b/1998/dlowe/index.html
@@ -416,10 +416,10 @@
← 1998/df
↑ 1998 ↑
1998/dloweneil →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -507,16 +507,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
@@ -562,22 +562,22 @@ run perl4 programs after they’ve been run through it; “encrypt
Primary files
-- dlowe.c - entry source code
-- Makefile - entry Makefile
-- dlowe.alt.c - alternate source code
-- dlowe.orig.c - original source code
-- pootify.cgi.sh - pootify CGI script
-- pootify.sh - pootify script
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
+- dlowe.c - entry source code
+- Makefile - entry Makefile
+- dlowe.alt.c - alternate source code
+- dlowe.orig.c - original source code
+- pootify.cgi.sh - pootify CGI script
+- pootify.sh - pootify script
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
Secondary files
- 1998_dlowe.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -645,7 +645,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1998/dloweneil/index.html b/1998/dloweneil/index.html
index cc21cd5a8..d4d7da46a 100644
--- a/1998/dloweneil/index.html
+++ b/1998/dloweneil/index.html
@@ -416,10 +416,10 @@
← 1998/dlowe
↑ 1998 ↑
1998/dorssel →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -584,18 +584,18 @@ places.
Primary files
-- dloweneil.c - entry source code
-- Makefile - entry Makefile
-- dloweneil.alt.c - alternate source code
-- dloweneil.orig.c - original source code
+- dloweneil.c - entry source code
+- Makefile - entry Makefile
+- dloweneil.alt.c - alternate source code
+- dloweneil.orig.c - original source code
Secondary files
- 1998_dloweneil.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -663,7 +663,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1998/dorssel/dorssel.html b/1998/dorssel/dorssel.html
index 57745e531..c584ec99d 100644
--- a/1998/dorssel/dorssel.html
+++ b/1998/dorssel/dorssel.html
@@ -413,7 +413,7 @@
@@ -590,7 +590,7 @@ declaration is correct (int argument, int result). Thi
6) on code that was correct !
lclint 2.4b thinks that “the observer is modified” a couple of times,
whereas it is not. Well, it is, but there is a sequence point in between.
-lclint 2.4b parses line 13 as <error>, whereas it is correct code.
+lclint 2.4b parses line 13 as <error>, whereas it is correct code.
lclint 2.4b is positive the second while loop is infinite, whereas it is
not.
@@ -673,7 +673,7 @@ not.
diff --git a/1998/dorssel/index.html b/1998/dorssel/index.html
index dbc81efc6..e84e163b7 100644
--- a/1998/dorssel/index.html
+++ b/1998/dorssel/index.html
@@ -416,10 +416,10 @@
← 1998/dloweneil
↑ 1998 ↑
1998/fanf →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -468,7 +468,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
@@ -542,20 +542,20 @@ understand this program.
Primary files
-- dorssel.c - entry source code
-- Makefile - entry Makefile
-- dorssel.orig.c - original source code
+- dorssel.c - entry source code
+- Makefile - entry Makefile
+- dorssel.orig.c - original source code
- dorssel.html - author’s description of entry
-- try.sh - script to try entry
+- try.sh - script to try entry
Secondary files
- 1998_dorssel.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- dorssel.md - markdown source for dorssel.html
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- dorssel.md - markdown source for dorssel.html
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -623,7 +623,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1998/fanf/index.html b/1998/fanf/index.html
index b45d45e33..438924805 100644
--- a/1998/fanf/index.html
+++ b/1998/fanf/index.html
@@ -416,10 +416,10 @@
← 1998/dorssel
↑ 1998 ↑
1998/schnitzi →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -455,7 +455,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
@@ -463,9 +463,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:
@@ -752,19 +752,19 @@ International Logic Programming Symposium, 1995.
Primary files
-- fanf.c - entry source code
-- Makefile - entry Makefile
-- fanf.orig.c - original source code
-- try.sh - script to try entry
-- fanf.lambda - lambda expressions
+- fanf.c - entry source code
+- Makefile - entry Makefile
+- fanf.orig.c - original source code
+- try.sh - script to try entry
+- fanf.lambda - lambda expressions
Secondary files
- 1998_fanf.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -832,7 +832,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1998/index.html b/1998/index.html
index f16a8c0fc..ed86f8cd2 100644
--- a/1998/index.html
+++ b/1998/index.html
@@ -416,7 +416,7 @@
↑ top ↑
2000 →
Inventory
- ✓
+ ✓
@@ -626,7 +626,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1998/schnitzi/index.html b/1998/schnitzi/index.html
index a8f40fe42..770156471 100644
--- a/1998/schnitzi/index.html
+++ b/1998/schnitzi/index.html
@@ -416,10 +416,10 @@
← 1998/fanf
↑ 1998 ↑
1998/schweikh1 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -497,7 +497,7 @@ word contains the letter e.
The IOCCC has been no stranger to this concept. Several winning entries from
years past have accomplished interesting feats while completely avoiding the use
of certain C constructs thought to be essential (e.g.,
-1988/robison.c file). If you have to ask
+1988/robison.c file). If you have to ask
why they would do it this way, then this contest just isn’t for you.
In continuing with this fine tradition, this program suggests to the ANSI
committee some new practical simplifications for the C language. For instance,
@@ -557,18 +557,18 @@ other functions all the time. Or, almost all the time.
Primary files
-- schnitzi.c - entry source code
-- Makefile - entry Makefile
-- schnitzi.orig.c - original source code
-- try.sh - script to try entry
+- schnitzi.c - entry source code
+- Makefile - entry Makefile
+- schnitzi.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1998_schnitzi.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -636,7 +636,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1998/schweikh1/index.html b/1998/schweikh1/index.html
index 82121757d..019132d9d 100644
--- a/1998/schweikh1/index.html
+++ b/1998/schweikh1/index.html
@@ -416,10 +416,10 @@
← 1998/schnitzi
↑ 1998 ↑
1998/schweikh2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -509,7 +509,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
+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
@@ -614,7 +614,7 @@ something new – after 14 years of IOCCC. Be sure to have enough paper in your
printer when you make a hard copy of the source…
While I’m at it, the rules state that only space, tab and newline
are ignored for the count (plus ‘{’, ‘}’, ‘;’ followed by
-whitespace). The mkentry.c program, however, uses isspace(3) which
+whitespace). The mkentry.c program, however, uses isspace(3) which
returns nonzero for \v and \f and other characters as well.
I could have used a lot more ^K and ^L probably undetected by your
counter but decided to err on the side of safety. I use a perl
@@ -663,22 +663,22 @@ That describes exactly my modest attempts…
Primary files
-- schweikh1.c - entry source code
-- Makefile - entry Makefile
-- schweikh1.alt.c - alternate source code
-- schweikh1.orig.c - original source code
-- charcount.pl - character counter in perl
+- schweikh1.c - entry source code
+- Makefile - entry Makefile
+- schweikh1.alt.c - alternate source code
+- schweikh1.orig.c - original source code
+- charcount.pl - character counter in perl
- macos.html - explains how this entry was fixed to work with macOS
-- info - file for C standards conformance test
+- info - file for C standards conformance test
Secondary files
- 1998_schweikh1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- macos.md - markdown source for macos.html
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- macos.md - markdown source for macos.html
+- .path - directory path from top level directory
- index.html - this web page
@@ -746,7 +746,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1998/schweikh1/macos.html b/1998/schweikh1/macos.html
index 5ba69b3fd..a171b123d 100644
--- a/1998/schweikh1/macos.html
+++ b/1998/schweikh1/macos.html
@@ -413,7 +413,7 @@
@@ -455,10 +455,10 @@ the entry, the alternate version has also removed this limitation despite
existing (though it’s clang) in macOS; instead it is cc.
How this entry works (the magic):
Now as far as how this works if you look at the code of
-schweikh1.c, on line
+schweikh1.c, on line
55 you’ll see a funny command
-(this goes for the alternate
-version, also on line
+(this goes for the alternate
+version, also on line
55, but the command is necessarily
different).
Now the key is two magic numbers, one (two times) on a different line shortly below the
@@ -559,7 +559,7 @@ can be found in the alternate code and the explanation is the same.
diff --git a/1998/schweikh2/index.html b/1998/schweikh2/index.html
index c73e422ae..7b34cde22 100644
--- a/1998/schweikh2/index.html
+++ b/1998/schweikh2/index.html
@@ -416,10 +416,10 @@
← 1998/schweikh1
↑ 1998 ↑
1998/schweikh3 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -622,18 +622,18 @@ Type yarng and watch Him roll.
Primary files
-- schweikh2.c - entry source code
-- Makefile - entry Makefile
-- schweikh2.orig.c - original source code
-- try.sh - script to try entry
+- schweikh2.c - entry source code
+- Makefile - entry Makefile
+- schweikh2.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 1998_schweikh2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -701,7 +701,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1998/schweikh3/index.html b/1998/schweikh3/index.html
index fc753908c..c30a4b9a4 100644
--- a/1998/schweikh3/index.html
+++ b/1998/schweikh3/index.html
@@ -416,10 +416,10 @@
← 1998/schweikh2
↑ 1998 ↑
1998/tomtorfs →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -449,7 +449,7 @@ Location: DE - Federal Republic of Germ
The author stated:
In the remote event that the input has more than 8192 files with the same
-size (on systems where sizeof (char *) == 4, or 4096 when sizeof (char *) == 8), increase the manifest constant 32767 on line
+size (on systems where sizeof (char *) == 4, or 4096 when sizeof (char *) == 8), increase the manifest constant 32767 on line
31.
An alternate version allows one to fix this; see Alternate
@@ -485,7 +485,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
+be found in the file samefile.1. To
render try:
`man ./samefile.1
Otherwise:
@@ -628,21 +628,21 @@ the same size (on systems where sizeof (char *) == 4, or 4096
Primary files
-- schweikh3.c - entry source code
-- Makefile - entry Makefile
-- schweikh3.alt.c - alternate source code
-- schweikh3.orig.c - original source code
-- samefile.1.dupe - copy of samefile man page
-- samefile.1 - samefile man page
-- try.sh - script to try entry
+- schweikh3.c - entry source code
+- Makefile - entry Makefile
+- schweikh3.alt.c - alternate source code
+- schweikh3.orig.c - original source code
+- samefile.1.dupe - copy of samefile man page
+- samefile.1 - samefile man page
+- try.sh - script to try entry
Secondary files
- 1998_schweikh3.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -710,7 +710,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/1998/tomtorfs/index.html b/1998/tomtorfs/index.html
index c91581510..6f1648095 100644
--- a/1998/tomtorfs/index.html
+++ b/1998/tomtorfs/index.html
@@ -416,10 +416,10 @@
← 1998/schweikh3
↑ 1998 ↑
2000/anderson →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -628,19 +628,19 @@ for writing this. You can find it in crc.txt.
Primary files
-- tomtorfs.c - entry source code
-- Makefile - entry Makefile
-- tomtorfs.orig.c - original source code
-- try.sh - script to try entry
+- tomtorfs.c - entry source code
+- Makefile - entry Makefile
+- tomtorfs.orig.c - original source code
+- try.sh - script to try entry
- crc.txt - painless guide to CRC algorithms
Secondary files
- 1998_tomtorfs.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -708,7 +708,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2000/anderson/index.html b/2000/anderson/index.html
index 9ab693f06..691c25553 100644
--- a/2000/anderson/index.html
+++ b/2000/anderson/index.html
@@ -416,10 +416,10 @@
← 1998/tomtorfs
↑ 2000 ↑
2000/bellard →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -531,18 +531,18 @@ source file.
Primary files
-- anderson.c - entry source code
-- Makefile - entry Makefile
-- anderson.orig.c - original source code
-- try.sh - script to try entry
+- anderson.c - entry source code
+- Makefile - entry Makefile
+- anderson.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2000_anderson.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -610,7 +610,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2000/bellard/index.html b/2000/bellard/index.html
index ac3502784..bb190ac9a 100644
--- a/2000/bellard/index.html
+++ b/2000/bellard/index.html
@@ -416,10 +416,10 @@
← 2000/anderson
↑ 2000 ↑
2000/bmeyer →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -487,17 +487,17 @@ system with a gcc compiler.
Primary files
-- bellard.c - entry source code
-- Makefile - entry Makefile
-- bellard.orig.c - original source code
+- bellard.c - entry source code
+- Makefile - entry Makefile
+- bellard.orig.c - original source code
Secondary files
- 2000_bellard.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -565,7 +565,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2000/bmeyer/index.html b/2000/bmeyer/index.html
index 4a5c7a451..d4a8ef1f3 100644
--- a/2000/bmeyer/index.html
+++ b/2000/bmeyer/index.html
@@ -416,10 +416,10 @@
← 2000/bellard
↑ 2000 ↑
2000/briddlebane →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -476,7 +476,7 @@ chance to produce portable files, but due to the resulting
double-rounding (first internally set to 80 bit, then to 64 bit
on writing the value to memory), there is a small but very real
chance any given file produced might not be portable.
-The Makefile defaults to -O3 and no asm() call.
+The Makefile defaults to -O3 and no asm() call.
Author’s remarks:
This program is called GLICBAWLS
Function
@@ -721,21 +721,21 @@ guarantee decoding within the requested maximum error.Primary files
-- bmeyer.c - entry source code
-- Makefile - entry Makefile
-- bmeyer.orig.c - original source code
+- bmeyer.c - entry source code
+- Makefile - entry Makefile
+- bmeyer.orig.c - original source code
- lavabus.pgm - Kilauea volcano bus trapped in lava
- michael.pgm - image of author’s godchild and nephew
-- try.sh - script to try entry
+- try.sh - script to try entry
- lenna.glic - P10 scan of 1972 Playboy centerfold
Secondary files
- 2000_bmeyer.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -803,7 +803,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2000/briddlebane/index.html b/2000/briddlebane/index.html
index ebecc3abb..a71eba9ac 100644
--- a/2000/briddlebane/index.html
+++ b/2000/briddlebane/index.html
@@ -416,10 +416,10 @@
← 2000/bmeyer
↑ 2000 ↑
2000/dhyang →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -509,18 +509,18 @@ it. One of the real mysteries involves the numbers 114 and
Primary files
-- briddlebane.c - entry source code
-- Makefile - entry Makefile
-- briddlebane.orig.c - original source code
-- try.sh - script to try entry
+- briddlebane.c - entry source code
+- Makefile - entry Makefile
+- briddlebane.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2000_briddlebane.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -588,7 +588,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2000/dhyang/index.html b/2000/dhyang/index.html
index 1a9eb1097..d0a24f623 100644
--- a/2000/dhyang/index.html
+++ b/2000/dhyang/index.html
@@ -416,10 +416,10 @@
← 2000/briddlebane
↑ 2000 ↑
2000/dlowe →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -463,18 +463,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).
@@ -723,18 +723,18 @@ DEC Tru64 5.0+, again according to the Perl people.
Primary files
-- dlowe.c - entry source code
-- Makefile - entry Makefile
-- dlowe.orig.c - original source code
-- try.sh - script to try entry
+- dlowe.c - entry source code
+- Makefile - entry Makefile
+- dlowe.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2000_dlowe.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -802,7 +802,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2000/index.html b/2000/index.html
index 76ffc8a79..ae1b5f568 100644
--- a/2000/index.html
+++ b/2000/index.html
@@ -416,7 +416,7 @@
↑ top ↑
2001 →
Inventory
- ✓
+ ✓
@@ -595,7 +595,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2000/jarijyrki/index.html b/2000/jarijyrki/index.html
index 05f9b362d..ef60c98fc 100644
--- a/2000/jarijyrki/index.html
+++ b/2000/jarijyrki/index.html
@@ -416,10 +416,10 @@
← 2000/dlowe
↑ 2000 ↑
2000/natori →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -725,18 +725,18 @@ currently.
Primary files
-- jarijyrki.c - entry source code
-- Makefile - entry Makefile
-- jarijyrki.orig.c - original source code
+- jarijyrki.c - entry source code
+- Makefile - entry Makefile
+- jarijyrki.orig.c - original source code
Secondary files
- 2000_jarijyrki.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
- finance.sheet - example spreadsheet file
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -804,7 +804,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2000/natori/index.html b/2000/natori/index.html
index 0c319fdf5..c9ff3fb20 100644
--- a/2000/natori/index.html
+++ b/2000/natori/index.html
@@ -416,10 +416,10 @@
← 2000/jarijyrki
↑ 2000 ↑
2000/primenum →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -475,7 +475,7 @@ differences?
versions? Or are there any?
Alternate try:
./try.alt.sh
-Like with try.sh, try using this multiple times in a row or throughout
+
Like with try.sh, try using this multiple times in a row or throughout
the day on different days (if different phases of the Moon you’ll see more of a
difference, of course).
NOTE: if it’s a Full Moon the script won’t look as nice.
@@ -518,20 +518,20 @@ into acos(-l/2).
Primary files
-- natori.c - entry source code
-- Makefile - entry Makefile
-- natori.alt.c - alternate source code
-- natori.orig.c - original source code
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
+- natori.c - entry source code
+- Makefile - entry Makefile
+- natori.alt.c - alternate source code
+- natori.orig.c - original source code
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
Secondary files
- 2000_natori.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -599,7 +599,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2000/primenum/index.html b/2000/primenum/index.html
index 1cb48003c..1da1129c7 100644
--- a/2000/primenum/index.html
+++ b/2000/primenum/index.html
@@ -416,10 +416,10 @@
← 2000/natori
↑ 2000 ↑
2000/rince →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -538,18 +538,18 @@ number front. But ye be warned: “not a11 variab1es1es are identica1” :-)
Primary files
-- primenum.c - entry source code
-- Makefile - entry Makefile
-- primenum.orig.c - original source code
-- try.sh - script to try entry
+- primenum.c - entry source code
+- Makefile - entry Makefile
+- primenum.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2000_primenum.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -617,7 +617,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2000/rince/index.html b/2000/rince/index.html
index c188d2481..98a574d87 100644
--- a/2000/rince/index.html
+++ b/2000/rince/index.html
@@ -416,10 +416,10 @@
← 2000/primenum
↑ 2000 ↑
2000/robison →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -489,7 +489,7 @@ Julian day number (given as a fractional component). E.g.:
A Julian day is defined to be the number of days since January 1st in the year
-4712 (4713BC), starting at 12 noon GMT.12 To aid conversion from our time
(GMT) to Julian day there is a supplementary program named:
-dmy2jd.c. Run it with day_float month year as arguments. See below
+dmy2jd.c. Run it with day_float month year as arguments. See below
for an example.
What it does
This program plots the positions of the four Galilean
@@ -732,19 +732,19 @@ Jean Meeus. Published by Willmann-Bell Inc.Primary files
-- rince.c - entry source code
-- Makefile - entry Makefile
-- rince.orig.c - original source code
-- try.sh - script to try entry
-- dmy2jd.c - supplementary program source
+- rince.c - entry source code
+- Makefile - entry Makefile
+- rince.orig.c - original source code
+- try.sh - script to try entry
+- dmy2jd.c - supplementary program source
Secondary files
- 2000_rince.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -812,7 +812,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2000/robison/index.html b/2000/robison/index.html
index 02354d683..80ca0f1e0 100644
--- a/2000/robison/index.html
+++ b/2000/robison/index.html
@@ -416,10 +416,10 @@
← 2000/rince
↑ 2000 ↑
2000/schneiderwent →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -593,17 +593,17 @@ them, in lg(N) time, depending upon a parameter.
Primary files
-- robison.c - entry source code
-- Makefile - entry Makefile
-- robison.orig.c - original source code
+- robison.c - entry source code
+- Makefile - entry Makefile
+- robison.orig.c - original source code
Secondary files
- 2000_robison.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -671,7 +671,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2000/schneiderwent/index.html b/2000/schneiderwent/index.html
index 8311b53a5..e7f4b73e4 100644
--- a/2000/schneiderwent/index.html
+++ b/2000/schneiderwent/index.html
@@ -416,10 +416,10 @@
← 2000/robison
↑ 2000 ↑
2000/thadgavin →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -475,7 +475,7 @@ keeping the program portable between different encodings
FWIW, none of the compilers with which this entry was tested issued
any warnings or errors in compiling the source for this entry. No
doubt lint will complain about the goto statements.
-The schneiderwent.data file consists of the values used by
+
The schneiderwent.data file consists of the values used by
multiple table lookups. This is simply good program design, separating these
values from the source code allows changing the behavior of the application
without recompiling.
@@ -530,19 +530,19 @@ in a normal 3270 environment.
Primary files
-- schneiderwent.c - entry source code
-- Makefile - entry Makefile
-- schneiderwent.orig.c - original source code
-- try.sh - script to try entry
-- schneiderwent.data - table lookups values
+- schneiderwent.c - entry source code
+- Makefile - entry Makefile
+- schneiderwent.orig.c - original source code
+- try.sh - script to try entry
+- schneiderwent.data - table lookups values
Secondary files
- 2000_schneiderwent.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -610,7 +610,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2000/thadgavin/index.html b/2000/thadgavin/index.html
index 15965bc04..8f5b3b37a 100644
--- a/2000/thadgavin/index.html
+++ b/2000/thadgavin/index.html
@@ -416,10 +416,10 @@
← 2000/schneiderwent
↑ 2000 ↑
2000/tomx →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -549,18 +549,18 @@ less than dazzling. We could not test this entry in DOS mode.
Primary files
-- thadgavin.c - entry source code
-- Makefile - entry Makefile
-- thadgavin.alt.c - alternate source code
-- thadgavin.orig.c - original source code
+- thadgavin.c - entry source code
+- Makefile - entry Makefile
+- thadgavin.alt.c - alternate source code
+- thadgavin.orig.c - original source code
Secondary files
- 2000_thadgavin.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -628,7 +628,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2000/tomx/index.html b/2000/tomx/index.html
index 5e79dc4a3..27a137c63 100644
--- a/2000/tomx/index.html
+++ b/2000/tomx/index.html
@@ -416,10 +416,10 @@
← 2000/thadgavin
↑ 2000 ↑
2001/anonymous →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -446,7 +446,7 @@ Location: NL - Kingdom of the Netherlan
To build:
make
-There is an alternate version that compiles mkentry.c. See
+
There is an alternate version that compiles mkentry.c. See
Alternate code.
To use:
./tomx
@@ -454,8 +454,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
@@ -502,7 +502,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
@@ -548,21 +548,21 @@ or converting tabs to spaces can be disastrous.
Primary files
-- tomx.c - entry source code
-- Makefile - entry Makefile
-- tomx.alt.c - alternate source code
-- tomx.orig.c - original source code
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
-- mkentry.c - IOCCC mkentry source code from 1998
+- tomx.c - entry source code
+- Makefile - entry Makefile
+- tomx.alt.c - alternate source code
+- tomx.orig.c - original source code
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
+- mkentry.c - IOCCC mkentry source code from 1998
Secondary files
- 2000_tomx.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -630,7 +630,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2001/anonymous/index.html b/2001/anonymous/index.html
index 112f91441..de1acc280 100644
--- a/2001/anonymous/index.html
+++ b/2001/anonymous/index.html
@@ -416,10 +416,10 @@
← 2000/tomx
↑ 2001 ↑
2001/bellard →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -447,7 +447,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
@@ -467,11 +467,11 @@ whatever your system will compile them as).
./anonymous anonymous.bed # if able to compile as a 32-bit (-m32) ELF binary
NOTE: if the 32-bit version cannot be compiled the script will at least compile
-anonymous.ten as a 64-bit program (or whatever your system is
+anonymous.ten as a 64-bit program (or whatever your system is
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:
@@ -505,7 +505,7 @@ quite a lot of bit twiddling.
run x86 programs on any machine (x86 or otherwise).
I have included a simple 10 Green
Bottles
-program (try make anonymous.ten), meant to be compiled as a
+program (try make anonymous.ten), meant to be compiled as a
32-bit ELF binary.
The program anonymous.ten, and its source (dull) are included as data
files.
@@ -522,7 +522,7 @@ generates a translation for an entire basic block of subject code. Having
translated a block once, the target code generated will be stored for the
duration that the program is running, so as a program runs its performance will
improve, as it hits cached blocks. This can be clearly observed in the example
-program, anonymous.ten which must be compiled as a 32-bit ELF
+program, anonymous.ten which must be compiled as a 32-bit ELF
binary.
Target Library Linking:
The program runs dynamically
@@ -589,7 +589,7 @@ 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,
2000/tomx.
@@ -629,20 +629,20 @@ just C programs that generate C code as their output.
Primary files
-- anonymous.c - entry source code
-- Makefile - entry Makefile
-- anonymous.orig.c - original source code
-- anonymous.bed.c - Ten In the Bed song C source
-- anonymous.ten.c - Ten Green Bottles song C source
-- try.sh - script to try entry
+- anonymous.c - entry source code
+- Makefile - entry Makefile
+- anonymous.orig.c - original source code
+- anonymous.bed.c - Ten In the Bed song C source
+- anonymous.ten.c - Ten Green Bottles song C source
+- try.sh - script to try entry
Secondary files
- 2001_anonymous.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -710,7 +710,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2001/bellard/index.html b/2001/bellard/index.html
index 54d463145..1b663e946 100644
--- a/2001/bellard/index.html
+++ b/2001/bellard/index.html
@@ -416,10 +416,10 @@
← 2001/anonymous
↑ 2001 ↑
2001/cheong →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -469,7 +469,7 @@ program.
./bellard bellard.c [args]...
or by giving the C source to its standard input.
args are given to the main() function of bellard.c, argv[0] is
-bellard.c.
+bellard.c.
Examples:
- Sample compilation and execution:
@@ -487,7 +487,7 @@ program.
put #!/usr/local/bin/otcc at the beginning of your C source if
you installed otcc at this place.
Supported C language subset
-Read joint example bellard.otccex.c to have an introduction to OTCC dialect.
+Read joint example bellard.otccex.c to have an introduction to OTCC dialect.
Expressions:
binary operators, in decreasing precedence order: * / %,
@@ -574,19 +574,19 @@ be used when you compile and link it.
Primary files
-- bellard.c - entry source code
-- Makefile - entry Makefile
-- bellard.orig.c - original source code
-- bellard.otccex.c - example otcc source
-- otccelf.c - another example otcc source
+- bellard.c - entry source code
+- Makefile - entry Makefile
+- bellard.orig.c - original source code
+- bellard.otccex.c - example otcc source
+- otccelf.c - another example otcc source
Secondary files
- 2001_bellard.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -654,7 +654,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2001/cheong/index.html b/2001/cheong/index.html
index 5eaa3dcca..69f5d48ca 100644
--- a/2001/cheong/index.html
+++ b/2001/cheong/index.html
@@ -416,10 +416,10 @@
← 2001/bellard
↑ 2001 ↑
2001/coupard →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -533,18 +533,18 @@ the program.
Primary files
-- cheong.c - entry source code
-- Makefile - entry Makefile
-- cheong.orig.c - original source code
-- try.sh - script to try entry
+- cheong.c - entry source code
+- Makefile - entry Makefile
+- cheong.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2001_cheong.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -612,7 +612,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2001/coupard/index.html b/2001/coupard/index.html
index 4da9bb0f0..6c88dcfbc 100644
--- a/2001/coupard/index.html
+++ b/2001/coupard/index.html
@@ -416,10 +416,10 @@
← 2001/cheong
↑ 2001 ↑
2001/ctk →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -569,18 +569,18 @@ the size of the source code.
Primary files
-- coupard.c - entry source code
-- Makefile - entry Makefile
-- coupard.orig.c - original source code
-- try.sh - script to try entry
+- coupard.c - entry source code
+- Makefile - entry Makefile
+- coupard.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2001_coupard.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -648,7 +648,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2001/ctk/index.html b/2001/ctk/index.html
index 27e753ba9..5b6911738 100644
--- a/2001/ctk/index.html
+++ b/2001/ctk/index.html
@@ -416,10 +416,10 @@
← 2001/coupard
↑ 2001 ↑
2001/dgbeards →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -500,18 +500,18 @@ font and the window maximized vertically!).
Primary files
-- ctk.c - entry source code
-- Makefile - entry Makefile
-- ctk.alt.c - alternate source code
-- ctk.orig.c - original source code
+- ctk.c - entry source code
+- Makefile - entry Makefile
+- ctk.alt.c - alternate source code
+- ctk.orig.c - original source code
Secondary files
- 2001_ctk.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -579,7 +579,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2001/dgbeards/index.html b/2001/dgbeards/index.html
index ad385bec4..32ffedf19 100644
--- a/2001/dgbeards/index.html
+++ b/2001/dgbeards/index.html
@@ -416,10 +416,10 @@
← 2001/ctk
↑ 2001 ↑
2001/herrmann1 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -652,18 +652,18 @@ the > to a >= and the bug will be gone.
Primary files
-- dgbeards.c - entry source code
-- Makefile - entry Makefile
-- dgbeards.alt.c - alternate source code
-- dgbeards.orig.c - original source code
+- dgbeards.c - entry source code
+- Makefile - entry Makefile
+- dgbeards.alt.c - alternate source code
+- dgbeards.orig.c - original source code
Secondary files
- 2001_dgbeards.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -731,7 +731,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2001/herrmann1/index.html b/2001/herrmann1/index.html
index c7b7039b0..ca09babf0 100644
--- a/2001/herrmann1/index.html
+++ b/2001/herrmann1/index.html
@@ -416,10 +416,10 @@
← 2001/dgbeards
↑ 2001 ↑
2001/herrmann2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -495,7 +495,7 @@ terminal!
How to use it
For the impatient
-The info files herrmann1.times2 and herrmann1.gcd are sample
+
The info files herrmann1.times2 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
@@ -735,22 +735,22 @@ script.
Primary files
-- herrmann1.c - entry source code
-- Makefile - entry Makefile
-- herrmann1.orig.c - original source code
-- herrmann1.gcd - GCD program as C defines
-- herrmann1.sh - script to run entry
-- herrmann1.times2 - Turing program as C defines
-- plus1.turing - Turing program as C defines
-- try.sh - script to try entry
+- herrmann1.c - entry source code
+- Makefile - entry Makefile
+- herrmann1.orig.c - original source code
+- herrmann1.gcd - GCD program as C defines
+- herrmann1.sh - script to run entry
+- herrmann1.times2 - Turing program as C defines
+- plus1.turing - Turing program as C defines
+- try.sh - script to try entry
Secondary files
- 2001_herrmann1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -818,7 +818,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2001/herrmann2/index.html b/2001/herrmann2/index.html
index 7154f1d79..62f275926 100644
--- a/2001/herrmann2/index.html
+++ b/2001/herrmann2/index.html
@@ -416,10 +416,10 @@
← 2001/herrmann1
↑ 2001 ↑
2001/jason →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -450,15 +450,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 by say:
+If you use vi(m) you can see a pattern in herrmann2.cup and
+herrmann2.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
@@ -623,21 +623,21 @@ adapted.
Primary files
-- herrmann2.c - entry source code
-- Makefile - entry Makefile
-- herrmann2.alt.c - alternate source code
-- herrmann2.orig.c - original source code
-- herrmann2.cup - sample input
-- herrmann2.ioccc - sample input
-- try.sh - script to try entry
+- herrmann2.c - entry source code
+- Makefile - entry Makefile
+- herrmann2.alt.c - alternate source code
+- herrmann2.orig.c - original source code
+- herrmann2.cup - sample input
+- herrmann2.ioccc - sample input
+- try.sh - script to try entry
Secondary files
- 2001_herrmann2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -705,7 +705,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2001/index.html b/2001/index.html
index 7ce98d6bf..bd646c6ef 100644
--- a/2001/index.html
+++ b/2001/index.html
@@ -416,7 +416,7 @@
↑ top ↑
2004 →
Inventory
- ✓
+ ✓
@@ -591,7 +591,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2001/jason/index.html b/2001/jason/index.html
index 448f923ef..d863e6761 100644
--- a/2001/jason/index.html
+++ b/2001/jason/index.html
@@ -416,10 +416,10 @@
← 2001/herrmann2
↑ 2001 ↑
2001/kev →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -553,17 +553,17 @@ mapping.
Primary files
-- jason.c - entry source code
-- Makefile - entry Makefile
-- jason.orig.c - original source code
+- jason.c - entry source code
+- Makefile - entry Makefile
+- jason.orig.c - original source code
Secondary files
- 2001_jason.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -631,7 +631,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2001/kev/index.html b/2001/kev/index.html
index d7e22227d..a31dff3f5 100644
--- a/2001/kev/index.html
+++ b/2001/kev/index.html
@@ -416,10 +416,10 @@
← 2001/jason
↑ 2001 ↑
2001/ollinger →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -523,7 +523,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:
@@ -630,18 +630,18 @@ though.
Primary files
-- kev.c - entry source code
-- Makefile - entry Makefile
-- kev.alt.c - alternate source code
-- kev.orig.c - original source code
+- kev.c - entry source code
+- Makefile - entry Makefile
+- kev.alt.c - alternate source code
+- kev.orig.c - original source code
Secondary files
- 2001_kev.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -709,7 +709,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2001/ollinger/index.html b/2001/ollinger/index.html
index 189d18b61..376e474f3 100644
--- a/2001/ollinger/index.html
+++ b/2001/ollinger/index.html
@@ -416,10 +416,10 @@
← 2001/kev
↑ 2001 ↑
2001/rosten →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -542,18 +542,18 @@ guarantee a constant time.
Primary files
-- ollinger.c - entry source code
-- Makefile - entry Makefile
-- ollinger.orig.c - original source code
-- try.sh - script to try entry
+- ollinger.c - entry source code
+- Makefile - entry Makefile
+- ollinger.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2001_ollinger.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -621,7 +621,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2001/rosten/index.html b/2001/rosten/index.html
index e67c79f84..0b92350a0 100644
--- a/2001/rosten/index.html
+++ b/2001/rosten/index.html
@@ -416,10 +416,10 @@
← 2001/ollinger
↑ 2001 ↑
2001/schweikh →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -478,7 +478,7 @@ cursor) in the wrong way. :-)
obfuscated. Try doing something mouse driven (such as using a mouse
driven editor on this program) whilst it is running. If you’re not sure
what it does, looking at the code should give a fair idea.
-The file greasymouse.man is a cat
+
The file greasymouse.man is a cat
man page if you want to install it as a ‘utility’.
OPTIONS
It only takes one optional option: the greasiness factor. This is the
@@ -562,18 +562,18 @@ beginning of the line wrecks the layout but makes it compile.
Primary files
-- rosten.c - entry source code
-- Makefile - entry Makefile
-- rosten.orig.c - original source code
-- greasymouse.man - cat man page
+- rosten.c - entry source code
+- Makefile - entry Makefile
+- rosten.orig.c - original source code
+- greasymouse.man - cat man page
Secondary files
- 2001_rosten.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -641,7 +641,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2001/schweikh/index.html b/2001/schweikh/index.html
index 99d5002b1..6848f4e92 100644
--- a/2001/schweikh/index.html
+++ b/2001/schweikh/index.html
@@ -416,10 +416,10 @@
← 2001/rosten
↑ 2001 ↑
2001/westley →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -530,18 +530,18 @@ try again. For extra credit implement character classes like [a-z].
Primary files
-- schweikh.c - entry source code
-- Makefile - entry Makefile
-- schweikh.orig.c - original source code
-- try.sh - script to try entry
+- schweikh.c - entry source code
+- Makefile - entry Makefile
+- schweikh.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2001_schweikh.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -609,7 +609,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2001/westley/index.html b/2001/westley/index.html
index 8deb21d26..565be7929 100644
--- a/2001/westley/index.html
+++ b/2001/westley/index.html
@@ -416,10 +416,10 @@
← 2001/schweikh
↑ 2001 ↑
2001/williams →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -479,7 +479,7 @@ 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
@@ -622,20 +622,20 @@ all legal C.
Primary files
-- westley.c - entry source code
-- Makefile - entry Makefile
-- westley.alt.c - alternate source code
-- westley.orig.c - original source code
+- westley.c - entry source code
+- Makefile - entry Makefile
+- westley.alt.c - alternate source code
+- westley.orig.c - original source code
- card.gif - image of punch cards
-- try.sh - script to try entry
+- try.sh - script to try entry
Secondary files
- 2001_westley.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -703,7 +703,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2001/williams/index.html b/2001/williams/index.html
index 97ba065e8..3a7a1d799 100644
--- a/2001/williams/index.html
+++ b/2001/williams/index.html
@@ -416,10 +416,10 @@
← 2001/westley
↑ 2001 ↑
2004/anonymous →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -510,17 +510,17 @@ The purpose of A/(x|1) is probably obvious, but what does (x|
Primary files
-- williams.c - entry source code
-- Makefile - entry Makefile
-- williams.orig.c - original source code
+- williams.c - entry source code
+- Makefile - entry Makefile
+- williams.orig.c - original source code
Secondary files
- 2001_williams.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -588,7 +588,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2004/anonymous/index.html b/2004/anonymous/index.html
index 853abc0bb..9cb0965b2 100644
--- a/2004/anonymous/index.html
+++ b/2004/anonymous/index.html
@@ -416,10 +416,10 @@
← 2001/williams
↑ 2004 ↑
2004/arachnid →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -576,19 +576,19 @@ included in the font.
Primary files
-- anonymous.c - entry source code
-- Makefile - entry Makefile
-- anonymous.orig.c - original source code
+- anonymous.c - entry source code
+- Makefile - entry Makefile
+- anonymous.orig.c - original source code
- One_Ring_inscription.png - image of inscription on One Ring (in Black Speech)
-- try.sh - script to try entry
+- try.sh - script to try entry
Secondary files
- 2004_anonymous.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -656,7 +656,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2004/arachnid/index.html b/2004/arachnid/index.html
index e8a25bf00..688dc197f 100644
--- a/2004/arachnid/index.html
+++ b/2004/arachnid/index.html
@@ -416,10 +416,10 @@
← 2004/anonymous
↑ 2004 ↑
2004/burley →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -512,19 +512,19 @@ explorers out there.
Primary files
-- arachnid.c - entry source code
-- Makefile - entry Makefile
-- arachnid.alt.c - alternate source code
-- arachnid.orig.c - original source code
+- arachnid.c - entry source code
+- Makefile - entry Makefile
+- arachnid.alt.c - alternate source code
+- arachnid.orig.c - original source code
- arachnid.txt - alternate maze
Secondary files
- 2004_arachnid.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -592,7 +592,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2004/burley/index.html b/2004/burley/index.html
index 43e91aed3..619dc0384 100644
--- a/2004/burley/index.html
+++ b/2004/burley/index.html
@@ -416,10 +416,10 @@
← 2004/arachnid
↑ 2004 ↑
2004/gavare →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -526,7 +526,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 with the fixes for it to work so you can look at the
-original file burley.orig.c to see
+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
@@ -559,17 +559,17 @@ statements such as if, for, do, whi
Primary files
-- burley.c - entry source code
-- Makefile - entry Makefile
-- burley.orig.c - original source code
+- burley.c - entry source code
+- Makefile - entry Makefile
+- burley.orig.c - original source code
Secondary files
- 2004_burley.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -637,7 +637,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2004/gavare/index.html b/2004/gavare/index.html
index 67a4c3be4..92b447e9b 100644
--- a/2004/gavare/index.html
+++ b/2004/gavare/index.html
@@ -416,10 +416,10 @@
← 2004/burley
↑ 2004 ↑
2004/gavin →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -462,14 +462,14 @@ for help.
./gavare | xv -
to not worry about writing it to a file and just viewing the image it creates.
Alternate code:
-The alternate code gavare.alt.c allows you to change the size of the
+
The alternate 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 (named such because that is
+gavare.r3.c (named such because that is
what they called it).
-Finally, the file gavare.alt2.c sets binary mode
+
Finally, the file gavare.alt2.c sets binary mode
on stdout which theoretically should work in Windows (if anything works in
Windows :-) ).
Alternate build:
@@ -553,20 +553,20 @@ with no reserved words, and our world will be a better place.
Primary files
-- gavare.c - entry source code
-- Makefile - entry Makefile
-- gavare.alt2.c - second alternate source code
-- gavare.alt.c - alternate source code
-- gavare.orig.c - original source code
-- gavare.r3.c - ray tracer used during development
+- gavare.c - entry source code
+- Makefile - entry Makefile
+- gavare.alt2.c - second alternate source code
+- gavare.alt.c - alternate source code
+- gavare.orig.c - original source code
+- gavare.r3.c - ray tracer used during development
Secondary files
- 2004_gavare.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -634,7 +634,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2004/gavin/gavin.html b/2004/gavin/gavin.html
index bc7741b9f..40955f073 100644
--- a/2004/gavin/gavin.html
+++ b/2004/gavin/gavin.html
@@ -413,7 +413,7 @@
@@ -429,7 +429,7 @@
First, build the kernel and filesystem (just make). In short, you need to
build this on an x86 Linux machine. If you wish to try to compile on an OS
-other than Linux you may need modify the Makefile to compile sh
+other than Linux you may need modify the Makefile to compile sh
using a cross-compiler that produces ELF binaries - i.e. a cross-compiler
targeting x86 Linux. In short, you need to build this on an x86 Linux machine.
Next, find a suitable machine to run the OS on. It should be perfectly safe,
@@ -540,7 +540,7 @@ to tell them apart.
diff --git a/2004/gavin/index.html b/2004/gavin/index.html
index ccd8be533..9fd35d79e 100644
--- a/2004/gavin/index.html
+++ b/2004/gavin/index.html
@@ -416,10 +416,10 @@
← 2004/gavare
↑ 2004 ↑
2004/hibachi →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -523,7 +523,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,
@@ -595,12 +595,12 @@ at which a Linux bootloader loads an x86 kernel image).
Primary files
-- gavin.c - entry source code
-- Makefile - entry Makefile
-- gavin.alt.c - alternate source code
-- gavin.orig.c - original source code
+- gavin.c - entry source code
+- Makefile - entry Makefile
+- gavin.alt.c - alternate source code
+- gavin.orig.c - original source code
- gavin.html - author’s usage guide
-- lilo.conf - lilo boot loader configuration
+- lilo.conf - lilo boot loader configuration
- boot.b - boot sector
- img/fs.tar - tarball of root file system
- img/kernel - x86 linux boot executable zImage
@@ -609,11 +609,11 @@ at which a Linux bootloader loads an x86 kernel image).
Secondary files
- 2004_gavin.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- gavin.md - markdown source for gavin.html
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- gavin.md - markdown source for gavin.html
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -681,7 +681,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2004/hibachi/index.html b/2004/hibachi/index.html
index 800116d17..f5975d7e0 100644
--- a/2004/hibachi/index.html
+++ b/2004/hibachi/index.html
@@ -416,10 +416,10 @@
← 2004/gavin
↑ 2004 ↑
2004/hoyle →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -592,46 +592,46 @@ paragraph 3 sentence 2, and so fails to display responses from
Primary files
-- hibachi.alt.c - author provided unobfuscated code
-- hibachi.c - entry source code
-- Makefile - entry Makefile
-- hibachi.orig.c - original source code
-- src-alt/configure - GNU Autoconf script for alt server
+- hibachi.alt.c - author provided unobfuscated code
+- hibachi.c - entry source code
+- Makefile - entry Makefile
+- hibachi.orig.c - original source code
+- src-alt/configure - GNU Autoconf script for alt server
- src-alt/localhost/index.html - home page of alt hibachi alt web server
-- src/configure - GNU Autoconf script
+- src/configure - GNU Autoconf script
- src/localhost/index.html - home page of alt hibachi web server
-- src-alt/IOCCC-2004/mkentry.c - IOCCC tool of 2004 to package entries
-- src-alt/ioccc.c - IOCCC size tool
+- src-alt/IOCCC-2004/mkentry.c - IOCCC tool of 2004 to package entries
+- src-alt/ioccc.c - IOCCC size tool
- src-alt/localhost/reference/rfc2616.html - RFC 2616 - Hypertext Transfer Protocol - alt server
- src-alt/localhost/test/perl/index.html - perl test page of alt hibachi server
-- src-alt/localhost/test/php/index.php - PHP making an ISO 8601:2000 calendar for alt server
-- src-alt/localhost/test/ruby/index.rb - ruby home page for alt server
-- src-alt/localhost/test/shell/test0.sh - POSIX shell CGI home page for alt server
+- src-alt/localhost/test/php/index.php - PHP making an ISO 8601:2000 calendar for alt server
+- src-alt/localhost/test/ruby/index.rb - ruby home page for alt server
+- src-alt/localhost/test/shell/test0.sh - POSIX shell CGI home page for alt server
- src/localhost/CHANGES-OBFUSCATED.TXT - obfuscated changelog for hibachi
- src/localhost/reference/rfc2616.html - RFC 2616 - Hypertext Transfer Protocol
- src/localhost/test/perl/index.html - perl test page of hibachi server
-- src/localhost/test/php/index.php - PHP making an ISO 8601:2000 calendar
-- src/localhost/test/ruby/index.rb - ruby home page
-- src/localhost/test/shell/test0.sh - POSIX shell CGI home page
-- src-alt/transform.sed - sed(1) script for building unobfuscated code
-- src-alt/hibachi-start.sh - start the alt web server
-- src-alt/localhost/test/perl/yahoo-ticker.pl - stock price fetch example in Perl for alt server
-- src/hibachi-start.sh - start the web server
-- src/localhost/test/perl/yahoo-ticker.pl - stock price fetch example in Perl
-- src-alt/configure.in - GNU Autoconf script for alt server
-- src-alt/hibachi-start.sh.in - hibachi-start.sh declarations for alt server
+- src/localhost/test/php/index.php - PHP making an ISO 8601:2000 calendar
+- src/localhost/test/ruby/index.rb - ruby home page
+- src/localhost/test/shell/test0.sh - POSIX shell CGI home page
+- src-alt/transform.sed - sed(1) script for building unobfuscated code
+- src-alt/hibachi-start.sh - start the alt web server
+- src-alt/localhost/test/perl/yahoo-ticker.pl - stock price fetch example in Perl for alt server
+- src/hibachi-start.sh - start the web server
+- src/localhost/test/perl/yahoo-ticker.pl - stock price fetch example in Perl
+- src-alt/configure.in - GNU Autoconf script for alt server
+- src-alt/hibachi-start.sh.in - hibachi-start.sh declarations for alt server
- src-alt/localhost/CHANGELOG.TXT - changelog for hibachi alt code
-- src/configure.in - GNU Autoconf script
-- src/hibachi-start.sh.in - hibachi-start.sh declarations
+- src/configure.in - GNU Autoconf script
+- src/hibachi-start.sh.in - hibachi-start.sh declarations
- src/localhost/CHANGELOG.TXT - changelog for hibachi
Secondary files
- 2004_hibachi.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- src-alt/localhost/Img/cygwin-icon.gif - image for home page for alt server
- src-alt/localhost/Img/freebsd.gif - image for home page for alt server
- src-alt/localhost/Img/hibachi-256-oc-nc-300x150.gif - image for home page for alt server
@@ -642,21 +642,21 @@ paragraph 3 sentence 2, and so fails to display responses from
- src-alt/localhost/Img/rectangle_power_perl.gif - image for home page for alt server
- src-alt/localhost/Img/sun_logo.gif - image for home page for alt server
- src-alt/localhost/Img/win.gif - image for home page for alt server
-- src-alt/localhost/style.css - CSS for home page for alt server
-- src-alt/localhost/test/perl/yahoo-ticker.pl.in - stock price fetch declarations for alt server
-- src-alt/localhost/test/php/Date.php - PHP example page support file for alt server
-- src-alt/localhost/test/php/index_php.in - PHP example page support file for alt server
-- src-alt/localhost/test/php/info.php - PHP example support file for alt server
-- src-alt/localhost/test/php/info.php.in - PHP example page support file for alt server
+- src-alt/localhost/style.css - CSS for home page for alt server
+- src-alt/localhost/test/perl/yahoo-ticker.pl.in - stock price fetch declarations for alt server
+- src-alt/localhost/test/php/Date.php - PHP example page support file for alt server
+- src-alt/localhost/test/php/index_php.in - PHP example page support file for alt server
+- src-alt/localhost/test/php/info.php - PHP example support file for alt server
+- src-alt/localhost/test/php/info.php.in - PHP example page support file for alt server
- src-alt/localhost/test/php/sendform.html - php example page support file for alt server
-- src-alt/localhost/test/php/sendform.php - PHP example page support file for alt server
-- src-alt/localhost/test/php/sendform.php.in - PHP example page support file for alt server
-- src-alt/localhost/test/ruby/LUHN.rb - ruby example page support file for alt server
-- src-alt/localhost/test/ruby/index_rb.in - ruby example page support file for alt server
-- src-alt/localhost/test/shell/dump.sh - POSIX shell script support file for alt server
-- src-alt/localhost/test/shell/test1.sh - POSIX shell script support file for alt server
-- src-alt/localhost/test/shell/test2.sh - POSIX shell script support file for alt server
-- src-alt/makefile.in - makefile template for alt server
+- src-alt/localhost/test/php/sendform.php - PHP example page support file for alt server
+- src-alt/localhost/test/php/sendform.php.in - PHP example page support file for alt server
+- src-alt/localhost/test/ruby/LUHN.rb - ruby example page support file for alt server
+- src-alt/localhost/test/ruby/index_rb.in - ruby example page support file for alt server
+- src-alt/localhost/test/shell/dump.sh - POSIX shell script support file for alt server
+- src-alt/localhost/test/shell/test1.sh - POSIX shell script support file for alt server
+- src-alt/localhost/test/shell/test2.sh - POSIX shell script support file for alt server
+- src-alt/makefile.in - makefile template for alt server
- src/localhost/Img/cygwin-icon.gif - image for home page
- src/localhost/Img/freebsd.gif - image for home page
- src/localhost/Img/hibachi-256-oc-nc-300x150.gif - image for home page
@@ -667,21 +667,21 @@ paragraph 3 sentence 2, and so fails to display responses from
- src/localhost/Img/rectangle_power_perl.gif - image for home page
- src/localhost/Img/sun_logo.gif - image for home page
- src/localhost/Img/win.gif - image for home page
-- src/localhost/style.css - CSS for home page
-- src/localhost/test/perl/yahoo-ticker.pl.in - stock price fetch declarations
-- src/localhost/test/php/Date.php - PHP example page support file
-- src/localhost/test/php/index_php.in - PHP example page support file
-- src/localhost/test/php/info.php - PHP example support file
-- src/localhost/test/php/info.php.in - PHP example page support file
+- src/localhost/style.css - CSS for home page
+- src/localhost/test/perl/yahoo-ticker.pl.in - stock price fetch declarations
+- src/localhost/test/php/Date.php - PHP example page support file
+- src/localhost/test/php/index_php.in - PHP example page support file
+- src/localhost/test/php/info.php - PHP example support file
+- src/localhost/test/php/info.php.in - PHP example page support file
- src/localhost/test/php/sendform.html - php example page support file
-- src/localhost/test/php/sendform.php - PHP example page support file
-- src/localhost/test/php/sendform.php.in - PHP example page support file
-- src/localhost/test/ruby/LUHN.rb - ruby example page support file
-- src/localhost/test/ruby/index_rb.in - ruby example page support file
-- src/localhost/test/shell/dump.sh - POSIX shell script support file
-- src/localhost/test/shell/test1.sh - POSIX shell script support file
-- src/localhost/test/shell/test2.sh - POSIX shell script support file
-- src/makefile.in - makefile template
+- src/localhost/test/php/sendform.php - PHP example page support file
+- src/localhost/test/php/sendform.php.in - PHP example page support file
+- src/localhost/test/ruby/LUHN.rb - ruby example page support file
+- src/localhost/test/ruby/index_rb.in - ruby example page support file
+- src/localhost/test/shell/dump.sh - POSIX shell script support file
+- src/localhost/test/shell/test1.sh - POSIX shell script support file
+- src/localhost/test/shell/test2.sh - POSIX shell script support file
+- src/makefile.in - makefile template
- index.html - this web page
@@ -749,7 +749,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2004/hoyle/index.html b/2004/hoyle/index.html
index 4dbfbeeb9..1ff91b4dc 100644
--- a/2004/hoyle/index.html
+++ b/2004/hoyle/index.html
@@ -416,10 +416,10 @@
← 2004/hibachi
↑ 2004 ↑
2004/jdalbec →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -500,18 +500,18 @@ dashes rather than a simple block of Xs.
Primary files
-- hoyle.c - entry source code
-- Makefile - entry Makefile
-- hoyle.orig.c - original source code
-- try.sh - script to try entry
+- hoyle.c - entry source code
+- Makefile - entry Makefile
+- hoyle.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2004_hoyle.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -579,7 +579,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2004/index.html b/2004/index.html
index 4eccafa24..d9f19aa0f 100644
--- a/2004/index.html
+++ b/2004/index.html
@@ -416,7 +416,7 @@
↑ top ↑
2005 →
Inventory
- ✓
+ ✓
@@ -582,7 +582,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2004/jdalbec/index.html b/2004/jdalbec/index.html
index 10cecd53c..c17ac32b2 100644
--- a/2004/jdalbec/index.html
+++ b/2004/jdalbec/index.html
@@ -416,10 +416,10 @@
← 2004/hoyle
↑ 2004 ↑
2004/kopczynski →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -503,14 +503,14 @@ the isotopes of
last digit. Four common elements could also be written as isotopes of these two
elements: He=Np(2), Li=Pu(2), Ta=Np(3), W=Pu(3). To get other isotopes,
just change the last digit to a number greater than 3.
-The build file runs jdalbec.c through the C preprocessor to
+
The build file runs jdalbec.c through the C preprocessor to
generate jdalbec2.c which is edited with ed(1) (NOTE: this was
changed to sed(1) by the judges) to correct spacing
problems caused by some preprocessors. (I know you dislike
Perl, but hopefully ed(1) is more common on POSIX systems than
Perl.) The build file then compiles jdalbec2.c] and removes the
jdalbec2.c file.
-I don’t think I’m abusing the Makefile since I’m only using
+
I don’t think I’m abusing the Makefile since I’m only using
147 characters including white space and the #! line and the
commented-out -Wall -pedantic options. The rules for the
16th IOCCC specifically allowed build files up to 521
@@ -550,7 +550,7 @@ line 3 because the compiler doesn’t recognize ??= as a trigraph
step on Mac OS X 10.1.5 generates lots of errors in “smart
mode” because the “smart” preprocessor expects a valid C
program as input. The preprocessor then falls back to “basic
-mode” and preprocesses jdalbec.c successfully without warnings,
+mode” and preprocesses jdalbec.c successfully without warnings,
even when I give it the -Wall -pedantic options. It inserts
a lot of extra spaces into the preprocessed output which is
why I had to add the ed(1) step to the build file so that my
@@ -569,7 +569,7 @@ it if you run into this feature (e.g. 1 22 instead of 122Note: you may want to be sure you have a limit on stack size before trying this.
I ran it on Debian GNU/Linux and discovered that I did not have a limit on stack
size. Fortunately the OS killed the process after a while. This is consistent
-with the output of 1996/schweikh3 which reports
+with the output of 1996/schweikh3 which reports
malloc lied! Killed by SIGKILL.
Arguments matching /(?:.){10,}/ will produce visually incorrect
results (e.g., generation 1 starting from 1111111111 will
@@ -627,20 +627,20 @@ type, a structure, a structure member, a macro parameter, and a variable).
Primary files
-- jdalbec.c - entry source code
-- Makefile - entry Makefile
-- jdalbec.alt.c - alternate source code
-- jdalbec.orig.c - original source code
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
+- jdalbec.c - entry source code
+- Makefile - entry Makefile
+- jdalbec.alt.c - alternate source code
+- jdalbec.orig.c - original source code
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
Secondary files
- 2004_jdalbec.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -708,7 +708,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2004/kopczynski/index.html b/2004/kopczynski/index.html
index 814c415f4..8d7fc0415 100644
--- a/2004/kopczynski/index.html
+++ b/2004/kopczynski/index.html
@@ -416,10 +416,10 @@
← 2004/jdalbec
↑ 2004 ↑
2004/newbern →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -505,7 +505,7 @@ number, not to print it, but if you think otherwise, the change would
cost 6 chars (plus a warning). Change return * to printf("%d",*).
($? is shorter)
I achieved some additional tightness by -Dif=while which saved 9 chars of
-source for the cost of 11 chars of the Makefile. If I used
+source for the cost of 11 chars of the Makefile. If I used
-DB=while, I would save 12 for 10, but I think the current version is slightly
more obfuscated.
@@ -598,33 +598,33 @@ comes from this. For additional obfuscation and conciseness, if mea
Primary files
-- kopczynski.c - entry source code
-- Makefile - entry Makefile
-- kopczynski.alt.c - alternate source code
-- kopczynski.orig.c - original source code
-- kopczynski-10 - ASCII file with number 10 drawn to recognize
-- kopczynski-10-rev - ASCII file with number 10 drawn reversed to recognize
-- kopczynski-11 - ASCII file with number 11 drawn to recognize
-- kopczynski-11-rev - ASCII file with number 11 drawn reversed to recognize
-- kopczynski-8a - ASCII file with number 8 drawn to recognize
-- kopczynski-8a-rev - ASCII file with number 8 drawn reversed to recognize
-- kopczynski-8b - ASCII file with number 8 drawn to recognize
-- kopczynski-8b-rev - ASCII file with number 8 drawn reversed to recognize
-- kopczynski-8c - ASCII file with number 8 drawn to to recognize
-- kopczynski-8c-rev - ASCII file with number 8 drawn reversed to recognize
-- kopczynski-9 - ASCII file with number 9 drawn to recognize
-- kopczynski-9-rev - ASCII file with number 9 drawn reversed to recognize
-- kopczynski-a - ASCII file with letter A drawn to recognize
-- kopczynski-a-rev - ASCII file with letter A reversed to to recognize
-- try.sh - script to try entry
+- kopczynski.c - entry source code
+- Makefile - entry Makefile
+- kopczynski.alt.c - alternate source code
+- kopczynski.orig.c - original source code
+- kopczynski-10 - ASCII file with number 10 drawn to recognize
+- kopczynski-10-rev - ASCII file with number 10 drawn reversed to recognize
+- kopczynski-11 - ASCII file with number 11 drawn to recognize
+- kopczynski-11-rev - ASCII file with number 11 drawn reversed to recognize
+- kopczynski-8a - ASCII file with number 8 drawn to recognize
+- kopczynski-8a-rev - ASCII file with number 8 drawn reversed to recognize
+- kopczynski-8b - ASCII file with number 8 drawn to recognize
+- kopczynski-8b-rev - ASCII file with number 8 drawn reversed to recognize
+- kopczynski-8c - ASCII file with number 8 drawn to to recognize
+- kopczynski-8c-rev - ASCII file with number 8 drawn reversed to recognize
+- kopczynski-9 - ASCII file with number 9 drawn to recognize
+- kopczynski-9-rev - ASCII file with number 9 drawn reversed to recognize
+- kopczynski-a - ASCII file with letter A drawn to recognize
+- kopczynski-a-rev - ASCII file with letter A reversed to to recognize
+- try.sh - script to try entry
Secondary files
- 2004_kopczynski.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -692,7 +692,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2004/newbern/index.html b/2004/newbern/index.html
index cd56362f5..5a9817c50 100644
--- a/2004/newbern/index.html
+++ b/2004/newbern/index.html
@@ -416,10 +416,10 @@
← 2004/kopczynski
↑ 2004 ↑
2004/omoikane →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -496,19 +496,19 @@ Decryption is left as an exercise for the reader.
Primary files
-- newbern.c - entry source code
-- Makefile - entry Makefile
-- newbern.orig.c - original source code
-- newbern.dat - sample input
-- try.sh - script to try entry
+- newbern.c - entry source code
+- Makefile - entry Makefile
+- newbern.orig.c - original source code
+- newbern.dat - sample input
+- try.sh - script to try entry
Secondary files
- 2004_newbern.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -576,7 +576,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2004/omoikane/index.html b/2004/omoikane/index.html
index d9fd9fb57..32b3b37d2 100644
--- a/2004/omoikane/index.html
+++ b/2004/omoikane/index.html
@@ -416,10 +416,10 @@
← 2004/newbern
↑ 2004 ↑
2004/schnitzi →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -575,19 +575,19 @@ still fail…
Primary files
-- omoikane.c - entry source code
-- Makefile - entry Makefile
-- omoikane.orig.c - original source code
-- omoikane.info - information about Rinia - author’s name for program
-- try.sh - script to try entry
+- omoikane.c - entry source code
+- Makefile - entry Makefile
+- omoikane.orig.c - original source code
+- omoikane.info - information about Rinia - author’s name for program
+- try.sh - script to try entry
Secondary files
- 2004_omoikane.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -655,7 +655,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2004/schnitzi/index.html b/2004/schnitzi/index.html
index db40cc82e..5b5155e47 100644
--- a/2004/schnitzi/index.html
+++ b/2004/schnitzi/index.html
@@ -416,10 +416,10 @@
← 2004/omoikane
↑ 2004 ↑
2004/sds →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -569,20 +569,20 @@ royalties on this technique.
Primary files
-- schnitzi.c - entry source code
-- Makefile - entry Makefile
-- schnitzi.orig.c - original source code
+- schnitzi.c - entry source code
+- Makefile - entry Makefile
+- schnitzi.orig.c - original source code
- schnitzi.inp0 - animated scene input file
- schnitzi.inp1 - animated scene input file
-- try.sh - script to try entry
+- try.sh - script to try entry
Secondary files
- 2004_schnitzi.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -650,7 +650,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2004/sds/index.html b/2004/sds/index.html
index f78845bc0..a33907745 100644
--- a/2004/sds/index.html
+++ b/2004/sds/index.html
@@ -416,10 +416,10 @@
← 2004/schnitzi
↑ 2004 ↑
2004/vik1 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -536,19 +536,19 @@ GNU C.
Primary files
-- sds.c - entry source code
-- Makefile - entry Makefile
-- sds.orig.c - original source code
-- try.sh - script to try entry
+- sds.c - entry source code
+- Makefile - entry Makefile
+- sds.orig.c - original source code
+- try.sh - script to try entry
- README_sds.txt - input file used by try.sh
Secondary files
- 2004_sds.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -616,7 +616,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2004/vik1/index.html b/2004/vik1/index.html
index 5b4d8bc2c..565c9e3a3 100644
--- a/2004/vik1/index.html
+++ b/2004/vik1/index.html
@@ -416,10 +416,10 @@
← 2004/sds
↑ 2004 ↑
2004/vik2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -591,17 +591,17 @@ low) are { 0, RED, GREEN, BLUE }.
Primary files
-- vik1.c - entry source code
-- Makefile - entry Makefile
-- vik1.orig.c - original source code
+- vik1.c - entry source code
+- Makefile - entry Makefile
+- vik1.orig.c - original source code
Secondary files
- 2004_vik1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -669,7 +669,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2004/vik2/index.html b/2004/vik2/index.html
index 3f25877bf..ae6f6c7f5 100644
--- a/2004/vik2/index.html
+++ b/2004/vik2/index.html
@@ -416,10 +416,10 @@
← 2004/vik1
↑ 2004 ↑
2005/aidan →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -462,7 +462,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.
@@ -642,19 +642,19 @@ with 512Mb ram and a lot of disk.
Primary files
-- vik2.c - entry source code
-- Makefile - entry Makefile
-- vik2.orig.c - original source code
-- vik2_1.c - include file for entry source code
-- vik2.possible.cat.death.c - special source file for special make rule
+- vik2.c - entry source code
+- Makefile - entry Makefile
+- vik2.orig.c - original source code
+- vik2_1.c - include file for entry source code
+- vik2.possible.cat.death.c - special source file for special make rule
Secondary files
- 2004_vik2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -722,7 +722,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2005/aidan/index.html b/2005/aidan/index.html
index 7d8548a28..7818f802b 100644
--- a/2005/aidan/index.html
+++ b/2005/aidan/index.html
@@ -416,10 +416,10 @@
← 2004/vik2
↑ 2005 ↑
2005/anon →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -469,7 +469,7 @@ it is slower, inelegant and not as obscure, as the author put it.
more while it puzzles out some puzzles: all in a puzzling way!
goto the source and notice the lack of functions. Jump
to the switch statement. And if you think you can puzzle
-it out better, try solving insane1.sudoku all by yourself!
+it out better, try solving insane1.sudoku all by yourself!
NOTE: the tarball named by the author was removed after the files were
extracted into the directory instead. These files were added to the list.
Author’s remarks:
@@ -478,21 +478,21 @@ extracted 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…
IMPORTANT
-test.perl expects the sudoku-sf executable to be
+
test.perl expects the sudoku-sf executable to be
./sudoku-sf. If you rename it, please change the definition of $sf_exe to the
new name.
Judges’ note: this was done.
@@ -533,7 +533,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
@@ -554,7 +554,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!)
Usage
@@ -574,7 +574,7 @@ really.
represented as a full stop (.) or zero (0). Other characters are ignored, so you
can cut-and-paste either example sudoku puzzle from above into a file and feed that
in. The program has coped with every input I’ve thrown at it so far, including
-an empty grid.
+an empty grid.
Output consists of the problem, then the solution, then a message of
success/failure.
./aidan U may also be useful, or perhaps not. It only took
@@ -684,29 +684,29 @@ that way somehow…
Primary files
-- aidan.c - entry source code
-- Makefile - entry Makefile
-- aidan.alt.c - alternate source code
-- aidan.orig.c - original source code
-- blank.sudoku - blank Sudoku puzzle
-- insane1.sudoku - insane sudoku puzzle
-- insane2.sudoku - insane sudoku puzzle
-- insane3.sudoku - insane sudoku puzzle
-- insane4.sudoku - insane sudoku puzzle
-- insane5.sudoku - insane sudoku puzzle
-- tough1.sudoku - tough sudoku puzzle
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
-- wp.sudoku - Wikipedia sudoku puzzle
-- test-su.perl - test suite
+- aidan.c - entry source code
+- Makefile - entry Makefile
+- aidan.alt.c - alternate source code
+- aidan.orig.c - original source code
+- blank.sudoku - blank Sudoku puzzle
+- insane1.sudoku - insane sudoku puzzle
+- insane2.sudoku - insane sudoku puzzle
+- insane3.sudoku - insane sudoku puzzle
+- insane4.sudoku - insane sudoku puzzle
+- insane5.sudoku - insane sudoku puzzle
+- tough1.sudoku - tough sudoku puzzle
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
+- wp.sudoku - Wikipedia sudoku puzzle
+- test-su.perl - test suite
Secondary files
- 2005_aidan.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -774,7 +774,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2005/anon/index.html b/2005/anon/index.html
index ee7f4f0bf..d8e54ab87 100644
--- a/2005/anon/index.html
+++ b/2005/anon/index.html
@@ -416,10 +416,10 @@
← 2005/aidan
↑ 2005 ↑
2005/boutines →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -450,7 +450,7 @@ Location: ZZ - Unknown location below. If your terminal has problems with the
stty(1) commands try:
make anon-no_stty
-This will compile anon.c as anon to not use
+
This will compile anon.c as anon to not use
stty(1), with the support of an #ifdef..#endif added by the author.
Bugs and (Mis)features:
The current status of this entry is:
@@ -1006,18 +1006,18 @@ to hold both ints and pointers. :-)
Primary files
-- anon.c - entry source code
-- Makefile - entry Makefile
-- anon.alt.c - alternate source code
-- anon.orig.c - original source code
+- anon.c - entry source code
+- Makefile - entry Makefile
+- anon.alt.c - alternate source code
+- anon.orig.c - original source code
Secondary files
- 2005_anon.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -1085,7 +1085,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2005/boutines/index.html b/2005/boutines/index.html
index b8c2b4862..eaccb485a 100644
--- a/2005/boutines/index.html
+++ b/2005/boutines/index.html
@@ -416,10 +416,10 @@
← 2005/anon
↑ 2005 ↑
2005/chia →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -456,7 +456,7 @@ should you need more help.
./boutines < input > output.svg
Try:
./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
@@ -586,21 +586,21 @@ Manual.
Primary files
-- boutines.c - entry source code
-- Makefile - entry Makefile
-- boutines.orig.c - original source code
+- boutines.c - entry source code
+- Makefile - entry Makefile
+- boutines.orig.c - original source code
- Voronoi.png - output example
- eqn.png - equation limit for entry in png file
- input.txt - input file used by try.sh
-- try.sh - script to try entry
+- try.sh - script to try entry
Secondary files
- 2005_boutines.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -668,7 +668,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2005/chia/index.html b/2005/chia/index.html
index 6e6ef9191..be6125f4d 100644
--- a/2005/chia/index.html
+++ b/2005/chia/index.html
@@ -416,10 +416,10 @@
← 2005/boutines
↑ 2005 ↑
2005/giljade →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -504,17 +504,17 @@ when they see macro parameters that don’t look like C tokens.
Primary files
-- chia.c - entry source code
-- Makefile - entry Makefile
-- chia.orig.c - original source code
+- chia.c - entry source code
+- Makefile - entry Makefile
+- chia.orig.c - original source code
Secondary files
- 2005_chia.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -582,7 +582,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2005/giljade/index.html b/2005/giljade/index.html
index 85b3e2201..6052cf69e 100644
--- a/2005/giljade/index.html
+++ b/2005/giljade/index.html
@@ -416,10 +416,10 @@
← 2005/chia
↑ 2005 ↑
2005/jetro →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -461,7 +461,7 @@ will not work with it enabled.
Self-test feature to try:
./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.
Judges’ remarks:
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
@@ -590,19 +590,19 @@ tricky.
Primary files
-- giljade.c - entry source code
-- Makefile - entry Makefile
-- giljade.orig.c - original source code
-- test.sh - test tool
-- try.sh - script to try entry
+- giljade.c - entry source code
+- Makefile - entry Makefile
+- giljade.orig.c - original source code
+- test.sh - test tool
+- try.sh - script to try entry
Secondary files
- 2005_giljade.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -670,7 +670,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2005/index.html b/2005/index.html
index e24eff36f..30e7d3aad 100644
--- a/2005/index.html
+++ b/2005/index.html
@@ -416,7 +416,7 @@
↑ top ↑
2006 →
Inventory
- ✓
+ ✓
@@ -599,7 +599,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2005/jetro/index.html b/2005/jetro/index.html
index eb8df94a2..447ded43c 100644
--- a/2005/jetro/index.html
+++ b/2005/jetro/index.html
@@ -416,10 +416,10 @@
← 2005/giljade
↑ 2005 ↑
2005/klausler →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -490,17 +490,17 @@ with one call to getchar() before it quits.
Primary files
-- jetro.c - entry source code
-- Makefile - entry Makefile
-- jetro.orig.c - original source code
+- jetro.c - entry source code
+- Makefile - entry Makefile
+- jetro.orig.c - original source code
Secondary files
- 2005_jetro.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -568,7 +568,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2005/klausler/index.html b/2005/klausler/index.html
index 8619ae35c..56a11a824 100644
--- a/2005/klausler/index.html
+++ b/2005/klausler/index.html
@@ -416,10 +416,10 @@
← 2005/jetro
↑ 2005 ↑
2005/mikeash →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -507,18 +507,18 @@ recursion, or other tricks. Enjoy!
Primary files
-- klausler.c - entry source code
-- Makefile - entry Makefile
-- klausler.orig.c - original source code
-- try.sh - script to try entry
+- klausler.c - entry source code
+- Makefile - entry Makefile
+- klausler.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2005_klausler.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -586,7 +586,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2005/mikeash/index.html b/2005/mikeash/index.html
index d0d1dcd6a..bcd6d36f9 100644
--- a/2005/mikeash/index.html
+++ b/2005/mikeash/index.html
@@ -416,10 +416,10 @@
← 2005/klausler
↑ 2005 ↑
2005/mynx →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -531,7 +531,7 @@ for running itself. To do the latter, try this:
lisp. To do
this, run the common lisp compiler and then type the following command:
(load "mikeash.c")
-The source code of mikeash.c will be printed.
+The source code of mikeash.c will be printed.
Obfuscation
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
@@ -573,18 +573,18 @@ C library.
Primary files
-- mikeash.c - entry source code
-- Makefile - entry Makefile
-- mikeash.orig.c - original source code
-- try.sh - script to try entry
+- mikeash.c - entry source code
+- Makefile - entry Makefile
+- mikeash.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2005_mikeash.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -652,7 +652,7 @@ Jump to: top
diff --git a/2005/mynx/index.html b/2005/mynx/index.html
index 74eb74084..38b489992 100644
--- a/2005/mynx/index.html
+++ b/2005/mynx/index.html
@@ -416,10 +416,10 @@
← 2005/mikeash
↑ 2005 ↑
2005/persano →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -467,9 +467,9 @@ the issue of https.
./mynx manual.html
The author’s provided unobfuscated code, -mynx.alt.c can be compiled and evaluated if +mynx.alt.c can be compiled and evaluated if you wish to not try and decipher the original entry.
-The other version, mynx.alt2.c is a +
The other version, mynx.alt2.c is a
starting point for anyone who wishes to come up with a version (or pipeline)
that works with https.
Obviously this will not work with https so easily as it only scans for http
@@ -539,29 +539,29 @@ command sequence would be:
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
$C000 of course!
-We encourage you to try and grok the obfuscated expression on line
+ We encourage you to try and grok the obfuscated expression on line
56,
after the C pre-processor gets finished with it! We downloaded the ROM contents to use
@@ -625,12 +625,12 @@ mode. Otherwise some PET specific features are skipped during normal
6502
emulation. The main processing all happens in a heroic expression containing no
-less than 64 ternary operators (after The addressing mode is decoded in a similar expression starting on line
+ The addressing mode is decoded in a similar expression starting on line
53. The machine emulated is an older 40 column
@@ -690,28 +690,28 @@ from the Internet. This is to avoid directly infringing any copyright.cpp) starting on line
+less than 64 ternary operators (after cpp) starting on line
56.
This decodes the
6502
instructions according to a table and executes them.Bugs
Primary files
-
Secondary files
@@ -779,7 +779,7 @@ Jump to: top
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
./toledo a
./toledo a b
Two alternate versions of this entry, toledo2.c and -toledo3.c were provided by the author. +
Two alternate versions of this entry, toledo2.c and +toledo3.c were provided by the author. Unfortunately, in 2024, it is not currently known what the differences are.
To compile the alternate versions:
@@ -570,19 +570,19 @@ and compiles faster… but I’m still not seeing the difference.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
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
@@ -563,10 +563,10 @@ application a little bit.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
When running this in the program’s window try hitting space a few times and see what happens!
The vince.alt.c code will run on SGI IRIX +
The vince.alt.c code will run on SGI IRIX
and also has the recursive CPP macro (which sneaked in accidentally) removed.
To compile this alternate version:
@@ -547,18 +547,18 @@ problem.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
This entry turns a newspaper solitaire puzzle into a competition with the computer to be the last one moving. The object of this -source code is to determine the object of this source +source code is to determine the object of this source code! :-)
I wanted to submit a fully object-oriented entry to show that @@ -549,17 +549,17 @@ breaking the following rule. Any number must be unique in its:
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
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
@@ -676,20 +676,20 @@ too big (>1) the pixel is recalculated.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
Should you wish to see the original you may do so with the original code, -sloane.c.
+sloane.c. make clobber all
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
This file describe an IFS.
-One of the most well known would be the Sierpinski Gasket:
+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
@@ -614,58 +614,58 @@ choice from a file size standpoint. 1024x1024 image is 641k in size.
Primary files
-- stewart.c - entry source code
-- Makefile - entry Makefile
-- stewart.orig.c - original source code
-- build - how to compile
-- try.sh - script to try entry
-- altar - sample input
-- box2 - sample input
-- box3 - sample input
-- box - sample input
-- carpet - sample input
-- circles - sample input
-- cross2 - sample input
-- cross3 - sample input
-- cross - sample input
-- crystal - sample input
-- curve - sample input
-- diamonds2 - sample input
-- diamonds - sample input
-- dragon2 - sample input
-- dragon3 - sample input
-- dragon - sample input
-- fern - sample input
-- gasket - sample input
-- gasket_mod2 - sample input
-- gasket_mod - sample input
-- ioccc - sample input
-- maze - sample input
-- octagon - sample input
-- pentagon - sample input
-- pentagons - sample input
-- rings2 - sample input
-- rings - sample input
-- spirals2 - sample input
-- spirals3 - sample input
-- spirals4 - sample input
-- spirals - sample input
-- squares - sample input
-- stars2 - sample input
-- stars - sample input
-- tree2 - sample input
-- tree3 - sample input
-- tree4 - sample input
-- tree - sample input
-- triangle - sample input
+- stewart.c - entry source code
+- Makefile - entry Makefile
+- stewart.orig.c - original source code
+- build - how to compile
+- try.sh - script to try entry
+- altar - sample input
+- box2 - sample input
+- box3 - sample input
+- box - sample input
+- carpet - sample input
+- circles - sample input
+- cross2 - sample input
+- cross3 - sample input
+- cross - sample input
+- crystal - sample input
+- curve - sample input
+- diamonds2 - sample input
+- diamonds - sample input
+- dragon2 - sample input
+- dragon3 - sample input
+- dragon - sample input
+- fern - sample input
+- gasket - sample input
+- gasket_mod2 - sample input
+- gasket_mod - sample input
+- ioccc - sample input
+- maze - sample input
+- octagon - sample input
+- pentagon - sample input
+- pentagons - sample input
+- rings2 - sample input
+- rings - sample input
+- spirals2 - sample input
+- spirals3 - sample input
+- spirals4 - sample input
+- spirals - sample input
+- squares - sample input
+- stars2 - sample input
+- stars - sample input
+- tree2 - sample input
+- tree3 - sample input
+- tree4 - sample input
+- tree - sample input
+- triangle - sample input
Secondary files
- 2006_stewart.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -733,7 +733,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2006/sykes1/index.html b/2006/sykes1/index.html
index 4a2cf14b1..480c7f98c 100644
--- a/2006/sykes1/index.html
+++ b/2006/sykes1/index.html
@@ -416,10 +416,10 @@
← 2006/stewart
↑ 2006 ↑
2006/sykes2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -446,7 +446,7 @@ Location: FI - Republic of Finland
To build:
make
-There is an alt version based on the author’s remarks. The try.sh
+
There is an alt version based on the author’s remarks. The try.sh
script will compile and use both but if you wish to see the alternate version
specifically see the Alternate code section below.
Bugs and (Mis)features:
@@ -483,7 +483,7 @@ 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:
@@ -510,7 +510,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:
@@ -633,20 +633,20 @@ advantage - at least I don’t violate any of those old Unisys patents!
Primary files
-- sykes1.c - entry source code
-- Makefile - entry Makefile
-- sykes1.alt.c - alternate source code
-- sykes1.orig.c - original source code
+- sykes1.c - entry source code
+- Makefile - entry Makefile
+- sykes1.alt.c - alternate source code
+- sykes1.orig.c - original source code
- bedlam-cubes.pdf - how to make your own Bedlam cube
-- try.sh - script to try entry
+- try.sh - script to try entry
Secondary files
- 2006_sykes1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -714,7 +714,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2006/sykes2/index.html b/2006/sykes2/index.html
index 8cfb9b312..95a03c3ed 100644
--- a/2006/sykes2/index.html
+++ b/2006/sykes2/index.html
@@ -416,10 +416,10 @@
← 2006/sykes1
↑ 2006 ↑
2006/toledo1 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -496,18 +496,18 @@ multiple times per second for a long time. Run at your own risk!
Primary files
-- sykes2.c - entry source code
-- Makefile - entry Makefile
-- sykes2.orig.c - original source code
-- try.sh - script to try entry
+- sykes2.c - entry source code
+- Makefile - entry Makefile
+- sykes2.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2006_sykes2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -575,7 +575,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2006/toledo1/index.html b/2006/toledo1/index.html
index d3b44ae43..f0b2493a4 100644
--- a/2006/toledo1/index.html
+++ b/2006/toledo1/index.html
@@ -416,10 +416,10 @@
← 2006/sykes2
↑ 2006 ↑
2006/toledo2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -494,18 +494,18 @@ Nevertheless, don’t be dismayed, jar, jar. :-)
Primary files
-- toledo1.c - entry source code
-- Makefile - entry Makefile
-- toledo1.orig.c - original source code
-- try.sh - script to try entry
+- toledo1.c - entry source code
+- Makefile - entry Makefile
+- toledo1.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2006_toledo1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -573,7 +573,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2006/toledo2/index.html b/2006/toledo2/index.html
index 0e68042bb..4a6af8867 100644
--- a/2006/toledo2/index.html
+++ b/2006/toledo2/index.html
@@ -416,10 +416,10 @@
← 2006/toledo1
↑ 2006 ↑
2006/toledo3 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -503,7 +503,7 @@ and a disk controller, just like at the start of the personal computers
revolution (circa 1975).
It needs an initial memory image to do something usable, so along with it you
will find two files: C.BASIC and C.BIOS. Rename
-C.BASIC to C (NOTE from the judges: running make will do this for
+C.BASIC to C (NOTE from the judges: running make will do this for
you), run the emulator, and et voila! you have the public domain Palo Alto Tiny
BASIC (by Li-Chen Wang), published in
the very first volume of Dr. Dobb’s
@@ -748,10 +748,10 @@ only one function.
Primary files
-- toledo2.c - entry source code
-- Makefile - entry Makefile
-- toledo2.alt.c - alternate source code
-- toledo2.orig.c - original source code
+- toledo2.c - entry source code
+- Makefile - entry Makefile
+- toledo2.alt.c - alternate source code
+- toledo2.orig.c - original source code
- KAYPROII.ZIP - zip file of CPM related files
Secondary files
@@ -761,10 +761,10 @@ only one function.
B - binary support file
C.BASIC - compiled BASIC file
C.BIOS - required Basic Input/Output System
-README.md - markdown source for this web page
-.entry.json - entry summary and manifest in JSON
-.gitignore - list of files that should not be committed under git
-.path - directory path from top level directory
+README.md - markdown source for this web page
+.entry.json - entry summary and manifest in JSON
+.gitignore - list of files that should not be committed under git
+.path - directory path from top level directory
index.html - this web page
@@ -832,7 +832,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2006/toledo3/index.html b/2006/toledo3/index.html
index 138e4573f..cc67b74e8 100644
--- a/2006/toledo3/index.html
+++ b/2006/toledo3/index.html
@@ -416,10 +416,10 @@
← 2006/toledo2
↑ 2006 ↑
2011/akari →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -458,14 +458,14 @@ tested with Windows. See Alternate code below.
./toledo3 1
Alternate code:
The author provided two additional versions,
-toledo3-sbar.c and
-toledo3-txt.c. Respectively these
+toledo3-sbar.c and
+toledo3-txt.c. Respectively these
create a status bar and make the game text only. Based on the author’s remarks,
-another version, toledo3.alt.c, was
+another version, toledo3.alt.c, was
added that should work with Windows.
Alternate build:
With the exception of the Windows version, these are built by default. To build
-the Windows version, toledo3.alt.c,
+the Windows version, toledo3.alt.c,
you will have to figure out how to compile Windows code.
Alternate use:
Use toledo3-sbar and toledo3-txt as you would toledo3 above.
@@ -531,10 +531,10 @@ graphical interface. Can you do it?
Can the evaluation function be enhanced to make the program
play stronger?
UPGRADES
-Using toledo3-sbar.c (which is too
+
Using toledo3-sbar.c (which is too
large for this IOCCC’s size rules) creates a status display about gameplay on
the window title bar.
-Using toledo3-txt.c turns this into
+
Using toledo3-txt.c turns this into
being purely text based.
@@ -518,7 +518,7 @@ executables. The output executables each print a message to stdout.
It takes quite a bit of skill and obfuscation to interleave a
C program 4 levels deep, it’s much easier to interleave something like
a brainf#$% program in a C program, for example. For comparison, a
-brainf#$% program is embedded inside akari.c.
+brainf#$% program is embedded inside akari.c.
@@ -481,10 +481,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
@@ -495,7 +495,7 @@ line option.
program. In the reverse direction, the code can either be killed, or
will stop if it is unable to find a grid that will evolve to the
current layout correctly. This can be seen with the sample grid
-t0_3.dat, which evolves backwards by only two time-steps.
+t0_3.dat, which evolves backwards by only two time-steps.
Input file format
The input files must encode a square grid, where a space is a dead cell, and any
other character (except a newline) is a living cell. Each line must be the same
@@ -628,21 +628,21 @@ universe.
Primary files
-- blakely.c - entry source code
-- Makefile - entry Makefile
-- blakely.orig.c - original source code
-- 3.dat - input data file
-- evolve_to_3.dat - input data file
-- t0_3.dat - input data file
-- try.sh - script to try entry
+- blakely.c - entry source code
+- Makefile - entry Makefile
+- blakely.orig.c - original source code
+- 3.dat - input data file
+- evolve_to_3.dat - input data file
+- t0_3.dat - input data file
+- try.sh - script to try entry
Secondary files
- 2011_blakely.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -710,7 +710,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2011/borsanyi/index.html b/2011/borsanyi/index.html
index 1ea391fbb..315d9786e 100644
--- a/2011/borsanyi/index.html
+++ b/2011/borsanyi/index.html
@@ -416,10 +416,10 @@
← 2011/blakely
↑ 2011 ↑
2011/dlowe →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -524,21 +524,21 @@ and each of them is put into its own bin afterwards. But where are the bins?
Primary files
-- borsanyi.c - entry source code
-- Makefile - entry Makefile
-- borsanyi.orig.c - original source code
-- try.sh - script to try entry
-- data.1 - sample input
-- data.2 - sample input
-- data.3 - sample input
+- borsanyi.c - entry source code
+- Makefile - entry Makefile
+- borsanyi.orig.c - original source code
+- try.sh - script to try entry
+- data.1 - sample input
+- data.2 - sample input
+- data.3 - sample input
Secondary files
- 2011_borsanyi.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -606,7 +606,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2011/dlowe/index.html b/2011/dlowe/index.html
index 449af30dc..e30c5ff5f 100644
--- a/2011/dlowe/index.html
+++ b/2011/dlowe/index.html
@@ -416,10 +416,10 @@
← 2011/borsanyi
↑ 2011 ↑
2011/eastman →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -461,7 +461,7 @@ Location: US - United States of America
Try:
Try these pre-trained networks:
./try.sh
-NOTE: The dlowe-aux-data directory, which try.sh refers to, was
+
NOTE: The dlowe-aux-data directory, which try.sh refers to, was
created by:
tar -jxf dlowe-aux-data.tar.bz2
Judges’ remarks:
@@ -471,16 +471,16 @@ It comes with a set of corpora for you to try.
You can create your own trained networks. For example, we trained a network
on the C code of entries that were supplied to the 20Th IOCCC.
The ioccc-winlose-trained.net was trained using the
-earlystop.pl tool:
+earlystop.pl tool:
rm -f ioccc-winlose-trained.net
./earlystop.pl ioccc-winlose-trained.net ioccc_won_training/ ioccc_lost_training/ ioccc_won_test/ ioccc_lost_test/
where:
ioccc_won_training/
-1/2 of C code of the 20th IOCCC entries (except for dlowe.c from 2011)
+1/2 of C code of the 20th IOCCC entries (except for dlowe.c from 2011)
plus 1/2 of the C code winning entries from prior IOCCC contests
ioccc_won_test/
-1/2 of C code of the 20th IOCCC entries (except for dlowe.c from 2011)
+1/2 of C code of the 20th IOCCC entries (except for dlowe.c from 2011)
plus 1/2 of the C code winning entries from prior IOCCC contests
ioccc_lost_training/
1/2 of C code from entries that that did not win
@@ -489,17 +489,17 @@ 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.
-The match of dlowe.c to the lose/win trailed network was:
+NOTE: this is done in try.sh.
+The match of dlowe.c to the lose/win trailed network was:
dlowe.c 0.125108
NOTE: The non-artificially intelligent decisions of the IOCCC judges include random
quirks and their non-linear judgment calls not found in the ioccc trained network.
@@ -508,28 +508,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.
@@ -581,16 +581,16 @@ filetype:gif”.
Using these corpora as a training set;
Using several hundred random *.gif and *.png files from my home computer as
a test set;
-Using the included earlystop.pl script, which stopped after 67000 iterations.
+Using the included earlystop.pl script, which stopped after 67000 iterations.
Interpreting output of > 0.5 as “probably a .png” and < 0.5 as “probably
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:
@@ -598,23 +598,23 @@ 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
to within a tolerance of <0.01.
Limitations
The program can’t tell you anything meaningful about files with less than two
-bytes in them (I’m looking at you, smr.c!)
+bytes in them (I’m looking at you, smr.c!)
You must include the trailing directory separator on training directories
(this allows the program to be portable without wasting precious bytes on
figuring out how to concatenate directory and file names…).
@@ -623,7 +623,7 @@ figuring out how to concatenate directory and file names…).
representation and endianness.
Making sure not to
overfit the network to the training data is a bit of a
-black art. I have enclosed earlystop.pl, a wrapper script that implements
+black art. I have enclosed earlystop.pl, a wrapper script that implements
a simple ‘early stopping’ algorithm; other techniques are possible.
Bad input (e.g. nonexistent files, non-numeric number of iterations, etc.)
tends to result in empty output.
@@ -676,11 +676,11 @@ by a network trained to recognize IOCCC entries
Primary files
-- dlowe.c - entry source code
-- Makefile - entry Makefile
-- dlowe.orig.c - original source code
-- earlystop.pl - wrapper script to stop training early
-- try.sh - script to try entry
+- dlowe.c - entry source code
+- Makefile - entry Makefile
+- dlowe.orig.c - original source code
+- earlystop.pl - wrapper script to stop training early
+- try.sh - script to try entry
- dlowe-aux-data/png-0/5756029-DMZ-overview-B.gif - Non-png gif images
- dlowe-aux-data/png-0/M2.gif - Non-png gif images
- dlowe-aux-data/png-0/Obfuscate.gif - Non-png gif images
@@ -710,10 +710,10 @@ by a network trained to recognize IOCCC entries
- dlowe-aux-data/english-1/the_poor_people_of_paris.txt - training text for neural networks
- dlowe-aux-data/english-1/utmost.txt - training text for neural networks
- dlowe-aux-data/english-1/walljpar.txt - training text for neural networks
-- dlowe-aux-data/xor-0/00 - training digits for neural networks
-- dlowe-aux-data/xor-0/11 - training digits for neural networks
-- dlowe-aux-data/xor-1/01 - training digits for neural networks
-- dlowe-aux-data/xor-1/10 - training digits for neural networks
+- dlowe-aux-data/xor-0/00 - training digits for neural networks
+- dlowe-aux-data/xor-0/11 - training digits for neural networks
+- dlowe-aux-data/xor-1/01 - training digits for neural networks
+- dlowe-aux-data/xor-1/10 - training digits for neural networks
- dlowe-aux-data/png-1/JavaScript-obfuscation-code.png - training image for neural networks
- dlowe-aux-data/png-1/control_flow_obfuscation_before.png - training image for neural networks
- dlowe-aux-data/png-1/deceive-inveigle-obfuscate-t-shirts.png - training image for neural networks
@@ -727,15 +727,15 @@ by a network trained to recognize IOCCC entries
Secondary files
- 2011_dlowe.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
+- README.md - markdown source for this web page
- dlowe-aux-data/english-trained.net - trained neural network for English text
- dlowe-aux-data/ioccc-winlose-trained.net - trained neural network for C code from 20th IOCCC
- dlowe-aux-data/png-trained.net - trained neural network for png-0 and png-1 images
- dlowe-aux-data.tar.bz2 - tarball of IOCCC win lose trained network
- dlowe-aux-data/xor-trained.net - trained neural network for xor-0 and xor-1 data
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -803,7 +803,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2011/eastman/index.html b/2011/eastman/index.html
index 7cf796298..cb8aec12f 100644
--- a/2011/eastman/index.html
+++ b/2011/eastman/index.html
@@ -416,10 +416,10 @@
← 2011/dlowe
↑ 2011 ↑
2011/fredriksson →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -526,17 +526,17 @@ better. And so on.
Primary files
-- eastman.c - entry source code
-- Makefile - entry Makefile
-- eastman.orig.c - original source code
+- eastman.c - entry source code
+- Makefile - entry Makefile
+- eastman.orig.c - original source code
Secondary files
- 2011_eastman.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -604,7 +604,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2011/fredriksson/index.html b/2011/fredriksson/index.html
index 60aa877ae..811a23508 100644
--- a/2011/fredriksson/index.html
+++ b/2011/fredriksson/index.html
@@ -416,10 +416,10 @@
← 2011/eastman
↑ 2011 ↑
2011/goren →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -701,18 +701,18 @@ apply to the generated source ag.c.)
Primary files
-- fredriksson.c - entry source code
-- Makefile - entry Makefile
-- fredriksson.orig.c - original source code
-- try.sh - script to try entry
+- fredriksson.c - entry source code
+- Makefile - entry Makefile
+- fredriksson.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2011_fredriksson.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -780,7 +780,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2011/goren/index.html b/2011/goren/index.html
index be884d3c6..ad7e1bbca 100644
--- a/2011/goren/index.html
+++ b/2011/goren/index.html
@@ -416,10 +416,10 @@
← 2011/fredriksson
↑ 2011 ↑
2011/hamaji →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -520,19 +520,19 @@ It does work on 64-bit Linux, because all functions are below 4GB.
Primary files
-- goren.c - entry source code
-- Makefile - entry Makefile
-- goren.orig.c - original source code
+- goren.c - entry source code
+- Makefile - entry Makefile
+- goren.orig.c - original source code
- MagrittePipe.jpg - this is not a pipe image
-- try.sh - script to try entry
+- try.sh - script to try entry
Secondary files
- 2011_goren.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -600,7 +600,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2011/hamaji/index.html b/2011/hamaji/index.html
index 79924f52a..218298a77 100644
--- a/2011/hamaji/index.html
+++ b/2011/hamaji/index.html
@@ -416,10 +416,10 @@
← 2011/goren
↑ 2011 ↑
2011/hou →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -456,7 +456,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
@@ -551,7 +551,7 @@ cannot execute deeper recursions).
Obfuscation
First of all, as you see, my program looks like a nonogram puzzle which results
in a dragon. This puzzle is
-dragon.nono in this directory. Note that whitespaces in character
+dragon.nono in this directory. Note that whitespaces in character
literals, a string literal, and around the last comment are considered as a
boxed cell.
My program is based on bit operations for speed. Many values are
@@ -584,15 +584,15 @@ the dragon because 2012 is 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
+
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
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
@@ -542,18 +542,18 @@ it produces something resembling the bitmask hash table as part of its output.
Primary files
-- hou.c - entry source code
-- Makefile - entry Makefile
-- hou.orig.c - original source code
-- try.sh - script to try entry
+- hou.c - entry source code
+- Makefile - entry Makefile
+- hou.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2011_hou.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -621,7 +621,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2011/index.html b/2011/index.html
index b8f9247ca..7044162d0 100644
--- a/2011/index.html
+++ b/2011/index.html
@@ -416,7 +416,7 @@
↑ top ↑
2012 →
Inventory
- ✓
+ ✓
@@ -576,7 +576,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2011/konno/index.html b/2011/konno/index.html
index a86348498..042cd494b 100644
--- a/2011/konno/index.html
+++ b/2011/konno/index.html
@@ -416,10 +416,10 @@
← 2011/hou
↑ 2011 ↑
2011/richards →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -500,18 +500,18 @@ Can you then minimize the size of that code?
Primary files
-- konno.c - entry source code
-- Makefile - entry Makefile
-- konno.orig.c - original source code
-- try.sh - script to try entry
+- konno.c - entry source code
+- Makefile - entry Makefile
+- konno.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2011_konno.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -579,7 +579,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2011/richards/index.html b/2011/richards/index.html
index 422c05c30..58d591099 100644
--- a/2011/richards/index.html
+++ b/2011/richards/index.html
@@ -416,10 +416,10 @@
← 2011/konno
↑ 2011 ↑
2011/toledo →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -533,20 +533,20 @@ flags:
Primary files
-- richards.c - entry source code
-- Makefile - entry Makefile
-- richards.alt.c - alternate source code
-- richards.orig.c - original source code
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
+- richards.c - entry source code
+- Makefile - entry Makefile
+- richards.alt.c - alternate source code
+- richards.orig.c - original source code
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
Secondary files
- 2011_richards.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -614,7 +614,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2011/toledo/index.html b/2011/toledo/index.html
index 9a3125d61..dd32f4fbe 100644
--- a/2011/toledo/index.html
+++ b/2011/toledo/index.html
@@ -416,10 +416,10 @@
← 2011/richards
↑ 2011 ↑
2011/vik →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -449,20 +449,20 @@ Location: MX - United Mexican StatesNOTE: this entry requires the X11/Xlib.h header file and the X11 library to
compile. For more information see the
FAQ on “X11”.
-There are two alternate versions, one that lets you reconfigure the
-controls and size and another that should work for
+There are two alternate versions, one that lets you reconfigure the
+controls and size and another that should work for
Windows. See Alternate code below.
To use:
./toledo
Alternate code:
-The first alt version, toledo.alt.c, allows you to reconfigure
+
The first alt version, toledo.alt.c, allows you to reconfigure
the controls and the dimensions more easily.
-The second version, toledo.alt2.c, should work for Windows but
+
The second version, toledo.alt2.c, should work for Windows but
does not allow you to reconfigure the keys or dimensions. This is because it
cannot be tested by us.
Alternate build:
For the one that lets you reconfigure the keys you will want to look at the
-included header file, keysym.h, to find the correct macros. Once you
+included header file, keysym.h, to find the correct macros. Once you
have the right names you can define the macros FIRE, FORWARD, BACKWARD,
LEFT, RIGHT, WIDTH and HEIGHT. Here are the defaults:
FIRE= XK_BackSpace:XK_Tab
@@ -492,7 +492,7 @@ the source early on, right before the code gets hard to follow, or using the
you remove both the X11 include files and replace them with
#include "layer.c"
you ought to be able to compile and run this program on Windows.
-NOTE: this is what toledo.alt2.c is for.
+NOTE: this is what toledo.alt2.c is for.
Author’s remarks:
/=========\\
\==\ /==/ ||
@@ -680,21 +680,21 @@ another program.
Primary files
-- toledo.c - entry source code
-- Makefile - entry Makefile
-- toledo.alt2.c - second alternate source code
-- toledo.alt.c - alternate source code
-- toledo.orig.c - original source code
-- keysym.h - header file to help identify some key symbols
-- layer.c - translation layer to make 3D Tanks game
+- toledo.c - entry source code
+- Makefile - entry Makefile
+- toledo.alt2.c - second alternate source code
+- toledo.alt.c - alternate source code
+- toledo.orig.c - original source code
+- keysym.h - header file to help identify some key symbols
+- layer.c - translation layer to make 3D Tanks game
Secondary files
- 2011_toledo.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -762,7 +762,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2011/vik/index.html b/2011/vik/index.html
index 9508904b2..c58b4b5bf 100644
--- a/2011/vik/index.html
+++ b/2011/vik/index.html
@@ -416,10 +416,10 @@
← 2011/toledo
↑ 2011 ↑
2011/zucker →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -487,7 +487,7 @@ initialization for?
cc -S vik.c
and examine the resulting assembly file vik.s. On some platforms
the assembly file is about 128MB in size!
-NOTE: The randowan.mod and mad_world.mod files were
+
NOTE: The randowan.mod and mad_world.mod files were
created by Henrik Bertilsson and are included
with his permission.
Author’s remarks:
@@ -592,22 +592,22 @@ no argument is passed, the program crashes.
Primary files
-- vik.c - entry source code
-- Makefile - entry Makefile
-- vik.alt.c - alternate source code
-- vik.orig.c - original source code
+- vik.c - entry source code
+- Makefile - entry Makefile
+- vik.alt.c - alternate source code
+- vik.orig.c - original source code
- mad_world.mod - 4-channel Protracker module sound data
- randowan.mod - 4-channel Protracker module sound data
-- raw2wav - convert raw format to WAV format
-- try.sh - script to try entry
+- raw2wav - convert raw format to WAV format
+- try.sh - script to try entry
Secondary files
- 2011_vik.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -675,7 +675,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2011/zucker/index.html b/2011/zucker/index.html
index e45b2ebc0..291275d92 100644
--- a/2011/zucker/index.html
+++ b/2011/zucker/index.html
@@ -416,10 +416,10 @@
← 2011/vik
↑ 2011 ↑
2012/blakely →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -610,20 +610,20 @@ Python, respectively).
Primary files
-- zucker.c - entry source code
-- Makefile - entry Makefile
-- zucker.alt.c - alternate source code
-- zucker.orig.c - original source code
+- zucker.c - entry source code
+- Makefile - entry Makefile
+- zucker.alt.c - alternate source code
+- zucker.orig.c - original source code
- sphere-tracing.pdf - research paper on antialiased ray tracing
-- try.sh - script to try entry
+- try.sh - script to try entry
Secondary files
- 2011_zucker.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -691,7 +691,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2012/blakely/index.html b/2012/blakely/index.html
index 95153bc47..08e9842ba 100644
--- a/2012/blakely/index.html
+++ b/2012/blakely/index.html
@@ -416,10 +416,10 @@
← 2011/zucker
↑ 2012 ↑
2012/deckmyn →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -568,18 +568,18 @@ questions.)
Primary files
-- blakely.c - entry source code
-- Makefile - entry Makefile
-- blakely.orig.c - original source code
-- try.sh - script to try entry
+- blakely.c - entry source code
+- Makefile - entry Makefile
+- blakely.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2012_blakely.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -647,7 +647,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2012/deckmyn/deckmyn.html b/2012/deckmyn/deckmyn.html
index cb244c7b0..e5d5aadcb 100644
--- a/2012/deckmyn/deckmyn.html
+++ b/2012/deckmyn/deckmyn.html
@@ -413,7 +413,7 @@
@@ -433,7 +433,7 @@
the font description embedded in the source code. Notice that you don’t pass the
file name, but the actual content as one long character string! If you want to
define your personal music font, you can of course do so. The file layout must
-be exactly the same as deckmyn.c though, only the locations of
+be exactly the same as deckmyn.c though, only the locations of
space (" ") may differ.
The second argument is the actual music. Again it is one long string, not a file
name. But it is possible to save your music in a file, of course.
@@ -569,7 +569,7 @@ clef. "K" followed by any other letter will just default to a stand
diff --git a/2012/deckmyn/index.html b/2012/deckmyn/index.html
index 8c6d506aa..0ddf48e59 100644
--- a/2012/deckmyn/index.html
+++ b/2012/deckmyn/index.html
@@ -416,10 +416,10 @@
← 2012/blakely
↑ 2012 ↑
2012/dlowe →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -495,12 +495,12 @@ etc.
The program expects two command line arguments. The first is a (very long)
string that contains the complete music font. Note that it should not be given
as a file name! The default music font is encoded in the (whitespace of the)
-source code deckmyn.c itself. Therefore, the first argument should
+source code deckmyn.c itself. Therefore, the first argument should
be "$(cat deckmyn.c)".
The second command line argument is the music itself. This is, again, a string,
not a file name. All music signs are entered as tokens of exactly 3 characters.
The code is very sensitive to bad spacing! So for instance, if you use a file to
-write the music (e.g., example_greensleeves file),
+write the music (e.g., example_greensleeves file),
you should keep in mind that newline is also a character!
Internals
To minimise the memory footprint, this program has no variable declarations at
@@ -576,22 +576,22 @@ character nested conditional expression.
Primary files
-- deckmyn.c - entry source code
-- Makefile - entry Makefile
-- deckmyn.orig.c - original source code
+- deckmyn.c - entry source code
+- Makefile - entry Makefile
+- deckmyn.orig.c - original source code
- deckmyn.html - user manual
-- example_beethoven - music notation for Beethoven
-- example_greensleeves - music notation for Greensleeves
-- try.sh - script to try entry
+- example_beethoven - music notation for Beethoven
+- example_greensleeves - music notation for Greensleeves
+- try.sh - script to try entry
Secondary files
- 2012_deckmyn.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- deckmyn.md - markdown source for deckmyn.html
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- deckmyn.md - markdown source for deckmyn.html
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -659,7 +659,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2012/dlowe/index.html b/2012/dlowe/index.html
index 635627c68..da758b2d1 100644
--- a/2012/dlowe/index.html
+++ b/2012/dlowe/index.html
@@ -416,10 +416,10 @@
← 2012/deckmyn
↑ 2012 ↑
2012/endoh1 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -542,18 +542,18 @@ abuse of the arithmetic properties of magic numbers.
Primary files
-- dlowe.c - entry source code
-- Makefile - entry Makefile
-- dlowe.orig.c - original source code
+- dlowe.c - entry source code
+- Makefile - entry Makefile
+- dlowe.orig.c - original source code
Secondary files
- 2012_dlowe.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
+- README.md - markdown source for this web page
- dead.d - game data input file
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- splash.d - game data input file
- sprites.d - game data input file
- index.html - this web page
@@ -623,7 +623,7 @@ Jump to: top
diff --git a/2012/endoh1/index.html b/2012/endoh1/index.html
index de9d09144..d2cc814dd 100644
--- a/2012/endoh1/index.html
+++ b/2012/endoh1/index.html
@@ -416,10 +416,10 @@
← 2012/dlowe
↑ 2012 ↑
2012/endoh2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -467,11 +467,11 @@ see what this looks like not going so fast then you might wish to try the
./try.bw.sh fountain.txt
./try.sh fountain.txt
Alternate code:
-The files endoh1.alt.c and
-endoh1_color.alt.c correspond to endoh1.c and
-endoh1_color.c but which allow you to speed up or slow down
+
The files endoh1.alt.c and
+endoh1_color.alt.c correspond to endoh1.c and
+endoh1_color.c but which allow you to speed up or slow down
the fluid and change the behaviour of the fluid. The file
-endoh1.alt2.c is deobfuscated and was provided by the author.
+endoh1.alt2.c is deobfuscated and was provided by the author.
Alternate build:
For the default values, try:
make alt
@@ -605,7 +605,7 @@ it is surely a C99 feature.
“terraced rice” in Japanese.)
clock.txt is a “water” clock created by HAMANO Tsukasa.
Other *.txt files are from the judges.
-endoh1_color.c is a variant that shows the density by using terminal 256
+
endoh1_color.c is a variant that shows the density by using terminal 256
colors.
Acknowledgments
I would like to thank my wife @hirekoke for her teaching me the SPH method.
@@ -658,12 +658,12 @@ casting) it to an integer-type variable.
Primary files
-- endoh1.c - entry source code
-- Makefile - entry Makefile
-- endoh1.alt2.c - second alternate source code
-- endoh1.alt.c - alternate source code
-- endoh1_color.alt.c - alternate source code with color
-- endoh1.orig.c - original source code
+- endoh1.c - entry source code
+- Makefile - entry Makefile
+- endoh1.alt2.c - second alternate source code
+- endoh1.alt.c - alternate source code
+- endoh1_color.alt.c - alternate source code with color
+- endoh1.orig.c - original source code
- clock.txt - fluid simulator initial state as text
- column2.txt - fluid simulator initial state as text
- column3.txt - fluid simulator initial state as text
@@ -681,19 +681,19 @@ casting) it to an integer-type variable.
- logo.txt - fluid simulator initial state as text
- pour-out.txt - fluid simulator initial state as text
- tanada.txt - fluid simulator initial state as text
-- try.alt.bw.sh - script to try alternate code in black and white
-- try.alt.sh - script to try alternate code
-- try.bw.sh - script to try black and white version
-- try.sh - script to try entry
-- endoh1_color.c - source code using terminal 256 colors
+- try.alt.bw.sh - script to try alternate code in black and white
+- try.alt.sh - script to try alternate code
+- try.bw.sh - script to try black and white version
+- try.sh - script to try entry
+- endoh1_color.c - source code using terminal 256 colors
Secondary files
- 2012_endoh1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -761,7 +761,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2012/endoh2/index.html b/2012/endoh2/index.html
index b00617a4f..49c033cc0 100644
--- a/2012/endoh2/index.html
+++ b/2012/endoh2/index.html
@@ -416,10 +416,10 @@
← 2012/endoh1
↑ 2012 ↑
2012/grothe →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -571,19 +571,19 @@ unless -std=c99 option is given.
Primary files
-- endoh2.c - entry source code
-- Makefile - entry Makefile
-- endoh2.orig.c - original source code
-- try.sh - script to try entry
-- find-font-table.rb - tool used to find the magic string
+- endoh2.c - entry source code
+- Makefile - entry Makefile
+- endoh2.orig.c - original source code
+- try.sh - script to try entry
+- find-font-table.rb - tool used to find the magic string
Secondary files
- 2012_endoh2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -651,7 +651,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2012/grothe/index.html b/2012/grothe/index.html
index afda1f020..cc4d4788b 100644
--- a/2012/grothe/index.html
+++ b/2012/grothe/index.html
@@ -416,10 +416,10 @@
← 2012/endoh2
↑ 2012 ↑
2012/hamano →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -556,24 +556,24 @@ need to be so trying to figure it out can be a bit tough.
Primary files
-- grothe.c - entry source code
-- Makefile - entry Makefile
-- grothe.orig.c - original source code
-- cookie_recipe.txt - cookie recipe
-- try.sh - script to try entry
+- grothe.c - entry source code
+- Makefile - entry Makefile
+- grothe.orig.c - original source code
+- cookie_recipe.txt - cookie recipe
+- try.sh - script to try entry
Secondary files
- 2012_grothe.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
+- README.md - markdown source for this web page
- cookie_piece1.dat - binary support file
- cookie_piece2.dat - binary support file
- cookie_piece3.dat - binary support file
- cookie_piece4.dat - binary support file
- cookie_recipe_restore.txt - decoded cookie recipe
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -641,7 +641,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2012/hamano/index.html b/2012/hamano/index.html
index 54c19c83a..8bf514439 100644
--- a/2012/hamano/index.html
+++ b/2012/hamano/index.html
@@ -416,10 +416,10 @@
← 2012/grothe
↑ 2012 ↑
2012/hou →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -534,18 +534,18 @@ embedded font in the fragmented glyph?
Primary files
-- hamano.c - entry source code
-- Makefile - entry Makefile
-- hamano.orig.c - original source code
-- try.sh - script to try entry
+- hamano.c - entry source code
+- Makefile - entry Makefile
+- hamano.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2012_hamano.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -613,7 +613,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2012/hou/hint.html b/2012/hou/hint.html
index 9635ec688..342755b2c 100644
--- a/2012/hou/hint.html
+++ b/2012/hou/hint.html
@@ -413,7 +413,7 @@
@@ -582,7 +582,7 @@ amount of spaghetti branches and virtual thread creations. Finally, the VM in
diff --git a/2012/hou/index.html b/2012/hou/index.html
index 5fb13cb54..a58e906f8 100644
--- a/2012/hou/index.html
+++ b/2012/hou/index.html
@@ -416,10 +416,10 @@
← 2012/hamano
↑ 2012 ↑
2012/kang →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -486,7 +486,7 @@ in the regular expression by escaping it with [] or ""
The following regular expression operators are supported:
() [] * + ? | ""
For example, one can use the following expression to match a certain declaration
-statement in hou.c:
+statement in hou.c:
"char"[ *]*[a-zA-Z_][0-9a-zA-Z_]*[ ]*((=[0-9a-zA-Z_ ]+)|(\[[0-9a-zA-Z_ ]*\]))?[ ]*(,[ *]*[a-zA-Z_][0-9a-zA-Z_]*[ ]*((=[0-9a-zA-Z_ ]+)|(\[[0-9a-zA-Z_ ]*\]))?[ ]*)*;
The regex engine is also algorithmically efficient. To illustrate the point,
ansi.txt contains a pathological expression 1 that guarantees a
@@ -555,27 +555,27 @@ amount of spaghetti branches and virtual thread creations. Finally, the VM in
Primary files
-- hou.c - entry source code
-- Makefile - entry Makefile
-- hou.orig.c - original source code
+- hou.c - entry source code
+- Makefile - entry Makefile
+- hou.orig.c - original source code
- ansi.txt - sample input with a pathological expression
- chk.txt - sample input
- hint.html - hint document
- html.txt - sample input
- markdown.txt - sample input
-- patho.pl - perl program - takes a long time to process ansi.txt
-- try.sh - script to try entry
+- patho.pl - perl program - takes a long time to process ansi.txt
+- try.sh - script to try entry
- header.htm - HTML header
- perl-notes.txt - time command diff of patho.pl and prog
Secondary files
- 2012_hou.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- hint.md - markdown source for hint.html
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- hint.md - markdown source for hint.html
+- .path - directory path from top level directory
- index.html - this web page
@@ -643,7 +643,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2012/index.html b/2012/index.html
index a5e93cf67..74d44f290 100644
--- a/2012/index.html
+++ b/2012/index.html
@@ -416,7 +416,7 @@
↑ top ↑
2013 →
Inventory
- ✓
+ ✓
@@ -618,7 +618,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2012/kang/index.html b/2012/kang/index.html
index 90d2e21e6..2828df67e 100644
--- a/2012/kang/index.html
+++ b/2012/kang/index.html
@@ -416,10 +416,10 @@
← 2012/hou
↑ 2012 ↑
2012/konno →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -600,20 +600,20 @@ proof-reading remarks.
Primary files
-- kang.c - entry source code
-- Makefile - entry Makefile
-- kang.orig.c - original source code
-- de.sh - German words script for 1 through 13
-- en.sh - English words script for 1 through 13
-- try.sh - script to try entry
+- kang.c - entry source code
+- Makefile - entry Makefile
+- kang.orig.c - original source code
+- de.sh - German words script for 1 through 13
+- en.sh - English words script for 1 through 13
+- try.sh - script to try entry
Secondary files
- 2012_kang.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -681,7 +681,7 @@ Jump to: top
diff --git a/2012/konno/index.html b/2012/konno/index.html
index d162be70d..1ec0c74cd 100644
--- a/2012/konno/index.html
+++ b/2012/konno/index.html
@@ -416,10 +416,10 @@
← 2012/kang
↑ 2012 ↑
2012/omoikane →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -455,10 +455,10 @@ code below.
# you can also specify numbers to try before the random and preselected ones:
./try.sh 111 222 333 444 555 666 777 888 999
-Try running try.sh a number of times as the first part randomly +
Try running try.sh a number of times as the first part randomly selects ten numbers to try.
An alternate version of this entry, konno.alt.c, is provided. +
An alternate version of this entry, konno.alt.c, is provided. This alternate code is an unobfuscated version of the winning code.
make alt
@@ -513,19 +513,19 @@ patterns.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
./try.sh
-The script try.sh will check if you have perl before trying to use the +
The script try.sh will check if you have perl before trying to use the perl parts of the script.
The alternate version will, if no file is specified, read in the compiled binary @@ -599,22 +599,22 @@ JavaScript.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
It implicitly declares functions read(2), write(2), exit(3) and
calloc(3), the latter two incompatibly. 32 bit and 64 bit executables are
-separate Makefile targets, involving a change from int to long
+separate Makefile targets, involving a change from int to long
and from a hardcoded sizeof of 4 to 8.
The program has been tested to work correctly on Linux/Solaris/MacOSX both in 32 and 64 bits.
@@ -833,28 +833,28 @@ just try to understand the program via the source.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
./zeitak < file
where file is the file to be checked for nesting errors. For example, you may
-try incorrect.1.quote.c and the program itself. You may also run it on
+try incorrect.1.quote.c and the program itself. You may also run it on
text files that are not code.
./try.sh
NOTE: the program prints an error and exits on the first nesting error so it will not detect multiple issues.
The alternate code, zeitak.alt.c, is a version that was slightly +
The alternate code, zeitak.alt.c, is a version that was slightly deobfuscated by the author. You may find reading it helpful in your attempt to understand this extremely subtle entry.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
To slow down the output programmatically, introduce a delay immediately after the
-call to fflush(3) (N.B: see birken.alt.c source).
fflush(3) (N.B: see birken.alt.c source).
This program demonstrates how to exploit a bug in IOCCC size tool version
2013-07-30-v17. The first line of the program is reproduced below.
The varying single square emitter pattern lengths are resolved during string
decoding using the clever expression, (i & 3) - 3, which identifies pattern 3
and 7 as longer.
The file size of birken.c is a prime number. Deleting the first +
The file size of birken.c is a prime number. Deleting the first line also produces a prime-sized program. These properties do not qualify the program as a prime number generator.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
If you are using macOS, the included sc-ioccc.terminal +
If you are using macOS, the included sc-ioccc.terminal configuration file will correctly display console applications that use ANSI graphics.
NOTE: the author remarked that in some systems one might need to #include <unistd.h>. This has been done in the entry but not the alternate version. This
@@ -512,7 +512,7 @@ and somewhat useless beast. For everyone else, please run the emulator on a
little endian machine.
iocccsize -i < cable3.c returns 1977 (the year the 4.77 MHz 8086 CPU was announced)-fsigned-char) and iOS. You will need to adjust the
-Makefile if your system lacks sdl-config to correctly point to the
+Makefile if your system lacks sdl-config to correctly point to the
SDL libraries and header files.
On UNIX-based systems we can get raw keystrokes using stty. However Windows
has no stty. Therefore the Makefile includes a -D option to define a
@@ -578,7 +578,7 @@ offsets) this is not the case, and to run successfully on these systems, you
will need to explicitly declare these functions by adding the appropriate
include to the top of the source:
#include <unistd.h>
-NOTE: this has been done in cable3.c.
+NOTE: this has been done in cable3.c.
./cable3 bios-image-file floppy-image-file [harddisk-image-file]
PLEASE NOTE that under Unices the keyboard must be in raw mode for the emulator @@ -587,14 +587,14 @@ looks something like:
stty cbreak raw -echo min 0
./cable3 bios floppy.img harddisk.img
stty cooked echo
-See the cable3.sh script.
+See the cable3.sh script.
The simplest use of the emulator is with a single floppy boot disk image, like
the fd.img provided, which is a FreeDOS boot disk.
Before running the emulator on a Unix-type system, stty needs to be used to
put the keyboard into raw mode (and afterwards it needs to be put back to
cooked). So, run the emulator using something like this script (provided as
-the cable3.sh file):
stty cbreak raw -echo min 0
./cable3 bios fd.img
stty cooked echo
@@ -681,7 +681,7 @@ for the (terminal) text and (SDL) graphics displays.
Like a real PC, the emulator needs a BIOS to do anything useful. Here we use a custom BIOS, written from scratch specifically for the emulator. Source code for the BIOS (written in 8086 assembly language) which compiles with the -freely-available NASM x86 assembler is in bios.asm.
+freely-available NASM x86 assembler is in bios.asm.The BIOS implements the standard interrupt interfaces for video, disk, timer, clock and so on, much as a “real” PC BIOS does, and also a small timer-controlled video driver to convert video memory formatting into ANSI @@ -812,30 +812,30 @@ the source size down. Other compilers are likely to produce similar warnings.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
Also, why doesn’t it crash but instead produces a correct output when called with one argument or when all arguments are equal?
-For extra fun, compile and run fun.c:
+For extra fun, compile and run fun.c:
#include <stdio.h>
int main() {
printf("%d %d %d\n", (int)(-1.0/0.0), (int)(0.0/0.0), (int)(1.0/0.0));
@@ -482,7 +482,7 @@ with one argument or when all arguments are equal?
and with Apple clang version 15.0.0 (clang-1500.0.40.1) in 2023, we get:
1840985120 -2033041452 35979112
Which one is correct? :)
-NOTE: make all will compile fun.c but to provide a different compiler
+
NOTE: make all will compile fun.c but to provide a different compiler
you can do something like:
make CC=clang fun
Author’s remarks:
@@ -495,9 +495,9 @@ you can do something like:
$ echo "sparkline of file lengths: $(wc -c * | awk '{print $1}' | xargs ./sparkl)"
sparkline of file sizes: ▁▁▁▃▃▂▁▂▁▁▉
-NOTE: this has been provided in slflen.sh so you can try:
+NOTE: this has been provided in slflen.sh so you can try:
./slflen.sh
-instead (which try.sh also uses).
+instead (which try.sh also uses).
This is a handy little tool for visualizing numeric series from the command line, using sparklines. Pass it a numeric series as arguments, and @@ -550,21 +550,21 @@ implementation is completely independent.)
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
This is a tool for C programmers to play the SKI combinator calculus, especially, Lazy K.
This program will shine when it is used as a library. For example, -hello.lazy is a “Hello world” program written in Lazy K.
+hello.lazy is a “Hello world” program written in Lazy K. $ lazy hello.lazy
Hello, world!
where lazy is a reference implementation of Lazy K. At the same time,
-hello.lazy is a valid C program that uses endoh1.c
+hello.lazy is a valid C program that uses endoh1.c
as a library.
$ gcc -o hello -xc hello.lazy
$ ./hello
@@ -539,7 +539,7 @@ just try to understand the program via the source.
The whole program is interpreted by macro expansion.
For example, S (K I) is translated to a normal C code, (s)((k)(i)), or
simply s(k(i)).
-This expression returns an abstract syntax tree, and endoh1.c
+
This expression returns an abstract syntax tree, and endoh1.c
evaluates it.
This program uses a very simple “term rewriting” approach for evaluating SKI
combinator calculus. The rewriting rules are shown in the shape of the code.
@@ -605,22 +605,22 @@ solver.
Primary files
-- endoh1.c - entry source code
-- Makefile - entry Makefile
-- endoh1.orig.c - original source code
-- try.sh - script to try entry
-- echo.lazy - lazy input file
-- hello.lazy - lazy input file
-- rot13.ed - rot13 ed script
-- tac.lazy - lazy input file
+- endoh1.c - entry source code
+- Makefile - entry Makefile
+- endoh1.orig.c - original source code
+- try.sh - script to try entry
+- echo.lazy - lazy input file
+- hello.lazy - lazy input file
+- rot13.ed - rot13 ed script
+- tac.lazy - lazy input file
Secondary files
- 2013_endoh1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -688,7 +688,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2013/endoh2/index.html b/2013/endoh2/index.html
index 55b3400f3..cabc29f7c 100644
--- a/2013/endoh2/index.html
+++ b/2013/endoh2/index.html
@@ -416,10 +416,10 @@
← 2013/endoh1
↑ 2013 ↑
2013/endoh3 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -456,7 +456,7 @@ for details on installing ImageMagick and the
FAQ on “Ruby”
for details on installing Ruby.
If you do not have both, however, you can still do the below in the try
-section to enjoy the entry. The Makefile
+section to enjoy the entry. The Makefile
check rule will check if you have both and if either is not found it will
report it and tell you where to download one or both before exiting.
Try:
@@ -536,18 +536,18 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Primary files
-- endoh2.c - entry source code
-- Makefile - entry Makefile
-- endoh2.orig.c - original source code
-- ocr.rb - test suite support file
+- endoh2.c - entry source code
+- Makefile - entry Makefile
+- endoh2.orig.c - original source code
+- ocr.rb - test suite support file
Secondary files
- 2013_endoh2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -615,7 +615,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2013/endoh3/index.html b/2013/endoh3/index.html
index 54ce6edf4..d0b1da490 100644
--- a/2013/endoh3/index.html
+++ b/2013/endoh3/index.html
@@ -416,10 +416,10 @@
← 2013/endoh2
↑ 2013 ↑
2013/endoh4 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -469,7 +469,7 @@ system up for this or if you want to verify that everything is oky.
The script will check for SoX first and next padsp from PulseAudio and
finally if neither are found if you have ruby(1) installed it’ll use the
included ruby script to convert it to a WAV file for you to play.
-If no args are passed to the script it will play twinkle.abc and
+
If no args are passed to the script it will play twinkle.abc and
the string ABC. Otherwise while there’s a remaining arg if it’s a file it will
run the program on the file. If it’s not a file it’ll run it as a string.
The *.abc files are provided as music samples.
@@ -631,24 +631,24 @@ squashing them into just one for-loop.
Primary files
-- endoh3.c - entry source code
-- Makefile - entry Makefile
-- endoh3.orig.c - original source code
-- flea-waltz.abc - sample input
-- menuet.abc - sample input
-- test.abc - sample input
-- try.sh - script to try entry
-- twinkle.abc - sample input
-- wavify.rb - post process output to form a WAV sound file
-- yankee.abc - sample input
+- endoh3.c - entry source code
+- Makefile - entry Makefile
+- endoh3.orig.c - original source code
+- flea-waltz.abc - sample input
+- menuet.abc - sample input
+- test.abc - sample input
+- try.sh - script to try entry
+- twinkle.abc - sample input
+- wavify.rb - post process output to form a WAV sound file
+- yankee.abc - sample input
Secondary files
- 2013_endoh3.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -716,7 +716,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2013/endoh4/index.html b/2013/endoh4/index.html
index edd05c4ce..75611d4c0 100644
--- a/2013/endoh4/index.html
+++ b/2013/endoh4/index.html
@@ -416,10 +416,10 @@
← 2013/endoh3
↑ 2013 ↑
2013/hou →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -449,7 +449,7 @@ Location: JP - Japan
If you wish to change the size (see the Author’s remarks
below) you can do so with the SIZE variable. For instance you can do:
make clobber SIZE=50,50 all
-but you can also do this directly with the endoh4.sh script as
+
but you can also do this directly with the endoh4.sh script as
described below.
Bugs and (Mis)features:
The current status of this entry is:
@@ -462,7 +462,7 @@ described below.
./endoh4.sh file
The second form is preferable as it will temporarily make the cursor invisible
as recommended by the author. If no file is specified in the ./endoh4.sh command
-line it will feed to the program endoh4.c.
./endoh4.sh cube.txt
Hit ctrl-c to end the program.
@@ -474,7 +474,7 @@ line it will feed to the program endoh4.c to the program. +Not specifying a file feeds endoh4.c to the program.
This program is formatted as the net for a tetrahedron (hint: try feeding the
program it’s own source code like ./endoh4.sh). When it runs there is an
@@ -559,11 +559,11 @@ They are copyrighted in CC BY-SA 3.0 by “User:Cyp” and “User:AndrewKepert
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
The volume shader for the i-th volume is named as the (i+1)-th capital letter. @@ -603,7 +603,7 @@ the camera, and shoot a ray from the camera point to the image plane point, see: width=935 height=632>
.. and the ray direction vector (image plane point - camera point) is (X,Y,Z). For the
coordinate space, volume 0 is scaled up 64x here to (0,0,0)-(4096,4096,4096).
For a basic camera shader example, check otherroom.scene.
+For a basic camera shader example, check otherroom.scene.
If any ray goes out of volume 0, the renderer crashes. Make sure it doesn’t happen. Wall up everything.
Variables ABCDEF control the color returned from the ray. They will be
@@ -886,7 +886,7 @@ and don’t put a newline after it.
https://github.com/ioccc-src/temp-test-ioccc/blob/master/## To build:
+https://github.com/ioccc-src/winner/blob/master/## To build:
make all
The current status of this entry is:
@@ -535,7 +535,7 @@ don’t have to worry about conflicts.grep “size limit”). Please see the Self-imposed
restrictions section below for more details.cc(1) and
make(1). No gzip(1) compression! a.c.gz doesn’t fit in 2053 bytes, anyway.a.c (the real decompressed source) uses
+a.c (the real decompressed source) uses
#define (or cc -D) at all.a.c does not drop optional features to reduce size. There are pure
@@ -554,8 +554,8 @@ optimization code that can be dropped without affecting the converged output
properly fopen()ed with "rb" / "wb" for Windows compatibility. The PPM
header has a comment line for non-standard-compliant viewers (specifically, my
old HDRShop 1.0). And there is a nice text message saying “please wait…”.
-Despite the messy look, a.c and hou.c compile warning-free
-(hou.c even wastes 18 bytes on #include<stdio.h> just for putchar(3)).
+Despite the messy look, a.c and hou.c compile warning-free
+(hou.c even wastes 18 bytes on #include<stdio.h> just for putchar(3)).
a.c compiles mostly clean in the C99/ANSI modes of clang and gcc (with: -Wall --pedantic
@@ -575,7 +575,7 @@ image? Hint: look up.
a.c leaves all shaders in plain text, but the plain text shader code can’t
be taken for its face value; the arithmetic rules subtly diverge from our common
sense.a.c is less portable than hou.c itself. hou.c only depends
+a.c is less portable than hou.c itself. hou.c only depends
on ASCII and should run just fine on 16-bit, small memory, or
floating-point-incapable machines. a.c, while still reasonably portable, is
quite memory consuming, requires IEEE754-compliant double, and assumes int to be
@@ -608,7 +608,7 @@ corresponds to the final image, which can then be produced as a simple per-pixel
histogram of all generated paths. The robustness comes from a state mutation
strategy that actively tries to explore the neighborhood of high energy peaks
(e.g., paths that happen to hit the light source in
-otherroom.scene file).
+otherroom.scene file).
In addition, a rudimentary form of lens
path stratification is added to balance the attention each pixel receives. The
Metropolis-Hasting process completely avoids the tell-tale pixel sampling loop
@@ -628,12 +628,12 @@ session would run through its short period many times, but that doesn’t
necessarily map to the same set of paths in PSSMLT. After all,
Metropolis-Hasting used an even worse PRNG in their 1953 paper.
The PPM compressor uses statically weighted fixed order contexts with an
-arithmetic encoder tweaked for iocccsize.c. The encoder emits octet-space pairs
+arithmetic encoder tweaked for iocccsize.c. The encoder emits octet-space pairs
where each octet encodes ~6.5 bits of information and each space encodes 2 bits
-(thanks to the generous definition of “space” in iocccsize.c code).
+(thanks to the generous definition of “space” in iocccsize.c code).
The compressor
actively shuffles the variable names around until the compressed string happens
-to contain enough {};s to pass the final iocccsize.c test.
+to contain enough {};s to pass the final iocccsize.c test.
There are a few other tweaks:
The PPM model uses mostly whitespace characters for weights.
PPM implementations.PPM implementations.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
We, the judges, were very surprised by this as many of the multiple authors submitted very different styles of entries.
-This year was the first time the IOCCC size tool was used. Entries +
This year was the first time the IOCCC size tool was used. Entries
had to print a value 2053 or less when the -i flag was used.
Several people discovered an undocumented feature in that certain comments such as:
@@ -602,7 +602,7 @@ Jump to: top
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
The code can be user-modified simply by changing the build command line. -The following symbols are defined in the Makefile:
+The following symbols are defined in the Makefile:-DLT=x1,y1,z1,x2,y2,z2,... defines the coordinates of the lights in the
scene. It should be a comma-separated list of coordinates (x, y, z), three per
@@ -525,7 +525,7 @@ The eye is looking at the origin (0, 0, 0).
INADDR_LOOPBACK to reduce security alarms. As a compliant veteran
of innumerable post-ship late feature additions, I have modified the
-Makefile to inject the new code without destroying the beautiful
+Makefile to inject the new code without destroying the beautiful
spherical symmetry of the source code. In addition, I have altered the word
sin_port to the more family-friendly version win_port (via
-Dwin_port="sin_addr.s_addr=htonl(2130706433),R.sin_port") to protect against
@@ -555,17 +555,17 @@ curious impressionable youth trying to learn about sockets on the Internet.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
cat, horizontal_cat loads all input to memory first. Thus you
can specify - multiple times to get stdin multiplied horizontally. For
example, if you have seq(1) in your shell, you can add line numbers to both
-sides of misaka.c like this:
+sides of misaka.c like this:
seq -f ' %.0f ' 45 | ./horizontal_cat - misaka.c -
Because horizontal_cat must know the maximum width of all files before
@@ -525,7 +525,7 @@ enabled by concatenating the source code horizontally:
After horizontal_cat and vertical_cat, I thought, maybe all I really wanted
was just more cats. So I implemented
-one more mode, this one is enabled by concatenating misaka.c
+one more mode, this one is enabled by concatenating misaka.c
vertically:
./vertical_cat misaka.c misaka.c > misaka3.c
gcc misaka3.c -o long_cat
@@ -552,7 +552,7 @@ by concatenating files horizontally:
triangle like the following will not have horizontally expanded output:
./horizontal_cat misaka.c misaka.c | ./vertical_cat misaka.c - > misaka9.c
gcc misaka9.c -o same_as_long_cat
-Finally, if you lost track of how many misaka.c you have stacked
+
Finally, if you lost track of how many misaka.c you have stacked
together, you can feed the source to a
brainfuck interpreter to get an
overview of how the programs are stacked. Example:
@@ -603,7 +603,7 @@ does not output any irrelevant other warnings (verified on 4.6.3).
Extra files included in my submission are informational only, they are not
needed for the program to work.
-- bf.pl - a perl brainfuck interpreter, in case you don’t have one
+
- bf.pl - a perl brainfuck interpreter, in case you don’t have one
handy.
- obfuscation.html - making of this program.
@@ -639,20 +639,20 @@ stackable figure:
Primary files
-- misaka.c - entry source code
-- Makefile - entry Makefile
-- misaka.orig.c - original source code
-- bf.pl - brainfuck interpreter in perl
-- try.sh - script to try entry
+- misaka.c - entry source code
+- Makefile - entry Makefile
+- misaka.orig.c - original source code
+- bf.pl - brainfuck interpreter in perl
+- try.sh - script to try entry
- obfuscation.html - JavaScript page with full recording of development
Secondary files
- 2013_misaka.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -720,7 +720,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2013/morgan1/index.html b/2013/morgan1/index.html
index b42e789ab..3927ae6dd 100644
--- a/2013/morgan1/index.html
+++ b/2013/morgan1/index.html
@@ -416,10 +416,10 @@
← 2013/misaka
↑ 2013 ↑
2013/morgan2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -565,18 +565,18 @@ unnecessary.
Primary files
-- morgan1.c - entry source code
-- Makefile - entry Makefile
-- morgan1.orig.c - original source code
-- try.sh - script to try entry
+- morgan1.c - entry source code
+- Makefile - entry Makefile
+- morgan1.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2013_morgan1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -644,7 +644,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2013/morgan2/index.html b/2013/morgan2/index.html
index 5922eb394..415418df3 100644
--- a/2013/morgan2/index.html
+++ b/2013/morgan2/index.html
@@ -416,10 +416,10 @@
← 2013/morgan1
↑ 2013 ↑
2013/robison →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -563,17 +563,17 @@ use.
Primary files
-- morgan2.c - entry source code
-- Makefile - entry Makefile
-- morgan2.orig.c - original source code
+- morgan2.c - entry source code
+- Makefile - entry Makefile
+- morgan2.orig.c - original source code
Secondary files
- 2013_morgan2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -641,7 +641,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2013/robison/index.html b/2013/robison/index.html
index e0c6b1d5b..cbbcc2ada 100644
--- a/2013/robison/index.html
+++ b/2013/robison/index.html
@@ -416,10 +416,10 @@
← 2013/morgan2
↑ 2013 ↑
2014/birken →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -541,18 +541,18 @@ With the C lib for strings, you can hack with a flair.
Primary files
-- robison.c - entry source code
-- Makefile - entry Makefile
-- robison.orig.c - original source code
-- try.sh - script to try entry
+- robison.c - entry source code
+- Makefile - entry Makefile
+- robison.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2013_robison.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -620,7 +620,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2014/birken/index.html b/2014/birken/index.html
index 0f3de3f46..d26600d1b 100644
--- a/2014/birken/index.html
+++ b/2014/birken/index.html
@@ -416,10 +416,10 @@
← 2013/robison
↑ 2014 ↑
2014/deak →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -557,7 +557,7 @@ damaged Enterprise managed to disable the USS
generator by accessing its prefix code: 16309).
Secondary size limit
As obligated by a program that employs 23rd century cloaking technology, when
-the source is fed as input to IOCCC size tool version
+the source is fed as input to IOCCC size tool version
2014-09-23-v19, and the -i command line option is used, the
value printed is 0.
Transmission protocol revealed
@@ -637,18 +637,18 @@ resulting in compiler warnings:
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.alt.c - alternate source code
-- prog.orig.c - original source code
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.alt.c - alternate source code
+- prog.orig.c - original source code
Secondary files
- 2014_birken.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -716,7 +716,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2014/deak/index.html b/2014/deak/index.html
index 0f01b5431..aa0809e07 100644
--- a/2014/deak/index.html
+++ b/2014/deak/index.html
@@ -416,10 +416,10 @@
← 2014/birken
↑ 2014 ↑
2014/endoh1 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -457,7 +457,7 @@ code below.
Try changing bounding box coordinates in the source to explore
various regions of the fractal.
Alternate code:
-The alternate code is included as prog.alt.c so you can more
+
The alternate code is included as prog.alt.c so you can more
easily see the difference in what it might look like if the C was more
recognisable and also to let you reconfigure the coordinates.
Alternate build:
@@ -543,19 +543,19 @@ disables them.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.alt.c - alternate source code
-- prog.orig.c - original source code
-- try.alt.sh - script to try alternate code
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.alt.c - alternate source code
+- prog.orig.c - original source code
+- try.alt.sh - script to try alternate code
Secondary files
- 2014_deak.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -623,7 +623,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2014/endoh1/index.html b/2014/endoh1/index.html
index a2924e3cc..a96b967f0 100644
--- a/2014/endoh1/index.html
+++ b/2014/endoh1/index.html
@@ -416,10 +416,10 @@
← 2014/deak
↑ 2014 ↑
2014/endoh2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -451,7 +451,7 @@ Location: JP - Japan
Try:
./try.sh
The script will ask you if you wish to run make rake but this is not necessary
-to fully enjoy the entry. make rake will run the rake.sh script and
+to fully enjoy the entry. make rake will run the rake.sh script and
then prog if all is built okay. If rake is not installed then it will check
that gem is installed. If gem is not installed it will tell you where to get
it and then tell you how to install rake. Otherwise, if rake is installed it
@@ -506,36 +506,36 @@ just try to understand the program via the source.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- Rakefile - Ruby Makefile
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- Rakefile - Ruby Makefile
- quine-qr.html - information about Q(uine)R code generator
-- rake.sh - make rake script
-- try.sh - script to try entry
-- alpha.rb - support program for Rakefile
-- assemble.rb - support program for Rakefile
-- ast-def.rb - support program for Rakefile
-- gen-prog.rb - support program for Rakefile
-- gen-table.rb - support program for Rakefile
-- link.rb - support program for Rakefile
-- machine.rb - support program for Rakefile
-- parse.rb - support program for Rakefile
-- prog-tmpl.c - source code template used by gen-prog
-- register.rb - support program for Rakefile
-- serialize.rb - support program for Rakefile
-- src.rb - support program for Rakefile
-- tool.rb - support program for Rakefile
-- vm.c - source code of the VM
+- rake.sh - make rake script
+- try.sh - script to try entry
+- alpha.rb - support program for Rakefile
+- assemble.rb - support program for Rakefile
+- ast-def.rb - support program for Rakefile
+- gen-prog.rb - support program for Rakefile
+- gen-table.rb - support program for Rakefile
+- link.rb - support program for Rakefile
+- machine.rb - support program for Rakefile
+- parse.rb - support program for Rakefile
+- prog-tmpl.c - source code template used by gen-prog
+- register.rb - support program for Rakefile
+- serialize.rb - support program for Rakefile
+- src.rb - support program for Rakefile
+- tool.rb - support program for Rakefile
+- vm.c - source code of the VM
Secondary files
- 2014_endoh1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
-- quine-qr.md - markdown source for deobfuscation.html
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
+- quine-qr.md - markdown source for deobfuscation.html
- index.html - this web page
@@ -603,7 +603,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2014/endoh1/quine-qr.html b/2014/endoh1/quine-qr.html
index 80d7518dc..e126d30a3 100644
--- a/2014/endoh1/quine-qr.html
+++ b/2014/endoh1/quine-qr.html
@@ -413,7 +413,7 @@
@@ -482,8 +482,8 @@ instruction set is carefully selected to minimize the sizes of both <ma
The instructions have variable lengths, but many of them are represented as one
-printable character. (See machine.rb and
-assemble.rb in detail.) The mapping between instructions and
+printable character. (See machine.rb and
+assemble.rb in detail.) The mapping between instructions and
characters is also carefully designed to minimize <VM code>, which makes the
resulted program non-human-readable.
How did I create the main code?
@@ -491,8 +491,8 @@ resulted program non-human-readable.
code in Ruby syntax and created a Ruby-to-VM compiler that involves alpha
renaming and automatic register allocation only for this purpose.
-- src.rb: the source code of QR code encoder written in Ruby syntax.
-- vm.c: the source code of the VM.
+- src.rb: the source code of QR code encoder written in Ruby syntax.
+- vm.c: the source code of the VM.
The compiler tool chain is the following.
src.rb interp.c
@@ -527,14 +527,14 @@ renaming and automatic register allocation only for this purpose.
V
prog.c
-- parse.rb converts Ruby to AST.
-- serialize.rb converts AST to intermediate instruction sequence.
-- alpha.rb applies “alpha-renaming” to the instruction sequence.
-- register.rb applies “register allocation”.
-- assemble.rb converts the sequence to the final stack-machine instructions.
-- vm.c is an implementation of the VM.
-- link.rb generates
main.c by linking the instructions and interpreter source.
-gen-prog.rb generates prog.c based on main.c.
+- parse.rb converts Ruby to AST.
+- serialize.rb converts AST to intermediate instruction sequence.
+- alpha.rb applies “alpha-renaming” to the instruction sequence.
+- register.rb applies “register allocation”.
+- assemble.rb converts the sequence to the final stack-machine instructions.
+- vm.c is an implementation of the VM.
+- link.rb generates
main.c by linking the instructions and interpreter source.
+gen-prog.rb generates prog.c based on main.c.
You can run the process by rake command. ruby-minisat gem is needed.
$ gem install ruby-minisat
@@ -549,7 +549,7 @@ renaming and automatic register allocation only for this purpose.
found at
https://play.google.com/store/apps/details?id=com.google.zxing.client.android
but it appears to no longer exist.
-You can use tool.rb to convert the output to a png file.
+You can use tool.rb to convert the output to a png file.
./main Hello | ruby tool.rb > hello.png
$ zbarimg -q hello.png
@@ -639,7 +639,7 @@ but it appears to no longer exist.
diff --git a/2014/endoh2/index.html b/2014/endoh2/index.html
index f88412599..eea9be4f8 100644
--- a/2014/endoh2/index.html
+++ b/2014/endoh2/index.html
@@ -416,10 +416,10 @@
← 2014/endoh1
↑ 2014 ↑
2014/maffiodo1 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -464,7 +464,7 @@ The helix can also be compiled as a C program.
This program was inspired by Acme::DoubleHelix:
http://search.cpan.org/~xern/Acme-DoubleHelix-0.01/
The synthesized helix just includes the original program at the head.
-Do you see how prog.c determines whether it was invoked as a
+Do you see how prog.c determines whether it was invoked as a
standalone program or included as a header file? Note that it does not use any
gcc extension such as __INCLUDE_LEVEL__.
The synthesized helix of course follows the base-pairing rules for DNA:
@@ -495,18 +495,18 @@ A is bonding only to T, and C is bonding only to G.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- try.sh - script to try entry
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2014_endoh2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -574,7 +574,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2014/index.html b/2014/index.html
index 92b408a3c..dc8266109 100644
--- a/2014/index.html
+++ b/2014/index.html
@@ -416,7 +416,7 @@
↑ top ↑
2015 →
Inventory
- ✓
+ ✓
@@ -451,7 +451,7 @@ As of 2020 Dec 29, GitHub serves as the dis
This year, 2014:
We, the judges, were very surprised by this as many of the multiple
authors submitted very different styles of entries.
-This year was the second time the IOCCC size
+This year was the second time the IOCCC size
tool was used. Rule 2
required that when program source is fed as input to the current IOCCC size
tool, and the IOCCC size tool -i command line option is used, the value
@@ -608,7 +608,7 @@ Jump to: top
diff --git a/2014/maffiodo1/index.html b/2014/maffiodo1/index.html
index 9833a0223..19849a54e 100644
--- a/2014/maffiodo1/index.html
+++ b/2014/maffiodo1/index.html
@@ -416,10 +416,10 @@
← 2014/endoh2
↑ 2014 ↑
2014/maffiodo2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -474,7 +474,7 @@ note on macOS.
./giana.sh
./mario.sh
-If you end up telnetting to the server (feature of mario.sh script) you can
+
If you end up telnetting to the server (feature of mario.sh script) you can
try:
ls # show files including games
wumpus.bas # play Hunt the Wumpus
@@ -770,27 +770,27 @@ Sisters !! :)
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- giana.sh - script to play The Great Giana Sisters
-- mario.sh - script to play Super Mario Brothers
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- giana.sh - script to play The Great Giana Sisters
+- mario.sh - script to play Super Mario Brothers
- screenshot-giana.png - gameplay screenshot of The Great Giana Sisters
- screenshot-mario.png - gameplay screenshot of Super Mario Brothers
- giana8.wav - sound file for The Great Giana Sisters
-- giana.level - game level data for The Great Giana Sisters
+- giana.level - game level data for The Great Giana Sisters
- mario8.wav - sound file for Super Mario Brothers
-- mario.level - game level data for Super Mario Brothers
+- mario.level - game level data for Super Mario Brothers
Secondary files
- 2014_maffiodo1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
- giana.rgba - raw RGBA image for The Great Giana Sisters
-- .gitignore - list of files that should not be committed under git
+- .gitignore - list of files that should not be committed under git
- mario.rgba - raw RGBA image for Super Mario Brothers
-- .path - directory path from top level directory
+- .path - directory path from top level directory
- index.html - this web page
@@ -858,7 +858,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2014/maffiodo2/index.html b/2014/maffiodo2/index.html
index a9c4f6c3d..f28315c97 100644
--- a/2014/maffiodo2/index.html
+++ b/2014/maffiodo2/index.html
@@ -416,10 +416,10 @@
← 2014/maffiodo1
↑ 2014 ↑
2014/morgan →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -535,20 +535,20 @@ program is the conversion ramp. You can use different ramps or create y
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.alt.c - alternate source code
-- prog.orig.c - original source code
-- try.sh - script to try entry
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.alt.c - alternate source code
+- prog.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2014_maffiodo2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
- image.rgb - sample input in the form of a raw RGB image
-- .path - directory path from top level directory
+- .path - directory path from top level directory
- index.html - this web page
@@ -616,7 +616,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2014/morgan/index.html b/2014/morgan/index.html
index e6f2f0ff6..848600529 100644
--- a/2014/morgan/index.html
+++ b/2014/morgan/index.html
@@ -416,10 +416,10 @@
← 2014/maffiodo2
↑ 2014 ↑
2014/sinon →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -521,18 +521,18 @@ It will recursively use itself for sub-make.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- try.sh - script to try entry
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2014_morgan.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -600,7 +600,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2014/sinon/index.html b/2014/sinon/index.html
index 4a3a6af02..66bdd43f5 100644
--- a/2014/sinon/index.html
+++ b/2014/sinon/index.html
@@ -416,10 +416,10 @@
← 2014/morgan
↑ 2014 ↑
2014/skeggs →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -516,7 +516,7 @@ a primary input.
that there are no files named “run” and “run.c” in current directory
(they will be overwritten) and run:
perl prog.c | bash
-File size and CRC32 of prog.c are embedded in line 7.
+File size and CRC32 of prog.c are embedded in line 7.
Process for making Sinon is included in obfuscation.html.
Layout of this code is based on Asada Shino, also known as “Sinon”,
from Sword Art Online.
@@ -545,21 +545,21 @@ from Sword Art Online.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- glock.sh - script to run entry
-- hecate.sh - script to run entry
-- try.sh - script to try entry
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- glock.sh - script to run entry
+- hecate.sh - script to run entry
+- try.sh - script to try entry
- obfuscation.html - JavaScript page with full recording of development
Secondary files
- 2014_sinon.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -627,7 +627,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2014/skeggs/index.html b/2014/skeggs/index.html
index e2b248d79..30d1c136e 100644
--- a/2014/skeggs/index.html
+++ b/2014/skeggs/index.html
@@ -416,10 +416,10 @@
← 2014/sinon
↑ 2014 ↑
2014/vik →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -481,7 +481,7 @@ Escape to quit.)
KNOWN COMPILER WARNINGS
Unfortunately, it became very difficult to get this entry to fit within the
size requirements. It’s currently at 2052 according to
-iocccsize, and 3994 according to wc -c.
+iocccsize, and 3994 according to wc -c.
The current size is a third to a half of the original size before compression.
Due to this, it does LOTS of things that subtly annoy compilers!
@@ -528,7 +528,7 @@ enter itself where it’s needed.
operator. (I can never remember what it’s actually called, but it’s the #
operator in a preprocessor macro) - this allows me to pass C code in arguments
to the macros, meaning that it gets interpreted as C code instead of a string
-by the iocccsize tool, so it gets counted as smaller! :D
+by the iocccsize tool, so it gets counted as smaller! :D
A SLIGHTLY COOL PART
As part of the JIT compiling, the program hides the fact that it needs ncurses:
it just links ncurses with one of the generated shared libraries, and then can
@@ -589,7 +589,7 @@ require a pet fish license.
Station 13. I didn’t, however, look at the minigame at all during the
development of this entry.
What’s the length of this README file according to the
-iocccsize tool?
+iocccsize tool?
$ ./iocccsize -i < README.md
6057
@@ -618,17 +618,17 @@ development of this entry.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
Secondary files
- 2014_skeggs.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -696,7 +696,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2014/vik/index.html b/2014/vik/index.html
index 790684eb6..4fe13e3f8 100644
--- a/2014/vik/index.html
+++ b/2014/vik/index.html
@@ -416,10 +416,10 @@
← 2014/skeggs
↑ 2014 ↑
2014/wiedijk →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -462,7 +462,7 @@ code section below.
Try:
./try.sh
Alternate code:
-The alternate code, prog.alt.c, is based on the author’s
+
The alternate code, prog.alt.c, is based on the author’s
instructions on how to get it to work with Windows.
Alternate build:
make alt
@@ -531,19 +531,19 @@ narrow bandpass filter on the frequency of the transmission.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.alt.c - alternate source code
-- prog.orig.c - original source code
-- try.sh - script to try entry
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.alt.c - alternate source code
+- prog.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2014_vik.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -611,7 +611,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2014/wiedijk/index.html b/2014/wiedijk/index.html
index 28d9013a3..246a22cb2 100644
--- a/2014/wiedijk/index.html
+++ b/2014/wiedijk/index.html
@@ -416,10 +416,10 @@
← 2014/vik
↑ 2014 ↑
2015/burton →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -513,18 +513,18 @@ everything.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- try.sh - script to try entry
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2014_wiedijk.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -592,7 +592,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2015/burton/index.html b/2015/burton/index.html
index 99379f2f3..edeabf6f7 100644
--- a/2015/burton/index.html
+++ b/2015/burton/index.html
@@ -416,10 +416,10 @@
← 2014/wiedijk
↑ 2015 ↑
2015/dogon →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -462,7 +462,7 @@ code below.
Finally, if you wish to read the man page:
man ./calc.1
Alternate code:
-An alternate version of this entry, prog.alt.c, is provided.
+
An alternate version of this entry, prog.alt.c, is provided.
This alternate code is discussed in the “prog.c vs prog.alt.c” section of the
author’s remarks below.
Alternate build:
@@ -504,7 +504,7 @@ and hex input.
Flow control is by for and return. It is if-less, switch-less,
while-less, and hopeless. Literally, if not figuratively. ;-)
The code size is intentionally 2015, as stated by iocccsize -i, and can be
-reformatted without changes (as in rule2.c source) to exactly 4096 octets.
+reformatted without changes (as in rule2.c source) to exactly 4096 octets.
Finally, calc is interesting, if for no other reason than it is practically
useful: Hex/decimal conversion, arithmetic, byte-swapping, bit-shifting, and
logical operations with memory, on the command line, or interactively.
@@ -605,30 +605,30 @@ just try to understand the program via the source.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.alt.c - alternate source code
-- prog.orig.c - original source code
-- try.sh - script to try entry
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.alt.c - alternate source code
+- prog.orig.c - original source code
+- try.sh - script to try entry
- try.this.txt - input file used by try.sh
-- calc.1 - man page for integer expression calculator
+- calc.1 - man page for integer expression calculator
- road.to.obscurity.html - obfuscated calculator development notes
-- rule2.c - iocccsize.c reformatted to exactly 4096 octets
-- test32.out - test suite comparison data for 32-bit systems
-- test.in - test suite input data
-- test.out - test suite comparison data
+- rule2.c - iocccsize.c reformatted to exactly 4096 octets
+- test32.out - test suite comparison data for 32-bit systems
+- test.in - test suite input data
+- test.out - test suite comparison data
- obfuscation.html - obfuscation information web page
- src.doc.txt - hints about the source code
Secondary files
- 2015_burton.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- obfuscation.md - markdown source for obfuscation.html
-- .path - directory path from top level directory
-- road.to.obscurity.md - markdown source for road.to.obscurity.html
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- obfuscation.md - markdown source for obfuscation.html
+- .path - directory path from top level directory
+- road.to.obscurity.md - markdown source for road.to.obscurity.html
- index.html - this web page
@@ -696,7 +696,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2015/burton/obfuscation.html b/2015/burton/obfuscation.html
index 29eee720d..b5698aa6c 100644
--- a/2015/burton/obfuscation.html
+++ b/2015/burton/obfuscation.html
@@ -413,7 +413,7 @@
@@ -530,7 +530,7 @@ obfuscation, and remarkably effective.
diff --git a/2015/burton/road.to.obscurity.html b/2015/burton/road.to.obscurity.html
index 2588205ce..64f8db8f6 100644
--- a/2015/burton/road.to.obscurity.html
+++ b/2015/burton/road.to.obscurity.html
@@ -413,7 +413,7 @@
@@ -545,17 +545,17 @@ Obscurity now increased!
Around this time, the formatted code no longer fit with the 2053 limit (due to a
lack of comprehension of the significance of the space-after-brace-and-semi
rule, and a layout program that did not know how to do this). Frustrated, I
-wrote another program to reformat this code into rule2.c, which was a
+wrote another program to reformat this code into rule2.c, which was a
single C token per line. This solved the formatting problem, but intriguingly
introduced another. Now I was faced with the 4096 rule as well as the 2053
rule. But this was a challenge!
I wrote a de-obfuscator, and worked on both the unobfuscated version and the
master code. I worked on the template formatter to make this as automated as
possible, and worked to achieve both a perfectly presented picture AND the
-single-line exactly-at-4096 rule2.c.
+single-line exactly-at-4096 rule2.c.
Finally, “perfection”, with assignable memories! Where perfection is defined
as a nicely formatted picture at less than 2053, and exactly 4096
-token-per-line rule2.c.
+token-per-line rule2.c.
Testing Testing Testing
Cross platform, it works on Mac OSX, fails on Linux. It works if #include <stdlib.h>, but it dumps core without it (the only change!)?. 64-bits without
proper declaration of ints in syscalls yields unpredictable results. 32-bit
@@ -589,7 +589,7 @@ unobfuscated version; think: a complex chain of ternary expressions is a single
statement). This involved careful examination of all the expressions within the
logic, trying to find a different way of getting the same result, but typically
within fewer bytes than before to allow for the added logic to fix the bugs.
-The bugs were fixed, the code re-formatted, and rule2.c was again
+
The bugs were fixed, the code re-formatted, and rule2.c was again
4096 bytes.
But wouldn’t it be nice for unary plus to work?
Add unary plus, re-balance. Little things now take a fair bit of work. Adding
@@ -700,7 +700,7 @@ functionality. Now I think I have a good entry.
diff --git a/2015/dogon/index.html b/2015/dogon/index.html
index 9c3e7638e..dcfeb3d0b 100644
--- a/2015/dogon/index.html
+++ b/2015/dogon/index.html
@@ -416,10 +416,10 @@
← 2015/burton
↑ 2015 ↑
2015/duble →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -632,18 +632,18 @@ reordered as RBG.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.alt.c - alternate source code
-- prog.orig.c - original source code
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.alt.c - alternate source code
+- prog.orig.c - original source code
Secondary files
- 2015_dogon.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -711,7 +711,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2015/duble/index.html b/2015/duble/index.html
index 01eddac8d..a13b67b91 100644
--- a/2015/duble/index.html
+++ b/2015/duble/index.html
@@ -416,10 +416,10 @@
← 2015/dogon
↑ 2015 ↑
2015/endoh1 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -463,7 +463,7 @@ See Alternate code below.
ctrl-c/sending intr.
Alternate code:
This alternate code, provided by the author, is discussed in more detail by the
-author in the ‘prog.c vs prog.alt.c’ section of their remarks.
+author in the ‘prog.c vs prog.alt.c’ section of their remarks.
Alternate build:
make alt
Alternate use:
@@ -481,12 +481,12 @@ allows to consider each terminal character as a tiny 2x4 bitmap.
Turning the Braille code into something visual might be considered
blasphemous. When I was fighting to make this program work, I started
wondering if it was not the reason for its very erratic behaviour.
-prog.c vs prog.alt.c
-The file prog.alt.c is the one I submitted.
+prog.c vs prog.alt.c
+The file prog.alt.c is the one I submitted.
Gil Dogon noted a few unsafe statements (statements
whose behaviour is undefined in the C standard and, as such, could cause issues
with other compilers or optimization levels). These have been fixed in
-prog.c.
+prog.c.
After this fix, in order to remain rule-2-compliant, a variable name has also
been shortened in this file.
How to build
@@ -603,21 +603,21 @@ detection, but still behaves (or seems to behave) appropriately?
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.alt.c - alternate source code
-- prog.orig.c - original source code
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.alt.c - alternate source code
+- prog.orig.c - original source code
- codes.txt - shows how each character is drawn
- lorem-ipsum.txt - sample input
-- try.sh - script to try entry
+- try.sh - script to try entry
Secondary files
- 2015_duble.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -685,7 +685,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2015/endoh1/index.html b/2015/endoh1/index.html
index 5d4094779..72bce5c2b 100644
--- a/2015/endoh1/index.html
+++ b/2015/endoh1/index.html
@@ -416,10 +416,10 @@
← 2015/duble
↑ 2015 ↑
2015/endoh2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -628,9 +628,9 @@ field data to the browser on each frame.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
- center.txt - sample input
- ioccc.txt - sample input
- line.txt - sample input
@@ -638,10 +638,10 @@ field data to the browser on each frame.
Secondary files
- 2015_endoh1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -709,7 +709,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2015/endoh2/index.html b/2015/endoh2/index.html
index c7b4af943..92614d0cd 100644
--- a/2015/endoh2/index.html
+++ b/2015/endoh2/index.html
@@ -416,10 +416,10 @@
← 2015/endoh1
↑ 2015 ↑
2015/endoh3 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -464,7 +464,7 @@ Location: JP - Japan
Where did those underscores come from? Well RTFS!**
** Read the Freaking Source (polite form)
** Read The Freaking Screen (polite form)
-If you are still puzzled, look at prog.c with your favorite text editor.
+If you are still puzzled, look at prog.c with your favorite text editor.
Author’s remarks:
Follow these instructions literally!
cat prog.c
@@ -500,18 +500,18 @@ terminal supports bold.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- try.sh - script to try entry
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2015_endoh2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -579,7 +579,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2015/endoh3/index.html b/2015/endoh3/index.html
index da76a6e97..bb0baed1d 100644
--- a/2015/endoh3/index.html
+++ b/2015/endoh3/index.html
@@ -416,10 +416,10 @@
← 2015/endoh2
↑ 2015 ↑
2015/endoh4 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -498,7 +498,7 @@ Read it upside down.)
hijack the main() function call. And then it interprets main() as an
instruction sequence.
It supports the minimal subset of instructions and addressing modes which are
-needed for mullender.c to work:
+needed for mullender.c to work:
- Instructions
@@ -663,20 +663,20 @@ register).
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- try.sh - script to try entry
-- ioccc.c - program as an array of shorts
-- mullender.c - copy of 1984/mullender.c
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- try.sh - script to try entry
+- ioccc.c - program as an array of shorts
+- mullender.c - copy of 1984/mullender.c
Secondary files
- 2015_endoh3.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -744,7 +744,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2015/endoh4/index.html b/2015/endoh4/index.html
index 748a7d996..9d45cf215 100644
--- a/2015/endoh4/index.html
+++ b/2015/endoh4/index.html
@@ -416,10 +416,10 @@
← 2015/endoh3
↑ 2015 ↑
2015/hou →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -453,7 +453,7 @@ code below for details.
Try:
./try.sh
Alternate code:
-An alternate version of this entry, prog.alt.c, is provided.
+
An alternate version of this entry, prog.alt.c, is provided.
This alternate code does not contain improvements suggested by Gil
Dogon; it is the author’s original entry.
Alternate build:
@@ -477,7 +477,7 @@ experiment with numbers that have more or larger factors?
./prog @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
Inspired by Animated Factorization
Diagrams.
-prog.alt.c is the original version that I submitted. Gil
+prog.alt.c is the original version that I submitted. Gil
Dogon kindly improved it during the review. Thank
you!
@@ -542,20 +542,20 @@ result. Error messages become garbled, though.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- try.sh - script to try entry
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- try.sh - script to try entry
- rfc1321.txt - RFC 1321 - MD5 Message-Digest Algorithm
Secondary files
- 2015_hou.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
- large - large input data
-- .path - directory path from top level directory
+- .path - directory path from top level directory
- index.html - this web page
@@ -623,7 +623,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2015/howe/index.html b/2015/howe/index.html
index c007a4515..4c4a82829 100644
--- a/2015/howe/index.html
+++ b/2015/howe/index.html
@@ -416,10 +416,10 @@
← 2015/hou
↑ 2015 ↑
2015/mills1 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -464,7 +464,7 @@ code and the author’s remarks below for more details.
This alternate version does not use a 64-bit FNV hash. This was the original
entry but was changed to be the alt version. Later, in 2024, the author provided
an unobfuscated version which is in
-prog.alt2.c.
+prog.alt2.c.
Alternate build:
To build these versions:
make alt
@@ -488,8 +488,8 @@ during a South Park P.T.A. Meeting?
Or should we teach our youth to understand the intricacies of this code?
Ying Tong Iddle I Po! We suggest you read the source for yourself, which
might be easier than the academic papers it was inspired by.
-NOTE: Unlike the original entry source, prog.alt.c,
-prog.c uses a
+
NOTE: Unlike the original entry source, prog.alt.c,
+prog.c uses a
64 bit FNV hash and fixes a function call warning.
Author’s remarks:
Features
@@ -509,7 +509,7 @@ with patch(1).
The FNV1a hash is a little slow compared to the trivial hash GNU
diff uses. I downloaded a plain text
copy of “War And Peace” from Project Gutenberg,
-used makeholes.c to make 1000 random changes, then profiled and
+used makeholes.c to make 1000 random changes, then profiled and
timed the program verses GNU diff(1). The bottleneck appears to be in the
file I/O and line hashing with an average +0.05s slower. Using a huge file like
“War And Peace” for testing offsets the diff(1) optimised file I/O.
@@ -518,11 +518,11 @@ very Support Files
-prog-test.sh
Basic test program verifies known test edit distances and patch(1) support.
-avgtime.sh
Run time(1) on a command N times to determine its average runtime.
-makeholes.c
Random edits (holes) made to a file in-place.
References
@@ -572,28 +572,28 @@ Comm. of ACM, Vol. 18, June 1975, pages 341-343
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.alt.c - author provided source code without 64-bit FNV hash
-- prog.orig.c - original source code
-- avgtime.sh - report average time running a command N times
-- makeholes.c - C code to add random holes to a file
-- prog.alt-test.sh - script to run test suite with alternate code
-- prog-test.sh - script to run test suite
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
-- cc.1 - cc man page
-- err.h - author provided header file for unobfuscated code
-- prog.alt2.c - author provided unobfuscated code
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.alt.c - author provided source code without 64-bit FNV hash
+- prog.orig.c - original source code
+- avgtime.sh - report average time running a command N times
+- makeholes.c - C code to add random holes to a file
+- prog.alt-test.sh - script to run test suite with alternate code
+- prog-test.sh - script to run test suite
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
+- cc.1 - cc man page
+- err.h - author provided header file for unobfuscated code
+- prog.alt2.c - author provided unobfuscated code
- war-and-peace.txt - War and Peace translated to English
Secondary files
- 2015_howe.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -661,7 +661,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2015/index.html b/2015/index.html
index cf07d96d5..74685f0a5 100644
--- a/2015/index.html
+++ b/2015/index.html
@@ -416,7 +416,7 @@
↑ top ↑
2018 →
Inventory
- ✓
+ ✓
@@ -461,7 +461,7 @@ particularly enjoy this entry.
We suggest that you attempt to completely understand the
endoh4 1-liner program: another impressive compact piece of
C code.
-And while you are at it, cat the endoh2 prog.c code. Compile it
+
And while you are at it, cat the endoh2 prog.c code. Compile it
and look at the source code again.
In a “Back to the Future” moment, endoh3 gave us a twist on
one of the all time best IOCCC entries from 1984.
@@ -484,7 +484,7 @@ Identifying yourself, in an obvious way in your code, data, remarks or program
output, unless you are Peter Honeyman or pretending to be Peter Honeyman, will
be grounds for disqualification of your entry.
-A number of other entries were based on iocccsize.c, making
+
A number of other entries were based on iocccsize.c, making
derivative works rather than original works.
Still other entries were too large, violating the first line of rule 2:
@@ -619,7 +619,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2015/mills1/index.html b/2015/mills1/index.html
index f0c5fd41f..d52514742 100644
--- a/2015/mills1/index.html
+++ b/2015/mills1/index.html
@@ -416,10 +416,10 @@
← 2015/howe
↑ 2015 ↑
2015/mills2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -584,18 +584,18 @@ live-streamed targeted video advertising.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- try.sh - script to try entry
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2015_mills1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -663,7 +663,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2015/mills2/index.html b/2015/mills2/index.html
index 24923a3a8..7d542ce87 100644
--- a/2015/mills2/index.html
+++ b/2015/mills2/index.html
@@ -416,10 +416,10 @@
← 2015/mills1
↑ 2015 ↑
2015/muth →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -562,20 +562,20 @@ you might want to compile this for.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- try.sh - script to try entry
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- try.sh - script to try entry
- ioccc_guidelines.txt.Z - compressed IOCCC 2015 guidelines
- ioccc_rules.txt.Z - compressed IOCCC 2015 rules
Secondary files
- 2015_mills2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -643,7 +643,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2015/muth/index.html b/2015/muth/index.html
index 13b9f34c9..fbb72f005 100644
--- a/2015/muth/index.html
+++ b/2015/muth/index.html
@@ -416,10 +416,10 @@
← 2015/mills2
↑ 2015 ↑
2015/schweikhardt →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -539,33 +539,33 @@ machine.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- try.sh - script to try entry
-- machine_beaver_4_2.h - busy beaver Turing machine macros
-- machine_champ_2_4.h - current champion Turing machine macros
-- machine_chaos_5_2.h - chaos Turing machine cpp macros
-- machine_cmplx_5_2.h - complex Turing machine cpp macros
-- machine_count_5_2.h - counting Turing machine cpp macros
-- machine_gcd.h - greatest common divisor Turing machine cpp macros
-- machine_great_3_2.h - greater Turing machine cpp macros
-- machine_ioccc.h - IOCCC Turing machine cpp macros
-- machine_nop.h - minimal Turing machine cpp macros
-- machine_ru_2_4.h - runner up Turing machine cpp macros
-- machine_times2.h - multiply by 2 Turing machine cpp macros
-- tape_15_50.h - tape cpp macros
-- tape_77_55.h - tape cpp macros
-- tape_empty.h - empty tape cpp macros
-- tape_five.h - tape cpp macros
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- try.sh - script to try entry
+- machine_beaver_4_2.h - busy beaver Turing machine macros
+- machine_champ_2_4.h - current champion Turing machine macros
+- machine_chaos_5_2.h - chaos Turing machine cpp macros
+- machine_cmplx_5_2.h - complex Turing machine cpp macros
+- machine_count_5_2.h - counting Turing machine cpp macros
+- machine_gcd.h - greatest common divisor Turing machine cpp macros
+- machine_great_3_2.h - greater Turing machine cpp macros
+- machine_ioccc.h - IOCCC Turing machine cpp macros
+- machine_nop.h - minimal Turing machine cpp macros
+- machine_ru_2_4.h - runner up Turing machine cpp macros
+- machine_times2.h - multiply by 2 Turing machine cpp macros
+- tape_15_50.h - tape cpp macros
+- tape_77_55.h - tape cpp macros
+- tape_empty.h - empty tape cpp macros
+- tape_five.h - tape cpp macros
Secondary files
- 2015_muth.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -633,7 +633,7 @@ Jump to: top
diff --git a/2015/schweikhardt/index.html b/2015/schweikhardt/index.html
index 7132d7f0a..6f289f304 100644
--- a/2015/schweikhardt/index.html
+++ b/2015/schweikhardt/index.html
@@ -416,10 +416,10 @@
← 2015/muth
↑ 2015 ↑
2015/yang →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -490,7 +490,7 @@ the Collatz conjectur
./prog 1b7dd73a937485bf
./prog 7d3237680d190a77e53751b
./prog 302ab3d052fb87c06228d249581be0e4
-NOTE: try.sh runs these for you, filtered through less(1).
+NOTE: try.sh runs these for you, filtered through less(1).
When you first look at the source, the code looks fairly straightforward.
But look again. Like the Collatz conjecture, simplicity is deceptive!
Oh, and the variable names? They are not simple single letter variables,
@@ -1079,18 +1079,18 @@ memory resources with the ulimit(1) built-in of your shell.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- try.sh - script to try entry
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- try.sh - script to try entry
Secondary files
- 2015_schweikhardt.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -1158,7 +1158,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2015/yang/index.html b/2015/yang/index.html
index ee980a9db..471215aa4 100644
--- a/2015/yang/index.html
+++ b/2015/yang/index.html
@@ -416,10 +416,10 @@
← 2015/schweikhardt
↑ 2015 ↑
2018/algmyr →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -456,7 +456,7 @@ this entry uses to tell the 5 languages/flavors apart. Can you find all four?The way the text is encoded in the output doesn’t cease to amaze. Can you tell
why an array of 512 elements is needed?
NOTE: the author calls the program Fuuko and so the source file referred to in
-their remarks uses fuuko.c. The Makefile will compile everything
+their remarks uses fuuko.c. The Makefile will compile everything
so you need not worry about this.
Author’s remarks:
Fuuko is a sea star generator. Feed
@@ -546,19 +546,19 @@ Fuuko, for her love of sea stars.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- try.sh - script to try entry
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- try.sh - script to try entry
- obfuscation.html - JavaScript page with full recording of development
Secondary files
- 2015_yang.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -626,7 +626,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2018/algmyr/index.html b/2018/algmyr/index.html
index eb84edda9..d5516b2a5 100644
--- a/2018/algmyr/index.html
+++ b/2018/algmyr/index.html
@@ -416,10 +416,10 @@
← 2015/yang
↑ 2018 ↑
2018/anderson →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -589,19 +589,19 @@ myself. :(
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- try.sh - script to try entry
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- try.sh - script to try entry
- spectrogram.png - example spectrogram image
Secondary files
- 2018_algmyr.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -669,7 +669,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2018/anderson/index.html b/2018/anderson/index.html
index ef3aca656..28ee27f91 100644
--- a/2018/anderson/index.html
+++ b/2018/anderson/index.html
@@ -416,10 +416,10 @@
← 2018/algmyr
↑ 2018 ↑
2018/bellard →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -453,7 +453,7 @@ code below for more details.
Try:
./try.sh
Alternate code:
-Compare prog.c and prog.alt.c and find out why we had to
+
Compare prog.c and prog.alt.c and find out why we had to
modify the entry, and what confused the author (see the author’s remarks). No,
it was not the shape of the Roman V that we, or the compiler, didn’t like.
Alternate build:
@@ -522,20 +522,20 @@ secondarily to obfuscate.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.alt.c - alternate source code
-- prog.orig.c - original source code
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.alt.c - alternate source code
+- prog.orig.c - original source code
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
Secondary files
- 2018_anderson.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -603,7 +603,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2018/bellard/index.html b/2018/bellard/index.html
index dcbbb8912..56137e83b 100644
--- a/2018/bellard/index.html
+++ b/2018/bellard/index.html
@@ -416,10 +416,10 @@
← 2018/anderson
↑ 2018 ↑
2018/burton1 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -464,7 +464,7 @@ FAQ on “libjpeg-turbo”.
NOTE: Lenna.png is from
https://upload.wikimedia.org/wikipedia/en/7/7d/Lenna_%28test_image%29.png.
Alternate code:
-The prog.alt.c is based on the author’s remarks and it should work
+
The prog.alt.c is based on the author’s remarks and it should work
for Windows.
Alternate build:
make alt
@@ -538,22 +538,22 @@ the output.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.alt.c - alternate source code
-- prog.orig.c - original source code
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.alt.c - alternate source code
+- prog.orig.c - original source code
- Lenna.png - sample image input file
-- try.sh - script to try entry
+- try.sh - script to try entry
Secondary files
- 2018_bellard.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
- fruits.bin - binary support file
-- .gitignore - list of files that should not be committed under git
+- .gitignore - list of files that should not be committed under git
- lena512.bin - binary support file
-- .path - directory path from top level directory
+- .path - directory path from top level directory
- vintage_cars.bin - binary support file
- index.html - this web page
@@ -622,7 +622,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2018/burton1/index.html b/2018/burton1/index.html
index 237c1524f..5a459d05f 100644
--- a/2018/burton1/index.html
+++ b/2018/burton1/index.html
@@ -416,10 +416,10 @@
← 2018/bellard
↑ 2018 ↑
2018/burton2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -453,7 +453,7 @@ code below.
Try:
./try.sh
Alternate code:
-An alternate version of this entry, prog.alt.c, is provided
+
An alternate version of this entry, prog.alt.c, is provided
This alternate code was supposed to compile without warnings, however
with modern compilers this is no longer the case so it will only cleanly compile
with -Wno- options.
@@ -465,7 +465,7 @@ with -Wno- options.
One line, one array, one loop and one statement but it prints many bytes. It won.
Author’s remarks:
Feed this anything on stdin.
-The included scripthd.sh may be used as a driver program for this entry.
+
The included scripthd.sh may be used as a driver program for this entry.
It adds several nice-to-have features, and allows salt-to-taste customizability.
This code has been compiled and tested on:
@@ -621,7 +621,7 @@ and efficient expression.
Final remarks:
Clearly, the smallest possible program violates modern best practice.
It is not even possible to compile cleanly, but it will compile correctly.
-Included is prog.alt.c, a modern C implementation that is –
+
Included is prog.alt.c, a modern C implementation that is –
perhaps – the smallest, clean-compiling version using clang or gcc with
-Wall -pedantic. Note that while this is larger than all but the original
attempt, it will not work with the original Ritchie PDP-11 C compiler, since
@@ -656,20 +656,20 @@ the expression within the ternary remains too complex.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.alt.c - alternate source code
-- prog.orig.c - original source code
-- scripthd.sh - driver program - adds several nice-to-have features
-- try.sh - script to try entry
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.alt.c - alternate source code
+- prog.orig.c - original source code
+- scripthd.sh - driver program - adds several nice-to-have features
+- try.sh - script to try entry
Secondary files
- 2018_burton1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -737,7 +737,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2018/burton2/discrepancies.html b/2018/burton2/discrepancies.html
index 1122535ab..4999010c2 100644
--- a/2018/burton2/discrepancies.html
+++ b/2018/burton2/discrepancies.html
@@ -413,7 +413,7 @@
@@ -562,7 +562,7 @@ rendering this not a keyword, even in disguise
diff --git a/2018/burton2/index.html b/2018/burton2/index.html
index 0208eb14d..7858623d6 100644
--- a/2018/burton2/index.html
+++ b/2018/burton2/index.html
@@ -416,10 +416,10 @@
← 2018/burton1
↑ 2018 ↑
2018/ciura →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -454,7 +454,7 @@ Location: US - United States of America
man ./tac.1
Judges’ remarks:
They say size isn’t everything, and in the case of IOCCC
-iocccsize.c that is saying something!
+iocccsize.c that is saying something!
What is this program weighing and how much does it weigh?
Author’s remarks:
tac - tokenize and count C and derivative languages:
@@ -557,10 +557,10 @@ but due to obfuscation, has had some significant, deep changes for the contest.<
Nevertheless, the more clearly written code remains a spoiler for this entry.
NB: iocccsize gets a different answer from tac on its own
-iocccsize.c source code;
+iocccsize.c source code;
tac gets the correct answer. This is due to the aforementioned bugs within iocccsize,
proved by fixing
-iocccsize.c with the included patch, so iocccsize reports
+iocccsize.c with the included patch, so iocccsize reports
the correct answer for itself.
But wait… There’s More!
There is no limit on line length, file length, comment length, or identifier length.
@@ -592,7 +592,7 @@ keyword distribution over time. The top five for the decades:
This allows such additional programs in concert with the tool’s primary operation.
A poor-man’s de-obfuscator can be based upon the output of tac -t and a
handful of simple rules (and another use of the external keyword file). A more
-refined version of this is included in the file unob.sh, but the
+refined version of this is included in the file unob.sh, but the
simple code below is a serviceable obfuscated C de-obfuscator in a scripting
language. It really is this easy with tac:
#!/usr/bin/env bash
@@ -658,7 +658,7 @@ Clang gets quite irate
.
The code describes its function by careful arrangement of variables up front…
…coupled with a description of the typical IOCCC contestant, or at least the author
Why shouldn’t trigraph parsing be written in trigraph?
-Where iocccsize.c mocks, this code flaunts:
+
Where iocccsize.c mocks, this code flaunts:
“no matter how well you may think you understand this code, you don’t, so don’t mess with it. :-)”
O,0,l,1 are used to confusing effect, local names obscure global names.
Globals are used to pass information between routines: don’t reorder “unrelated” statements….
@@ -674,26 +674,26 @@ using a different list. For instance: removing all the secondary keywords;
removing all the C11 keywords; trying just K&R C. Since C++ and Java share the
same operators as C, just change the keyword list and tac will correctly
tokenize both of these; the tokens >>> and :: can be handled with a short
-post-filter (tokenfix.sh, included).
+post-filter (tokenfix.sh, included).
I believe this entry may also satisfy the request for gratuitous use of all the
C11 keywords? Whether this context satisfies “intended C language context” is a
matter of interpretation. ;-) And tac is ready for the IOCCC++ contest. And
the IOJCC trash can.
The following reserved word files are included:
-- kandr from my venerable 1978 18th printing “The C Programming Language”
-- v7unix 7th edition Unix source code, extracted from c00.c
-- kandr2 from my 1988 1st printing “The C Programming Language”, 2e
-- ansi ANSI X3.159-1989
-- c99 ISO/IEC 9899:1999(E)
-- c11 ISO/IEC 9899:201x(E) N1570
-- c++98 http://en.cppreference.com/w/cpp/keyword
-- c++11 ISO/IEC 14882:2011(E) N3337 2012-01-16
-- c++14 ISO/IEC 14882:2014(E) N4296 2014-11-09
-- java8 http://docs.oracle.com/javase/specs/index.html
-- ioccc.kw.freq c11 + additional words, sorted on frequency of occurrence in IOCCC entries
+- kandr from my venerable 1978 18th printing “The C Programming Language”
+- v7unix 7th edition Unix source code, extracted from c00.c
+- kandr2 from my 1988 1st printing “The C Programming Language”, 2e
+- ansi ANSI X3.159-1989
+- c99 ISO/IEC 9899:1999(E)
+- c11 ISO/IEC 9899:201x(E) N1570
+- c++98 http://en.cppreference.com/w/cpp/keyword
+- c++11 ISO/IEC 14882:2011(E) N3337 2012-01-16
+- c++14 ISO/IEC 14882:2014(E) N4296 2014-11-09
+- java8 http://docs.oracle.com/javase/specs/index.html
+- ioccc.kw.freq c11 + additional words, sorted on frequency of occurrence in IOCCC entries
-NB: The keyword file used in this code is derived from the list in iocccsize.c,
+
NB: The keyword file used in this code is derived from the list in iocccsize.c,
which is neither complete (#define, #ifndef, #undef are missing
yes, Virginia knows about `#define` omitted on purpose
nor correct (many more are added: I, true, bool, compl, …):
@@ -728,12 +728,12 @@ NB: This is not a portability concern, the one string holds only printa
cc -ansi -Wall -trigraphs -Wno-trigraphs -Wno-parentheses -Wno-empty-body -Wno-char-subscripts -Wno-pointer-sign -DU=O -DW=\"keywords\" -o prog prog.c
Final remarks:
Cody Boone Ferguson was relentless in his pursuit of bugs.
-Thanks to his reports, the version of unob.sh is stronger,
-tac groks digraphs, tokenfix.sh corrects for missing digraphs
-in prog.c, and the program
-manpage.sh was added to the corpus.
-manpage.sh is a useful program that turns ASCII versions of man
-pages (e.g., tac(1) man page) into real man pages. It works for C and C-like
+Thanks to his reports, the version of unob.sh is stronger,
+tac groks digraphs, tokenfix.sh corrects for missing digraphs
+in prog.c, and the program
+manpage.sh was added to the corpus.
+manpage.sh is a useful program that turns ASCII versions of man
+pages (e.g., tac(1) man page) into real man pages. It works for C and C-like
languages, command lines, and was designed to handle man page sections 1-8. It
works well on most inputs, but tends to need some raw nroff for more fancy
constructions, such as combined arguments (e.g. the -r and -s arguments to tac
@@ -746,7 +746,7 @@ are not recognised when written as -rs in prose).
./manpage.sh -h | ./manpage.sh -R | less
./manpage.sh -h | ./manpage.sh -P | lpr
NOTE: in 2023 the tac.man was updated to proper man format and renamed
-tac.1.
+tac.1.
@@ -454,7 +454,7 @@ below for more details.
Try:
./try.sh
Alternate code:
-An alternate version of this entry, prog.alt.c, is provided. As
+
An alternate version of this entry, prog.alt.c, is provided. As
mentioned in the author’s remarks, the alternate version lacks a
useful bug fix.
Alternate build:
@@ -463,11 +463,11 @@ useful bug fix.
Use prog.alt as you would prog above.
Alternate try:
./try.alt.sh
-Do you spot the fix by running both try.sh and
-try.alt.sh?
+Do you spot the fix by running both try.sh and
+try.alt.sh?
Judges’ remarks:
This text was processed by prog. You may get confused. We’re not really sure:
-prog.c wasn’t commented. Who has been thoroughly puzzled by prog?
+prog.c wasn’t commented. Who has been thoroughly puzzled by prog?
Also how obfuscated is prog? Having been written in C, how large of a
vocabulary has it?
Author’s remarks:
@@ -645,8 +645,8 @@ in the byte. Return adverb.
Return abbreviation.
Remarks:
-The judges found a bug in the handling of contractions: prog.alt.c
-outputs “foo wasn’[t bazzed]”. I fixed the bug in prog.c, making
+
The judges found a bug in the handling of contractions: prog.alt.c
+outputs “foo wasn’[t bazzed]”. I fixed the bug in prog.c, making
it output “foo [wasn’t bazzed]” instead, and took the liberty to merge
one statement into a for loop inside its main() function.
The program uses a 9,437,187-byte buffer so it probably will not run
@@ -685,21 +685,21 @@ to CSILENCE.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.alt.c - alternate source code
-- prog.orig.c - original source code
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.alt.c - alternate source code
+- prog.orig.c - original source code
- lexicon.pdf - How to squeeze a lexicon paper
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
Secondary files
- 2018_ciura.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -767,7 +767,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2018/endoh1/index.html b/2018/endoh1/index.html
index 7225c412f..45d24eb84 100644
--- a/2018/endoh1/index.html
+++ b/2018/endoh1/index.html
@@ -416,10 +416,10 @@
← 2018/ciura
↑ 2018 ↑
2018/endoh2 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -497,21 +497,21 @@ letters that leave the mark and ones that do not?
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
- golem.txt - input data
- invisible.txt - input data
- smily.txt - input data
-- try.sh - script to try entry
+- try.sh - script to try entry
Secondary files
- 2018_endoh1.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -579,7 +579,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2018/endoh2/index.html b/2018/endoh2/index.html
index 8d9c0cc56..86e086035 100644
--- a/2018/endoh2/index.html
+++ b/2018/endoh2/index.html
@@ -416,10 +416,10 @@
← 2018/endoh1
↑ 2018 ↑
2018/ferguson →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -466,7 +466,7 @@ sitcom
The “Python” in the award name refers to Monty Python, not the
[programming language Python](https://en.wikipedia.org/wiki/Python_(programming_language)
(the name of the programming language Python is derived from Monty Python).
-The shape of prog.c is “Undead Parrot” based on “dead parrot”. The
+
The shape of prog.c is “Undead Parrot” based on “dead parrot”. The
message that appears in the bottom line of the output source code is the subject
of the dialogue that appears in “Dead Parrot” and explains in various
expressions that the parrot died. Also, the second __<-_Source_of_Parrots__
@@ -522,21 +522,21 @@ is also used in the opening.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- run.sh - script to run entry
-- try.sh - script to try entry
-- python3.sh - python3 rule script
-- python.sh - python rule script
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- run.sh - script to run entry
+- try.sh - script to try entry
+- python3.sh - python3 rule script
+- python.sh - python rule script
Secondary files
- 2018_endoh2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -604,7 +604,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2018/ferguson/FILES.html b/2018/ferguson/FILES.html
index 0ae2ef566..e0f754651 100644
--- a/2018/ferguson/FILES.html
+++ b/2018/ferguson/FILES.html
@@ -413,7 +413,7 @@
@@ -458,7 +458,7 @@ to pass options to the script itself.
- This file briefly answers ‘why’ I submitted an rpm spec file.
-weasel.spec
+ weasel.spec
- The RPM spec file for building the RPM. This is specific to the entry on
the IOCCC website but would also be available in the source rpm file if it
@@ -544,7 +544,7 @@ was built.
diff --git a/2018/ferguson/index.html b/2018/ferguson/index.html
index 4a2bd9667..9d3e37f62 100644
--- a/2018/ferguson/index.html
+++ b/2018/ferguson/index.html
@@ -416,10 +416,10 @@
← 2018/endoh2
↑ 2018 ↑
2018/giles →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -460,9 +460,9 @@ monkey Eric. See Alternate code below.
# For those who want to see if Eric the monkey can type the word 'words' before
# falling asleep or giving up:
./monkey-words.sh
-NOTE: the try.sh script will run the other two scripts but if the
-first one, id.sh is terminated early in the try script, the second one,
-monkey-words.sh will not be run.
+NOTE: the try.sh script will run the other two scripts but if the
+first one, id.sh is terminated early in the try script, the second one,
+monkey-words.sh will not be run.
You can reconfigure certain values. These are described by the author in more
detail in the S, M and N Constants section. The script above will
make use of some of these.
@@ -484,9 +484,9 @@ about this under the keyboards section, briefly referre
# For those who want to see if Eric the monkey can type the word 'words' before
# falling asleep or giving up:
./monkey-words.alt.sh
-NOTE: the try.alt.sh script will run the other two scripts but if the -first one, id.alt.sh is terminated early in the try script, the second one, -monkey-words.alt.sh will not be run.
+NOTE: the try.alt.sh script will run the other two scripts but if the +first one, id.alt.sh is terminated early in the try script, the second one, +monkey-words.alt.sh will not be run.
You can reconfigure certain values. These are described by the author in more detail in the S, M and N Constants section. The script above will make use of some of these.
@@ -609,7 +609,7 @@ operative phrase is given enough time; but even if it’s extremely unl monkey; I thought the monkey had it too easy: unlike his limited keyboard I have (besides space) every character in the ASCII range0<=126 that
isprint() returns non-zero except that only capital letters are included;
-the file prog.alt.c has a slightly smaller keyboard. There are some
+the file prog.alt.c has a slightly smaller keyboard. There are some
additional features I have added (including two Easter eggs); amongst others:
ability to change the target string and maximum length. See
How it works, Hints and How to build for
@@ -1507,32 +1507,32 @@ good fun, I suppose.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
Nonetheless I am keeping the -weasel.spec file in the entry as it was part of my +weasel.spec file in the entry as it was part of my submission but I won’t explain here how to set up the build environment or how to build a RPM; even if anyone did want to (and I know nobody else will) want to do this, they can figure it out themselves. Again, this was more personal but @@ -513,7 +513,7 @@ since the Judges’ remarks were fun for me I am keeping this here anyway.
diff --git a/2018/giles/index.html b/2018/giles/index.html index cad8836f7..2173a9dba 100644 --- a/2018/giles/index.html +++ b/2018/giles/index.html @@ -416,10 +416,10 @@ ← 2018/ferguson ↑ 2018 ↑ 2018/hou → - C code - Makefile + C code + Makefile Inventory - ✓ + ✓ @@ -513,9 +513,9 @@ so that they are short and easily confused with each other.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
A number of other entries were based on iocccsize.c, making +
A number of other entries were based on iocccsize.c, making derivative works rather than original works.
Still other entries were too large, violating the first line of rule 2:
@@ -605,7 +605,7 @@ Jump to: topdiff --git a/2018/mills/index.html b/2018/mills/index.html index bb5828aff..cbbd18e12 100644 --- a/2018/mills/index.html +++ b/2018/mills/index.html @@ -416,10 +416,10 @@ ← 2018/hou ↑ 2018 ↑ 2018/poikola → - C code - Makefile + C code + Makefile Inventory - ✓ + ✓ @@ -584,7 +584,7 @@ Let’s try some: /dev/rk0 / 1958 1688 270 86% # bin/cc mullender.c # ./a.out -Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
The program you’ve just run was the winning entry of the first IOCCC contest from +
The program you’ve just run was the winning entry of the first IOCCC contest from 1984 (or was it 1894?), a personal favorite of mine. It is rather tightly bound to running on either a PDP-11 or a VAX-11. Now you have one.
Hitting Control-C will return you to the BSD UNIX prompt. Hitting Control-D @@ -823,7 +823,7 @@ obsessed with the idea of allowing mul 1984 to run. Although that was still a possibility on an interpreted version of B or a stripped-down version of C, it felt cheap, as it would be -mullender.c only in spirit.
+mullender.c only in spirit.It was during this time that I discovered that in 2016, members of the Unix Heritage Society got access to printouts of assembly-language source for the original version of UNIX. With what was a huge amount of work, @@ -1081,19 +1081,19 @@ time…
Primary files
-
- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
Secondary files
- 2018_mills.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
+- README.md - markdown source for this web page
- boot.dat - binary support file
- bsd.img.bz2 - bz2 compressed BSD disk image
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- v0.image.fs - v0 UNIX filesystem
- v6.tape.gz - compressed v6 UNIX filesystem
- index.html - this web page
@@ -1163,7 +1163,7 @@ Jump to: topdiff --git a/2018/poikola/index.html b/2018/poikola/index.html index 64adaab24..77f9759b1 100644 --- a/2018/poikola/index.html +++ b/2018/poikola/index.html @@ -416,10 +416,10 @@ ← 2018/mills ↑ 2018 ↑ 2018/vokes → - C code - Makefile + C code + Makefile Inventory - ✓ + ✓ @@ -588,20 +588,20 @@ text that says:Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
Primary files
-
- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- try.sh - script to try entry
-- poikola.tex - supplied documentation in TeX format
-- prog-doc.c - minor change to entry source code
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- try.sh - script to try entry
+- poikola.tex - supplied documentation in TeX format
+- prog-doc.c - minor change to entry source code
Secondary files
- 2018_poikola.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -669,7 +669,7 @@ Jump to: topdiff --git a/2018/vokes/index.html b/2018/vokes/index.html index 54bc64ba6..7b5dc580c 100644 --- a/2018/vokes/index.html +++ b/2018/vokes/index.html @@ -416,10 +416,10 @@ ← 2018/poikola ↑ 2018 ↑ 2018/yang → - C code - Makefile + C code + Makefile Inventory - ✓ + ✓ @@ -635,22 +635,22 @@ this program has nothing to do with a hand.Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
Primary files
-
- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
- example-1.txt - sample input
- example-2.txt - sample input
- example-tab.txt - sample input
- ioccc.txt - sample input
-- try.sh - script to try entry
+- try.sh - script to try entry
Secondary files
- 2018_vokes.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -718,7 +718,7 @@ Jump to: topdiff --git a/2018/yang/index.html b/2018/yang/index.html index 5161f800c..4443eef96 100644 --- a/2018/yang/index.html +++ b/2018/yang/index.html @@ -416,10 +416,10 @@ ← 2018/vokes ↑ 2018 ↑ 2019/adamovsky → - C code - Makefile + C code + Makefile Inventory - ✓ + ✓ @@ -496,10 +496,10 @@ leading whitespaces: ./shift < input.txt > no_leading_space.txtCoda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
Where this might be useful, besides ruining the formatting of certain files, is that it completes the set of tools needed to solve the -puzzle that is embedded in prog.c.
+puzzle that is embedded in prog.c.Puzzle box:
-Notice how the edges of prog.c contain two notches. By rotating -prog.c and removing leading space, the code would be shifted one space +
Notice how the edges of prog.c contain two notches. By rotating +prog.c and removing leading space, the code would be shifted one space toward one of those notches (and create a new notch on the other side). This shifted code behaves slightly different from the original program. For example, here are two more messages that can be @@ -508,13 +508,13 @@ produced:
./shift < prog.c | ./left > msg2.c && gcc msg2.c -o msg2 && ./msg2In total, there are 9 embedded strings that can be produced via a sequence of rotates and shifts, one of which can be used to extract -the 10th final string from prog.c. The intent is to simulate those +the 10th final string from prog.c. The intent is to simulate those wooden puzzle boxes that can be opened by pushing and shifting various well-concealed seams. Thus, finding the correct sequence of rotates and shifts is left as an exercise to the reader (but if you are really -lazy, just read the Makefile.
+lazy, just read the Makefile.Source code for all the tools needed to solve this puzzle are embedded -in prog.c, all you need is a C compiler.
+in prog.c, all you need is a C compiler.Features
Code compiles when rotated 4 ways. This required a bit of patience to @@ -525,7 +525,7 @@ various tweaks to satisfy cases where the compiler is overly protective, includi but not limited to the “1125” at line 4 as opposed to “1025”, to satisfy
-Waggresive-loop-optimizations.- -
CRC32 of the code is embedded in the code itself.
Process for writing prog.c is available in +
Process for writing prog.c is available in obfuscation.html.
Compatibility:
@@ -584,19 +584,19 @@ just try to understand the program without running the command below.Primary files
-
- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.orig.c - original source code
-- try.sh - script to try entry
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.orig.c - original source code
+- try.sh - script to try entry
- obfuscation.html - JavaScript page with full recording of development
Secondary files
- 2018_yang.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- .path - directory path from top level directory
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- .path - directory path from top level directory
- index.html - this web page
@@ -664,7 +664,7 @@ Jump to: topdiff --git a/2019/adamovsky/index.html b/2019/adamovsky/index.html index 2da3226a1..36d1003f6 100644 --- a/2019/adamovsky/index.html +++ b/2019/adamovsky/index.html @@ -416,10 +416,10 @@ ← 2018/yang ↑ 2019 ↑ 2019/burton → - C code - Makefile + C code + Makefile Inventory - ✓ + ✓ @@ -479,7 +479,7 @@ it into two portions: the initial macro section where I had limited resources which you should disregard its shape, unless you like it, and the rest, which is a separator in the form of a single line followed by a section signifying the function of the program, a block with removed shape of lambda character. Even -the official IOCCC size tool acknowledges this: When you callCoda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
./iocccsize -i <prog.c, using the 2019 version of +the official IOCCC size tool acknowledges this: When you call./iocccsize -i <prog.c, using the 2019 version of iocccsize.c, iocccsize returns 955, which is the Unicode codepoint of the λ character.It might be a surprise for you that according to the IOCCC size tool the program is @@ -489,7 +489,7 @@ by the sheer length of the dividing line and totally overlooks the rest of the p
When built directly using
makethe program (
prog) accepts a single parameter with the name of an Unlambda program. You can -download the Colossal Cave Adventure (the advent.unl file) +download the Colossal Cave Adventure (the advent.unl file) and run it like this:./prog advent.unlNOTE: the file was added to the entry so there is no need to download it.
@@ -497,7 +497,7 @@ and run it like this: Unlambda distribution on the Unlambda homepage. The most complex programs there are entries from quine contest.There is an alternative build path that requires the 2018 IOCCC size tool to complete. Put the tool -source iocccsize_2018.c in the project directory and call
+source iocccsize_2018.c in the project directory and callmake identifyIt will build the tool and use it to build an alternative program
prog2, which in turn will produce an Unlambda programidentify.unl.make identifyruns this program to identify @@ -571,7 +571,7 @@ since it was developed usingchars it should be always used safely.
You can examine the deobfuscated.c file. It is the original +
You can examine the deobfuscated.c file. It is the original final version of the interpreter, before I started the downsizing. It accepts one more optional parameter that specifies a filename for the output Unlambda function (it’s the Unlambda function that remains after all function @@ -666,24 +666,24 @@ be applied.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
If you get stuck, come back and run the following command:
out=cat ./check.sh ./prog
Instead of checking correctness, the -check.sh script can simply +check.sh script can simply output the results:
Interestingly, and a spoiler here: macOS and FreeBSD implement the common utility “correctly”. CentOS and Ubuntu both share a “flawed” utility that @@ -497,7 +497,7 @@ Input should be less than ten million octets “toavoidthisproblem”.
No whitespace was harmed in the creation of this program. All your base belong to us, but the constants seem a bit … off?The script cow.sh provides a closer analog, and perhaps a more useful +
The script cow.sh provides a closer analog, and perhaps a more useful interface.
Included is a version without compilation warnings:
cc -Wall -Wextra -Weverything -pedantic -include stdio.h -o prog.clean prog.clean.c
@@ -529,24 +529,24 @@ This exercise left to the reader.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
LETTERS must not repeat. The length of
is too long, and 2 if the command-line arguments are missing.
./getwords.sh LANGUAGE_CODE
outputs a sorted list of unique words in a given language, one per line. It
requires aspell with a dictionary for LANGUAGE_CODE.
./wrapprog.py LETTERS [N]
works similarly to ./prog LETTERS [N] except that it merges pangrams
before passing them to prog and expands them in prog’s output. This way,
it finishes the job faster than prog when there are millions of perfect
pangrams. It requires a UTF-8 locale.
de.sh, en.sh, -fr.sh, it.sh, -pl.sh, and ru.sh output German, +
de.sh, en.sh, +fr.sh, it.sh, +pl.sh, and ru.sh output German, English, French, Italian, Polish, and Russian perfect pangrams, respectively. They require a UTF-8 locale.
prog can only output series of words
with non-repeating characters, unlike klausler.
-In contrast to prog.alt.c, prog.c does not call +
In contrast to prog.alt.c, prog.c does not call
fflush(stdout) after outputting each line, thus running faster.
I am grateful to Witold Jarnicki for suggesting this change.
The original prog finished the example above in 100 minutes
@@ -574,8 +574,8 @@ have no perfect pangrams.
goto M and goto H, I challenge the adherents of
structured programming to refactor goto T, which jumps back into a
nested if block.
-With the supplied Makefile, both gcc and clang compile
-prog.c without warnings in C11 and C99 mode. For a clean
+
With the supplied Makefile, both gcc and clang compile
+prog.c without warnings in C11 and C99 mode. For a clean
compilation with gcc -std=c90, add -Wno-format to
CSILENCE in Makefile.
Can you explain why the /dev/zero file compresses identically by the entry and
the standard compress(1) tool (see
-try.sh), but the text file
+try.sh), but the text file
compresses differently? The judges know. :)
-Wextra and -Weverything.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
L) and which zoom Scale you are watching
This entry is quite portable hopefully on most modern platforms. It assumes X
Window support of course. More than 2GB of memory is recommended. Configuration
-through Makefile is provided for the display windows size and for
+through Makefile is provided for the display windows size and for
the memory usage. The Makefile provided configuration (Z=0x20000000) will need a
system with 4GB DRAM to run nicely. There are several other salient assumptions
though:
If you get stuck, come back and read below for additional hints and information.
Those wait for you, curious and intrepid reader, in the attached
-apholife.c file, which is a partially obfuscated version of the
+apholife.c file, which is a partially obfuscated version of the
program I wrote with a lot of helpful annotations and comments for myself and
posterity, revealing some of the magic under the hood. This program is also a
somewhat improved version which uses ldexp()s in the draw routine and has
@@ -666,31 +666,31 @@ message, and to top it all it even avoids gets(3)!
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
An alternate version of this entry, prog.alt.c, is provided. This +
An alternate version of this entry, prog.alt.c, is provided. This alternate code might not work as well in macOS.
make alt
@@ -579,8 +579,8 @@ with a different size!The file prog.alt.c is the one I submitted.
+The file prog.alt.c is the one I submitted.
The judges proposed a small update: the program was using macro FD_SET inside an
expression, which breaks compilation on macOS. Wrapping this macro into a
function was enough to fix this compilation issue.
sysctl
parameters to make it work on FreeBSD (this was the purpose of the
-check-os.sh file). I tried hard to tune macOS the same, but failed.
+check-os.sh file). I tried hard to tune macOS the same, but failed.
The simple fact the Judges proposed this update meant they wish it could work on
Mac. And if the judges wish something, it has to be done. ;) So I
refactored a little more the program to reduce OS resources consumption. Or
maybe not reduce consumption, but consume them differently… And I obtained
-prog.c. With this version, no need to touch sysctl parameters, and
+prog.c. With this version, no need to touch sysctl parameters, and
it works on macOS too! I must confess it was challenging to remain below the
size limit with this little change.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
If you have gdb(1) installed:
./try.sh
Note that in macOS installing gdb(1) takes multiple steps - it’s not just a
-matter of installing gdb(1) and that’s that. The try.sh script has
+matter of installing gdb(1) and that’s that. The try.sh script has
only been tested with linux.
You might also wish to try:
gdb ./prog || lldb ./prog
@@ -545,19 +545,19 @@ only been tested with linux.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
./prog infile.wav outfile.wav
./try.sh
-NOTE: play, which try.sh uses, comes from SoX, the Swiss Army Knife
+
NOTE: play, which try.sh uses, comes from SoX, the Swiss Army Knife
of sound processing programs. If you don’t have this installed, see the
FAQ on “SDL1 and SDL2”.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
unsafeThisAndThat functions. All functions mus
cc -o prog prog.c
Test the compiler on fib.hs:
+Test the compiler on fib.hs:
(./prog < fib.hs ; cat prog.c) > fib.c
Compiling the output produces a binary that prints the 30th Fibonacci number.
-The file ghcfib.hs -includes fib.hs with some glue code, +
The file ghcfib.hs +includes fib.hs with some glue code, and shows GHC also accepts our subset of Haskell:
ghc ghcfib.hs
To avoid revealing the original Haskell source, we -instead provide hint.hs, the output of a certain stage of the +instead provide hint.hs, the output of a certain stage of the compiler when run on itself. This intermediate output is hopefully difficult to understand, yet is accepted by our compiler:
The output program behaves like the compiler itself.
Unlike the original source from which it is derived, GHC fails to compile
-hint.hs. This is because values have been replaced with their Scott
+hint.hs. This is because values have been replaced with their Scott
encodings
by this stage, which messes up type-checks; we’d need equirecursive types for
it to work.
The file lol.hs contains an adaptation of Doug McIlroy’s elegant code from
+ The file lol.hs contains an adaptation of Doug McIlroy’s elegant code from
“Enumerating the strings of regular
languages”. We exercise it by
showing the first entries of the length-ordered list of all strings consisting
@@ -517,7 +517,7 @@ of the characters A GHC wrapper is provided: See scc.hs, and its GHC wrapper ghcscc.hs,
+ See scc.hs, and its GHC wrapper ghcscc.hs,
for an elegant way to print the strongly-connected components of a graph in reverse topological
order. Other obfuscation techniques are better appreciated after decoding the
-compiler. See hint.hs.a and b that contain an even number
ghc ghclol.hsStrongly-connected components:
-
@@ -621,7 +621,7 @@ represent the integer (./prog < scc.hs ; cat prog.c) > scc.cn with a term equivalent to Y(BT)nA sentinel in the heap often confused me, so ought to confuse others.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
So, I followed the rules given by Gandalf the White and the Judges of the IOCCC.
-Output of Output of iocccsize, using the 2019 version of
+iocccsize, using the 2019 version of
iocccsize, is carefully selected. For
the sake of clarity, I used single letter variables in the code. I also avoided
unnecessary use of functions. Like a
@@ -617,7 +617,7 @@ checksumgoto jumps to the end of the code.
I see that one of the Volker Diels-Grabsch’s winning entries is -awarded the category Most self-aware. In last +awarded the category Most self-aware. In last year, my entry incorporates the Fletcher’s 16 algorithm to ensure integrity of code. One of my first ideas for this year was to do the same @@ -653,21 +653,21 @@ interruptions during the coding phase.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
I tried really hard to make prog.c fit in a 80x25 terminal without wrapping.
If I were not constrained by space, I would have made an ASCII art out of it.
-violet.c is that program, and also comes with the minor benefit of
+violet.c is that program, and also comes with the minor benefit of
supporting lines longer than a million columns depending on sizeof(int).
Violet is named after Violet Evergarden in the story with @@ -597,22 +597,22 @@ the same name, the character who is highly skilled in writing letters.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
Invoke this with a single non-negative integer less than 256, and a useful transformation occurs.
Exporting the constants B,I,T,S to the Makefile allows the
+
Exporting the constants B,I,T,S to the Makefile allows the
code to be compiled for either LE (little-endian) or BE (big-endian)
machines(!!), so they are truly configuration parameters, not logic.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
An alternate version of this entry, prog.alt.c, is provided. This +
An alternate version of this entry, prog.alt.c, is provided. This alternate code lacks the additional rule to flag all unprobed cells. See the Author’s remarks for more details.
The judges pointed out a bug of the original version that I submitted, -prog.alt.c. Because this program does not provide a feature to +prog.alt.c. Because this program does not provide a feature to flag unprobed cells manually, we can do nothing if the number of unprobed cells are equal to the number of mines remaining; unwinnable.txt is an example for such a case.
Thus, I implemented an additional rule to flag all unprobed cells in such a case -into the final version: prog.c.
+into the final version: prog.c.Ilya Kurdyukov also pointed out a warning
“ignoring return value of ‘fscanf’” only when -O3 is used. So I changed the
code a little to pretend to use the return value of fscanf(3).
fscanf(3).
fscanf(3).
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
x,y,ctrl.
If ctrl is 1, the point is used as control point for quadratic bézier
curve.
code.c is the main logic for the program, which has some placeholders +
code.c is the main logic for the program, which has some placeholders for font data and something else.
It decompresses the font data and renders a given text by projection. It
exploits C99’s double complex type to represent 2D points, but carefully
coded so that it does not require any math.h functions; you don’t have to pass
-lm to cc.
tmpl.txt is a template for the program. gen.rb composes -the all items and generates prog.c.
+tmpl.txt is a template for the program. gen.rb composes +the all items and generates prog.c.
Jump to: top
@@ -454,7 +454,7 @@ code below. ./run_clock
# And watch closely for 15-20 seconds
An alternate version of this entry, prog.alt.c, is provided. This +
An alternate version of this entry, prog.alt.c, is provided. This alternate code uses Unicode letters.
make alt
@@ -467,7 +467,7 @@ alternate code uses Unicode letters.
You may be tempted to use a mirror. Resist the temptation! Try figuring out how the clock hands are drawn. Can you change the program to make it draw a familiar (non-mirrored) clock face? Can you add the second hand?
-When using the run_clock.sh shell script, your perception of +
When using the run_clock.sh shell script, your perception of time might depend on what time it is.
Prepare a mirror!
@@ -498,20 +498,20 @@ time might depend on what time it is.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
See the 2020 IOCCC ‘Don’t tread on me’ Snake game source code.
+See the 2020 IOCCC ‘Don’t tread on me’ Snake game source code.
To give an idea what cannibalism can look like (it’s I believe a unique feature to any other version of Snake), this file shows just how extreme cannibalism can get with a long snake. I made a few changes, described below, to make it easier @@ -682,7 +682,7 @@ hadn’t yet moved (that is it was still growing):
diff --git a/2020/ferguson1/chocolate-cake.html b/2020/ferguson1/chocolate-cake.html index ba998dd4b..95db5c45f 100644 --- a/2020/ferguson1/chocolate-cake.html +++ b/2020/ferguson1/chocolate-cake.html @@ -413,7 +413,7 @@ @@ -649,7 +649,7 @@ thick BUT not too thick. Make SURE ICING DOES NOT GET diff --git a/2020/ferguson1/crazy.log.html b/2020/ferguson1/crazy.log.html index 1ade553e1..03f78e217 100644 --- a/2020/ferguson1/crazy.log.html +++ b/2020/ferguson1/crazy.log.html @@ -413,7 +413,7 @@ @@ -598,7 +598,7 @@ could safely go through that part of the screen. diff --git a/2020/ferguson1/gameplay.html b/2020/ferguson1/gameplay.html index c3c2e7af6..0216eff35 100644 --- a/2020/ferguson1/gameplay.html +++ b/2020/ferguson1/gameplay.html @@ -413,7 +413,7 @@ @@ -807,7 +807,7 @@ modes! There are certainly other modes that could be imagined: the modes below happened over time and some were simply an accidental discovery or something I thought of by a chance; others were thought out from the beginning but were improved over time. -The play.sh script sets up some of these automatically; I describe it after +
The play.sh script sets up some of these automatically; I describe it after the modes below.
Or something like that (maybe make the size bigger but that’s up to you). You could also set the max size to be the highest possible by saying
MAXSIZE=-1
-Which I’ve done in the play.sh script.
+Which I’ve done in the play.sh script.
I discuss how this mode works in obfuscation.html.
Here’s an example run where I spelt ‘SNAKE’. As you can see it’s far from perfect: the snake after all does not leave gaps and the game does not support @@ -897,7 +897,7 @@ thought of):
shows to be 10 characters depends on whether or not it gets a bug before it can get to that length - and then it’ll start shrinking until it’s just the head then the head again (i.e. 1 then 0 in size) and then win! This is also in the -play.sh script. +play.sh script.Of course you can also do something like:
WAIT=5 WALLS=1 CANNIBAL=1 ./prog
@@ -940,10 +940,10 @@ could reverse it so that one shrinks more than growing.
The crazy.log.html file has several screen dumps with this idea.
You could also have it so that eating a bug makes you shrink and moving so many -moves you grow. I tried this and for me it was far more fun. The play.sh +moves you grow. I tried this and for me it was far more fun. The play.sh also has this mode:
SIZE=100 SHEDS=5 GROW=-10 SHED=50 MAXSIZE=250 ./prog
-Obviously there are many other variations. The play.sh script has some +
Obviously there are many other variations. The play.sh script has some of them (the above is option 5; others are 4, 15 and 16 but only options 4 and 5 are called Grow / Shrink).
To do this use the snake-colours.sh script like so:
+To do this use the snake-colours.sh script like so:
./snake-colours.sh
If you want to pass in specific variables you can do that too e.g.:
CANNIBAL=1 ./snake-colours.sh
@@ -1000,7 +1000,7 @@ bug.
-The play.sh script has the gameplay modes described in this file and is menu +
The play.sh script has the gameplay modes described in this file and is menu
based (there might be differences and some of the modes I include a variation).
The script tests the terminal (allowing you to continue even if problems are
detected), prompts you if you want to select colours (like those in
@@ -1137,7 +1137,7 @@ years ago but I know it’s true now. Believe in yourself. Always.
- Nu HTML check this web pageCoda
+ Nu HTML check this web page
Jump to top Jump to Content
SHED
every SHED movements you will grow (> 0), shrink (< 0) or
stay the same length (0) by the SHEDS (below) value. Again
@@ -500,7 +500,7 @@ eats a bug the counter isn’t incremented. Again with creativity
you can create some fun gameplay modes here. For instance you
can grow upon eating a bug but shrink every SHED movements
and then it’s a battle of whether you win by SIZE < 0 or
-SIZE >= MAXSIZE. See play.sh for examples.
+SIZE >= MAXSIZE. See play.sh for examples.
NOTE: the concept of shedding in this game is a misnomer; see
notes below.
CANNIBAL
@@ -862,12 +862,12 @@ been warned.
I submitted three Snake versions; these are the other layouts for those few (more likely none) who are interested to see them.
-The prog.2.c has more digraphs but I think no other significant differences.
-The prog.3.c is in a more artistic layout (a backwards S), has at least one +
The prog.2.c has more digraphs but I think no other significant differences.
+The prog.3.c is in a more artistic layout (a backwards S), has at least one
additional obfuscation technique (see deobfuscation information) but it also has more digraphs
and as the judges said they feel that digraphs are dated so that’s probably why
-they chose the first layout. The prog.3-j.c version is
-prog.3.c with a shorter J macro.
J macro.
The prog.alt.c version is the one that allows for customising the bug colour and
it’s used in both snake-colours.sh and play.sh. It also calls erase()
first, clearing the screen, which the play.sh and snake-colours.sh scripts also
@@ -884,7 +884,7 @@ programmers. I’m especially proud to win besides Dave Burton and Yusuke Endoh
but Don Yang and Edward Giles too.
But there are some others who I don’t remember like Ilya Kurdyukov -(who’s offered a lot of interesting thoughts on Snake and +(who’s offered a lot of interesting thoughts on Snake and who plans to have his own version after the entries are published), Nathan Otterness, Nicholas Carlini (your entry is an absolutely brilliant @@ -894,7 +894,7 @@ list!) and tsoj too.
Well done and congratulations to all of you again! Thank you for submitting the wonderful entries and I’m honoured to have my two entries beside yours!
To Dave Burton I thank you for your wonderful comments as well as pointing out -that even with prog.alt.c it probably would be better to make use +that even with prog.alt.c it probably would be better to make use of the alt target instead of naming prog.c prog.alt.c. You’re quite right, I had thought of it but you brought it up so I could correct it. Much appreciated mate.
@@ -945,12 +945,12 @@ email but I’m more likely to respond to mastodon messages.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
V anyway? It’s U + 1; and U
-There are a few differences in this version that are worth noting. First of all is a define that’s in the compiler invocation Makefile is in the source file itself. Second are the following obfuscation techniques. To simplify integrating @@ -1238,7 +1238,7 @@ matter having a ‘o’ at 0,0 isn’t either).
diff --git a/2020/ferguson1/terminals.html b/2020/ferguson1/terminals.html index dce3dca07..482263ad6 100644 --- a/2020/ferguson1/terminals.html +++ b/2020/ferguson1/terminals.html @@ -413,7 +413,7 @@ @@ -458,7 +458,7 @@ for the capabilities I use in the entry.It also tries to determine the minimum number of columns to play without the status line overflowing - even with the dynamic length. Try:
$ make test
-This compiles the program termcaps.c and runs it; you should see something like:
+This compiles the program termcaps.c and runs it; you should see something like:
terminal supports cursor movement
terminal supports making cursor invisible
terminal supports bold
@@ -611,7 +611,7 @@ nasty issues.
Terminal colours
N.B.: If all you’re after is wanting to change the colours see the script
-snake-colours.sh instead. The rest of this file was mostly notes for the
+snake-colours.sh instead. The rest of this file was mostly notes for the
judges; here I discuss the background, foreground as well as limitations (in
particular runtime limitations).
@@ -786,7 +786,7 @@ but I do not know for certain.
diff --git a/2020/ferguson1/troubleshooting.html b/2020/ferguson1/troubleshooting.html
index 9d10dc6dc..ca0c0074b 100644
--- a/2020/ferguson1/troubleshooting.html
+++ b/2020/ferguson1/troubleshooting.html
@@ -413,7 +413,7 @@
@@ -462,7 +462,7 @@ needed. This won’t work right if you change the score line!
Note that this utility is not perfect; I describe this elsewhere. Either way a
small screen will make it harder to play esp without the cheat modes enabled
(but they can still be fun with large screens).
-RESOLUTION #1: open the prog.c and change the line
+RESOLUTION #1: open the prog.c and change the line
#define J Z(X:%d/%d Y:%d/%d S:%zu/%zu B:%zu\n),Y,y[-2],X, *y, A, g, c );
To be something like:
#define J Z(B:%zu\n), c);
@@ -541,7 +541,7 @@ desperate copy and paste the entire file into a document and search for the bug
char (if it’s an editor like vi/vim you will have to be sure to escape the char
since * is a regexp metacharacter). This has happened to me numerous times.
RESOLUTION #3: if the colour contrast is not good for your eyes use the
-snake-colours.sh script to select a different colour scheme.
+snake-colours.sh script to select a different colour scheme.
The game froze!
@@ -682,8 +682,8 @@ you mess up your old one. FWIW I haven’t had this problem on consoles only
and in my systems I have the option to enable brighter colours for bold - it
was only in testing that I came across this problem. Of course you might
also try changing the colours of the game. For that see
-snake-colours.sh and
-play.sh.
+snake-colours.sh and
+play.sh.
Can I move the snake faster temporarily without having to modify the wait time?
@@ -842,7 +842,7 @@ is 0 and I limit the size to be no bigger than the max size.
diff --git a/2020/ferguson2/index.html b/2020/ferguson2/index.html
index 61bedc4d7..d73693637 100644
--- a/2020/ferguson2/index.html
+++ b/2020/ferguson2/index.html
@@ -416,10 +416,10 @@
← 2020/ferguson1
↑ 2020 ↑
2020/giles →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -479,7 +479,7 @@ at once. See Alternate code below.
# show Enigma machine settings after selection / generation:
./recode -v
-NOTE: in recode no spaces between options and option arguments
+
NOTE: in recode no spaces between options and option arguments
are allowed.
Try:
./try.sh
@@ -488,7 +488,7 @@ are allowed.
echo | ./recode -v
do?
Alternate code:
-This version, prog.alt.c, writes a character at a time, sleeping
+
This version, prog.alt.c, writes a character at a time, sleeping
after each character, so that one can read it more easily (for longer output)
and to make it a bit more like the real thing.
Alternate build:
@@ -507,13 +507,13 @@ out! Can you figure out why this works this way?
This code is an enigma. Try to decode it!
There is a good deal of useful documentation that is provided with this entry:
-- enigma.1 - A useful man page for this entry. To render, try:
+- enigma.1 - A useful man page for this entry. To render, try:
man ./enigma.1
- recode.html
- enigma.txt
@@ -526,7 +526,7 @@ out! Can you figure out why this works this way?
Author’s remarks:
My remarks about my Heer (army) and Luftwaffe (air force) Enigma
-machine simulator for
+machine simulator for
the 27th IOCCC.
I want to dedicate this entry in part to the millions of poor souls that were
lost during the tragedy that is the Second World
@@ -723,7 +723,7 @@ idea anyway. Neither do I know if the original transcoding is correct.
(Technically above it didn’t print a newline after the output and this is how it
is with some of the things I pasted in the other file and maybe others here
too. Notice also how it showed the same output that my program gave it - UUMMX.)
-What about the other Morse code entry?
+What about the other Morse code entry?
$ echo IOCCC | ./prog | ./dorssel
..- ..- -- -- -..-
@@ -743,7 +743,7 @@ alternatively you can specify a file to read in.
It has a randomise mode and it can save/read the settings to/from a file to
allow for duplicity (an archaic term for the state of being double but obviously
for Enigma it has to also mean deceitful).
-I recommend using this in a pipeline instead of the simulator itself
+
I recommend using this in a pipeline instead of the simulator itself
if you want to change the configuration of the simulator because it offers a
much richer experience (and because you can reuse the configuration without
having to type it out again every time).
@@ -760,7 +760,7 @@ something else fun as well but I will not say more than that. Anyway, see
A parser subtlety that could cause confusion
The parser is in a sense rather rudimentary but allows for both interactive and automatic
-(e.g., via the recode program) input.
+(e.g., via the recode program) input.
This does mean that something like the following can happen:
$ ./prog -
Ring 1: 1AB
@@ -800,14 +800,14 @@ is buffering at play I believe but it’s useful for allowing the recode
to easily configure the Enigma machine. In the recode.html file
file I give a hint as to how this could be fixed but the caveat is it would
necessitate a need for rewriting
-recode.c.
+recode.c.
There’s another thing to be aware of and that’s the way the ranges are enforced.
There are five rotors which obviously are in C 0-4 but in ‘natural language’
1-5 (they were labelled I, II, III, IV and V though).
There are two
reflectors and the
same applies: in C 0-1 but in human it’s 1-2 (technically these were reflectors B and C in
-the Enigma machine which I display by name in recode.c just like
+the Enigma machine which I display by name in recode.c just like
with the rotors).
For more information see recode.html.
BTW: If you need a reminder to go to the gym just do your Enigma ABCs and it
@@ -820,7 +820,7 @@ should help you remember:
On the source code layout
The layout of recode.c isn’t too significant (but see below) but I want to
-mention prog.c especially:
+mention prog.c especially:
I did think of a more artistic layout but
reflecting
on it I think that the blankness of it can be another way of honouring all the
@@ -848,10 +848,10 @@ has some of the ways I think this entry is obfuscated. To decipher try:
./recode -Robfuscation.key -fobfuscation.txt | ./prog - 2>/dev/null > obfuscation.md
To encipher:
./recode -Robfuscation.key -fobfuscation.md | ./prog - 2>/dev/null > obfuscation.txt
-The file obfuscation.key is the key to decipher/encipher
+
The file obfuscation.key is the key to decipher/encipher
obfuscation.txt.
For the lazy obfuscation.html has the deciphered version.
-As for the obfuscation.key file if you observe the contents you’ll find the
+
As for the obfuscation.key file if you observe the contents you’ll find the
word OBFUSCATION:
2OB5FU1SC2ATIONCDEFGHJKLMPQRYZ
OB FU SC ATION
@@ -887,7 +887,7 @@ processes each letter - but with the 2014 Mo
can at least have the output played in Morse code as the Germans did; I think
that’s really cool (I think it’s really cool even if there’s a bug in it). That
it pays homage to that (and another) entry is a bonus here.
-The simulator doesn’t report errors but tries to gracefully deal
+
The simulator doesn’t report errors but tries to gracefully deal
with them: if one chooses a value out of range it moves it into the range (if >
the max then the max, if < min then the min). If invalid chars are input for the
plugboard pairs then it’s not added to the plugboard etc.
@@ -1011,7 +1011,7 @@ centre, right). To do this click the button at the top right that looks like:
-If I made use of the Enigma code in the recode.c program I would
+
If I made use of the Enigma code in the recode.c program I would
maybe consider doing something like that but I intentionally do not use it
there: as cool as it might be it would give a better idea of how the algorithm
works (unless I were to make it just as obscure as I do in prog.c but that’s
@@ -1069,7 +1069,7 @@ programmers. I’m especially proud to win besides Dave Burton and Yusuke Endoh
but Don Yang and Edward Giles too.
But there are some others who I don’t remember like Ilya
Kurdyukov
-(who’s offered a lot of interesting thoughts on Snake and
+(who’s offered a lot of interesting thoughts on Snake and
who plans to have his own version after the entries are published), Nathan
Otterness, Nicholas
Carlini (your entry is an absolutely brilliant
@@ -1141,35 +1141,35 @@ email but I’m more likely to respond to mastodon messages.
Primary files
-- prog.c - entry source code
-- Makefile - entry Makefile
-- prog.alt.c - alternate source code
-- prog.orig.c - original source code
-- enigma.txt - secret message in a html file to decrypt
+- prog.c - entry source code
+- Makefile - entry Makefile
+- prog.alt.c - alternate source code
+- prog.orig.c - original source code
+- enigma.txt - secret message in a html file to decrypt
- input.txt - sample input
- obfuscation.html - about the obfuscation of this entry
- obfuscation.txt - about the obfuscation of this entry - encrypted with entry
-- recode.c - Enigma machine configurator source code
+- recode.c - Enigma machine configurator source code
- recode.html - Enigma configurator documentation
- testing-procedure.html - details about the author’s testing procedure
-- try.alt.sh - script to try alternate code
-- try.sh - script to try entry
+- try.alt.sh - script to try alternate code
+- try.sh - script to try entry
- try.this.txt - sample input
-- enigma.1 - Enigma machine simulator man page
+- enigma.1 - Enigma machine simulator man page
- key.txt - key to decipher/encipher the word ‘IOCCC’
-- obfuscation.key - key to decipher or encipher obfuscation.txt
-- recode.1 - configurator tool recode.c man page
+- obfuscation.key - key to decipher or encipher obfuscation.txt
+- recode.1 - configurator tool recode.c man page
Secondary files
- 2020_ferguson2.tar.bz2 - download entry tarball
-- README.md - markdown source for this web page
-- .entry.json - entry summary and manifest in JSON
-- .gitignore - list of files that should not be committed under git
-- obfuscation.md - markdown source for obfuscation.html
-- .path - directory path from top level directory
-- recode.md - markdown source for recode.html
-- testing-procedure.md - markdown source for testing-procedure.html
+- README.md - markdown source for this web page
+- .entry.json - entry summary and manifest in JSON
+- .gitignore - list of files that should not be committed under git
+- obfuscation.md - markdown source for obfuscation.html
+- .path - directory path from top level directory
+- recode.md - markdown source for recode.html
+- testing-procedure.md - markdown source for testing-procedure.html
- index.html - this web page
@@ -1237,7 +1237,7 @@ Jump to: top
Coda
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
diff --git a/2020/ferguson2/obfuscation.html b/2020/ferguson2/obfuscation.html
index bc38ac410..63662236e 100644
--- a/2020/ferguson2/obfuscation.html
+++ b/2020/ferguson2/obfuscation.html
@@ -413,7 +413,7 @@
@@ -700,7 +700,7 @@ also not).
diff --git a/2020/ferguson2/recode.html b/2020/ferguson2/recode.html
index 1be90ce3c..bb1664b54 100644
--- a/2020/ferguson2/recode.html
+++ b/2020/ferguson2/recode.html
@@ -413,7 +413,7 @@
@@ -428,7 +428,7 @@
The recode configurator documentation (and a fun way to explore my 2020 IOCCC Enigma simulator)
N.B. At the end of this file I have given a fun exercise that can be used to
explore my Enigma machine
-simulator. I really encourage you to do this but of course you don’t
+simulator. I really encourage you to do this but of course you don’t
have to if you don’t wish to.
@@ -455,8 +455,8 @@ have to if you don’t wish to.
-To demonstrate how to and why you should use the recode.c program with
-the Enigma machine simulator I have included some examples here as
+
To demonstrate how to and why you should use the recode.c program with
+the Enigma machine simulator I have included some examples here as
well as brief (‘brief?!’ I am sure many would think but it’s brief for me)
commentary.
It would not be possible to do all that the recode program does in my entry
@@ -504,8 +504,8 @@ if you don’t give the option to read in a file for input.
Plugboard pair #09: RU
Plugboard pair #10: VG
1WX5AK4RE1XEHJSAPYCIZBWDQNRUVGIOCCC
-Though you won’t find some of those strings in recode.c or
-prog.c. Yes the WAR for the Ringstellung (Ring settings) is an
+
Though you won’t find some of those strings in recode.c or
+prog.c. Yes the WAR for the Ringstellung (Ring settings) is an
amusing coincidence but it really did happen!
As for -f the contents would be output with the settings e.g. to pipe to
prog itself (as if you redirected the file contents to the Enigma machine for
@@ -528,7 +528,7 @@ Again note that this does not validate input! Although it detects out of range
for the arrays it doesn’t detect duplicates. This is because it wasn’t meant to
be any given file or anything else other than the direct output of a previous
run (thus validated). I’m not even guaranteeing that I got the array tests valid
-in recode.c -R option!
+in recode.c -R option!
@@ -631,7 +631,7 @@ pair; this can be done in
a number of ways but two dots is one. Notice also that it’s in a different order
than the simulator: because with the size restrictions on my entry I saved bytes
by using the same loop where I could. It just felt more natural to have them
-grouped together in a configurator for the simulator.
+grouped together in a configurator for the simulator.
$ echo 1AA2AA3AA2ABCD..EFGHIJKLMNOPQRIOCCC | ./prog - 2>/dev/null
HQNVO
$ echo 1AA2AA3AA2ABCD..EFGHIJKLMNOPQRIOCCC | ./prog - 2>/dev/null | echo 1AA2AA3AA2ABCD..EFGHIJKLMNOPQRHQNVO | ./prog - 2>/dev/null
@@ -844,7 +844,7 @@ delicious challenge).
Example additions
-- Add code, to prog.c, that tries to determine possible decipherments based on
+
- Add code, to prog.c, that tries to determine possible decipherments based on
a given crib (or set of cribs).
@@ -999,7 +999,7 @@ tested the code.
diff --git a/2020/ferguson2/testing-procedure.html b/2020/ferguson2/testing-procedure.html
index 12a4c2750..8f41ec8d6 100644
--- a/2020/ferguson2/testing-procedure.html
+++ b/2020/ferguson2/testing-procedure.html
@@ -413,7 +413,7 @@
@@ -587,7 +587,7 @@ output:
diff --git a/2020/giles/index.html b/2020/giles/index.html
index 4802842c7..a31bb7017 100644
--- a/2020/giles/index.html
+++ b/2020/giles/index.html
@@ -416,10 +416,10 @@
← 2020/ferguson2
↑ 2020 ↑
2020/kurdyukov1 →
- C code
- Makefile
+ C code
+ Makefile
Inventory
- ✓
+ ✓
@@ -467,7 +467,7 @@ will be converted to the DTMF sound!
# See
./prog 867-5309 > jenny.wav
-If the script try.sh did not play a WAV file, it means you do not have +
If the script try.sh did not play a WAV file, it means you do not have SoX installed; see the FAQ on “using entries that require sound”. In this case install it and try it again or @@ -591,20 +591,20 @@ single pure sine wave.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
There are a number of alternate versions for this program, some in C and some in assembly.
-The file prog.alt.c is smaller and does not contain any +
The file prog.alt.c is smaller and does not contain any headers or any workaround for WIN32 based platforms.
-The file prog.extra.c has a number of layouts including some for +
The file prog.extra.c has a number of layouts including some for different social media profile covers as well as different shapes.
-The files prog.x86_64.asm and prog.x86.asm +
The files prog.x86_64.asm and prog.x86.asm are the program in assembly for x86_64 linux and x86 linux respectively.
To build prog.alt.c:
+To build prog.alt.c:
make alt
Use prog.alt as you would prog above.
prog.extra.c is the same with the sine function (so smaller), +
prog.extra.c is the same with the sine function (so smaller), and in different shapes.
prog.x86_64.asm contains the same program, but written in +
prog.x86_64.asm contains the same program, but written in assembly for x86_64 Linux, for the sake of smaller executable size which is 500 bytes long (where 120 is for the ELF headers) after compilation. Algorithm details is slightly different (like constants packing), just to make smaller @@ -514,7 +514,7 @@ binary code. It’s interesting to compare density of binary code and obfuscated
You can use this command to make a GIF from output images (uses ImageMagick). For instance after running the command suggested by the judges:
convert -delay 10 -dither none -loop 0 $(find . -maxdepth 1 -type f -name '*jpg' | sort -V) $(find . -maxdepth 1 -type f -name '*jpg' | sort -rV) +map out.gif
-NOTE: the above is done in the try.sh script.
+NOTE: the above is done in the try.sh script.
Also provided makegif.sh to aid with GIF creation.
./try.sh
The alternate version, prog.alt.c, has the main code as a macro.
+The alternate version, prog.alt.c, has the main code as a macro.
make alt
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
– Author
We were able to write our own program performing the same trick using +
We were able to write our own program performing the same trick using
the (still non-standard, for some reason) library function memmem(), but that
way it works too fast regardless of the context length, and it’s much less fun.
The author wrote in reply:
@@ -565,21 +565,21 @@ the output of this size in bytes exists somewhere in the dictionary.
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
- Nu HTML check this web page
+ Nu HTML check this web page
Jump to top Jump to Content Jump to Inventory
./prog [PIN] < input.txt > output.c
./try.sh
-The author provided the file cppp.cc which can preprocess the +
The author provided the file cppp.cc which can preprocess the generated output to make them more acceptable to typical compilers. To build:
make cppp
See the author’s remarks for more details.
@@ -533,7 +533,7 @@ for large files. gcc 9.2.0 and above may crash with large files.For people eager to encode large files, an extra utility has been packaged with this entry to preprocess the generated output to make them more -acceptable to typical compilers. View the cppp.cc source and +acceptable to typical compilers. View the cppp.cc source and then compile it with a c++ compiler of your choice.
@@ -593,7 +593,7 @@ https://www.contributor-covenant.org/translations. diff --git a/README.html b/README.html index 95bbef39d..9242c81b8 100644 --- a/README.html +++ b/README.html @@ -412,7 +412,7 @@ @@ -643,7 +643,7 @@ See also the IOCCC FAQ for additional information on the diff --git a/SECURITY.html b/SECURITY.html index 6afa36b0b..78fde5641 100644 --- a/SECURITY.html +++ b/SECURITY.html @@ -412,7 +412,7 @@ @@ -519,7 +519,7 @@ THIS SOFTWARE. diff --git a/about.html b/about.html index 72e449e9c..ee58d0014 100644 --- a/about.html +++ b/about.html @@ -412,7 +412,7 @@ @@ -526,7 +526,7 @@ and inexplicable. diff --git a/archive/historic/index.html b/archive/historic/index.html index 193b35f09..5f0c34d24 100644 --- a/archive/historic/index.html +++ b/archive/historic/index.html @@ -412,7 +412,7 @@ @@ -574,7 +574,7 @@ bzip2 compressed tarball files: diff --git a/author/index.html b/author/index.html index 19369af2b..cf605b90e 100644 --- a/author/index.html +++ b/author/index.html @@ -412,7 +412,7 @@ @@ -515,7 +515,7 @@ for how to find anauthor_handle.
diff --git a/authors.html b/authors.html
index 0d2c1da48..3d7a96662 100644
--- a/authors.html
+++ b/authors.html
@@ -412,7 +412,7 @@
@@ -469,7 +469,7 @@ Jump to authors sorted by: [
Location: CZ - Czechia
The md2html.sh tool is the primary tool that -is used to form all IOCCC related HTML pages for the official IOCCC web -site.
+is used to form all IOCCC related HTML pages for the +official IOCCC website.Nearly all IOCCC related HTML pages are built from markdown files, from either permanent markdown files or temporary generated markdown files, as well as HTML fragments from the inc directory.
@@ -1252,7 +1251,7 @@ So for example, if an “output tool” wishes to convey: navbar=top-of-siteThe command line options printed by an “output tool” are processed after all command line options, and all options from a matching -line from the md2html.cfg file, and before any filename arguments +line from the md2html.cfg file, and before any filename arguments on the command line.
For example:
command [command_options ..] [cfg_options ..] [output_tool_options ..] [--] [filename_arg ..]
@@ -1277,35 +1276,33 @@ some -s token=value) in all HTML output, except during phase number
output), or the command will exit non-zero, unless -S is given. If -S is
given, only a warning about non-substituted tokens will be written to stderr.
The command line of tools in the bin directory, and perhaps -modified via the md2html config file may change to using a +modified via the md2html config file may change to using a different filename for a given phase.
For example when forming the HTML from
-2020/ferguson1/chocolate-cake.md,
+2020/ferguson1/chocolate-cake.md,
a different navbar navigation bar is needed. So instead of the
usual top navigation bar that normally directs people to the previous
entry for the year, or go up to the year page, or to the next entry
for the year, a top navigation bar to just go up to the entry’s
-main page is needed. A line in the md2html config file
+main page is needed. A line in the md2html config file
that refers to
-2020/ferguson1/chocolate-cake.md may
+2020/ferguson1/chocolate-cake.md may
specify use of navbar.up2index.html (as navbar.up2index)instead of using the
navbar.default.html (navbar.default.html) default.
The HTML phase may be skipped resulting in no HTML output during a given phase and furthermore, forming no HTML content from a given markdown file altogether.
-See comments in the md2html config file for details. +
See comments in the md2html config file for details. See also, the tool readme2index.sh for an example of how such command lines are used.
inc/ filesSome of the files under this directory are used to form MOST of the HTML content on the official IOCCC website.
-These files are used to form MOST of the HTML content -on the experimental website.
… and in particular files under inc that are of the form (called default HTML files) …:
*.default.html
… contain default content used to form IOCCC HTML / IOCCC web pages.
Instead of editing the default HTML files in order to fix a special web page, -consider making a copy of the default file and modifying the md2html config +consider making a copy of the default file and modifying the md2html config file to refer to the copy instead. That way your special case situation will not impact MOST of the HTML content.
Here are some reasons why we are using these files and special tools to create HTML content / IOCCC web pages:
-We host official IOCCC website via GitHub
-pages. As of the time this file written, only
+ We host the official IOCCC website via
+GitHub pages. As of the time this file written, only
static web pages are supported. We use static web pages, so use of “server side include” is not
@@ -1375,15 +1372,16 @@ contexts.We cannot use server side include
The IOCCC will NOT MANDATE USE OF JavaScript to view official IOCCC web -site (except for some mobile devices for the menu).
+The IOCCC will NOT MANDATE USE OF JavaScript to view +official IOCCC website +(except for some mobile devices for the menu).
For this reason, we cannot use JavaScript to include HTML content.
The following IOCCC terms apply to tools, JSON files, and the directory -structure of this repo that forms the Official IOCCC -website.
+structure of this repo that forms the +official IOCCC website.authorAn individual who was won at least one winning IOCCC entry.
Some authors have submitted more than one IOCCC entry that won. Some winning @@ -1454,7 +1452,7 @@ the top level directory.
Each year directory will have a file under it named .year.
The content of each .year file is the year string of that year’s winning
-entries’ (directory names). For instance, 2020/.year
+entries’ (directory names). For instance, 2020/.year
lists, one directory per line, the directories of the winning entries of
2020. For instance, for 2020:
$ cat 2020/.year
@@ -1635,7 +1633,7 @@ to cause problems.
diff --git a/bin/jfmt-wrapper.sh b/bin/jfmt-wrapper.sh
index c7ca7d491..72647bfbf 100755
--- a/bin/jfmt-wrapper.sh
+++ b/bin/jfmt-wrapper.sh
@@ -126,7 +126,7 @@ if [[ $status -eq 0 ]]; then
TOPDIR=$("$GIT_TOOL" rev-parse --show-toplevel)
fi
export TOPDIR
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
diff --git a/bin/jprint-wrapper.sh b/bin/jprint-wrapper.sh
index b4a5b42de..d13edc6f7 100755
--- a/bin/jprint-wrapper.sh
+++ b/bin/jprint-wrapper.sh
@@ -127,7 +127,7 @@ if [[ $status -eq 0 ]]; then
fi
export TOPDIR
#
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
diff --git a/bin/jval-wrapper.sh b/bin/jval-wrapper.sh
index 75deba9f2..7be319ee9 100755
--- a/bin/jval-wrapper.sh
+++ b/bin/jval-wrapper.sh
@@ -111,7 +111,7 @@ if [[ $status -eq 0 ]]; then
fi
export TOPDIR
#
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
diff --git a/bin/md2html.sh b/bin/md2html.sh
index 02ec16d8d..b36fdcc16 100755
--- a/bin/md2html.sh
+++ b/bin/md2html.sh
@@ -181,10 +181,10 @@ if [[ -z "$PERL_TOOL" ]]; then
fi
export TOPDIR
export DOCROOT_SLASH="./"
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
-export SITE_URL="https://ioccc-src.github.io/temp-test-ioccc"
+export SITE_URL="https://www.ioccc.org"
export URL="#"
diff --git a/bin/new-dir.sh b/bin/new-dir.sh
index 629615459..8e80e4970 100755
--- a/bin/new-dir.sh
+++ b/bin/new-dir.sh
@@ -105,7 +105,7 @@ if [[ $status -eq 0 ]]; then
TOPDIR=$("$GIT_TOOL" rev-parse --show-toplevel)
fi
export TOPDIR
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
#
diff --git a/bin/new-year.sh b/bin/new-year.sh
index b0d9e21ac..da8010199 100755
--- a/bin/new-year.sh
+++ b/bin/new-year.sh
@@ -111,7 +111,7 @@ if [[ -z $NUMBER_TOOL ]]; then
exit 5
fi
export TOPDIR
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
export TEMPLATE="template"
diff --git a/bin/othermd2html.sh b/bin/othermd2html.sh
index 8310605ac..b910d7dbf 100755
--- a/bin/othermd2html.sh
+++ b/bin/othermd2html.sh
@@ -107,10 +107,10 @@ fi
export TOPDIR
export DOCROOT_SLASH="../../"
export TAGLINE="bin/$NAME"
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
-export SITE_URL="https://ioccc-src.github.io/temp-test-ioccc"
+export SITE_URL="https://www.ioccc.org"
#
export NOOP=
export DO_NOT_PROCESS=
diff --git a/bin/output-index-author.sh b/bin/output-index-author.sh
index 2ab4f4153..8e9a4696b 100755
--- a/bin/output-index-author.sh
+++ b/bin/output-index-author.sh
@@ -154,10 +154,10 @@ if ! "$VERGE" "$JSTRDECODE_VERSION" "$MIN_JSTRDECODE_VERSION"; then
fi
#
export DOCROOT_SLASH="../../"
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
-export SITE_URL="https://ioccc-src.github.io/temp-test-ioccc"
+export SITE_URL="https://www.ioccc.org"
export URL="#"
diff --git a/bin/output-index-inventory.sh b/bin/output-index-inventory.sh
index d313c3fc6..cb3888655 100755
--- a/bin/output-index-inventory.sh
+++ b/bin/output-index-inventory.sh
@@ -133,10 +133,10 @@ if [[ $status -eq 0 ]]; then
fi
export TOPDIR
export DOCROOT_SLASH="../../"
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
-export SITE_URL="https://ioccc-src.github.io/temp-test-ioccc"
+export SITE_URL="https://www.ioccc.org"
export URL="#"
diff --git a/bin/output-year-index.sh b/bin/output-year-index.sh
index a013e1fcf..6862193a7 100755
--- a/bin/output-year-index.sh
+++ b/bin/output-year-index.sh
@@ -173,10 +173,10 @@ if ! "$VERGE" "$JSTRDECODE_VERSION" "$MIN_JSTRDECODE_VERSION"; then
fi
#
export DOCROOT_SLASH="../../"
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
-export SITE_URL="https://ioccc-src.github.io/temp-test-ioccc"
+export SITE_URL="https://www.ioccc.org"
# set usage message
diff --git a/bin/pandoc-wrapper.sh b/bin/pandoc-wrapper.sh
index c02bdd269..adf2d8c77 100755
--- a/bin/pandoc-wrapper.sh
+++ b/bin/pandoc-wrapper.sh
@@ -139,7 +139,7 @@ PANDOC_OPTION+=("html5")
PANDOC_OPTION+=("--wrap=preserve")
PANDOC_OPTION+=("--fail-if-warnings")
PANDOC_OPTION+=("--tab-stop=8")
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
diff --git a/bin/quick-readme2index.sh b/bin/quick-readme2index.sh
index e20880527..5af582ddb 100755
--- a/bin/quick-readme2index.sh
+++ b/bin/quick-readme2index.sh
@@ -121,10 +121,10 @@ export DOCROOT_SLASH="../../"
# instead of the slightly-slower "bin/readme2index.sh" tool.
#
export TAGLINE="bin/readme2index.sh"
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
-export SITE_URL="https://ioccc-src.github.io/temp-test-ioccc"
+export SITE_URL="https://www.ioccc.org"
#
export NOOP=
export DO_NOT_PROCESS=
diff --git a/bin/readme2index.sh b/bin/readme2index.sh
index 9a450c7a5..608d1408c 100755
--- a/bin/readme2index.sh
+++ b/bin/readme2index.sh
@@ -107,10 +107,10 @@ fi
export TOPDIR
export DOCROOT_SLASH="../../"
export TAGLINE="bin/$NAME"
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
-export SITE_URL="https://ioccc-src.github.io/temp-test-ioccc"
+export SITE_URL="https://www.ioccc.org"
#
export NOOP=
export DO_NOT_PROCESS=
diff --git a/bin/sort.gitignore.sh b/bin/sort.gitignore.sh
index 0cd143999..dcc075009 100755
--- a/bin/sort.gitignore.sh
+++ b/bin/sort.gitignore.sh
@@ -117,10 +117,10 @@ if [[ $status -eq 0 ]]; then
TOPDIR=$("$GIT_TOOL" rev-parse --show-toplevel)
fi
export TOPDIR
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
-export TOP_URL="https://ioccc-src.github.io/temp-test-ioccc"
+export TOP_URL="https://www.ioccc.org"
# set usage message
diff --git a/bin/status2html.sh b/bin/status2html.sh
index 01a9eac69..54ad21f7a 100755
--- a/bin/status2html.sh
+++ b/bin/status2html.sh
@@ -131,10 +131,10 @@ if [[ $status -eq 0 ]]; then
fi
export TOPDIR
export DOCROOT_SLASH="./"
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
-export SITE_URL="https://ioccc-src.github.io/temp-test-ioccc"
+export SITE_URL="https://www.ioccc.org"
export URL="#"
@@ -484,7 +484,7 @@ esac
echo "The IOCCC status is an unexpected status value: $CONTEST_STATUS"
echo
echo "This is a **BUG**, not a feature. Feel free to report it!" 1>&2
- echo "See the [GitHub issues page](https://github.com/ioccc-src/temp-test-ioccc/issues/new/choose)." 1>&2
+ echo "See the [GitHub issues page](https://github.com/ioccc-src/winner/issues/new/choose)." 1>&2
;;
esac
echo
diff --git a/bin/subst.default.sh b/bin/subst.default.sh
index 0de81b3e9..5ea103fab 100755
--- a/bin/subst.default.sh
+++ b/bin/subst.default.sh
@@ -112,10 +112,10 @@ if [[ $status -eq 0 ]]; then
fi
export TOPDIR
export DOCROOT_SLASH="../../"
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
-export SITE_URL="https://ioccc-src.github.io/temp-test-ioccc"
+export SITE_URL="https://www.ioccc.org"
export URL="#"
diff --git a/bin/subst.entry-index.sh b/bin/subst.entry-index.sh
index 29d3de3ec..ea4848f98 100755
--- a/bin/subst.entry-index.sh
+++ b/bin/subst.entry-index.sh
@@ -168,10 +168,10 @@ if ! "$VERGE" "$JSTRDECODE_VERSION" "$MIN_JSTRDECODE_VERSION"; then
fi
#
export DOCROOT_SLASH="../../"
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
-export SITE_URL="https://ioccc-src.github.io/temp-test-ioccc"
+export SITE_URL="https://www.ioccc.org"
# set usage message
diff --git a/bin/subst.year-index.sh b/bin/subst.year-index.sh
index 2ab0d2eb2..750d15431 100755
--- a/bin/subst.year-index.sh
+++ b/bin/subst.year-index.sh
@@ -123,10 +123,10 @@ if [[ $status -eq 0 ]]; then
fi
export TOPDIR
export DOCROOT_SLASH="../../"
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
-export SITE_URL="https://ioccc-src.github.io/temp-test-ioccc"
+export SITE_URL="https://www.ioccc.org"
# set usage message
diff --git a/bin/tar-entry.sh b/bin/tar-entry.sh
index 993bd421a..004b7e9d1 100755
--- a/bin/tar-entry.sh
+++ b/bin/tar-entry.sh
@@ -102,7 +102,7 @@ if [[ $status -eq 0 ]]; then
TOPDIR=$("$GIT_TOOL" rev-parse --show-toplevel)
fi
export TOPDIR
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
export CAP_W_FLAG_FOUND=
diff --git a/bin/tar-year.sh b/bin/tar-year.sh
index 43af0cee4..a84db7bda 100755
--- a/bin/tar-year.sh
+++ b/bin/tar-year.sh
@@ -102,7 +102,7 @@ if [[ $status -eq 0 ]]; then
TOPDIR=$("$GIT_TOOL" rev-parse --show-toplevel)
fi
export TOPDIR
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
export CAP_W_FLAG_FOUND=
diff --git a/bin/untar-entry.sh b/bin/untar-entry.sh
index ff292c207..9418ff61a 100755
--- a/bin/untar-entry.sh
+++ b/bin/untar-entry.sh
@@ -102,7 +102,7 @@ if [[ $status -eq 0 ]]; then
TOPDIR=$("$GIT_TOOL" rev-parse --show-toplevel)
fi
export TOPDIR
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
export CAP_W_FLAG_FOUND=
diff --git a/bin/untar-year.sh b/bin/untar-year.sh
index 48c7e9733..ccaf3c114 100755
--- a/bin/untar-year.sh
+++ b/bin/untar-year.sh
@@ -101,7 +101,7 @@ if [[ $status -eq 0 ]]; then
TOPDIR=$("$GIT_TOOL" rev-parse --show-toplevel)
fi
export TOPDIR
-export REPO_TOP_URL="https://github.com/ioccc-src/temp-test-ioccc"
+export REPO_TOP_URL="https://github.com/ioccc-src/winner"
# GitHub puts individual files under the "blob/master" sub-directory.
export REPO_URL="$REPO_TOP_URL/blob/master"
export CAP_W_FLAG_FOUND=
diff --git a/bugs.html b/bugs.html
index 3cb043f2e..032377701 100644
--- a/bugs.html
+++ b/bugs.html
@@ -412,7 +412,7 @@
@@ -522,17 +522,17 @@ sizes on different platforms. These tend to be required at the risk that
sometimes the entry will not work for certain platforms, some of which might or
might not be fixable; a good example where it was required to change and is okay
is the fix of the segfault in macOS of
-1989/paul: changing the int * to a long *
+1989/paul: changing the int * to a long *
was required and it works just as well with linux.
But even if they are fixable (which will likely be hard to do) it’s almost
certain that such code would be just as non-portable (importable ? :-) ).
In rare cases they are valid. For instance in linux the following
-warning in 1985/applin with gcc:
+warning in 1985/applin with gcc:
applin.c:1:78: warning: incompatible implicit declaration of built-in function 'execlp' [-Wbuiltin-declaration-mismatch]
1 | main(v,c)char**c;{for(v[c++]=strdup("Hello, world!\n");(!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c]+!!c,!c));**c=!c)write(!!*c,*c,!!**c);}
| ^~~~~~
and this is is kind of like the fix to
-1984/anonymous. In the case of 1984/anonymous it
+1984/anonymous. In the case of 1984/anonymous it
was a bit more involved but with 1985/applin one need only add to the Makefile
-include unistd.h. So there are some cases where fixing warnings can fix a
problem but in general they should be ignored even if they’re annoying.
@@ -602,7 +602,7 @@ something else?). Please help us to fix it!
STATUS: doesn’t work with some compilers
Please provide alternative code or fix for more compilers!
Some entries do not work with some compilers. A good example is
-1992/lush which uses error messages from the compiler to
+1992/lush which uses error messages from the compiler to
generate its output.
If you can provide code that works for multiple compilers without too much
tampering this is okay though it’s probably not possible with the above
@@ -613,7 +613,7 @@ here as best you can manage.
STATUS: main() function args not allowed
Please help us fix the main() function!
NOTE: it appears that most if not all of these have been fixed except perhaps
-for 1989/westley but this has probably been fixed as
+for 1989/westley but this has probably been fixed as
much as possible given the nature of how it generates code: the entry itself
compiles but two versions of code it generates does not work with clang.
However some still might have problems of some kind or another and some might
@@ -636,7 +636,7 @@ clang exist but the gcc is clang which you’ll see if you run gcc --versi
A tip and some fix methods: in the older days args to main()
not given a type were implicit ints but when they’re required to be char **
this can cause a problem. In some cases it was possible to use a char * inside
-main() (see 1989/tromp/tromp.c and
+main() (see 1989/tromp/tromp.c and
1986/holloway/holloway.c for two examples though
done slightly differently). In other cases it was possible to dereference the
pointers to be used like an int and other times a cast was necessary. There are
@@ -674,7 +674,7 @@ warnings during at least one of compiling, linking and execution. In macOS it’
most annoying as it happens during execution (also compilation) with the warning
being interspersed with the output of the program, often causing confusing
output with the entry. A good example that was fixed is
-1990/tbr.
+1990/tbr.
Some important notes on this status with respect to fixing / changing the
entries:
@@ -736,7 +736,7 @@ the entry. Nonetheless they are noteworthy.
something was noted by the author, the judges, a consequence of earlier
requirements for winning entries or the purpose was to do something that might
appear to be buggy. An example of system specific entries:
-1984/mullender (see below for a
+
1984/mullender (see below for a
version that works in modern systems) is very system specific and was before
system specific winning entries were discouraged. This is an all time personal
favourite of Landon Curt Noll. Run the alternate code to understand why this
@@ -771,7 +771,7 @@ own fix or suggest that they’re fixed!
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1984/decot/decot.c
+Source code: 1984/decot/decot.c
Information: 1984/decot/index.html
The purpose of this program is to print out what looks like a fragment of C
code. In particular you should see something like:
@@ -785,7 +785,7 @@ code. In particular you should see something like:
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1984/laman/laman.c
+Source code: 1984/laman/laman.c
Information: 1984/laman/index.html
This program will very likely crash or do something funny without an arg.
Jump to: top
@@ -794,14 +794,14 @@ code. In particular you should see something like:
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1984/mullender/mullender.c
+Source code: 1984/mullender/mullender.c
Information: 1984/mullender/index.html
Although there is an alt version and supplementary program added, that
will work in modern systems, if you do not have a
VAX-11 or
PDP-11 to run the original entry on it
will not work. See the index.html for details on the alternate versions.
-The file gentab.c which is from the
+
The file gentab.c which is from the
author’s (or one of them, Mullender) remarks, was fixed for modern systems, at
least as best as can be determined: running the code on the binary itself does
produce a short[] that can compile in modern systems but it will not work.
@@ -826,7 +826,7 @@ it might still fail.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1986/august/august.c
+Source code: 1986/august/august.c
Information: 1986/august/index.html
This entry is known to segfault after printing its output. It was documented by
the judges and shouldn’t be fixed.
@@ -849,7 +849,7 @@ the judges and shouldn’t be fixed.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1988/dale/dale.c
+Source code: 1988/dale/dale.c
Information: 1988/dale/index.html
In linux it might happen that despite no error message or message about doing
so, the program drops a core file into the directory even though the entry works
@@ -866,7 +866,7 @@ and does not crash.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1989/fubar/fubar.c
+Source code: 1989/fubar/fubar.c
Information: 1989/fubar/index.html
If you use either fubar or ouroboros.c (it’s executable, see index.html for
details) with a number < 0 or larger than, say 20, it’s very likely that the
@@ -878,7 +878,7 @@ with syntax errors. As this was documented it is not a bug to be fixed.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1989/robison/robison.c
+Source code: 1989/robison/robison.c
Information: 1989/robison/index.html
This program will very likely crash or break into tiny bits :-) if you feed it
numbers with non-binary digits.
@@ -890,7 +890,7 @@ operators like /. To see what operators are supported check the sou
Jump to: top
STATUS: known bug - please help us fix
-Source code: 1989/westley/westley.c
+Source code: 1989/westley/westley.c
Information: 1989/westley/index.html
With version 2 it sometimes segfaults even with the same input where other times
it does not. We don’t believe this is because of the fix that lets some versions
@@ -990,7 +990,7 @@ clang but on another system and it had syntax errors.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1990/baruch/baruch.c
+Source code: 1990/baruch/baruch.c
Information: 1990/baruch/index.html
A point worth considering is that as the number passed into the program gets
bigger the number of lines of output gets substantially larger and it takes much
@@ -1057,7 +1057,7 @@ more time and resources to run as well. For instance:
Jump to: top
STATUS: known bug - please help us fix
-Source code: 1990/jaw/jaw.c
+Source code: 1990/jaw/jaw.c
Information: 1990/jaw/index.html
Some issues in this program were fixed and Yusuke
Endoh then provided the btoa script but it appears
@@ -1084,7 +1084,7 @@ sentence.
perror(3) - this fixed something else though it’s no longer known what except
that in macOS if errno is 0 it reports what looks like an error, rather than
success in, say, linux).
-The script shark.sh has some issues too in that due to
+
The script shark.sh has some issues too in that due to
path not having . (this and maybe some other things were fixed) and tar not
wanting to accept reading from stdin (this in particular) even with the right
options used, seemingly, it has to write to disk the tarball which seems to
@@ -1095,7 +1095,7 @@ defeat the purpose. This would ideally be fixed.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1990/tbr/tbr.c
+Source code: 1990/tbr/tbr.c
Information: 1990/tbr/index.html
The authors provided a list of features in the
BUGS section in their remarks.
@@ -1105,7 +1105,7 @@ defeat the purpose. This would ideally be fixed.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1990/theorem/theorem.c
+Source code: 1990/theorem/theorem.c
Information: 1990/theorem/index.html
Many bugs that prevented this from working properly (including segfaults) were
fixed but one thing to note is that if you pass two zeroes to theorem_bkp or
@@ -1118,7 +1118,7 @@ be fixed.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1990/westley/westley.c
+Source code: 1990/westley/westley.c
Information: 1990/westley/index.html
Although this was fixed to not enter an infinite loop if the arg (converted to
a number) is < 0 the lack of an arg check at all was kept in to make it like the
@@ -1138,7 +1138,7 @@ flooded).
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1991/buzzard/buzzard.c
+Source code: 1991/buzzard/buzzard.c
Information: 1991/buzzard/index.html
If the maze file cannot be opened, either because the path specified does not
exist or because the default (whatever the source file was at compilation time)
@@ -1150,7 +1150,7 @@ file does not exist in the directory, this program will very likely crash.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1991/westley/westley.c
+Source code: 1991/westley/westley.c
Information: 1991/westley/index.html
There is a very simple way to always win. The program doesn’t catch you and as
someone called Cody’s late grandmother said to him: ‘it’s not cheating unless
@@ -1170,7 +1170,7 @@ when you’re cheating it ends up winning! Can you figure that out as well?
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1992/adrian/adrian.c
+Source code: 1992/adrian/adrian.c
Information: 1992/adrian/index.html
The author stated that if the file cannot be opened then it will print a system
error but this is not the case unless it’s showing a fault. This was fixed as
@@ -1194,7 +1194,7 @@ have to remove the outer () pair.
Jump to: top
STATUS: known bug - please help us fix
-Source code: 1992/albert/albert.c
+Source code: 1992/albert/albert.c
Information: 1992/albert/index.html
Leo Broukhis, before he was an IOCCC judge, sent the IOCCC judges an email:
@@ -1238,7 +1238,7 @@ entry itself. Can you fix the actual entry? You are welcome to try and do so.
Jump to: top
STATUS: uses gets() - change to fgets() if possible
-Source code: 1992/gson/gson.c
+Source code: 1992/gson/gson.c
Information: 1992/gson/index.html
This code uses gets(3) on a buffer size of 256 to read from the dictionary. It
is highly unlikely that a line in a dictionary file will be this long but it
@@ -1270,7 +1270,7 @@ debate.
Jump to: top
STATUS: known bug - please help us fix
-Source code: 1992/kivinen/kivinen.c
+Source code: 1992/kivinen/kivinen.c
Information: 1992/kivinen/index.html
When you start the program everything starts to move over to the right side and
then ends. Yusuke Endoh pointed out that if you
@@ -1281,7 +1281,7 @@ click the mouse it takes it back towards the centre.
Jump to: top
STATUS: doesn’t work with some compilers - please provide alternative code or fix for more compilers
-Source code: 1992/lush/lush.c
+Source code: 1992/lush/lush.c
Information: 1992/lush/index.html
This was fixed but it only properly works with gcc; it was also changed to use
fgets() instead of gets() and a script was provided to run the entry
@@ -1347,7 +1347,7 @@ than that. For instance this is what it looks like with clang:
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1992/vern/vern.c
+Source code: 1992/vern/vern.c
Information: 1992/vern/index.html
When your own checkmate is imminent it prints "Har har" but does not exit so
it can ‘rub your nose in defeat’, as the author puts it. You will have to exit
@@ -1358,7 +1358,7 @@ it yourself through ctrl-c or killing it in some other fashion.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1992/westley/westley.c
+Source code: 1992/westley/westley.c
Information: 1992/westley/index.html
The usability of this program was improved by making it so that as long as the
terminal columns is >= 80 it will display properly, rather than having to wrap
@@ -1378,7 +1378,7 @@ terminal try:
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1993/ant/ant.c
+Source code: 1993/ant/ant.c
Information: 1993/ant/index.html
The author stated that:
@@ -1393,7 +1393,7 @@ generate a “Pattern too long” error, which is not the real error.
Jump to: top
STATUS: known bug - please help us fix
-Source code: 1993/cmills/cmills.c
+Source code: 1993/cmills/cmills.c
Information: 1993/cmills/index.html
In multiple platforms, both macOS and also linux (in particular a RHEL 9.3
system), this entry just shows a blank screen.
@@ -1403,7 +1403,7 @@ system), this entry just shows a blank screen.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1993/lmfjyh/lmfjyh.c
+Source code: 1993/lmfjyh/lmfjyh.c
Information: 1993/lmfjyh/index.html
This entry relied on a bug in gcc that was fixed with gcc version 2.3.3. This
cannot be fixed for modern systems as the bug is long gone.
@@ -1415,7 +1415,7 @@ the index.html file for details.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1993/rince/rince.c
+Source code: 1993/rince/rince.c
Information: 1993/rince/index.html
Although the code checks if the file can be opened or not, badly formatted files
will cause problems. No other checks are performed either.
@@ -1427,7 +1427,7 @@ through ctrl-c or such.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1993/schnitzi/schnitzi.c
+Source code: 1993/schnitzi/schnitzi.c
Information: 1993/schnitzi/index.html
If the file cannot be opened it will very likely segfault. This should not be
fixed except for an exercise to yourself, should you wish to try.
@@ -1458,7 +1458,7 @@ question you might cause an error. For instance don’t do this:
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1993/vanb/vanb.c
+Source code: 1993/vanb/vanb.c
Information: 1993/vanb/index.html
No spaces are allowed in the expression.
The program does no error checking so erroneous expressions will produce
@@ -1477,7 +1477,7 @@ not d-46.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1994/dodsond2/dodsond2.c
+Source code: 1994/dodsond2/dodsond2.c
Information: 1994/dodsond2/index.html
When you initiate shooting via the s command you immediately lose an arrow
before you choose where to shoot.
@@ -1490,7 +1490,7 @@ there.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1994/ldb/ldb.c
+Source code: 1994/ldb/ldb.c
Information: 1994/ldb/index.html
This was fixed to compile with modern systems but the entry also used gets(3)
which in some systems would print out a warning along with the output of the
@@ -1512,7 +1512,7 @@ for more information on the change to fgets(3).
Jump to: top
STATUS: uses gets() - change to fgets() if possible
-Source code: 1994/schnitzi/schnitzi.c
+Source code: 1994/schnitzi/schnitzi.c
Information: 1994/schnitzi/index.html
NOTE: the generated code of all versions, when fed its own source, will differ
even when it works. See the author’s remarks in the index.html for details.
@@ -1600,7 +1600,7 @@ compiled!
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1994/shapiro/shapiro.c
+Source code: 1994/shapiro/shapiro.c
Information: 1994/shapiro/index.html
This program will likely crash if the source code file (by the name of the file
that’s compiled) cannot be opened in the directory it is run from.
@@ -1625,7 +1625,7 @@ if it checked for != EOF.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1994/tvr/tvr.c
+Source code: 1994/tvr/tvr.c
Information: 1994/tvr/index.html
The judges said the following in their remarks:
@@ -1648,7 +1648,7 @@ as documented, are considered features.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1995/cdua/cdua.c
+Source code: 1995/cdua/cdua.c
Information: 1995/cdua/index.html
This did not originally compile under macOS and after it did compile under
macOS, it crashed. These problems were fixed.
@@ -1663,7 +1663,7 @@ it calls getchar() via the pointer m. So this is a fea
Jump to: top
STATUS: known bug - please help us fix
-Source code: 1995/leo/leo.c
+Source code: 1995/leo/leo.c
Information: 1995/leo/index.html
The judges suggested that the following commands should result in output:
./leo 1 | cat - /dev/tty | gs -
@@ -1683,7 +1683,7 @@ it would be good if it was fixed.
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1995/savastio/savastio.c
+Source code: 1995/savastio/savastio.c
Information: 1995/savastio/index.html
This program expects a POSITIVE number. If you specify a negative number it will
not show any output, stuck in a loop.
@@ -1693,7 +1693,7 @@ not show any output, stuck in a loop.
Jump to: top
STATUS: missing file - please provide it
-Source code: 1995/vanschnitz/vanschnitz.c
+Source code: 1995/vanschnitz/vanschnitz.c
Information: 1995/vanschnitz/index.html
The authors stated that they included a version that allows people with just K&R
compilers to use the program but this file is missing. Can you provide it?
@@ -1709,7 +1709,7 @@ compilers to use the program but this file is missing. Can you provide it?
Jump to: top
STATUS: missing or dead link or links - please provide it or them
-Source code: 1996/gandalf/gandalf.c
+Source code: 1996/gandalf/gandalf.c
Information: 1996/gandalf/index.html
The link was http://www.tc3.co.uk/~gandalf/G.HTML but this no longer exists as
it was instead requiring a login / password.
@@ -1720,11 +1720,11 @@ it was instead requiring a login / password.
Jump to: top
STATUS: uses gets() - change to fgets() if possible
-Source code: 1996/huffman/huffman.c
+Source code: 1996/huffman/huffman.c
Information: 1996/huffman/index.html
The changing to using fgets(3) in this entry is a bit more complicated. It can
almost be done except that some of the output of the
-try.sh is wrong, especially the last one.
+try.sh is wrong, especially the last one.
This diff almost does it but not quite:
diff --git i/1996/huffman/huffman.c w/1996/huffman/huffman.c
index a5745bc7f4fa28b834c004f4cf19633e40ad9165..5e5e5334f33f9dbd95c70eddece3189d9bcff5e9 100644
@@ -1756,7 +1756,7 @@ almost be done except that some of the output of the
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1996/jonth/jonth.c
+Source code: 1996/jonth/jonth.c
Information: 1996/jonth/index.html
If X is not running this program will very likely crash or do something funny.
This should NOT be fixed.
@@ -1786,7 +1786,7 @@ We greatly appreciate your help here!
Jump to: top
STATUS: INABIAF - please DO NOT fix
-Source code: 1998/chaos/chaos.c
+Source code: 1998/chaos/chaos.c
Information: 1998/chaos/index.html
The author stated the following:
@@ -1816,7 +1816,7 @@ through objects. You’ll be happier.
Jump to: