diff --git a/1984/Makefile b/1984/Makefile
index cc0f0ecd9..e525172d7 100644
--- a/1984/Makefile
+++ b/1984/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1984/README.md b/1984/README.md
index d8fde3440..9696945d3 100644
--- a/1984/README.md
+++ b/1984/README.md
@@ -1,9 +1,9 @@
# First annual Obfuscated C Code Contest
-In [1984](/years.html#1984), the first contest was held. The name of the
+In [1984](../years.html#1984), the first contest was held. The name of the
contest was simply "`First annual Obfuscated C Code Contest`".
-Look at the `README.md`file for the given winning entry for information on how
+View the `index.html` web page for the given winning entry for information on how
to compile it and how to run the winning program. Look at the winning
source and try to figure how it does what it does! This year we only had
remarks from two authors but which came years later.
@@ -18,9 +18,9 @@ post](https://groups.google.com/g/net.lang.c/c/lx-TAuEyeRI/m/HdOOnNx6LC0J).
## Final Comments
-**IMPORTANT NOTE**: See [contact.html](/contact.html) for up to date contact details
+**IMPORTANT NOTE**: See [contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -28,5 +28,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (c) 1984,2023, Landon Curt Noll. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/1984/anonymous/.entry.json b/1984/anonymous/.entry.json
index 206c65275..b11ca1f78 100644
--- a/1984/anonymous/.entry.json
+++ b/1984/anonymous/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "1984_anonymous.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1984/anonymous/.gitignore b/1984/anonymous/.gitignore
index 52d14c82c..b918b4f8e 100644
--- a/1984/anonymous/.gitignore
+++ b/1984/anonymous/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
anonymous
anonymous.alt
diff --git a/1984/anonymous/Makefile b/1984/anonymous/Makefile
index 133e4623f..5aae0432c 100644
--- a/1984/anonymous/Makefile
+++ b/1984/anonymous/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1984/anonymous/README.md b/1984/anonymous/README.md
index face92b1a..c6b1b08bb 100644
--- a/1984/anonymous/README.md
+++ b/1984/anonymous/README.md
@@ -69,7 +69,7 @@ for my connection to the C language.
The author, when told about this tattoo, said:
-> I feel honored that my entry will be the first IOCCC winner to become a
+> I feel honored that my entry will be the first IOCCC winning entry to become a
tattoo. It is the first entry to become a tattoo isn't it?
Landon Curt Noll, the one who told the author about the tattoo, wrote back:
diff --git a/1984/anonymous/index.html b/1984/anonymous/index.html
index 1df0dec6e..63696fe9b 100644
--- a/1984/anonymous/index.html
+++ b/1984/anonymous/index.html
@@ -45,6 +45,8 @@
first entry↑ 1984 ↑decot →
+ C code
+ MakefileInventory
@@ -69,6 +71,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
In 1984, the first contest was held.
The name of the contest was simply
“First annual Obfuscated C Code Contest”.
-
Look at the README.mdfile for the given winning entry
+
View the index.html web page for the given winning entry
for information on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
This year we only had remarks from two authors but which came years
@@ -132,18 +133,18 @@ href="https://groups.google.com/g/net.lang.c/c/lx-TAuEyeRI/m/HdOOnNx6LC0J">net.l
post.
Final Comments
IMPORTANT NOTE: See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
diff --git a/1984/mullender/.entry.json b/1984/mullender/.entry.json
index bd9865bda..4e100c70d 100644
--- a/1984/mullender/.entry.json
+++ b/1984/mullender/.entry.json
@@ -60,7 +60,7 @@
},
{
"file_path" : "1984_mullender.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1984/mullender/.gitignore b/1984/mullender/.gitignore
index 2b7d18683..b7a3592ca 100644
--- a/1984/mullender/.gitignore
+++ b/1984/mullender/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
g.c
gentab
diff --git a/1984/mullender/Makefile b/1984/mullender/Makefile
index a328892a1..b47513e10 100644
--- a/1984/mullender/Makefile
+++ b/1984/mullender/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1984/mullender/README.md b/1984/mullender/README.md
index f9b04aa0f..e09c767b6 100644
--- a/1984/mullender/README.md
+++ b/1984/mullender/README.md
@@ -19,7 +19,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [1984 mullender in bugs.md](/bugs.md#1984-mullender).
+For more detailed information see [1984 mullender bugs](../../bugs.html#1984_mullender).
## To use:
@@ -123,7 +123,7 @@ favorite entries!
### gentab.c
In 2023 remarks were discovered from [Sjoerd
-Mullender](/authors.html#Sjoerd_Mullender), one of the authors, and so was the
+Mullender](../../authors.html#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](a.out.h), which [gentab.c](gentab.c) uses, is not available in
all systems (like macOS) and more importantly because we wanted it to be as
diff --git a/1984/mullender/index.html b/1984/mullender/index.html
index 3837771d2..6698bf02f 100644
--- a/1984/mullender/index.html
+++ b/1984/mullender/index.html
@@ -45,6 +45,8 @@
← laman↑ 1984 ↑last entry
+ C code
+ MakefileInventory
@@ -209,12 +212,13 @@ is printed? We knew you couldn’t! :-)
all time favorite entries!
gentab.c
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, 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 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,
+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
in the fabulousfirst entry↑ 1985 ↑august →
+ C code
+ MakefileInventory
Second
year of the International Obfuscated C Code Contest
-
Look at the README.md file for the given winning entry
+
View the index.html web page for the given winning entry
for information on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author’s remarks for even more
details.
Hints against machine dependent code were added to the rules to avoid another 1984 style winner (1984/mullender). Rules and results
+href="rules.txt">rules to avoid another 1984 style entry (1984/mullender). Rules and results
were posted to net.lang.c and net.unix-wizards.
@@ -131,18 +132,18 @@ Larry Bassel was invited to help in the judging. Awards were given to 5
classes of programs since we were unable to select only the best 4.
Final Comments
IMPORTANT NOTE: See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
+Location: US - United States of
+America (United States)
diff --git a/1985/sicherman/.entry.json b/1985/sicherman/.entry.json
index 31d477e93..2a8cf50af 100644
--- a/1985/sicherman/.entry.json
+++ b/1985/sicherman/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "1985_sicherman.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1985/sicherman/.gitignore b/1985/sicherman/.gitignore
index 0907d5ed2..4fb3948f0 100644
--- a/1985/sicherman/.gitignore
+++ b/1985/sicherman/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1985/sicherman/Makefile b/1985/sicherman/Makefile
index d74a446a3..a9a47ebec 100644
--- a/1985/sicherman/Makefile
+++ b/1985/sicherman/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1985/sicherman/README.md b/1985/sicherman/README.md
index 3a0d25a19..8f4f21931 100644
--- a/1985/sicherman/README.md
+++ b/1985/sicherman/README.md
@@ -68,7 +68,7 @@ In this case it will be built as `sicherman.alt`.
This program abuses the C preprocessor so much that some `cpp`s fail to strip
out all of the comments on the first pass! If you were able to understand
-[Decot's](/authors.html#Dave_Decot) [entry in 1984](/1984/decot/README.md), you
+[Decot's](../../authors.html#Dave_Decot) [entry in 1984](../../1984/decot/index.html), you
will have a head start on this one.
Be sure to run this program through lint! If your lint works
diff --git a/1985/sicherman/index.html b/1985/sicherman/index.html
index 3b3dffccb..beee71332 100644
--- a/1985/sicherman/index.html
+++ b/1985/sicherman/index.html
@@ -45,6 +45,8 @@
← shapiro↑ 1985 ↑last entry
+ C code
+ MakefileInventory
+Sicherman Location: US -
+United States of America (United States)
@@ -163,9 +166,9 @@ do it manually like:
This program abuses the C preprocessor so much that some
cpps fail to strip out all of the comments on the first
pass! If you were able to understand Decot’sentry in 1984, you will have a head
-start on this one.
+href="../../authors.html#Dave_Decot">Decot’s entry in 1984, you will have a
+head start on this one.
Be sure to run this program through lint! If your lint works
correctly, it should warn you that the argument ‘Manual’ isn’t used.
Like the program says, what’s that mean?
diff --git a/1986/Makefile b/1986/Makefile
index 7d54e0f36..35a365086 100644
--- a/1986/Makefile
+++ b/1986/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1986/README.md b/1986/README.md
index d75d16c3e..093736298 100644
--- a/1986/README.md
+++ b/1986/README.md
@@ -1,12 +1,12 @@
# Third International Obfuscated C Code Contest
-Look at the `README.md` file for the given winning entry for information on how
+View the `index.html` web page for the given winning entry for information on how
to compile it and how to run the winning program. Look at the winning source
and try to figure how it does what it does! You may then wish to look at the
Author's remarks for even more details.
The [rules for 1986](rules.txt) suggested categories due to the success of the
-[1985](/years.html#1985) judging method. The maximum size was increased from
+[1985](../years.html#1985) judging method. The maximum size was increased from
512 to 1024 bytes. Larry Bassel joined as the second official judge.
A poll was taken for the worst code for
@@ -16,21 +16,21 @@ Shell](https://en.wikipedia.org/wiki/Bourne_shell) (`/bin/sh`) won for both
systems. The BSD [finger](https://en.wikipedia.org/wiki/Finger_(protocol))
program took third place.
-[Rules](rules.txt) and [results](/years.html#1986) were posted to
+[Rules](rules.txt) and [results](../years.html#1986) were posted to
[net.lang.c](https://groups.google.com/g/net.lang.c) and
[net.unix-wizards](https://groups.google.com/g/net.unix-wizards).
[Micro/Systems
Journal](https://www.vintage-computer.com/publications.php?microsystemsjournal)
-started regular publishing of the winners. The practice of making first
-announcement of the winners at the Summer USENIX BOF (Birds of a Feather)
+started regular publishing of the winning entries. The practice of making first
+announcement of the winning entries at the Summer USENIX BOF (Birds of a Feather)
started this year. A notice was posted to net.announce.
## Final Comments
-**IMPORTANT NOTE**: See [contact.html](/contact.html) for up to date contact details
+**IMPORTANT NOTE**: See [contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -38,5 +38,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (c) 1986,2023, Landon Curt Noll and Larry Bassel. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/1986/applin/.entry.json b/1986/applin/.entry.json
index 591ade111..f459676e7 100644
--- a/1986/applin/.entry.json
+++ b/1986/applin/.entry.json
@@ -35,7 +35,7 @@
},
{
"file_path" : "1986_applin.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1986/applin/.gitignore b/1986/applin/.gitignore
index b1f6d03ce..fd6951b3b 100644
--- a/1986/applin/.gitignore
+++ b/1986/applin/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
applin
applin.orig
diff --git a/1986/applin/Makefile b/1986/applin/Makefile
index 9175db58b..06ff3dfa0 100644
--- a/1986/applin/Makefile
+++ b/1986/applin/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1986/applin/index.html b/1986/applin/index.html
index 4436febaf..c2313698c 100644
--- a/1986/applin/index.html
+++ b/1986/applin/index.html
@@ -45,6 +45,8 @@
first entry↑ 1986 ↑august →
+ C code
+ MakefileInventory
+Location: US - United States of
+America (United States)
diff --git a/1986/august/.entry.json b/1986/august/.entry.json
index ecb998b41..d2de101d2 100644
--- a/1986/august/.entry.json
+++ b/1986/august/.entry.json
@@ -35,7 +35,7 @@
},
{
"file_path" : "1986_august.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1986/august/.gitignore b/1986/august/.gitignore
index 5a776a4b7..f455fbb08 100644
--- a/1986/august/.gitignore
+++ b/1986/august/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
august
august.orig
diff --git a/1986/august/Makefile b/1986/august/Makefile
index 30c3a402a..01404ced6 100644
--- a/1986/august/Makefile
+++ b/1986/august/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1986/august/README.md b/1986/august/README.md
index 687e640a6..fd06438a8 100644
--- a/1986/august/README.md
+++ b/1986/august/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [1986 august in bugs.md](/bugs.md#1986-august).
+For more detailed information see [1986 august bugs](../../bugs.html#1986_august).
## Try:
diff --git a/1986/august/index.html b/1986/august/index.html
index 178ad8c03..a40e9a76a 100644
--- a/1986/august/index.html
+++ b/1986/august/index.html
@@ -45,6 +45,8 @@
← applin↑ 1986 ↑bright →
+ C code
+ MakefileInventory
Look at the README.md file for the given winning entry
+
View the index.html web page for the given winning entry
for information on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author’s remarks for even more
details.
The rules for 1986 suggested categories due
-to the success of the 1985 judging
+to the success of the 1985 judging
method. The maximum size was increased from 512 to 1024 bytes. Larry
Bassel joined as the second official judge.
Rules and results were posted to results were posted to net.lang.c and net.unix-wizards.
Micro/Systems
-Journal started regular publishing of the winners. The practice of
-making first announcement of the winners at the Summer USENIX BOF (Birds
-of a Feather) started this year. A notice was posted to
-net.announce.
+Journal started regular publishing of the winning entries. The
+practice of making first announcement of the winning entries at the
+Summer USENIX BOF (Birds of a Feather) started this year. A notice was
+posted to net.announce.
Final Comments
IMPORTANT NOTE: See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
+href="../contact.html">send us a note about your use.
diff --git a/1986/marshall/.entry.json b/1986/marshall/.entry.json
index 2ae730f99..0e493f009 100644
--- a/1986/marshall/.entry.json
+++ b/1986/marshall/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "1986_marshall.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1986/marshall/.gitignore b/1986/marshall/.gitignore
index 348dcc3b7..c9651ce96 100644
--- a/1986/marshall/.gitignore
+++ b/1986/marshall/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1986/marshall/Makefile b/1986/marshall/Makefile
index a79724196..31420b720 100644
--- a/1986/marshall/Makefile
+++ b/1986/marshall/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1986/marshall/README.md b/1986/marshall/README.md
index 4006b845a..37e9a38d0 100644
--- a/1986/marshall/README.md
+++ b/1986/marshall/README.md
@@ -5,14 +5,14 @@ make all
```
NOTE: we FORCE disable the optimiser due to a funny problem with different
-compilers and systems. See below and [compilers.md](compilers.md) for details.
+compilers and systems. See below and [compilers.html](compilers.html) for details.
There is an [alternate version](#alternate-code). The reason is a funny problem:
in modern systems, depending on the platform, compiler and the optimiser, it
would work with one compiler with the optimiser but it would not work with the
other; and if the optimiser state is changed the previous problematic compiler
might work but the other one would not. We describe this in more detail in
-[compilers.md](compilers.md) and we encourage you to read it for entertainment
+[compilers.html](compilers.html) and we encourage you to read it for entertainment
if nothing else.
@@ -25,7 +25,7 @@ if nothing else.
## Alternate code:
-Due to the different [conflicting problems](compilers.md) with gcc and clang, we
+Due to the different [conflicting problems](compilers.html) with gcc and clang, we
instead offer the problematic code as an alternate version whereas
[marshall.c](marshall.c) has both the infinite loop and the complicated arg to
`_exit()` commented out, changing the value passed into `_exit()` to `1`.
diff --git a/1986/marshall/compilers.html b/1986/marshall/compilers.html
index f0aa0ba29..573c1d1f8 100644
--- a/1986/marshall/compilers.html
+++ b/1986/marshall/compilers.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
NOTE: we FORCE disable the optimiser due to a funny problem with
different compilers and systems. See below and compilers.md for details.
+href="compilers.html">compilers.html for details.
There is an alternate version. The
reason is a funny problem: in modern systems, depending on the platform,
compiler and the optimiser, it would work with one compiler with the
optimiser but it would not work with the other; and if the optimiser
state is changed the previous problematic compiler might work but the
other one would not. We describe this in more detail in compilers.md and we encourage you to read it for
-entertainment if nothing else.
+href="compilers.html">compilers.html and we encourage you to read it
+for entertainment if nothing else.
To use:
./marshall
Alternate code:
-
Due to the different conflicting problems
-with gcc and clang, we instead offer the problematic code as an
-alternate version whereas marshall.c has both
-the infinite loop and the complicated arg to _exit()
+
Due to the different conflicting
+problems with gcc and clang, we instead offer the problematic code
+as an alternate version whereas marshall.c has
+both the infinite loop and the complicated arg to _exit()
commented out, changing the value passed into _exit() to
1.
Alternate build:
diff --git a/1986/pawka/.entry.json b/1986/pawka/.entry.json
index a27a18027..8442f1aa1 100644
--- a/1986/pawka/.entry.json
+++ b/1986/pawka/.entry.json
@@ -35,7 +35,7 @@
},
{
"file_path" : "1986_pawka.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1986/pawka/.gitignore b/1986/pawka/.gitignore
index 68bb30648..5a561da46 100644
--- a/1986/pawka/.gitignore
+++ b/1986/pawka/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1986/pawka/Makefile b/1986/pawka/Makefile
index 86f614e63..2b49be0da 100644
--- a/1986/pawka/Makefile
+++ b/1986/pawka/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1986/pawka/index.html b/1986/pawka/index.html
index 137456608..96886c5d0 100644
--- a/1986/pawka/index.html
+++ b/1986/pawka/index.html
@@ -45,6 +45,8 @@
← marshall↑ 1986 ↑stein →
+ C code
+ MakefileInventory
+Location: US - United States of
+America (United States)
diff --git a/1987/Makefile b/1987/Makefile
index 535bc0aeb..6e822f855 100644
--- a/1987/Makefile
+++ b/1987/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1987/README.md b/1987/README.md
index 0e09692f0..bd22c29b8 100644
--- a/1987/README.md
+++ b/1987/README.md
@@ -1,6 +1,6 @@
# Fourth International Obfuscated C Code Contest
-Look at the README.md file for the given winning entry for information on how to
+View the `index.html` web page for the given winning entry for information on how
compile it and how to run the winning program. Look at the winning source and
try to figure how it does what it does! You may then wish to look at the
Author's remarks for even more details.
@@ -14,20 +14,20 @@ this year.
[Rules](rules.txt) and results were posted to comp.lang.c and comp.unix.wizards
with an announcement in news.announce.important. Micro/Systems Journal
-published the 1987 winners. [Mark R.
+published the 1987 winning entries. [Mark R.
Horton](https://www.amazon.com/stores/Mark-R.-Horton/author/B001HPGRB8) included
-a version of the [1987 winners](../years.html#1987) in an appendix of his C book
+a version of the [1987 winning entries](../years.html#1987) in an appendix of his C book
[Portable C Software International
Edition](https://www.amazon.com/Portable-Software-Mark-R-Horton/dp/0138680507).
-The first announcement of winners at the Summer 87 USENIX was helped by a small
+The first announcement of winning entries at the Summer 87 USENIX was helped by a small
fly that danced all over the foils.
## Final Comments
-**IMPORTANT NOTE**: See [contact.html](/contact.html) for up to date contact details
+**IMPORTANT NOTE**: See [contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -35,5 +35,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (c) 1987,2023, Landon Curt Noll and Larry Bassel. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/1987/biggar/.entry.json b/1987/biggar/.entry.json
index 2d6f0f158..d2832ec99 100644
--- a/1987/biggar/.entry.json
+++ b/1987/biggar/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1987_biggar.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1987/biggar/.gitignore b/1987/biggar/.gitignore
index e033302e0..a4cb3c30a 100644
--- a/1987/biggar/.gitignore
+++ b/1987/biggar/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
biggar
biggar.orig
diff --git a/1987/biggar/Makefile b/1987/biggar/Makefile
index de25ec6fe..81456060c 100644
--- a/1987/biggar/Makefile
+++ b/1987/biggar/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1987/biggar/README.md b/1987/biggar/README.md
index b9b80ff17..89fbb537a 100644
--- a/1987/biggar/README.md
+++ b/1987/biggar/README.md
@@ -36,8 +36,8 @@ One vendor's lint got hung in an infinite loop over this entry!
FYI: We will let Mark get away with this truly sick entry this time, but
for the future on we have placed a limit on the size of a compile line.
-NOTE: originally we made a comment in [Larry Wall's
-entry](../wall/README.md) regarding Mark's contribution but it seems to have
+NOTE: originally we made a comment in [Larry Wall](../../authors.html#Larry_Wall)'s
+[1987/wall](../wall/index.html) entry regarding Mark's contribution but it seems to have
been lost in time. If anyone knows about its whereabouts we'd appreciate letting
us know. Thanks!
diff --git a/1987/biggar/index.html b/1987/biggar/index.html
index 6779a22d0..6810bce52 100644
--- a/1987/biggar/index.html
+++ b/1987/biggar/index.html
@@ -45,6 +45,8 @@
first entry↑ 1987 ↑heckbert →
+ C code
+ MakefileInventory
@@ -145,7 +149,8 @@ this form; so what if the Makefiles grow a little! :-)
but for the future on we have placed a limit on the size of a compile
line.
NOTE: originally we made a comment in Larry Wall’s entry regarding Mark’s
+href="../../authors.html#Larry_Wall">Larry Wall’s 1987/wall entry regarding Mark’s
contribution but it seems to have been lost in time. If anyone knows
about its whereabouts we’d appreciate letting us know. Thanks!
Passes BSD and UTS lint. At least one version of lint is thrown into
diff --git a/1987/heckbert/.entry.json b/1987/heckbert/.entry.json
index a9b5541de..54f20388d 100644
--- a/1987/heckbert/.entry.json
+++ b/1987/heckbert/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1987_heckbert.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1987/heckbert/.gitignore b/1987/heckbert/.gitignore
index 76e89daff..3c2c5124e 100644
--- a/1987/heckbert/.gitignore
+++ b/1987/heckbert/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
bar
bar.c
diff --git a/1987/heckbert/Makefile b/1987/heckbert/Makefile
index 9eaa8e2b6..bf75683ed 100644
--- a/1987/heckbert/Makefile
+++ b/1987/heckbert/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1987/heckbert/index.html b/1987/heckbert/index.html
index 9709ab4cc..460610837 100644
--- a/1987/heckbert/index.html
+++ b/1987/heckbert/index.html
@@ -45,6 +45,8 @@
← biggar↑ 1987 ↑hines →
+ C code
+ MakefileInventory
Look at the README.md file for the given winning entry for
-information on how to compile it and how to run the winning program.
+
View the index.html web page for the given winning entry
+for information on how compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author’s remarks for even more
details.
@@ -128,29 +129,29 @@ amdahl. The practice of posting a preliminary set of rules for the next
year was started this year.
Rules and results were posted to comp.lang.c
and comp.unix.wizards with an announcement in news.announce.important.
-Micro/Systems Journal published the 1987 winners. Mark
R. Horton included a version of the 1987 winners in an appendix of his C book
-1987 winning entries in an appendix of his
+C book Portable
-C Software International Edition. The first announcement of winners
-at the Summer 87 USENIX was helped by a small fly that danced all over
-the foils.
+C Software International Edition. The first announcement of winning
+entries at the Summer 87 USENIX was helped by a small fly that danced
+all over the foils.
Final Comments
IMPORTANT NOTE: See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
+Westley Location: US -
+United States of America (United States)
diff --git a/1988/Makefile b/1988/Makefile
index 3ed98a1b2..60ee6a559 100644
--- a/1988/Makefile
+++ b/1988/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1988/README.md b/1988/README.md
index d30fc739c..f5b8d92ad 100644
--- a/1988/README.md
+++ b/1988/README.md
@@ -1,19 +1,19 @@
# Fifth International Obfuscated C Code Contest
-Look at the README.md file for the given winning entry for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
The maximum size of entries was raised from 1024 to 1536 bytes, however smaller
-entries were encouraged. Due to the ["Best Abuse of the Rules" winner of
+entries were encouraged. Due to the ["Best Abuse of the Rules" entry of
1987](../1987/biggar/), a limit of 160 chars in the compile line was introduced.
This year, the Grand Prize was given to the most unusual entry and best
abuse of the C Preprocessor rather than the most well rounded entry.
[Rules](rules.txt) and results were posted to comp.lang.c, comp.sources.unix and
-alt.sources. The 1988 winners will be published in the [Micro/Systems
+alt.sources. The 1988 winning entries will be published in the [Micro/Systems
Journal](https://www.vintage-computer.com/publications.php?microsystemsjournal).
Winning entries for previous years were repackaged with each year
@@ -24,9 +24,9 @@ also available on a wide number of USENET archive sites.
## Final Comments
-**IMPORTANT NOTE**: See [contact.html](/contact.html) for up to date contact details
+**IMPORTANT NOTE**: See [contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -34,5 +34,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (c) 1988,2023, Landon Curt Noll and Larry Bassel. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/1988/applin/.entry.json b/1988/applin/.entry.json
index ee65e6467..2ada3ae00 100644
--- a/1988/applin/.entry.json
+++ b/1988/applin/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1988_applin.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1988/applin/.gitignore b/1988/applin/.gitignore
index 560683e93..436fa88a5 100644
--- a/1988/applin/.gitignore
+++ b/1988/applin/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
applin
applin.alt
diff --git a/1988/applin/Makefile b/1988/applin/Makefile
index fa593e547..ead23a552 100644
--- a/1988/applin/Makefile
+++ b/1988/applin/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# http://www.ioccc.org/bugs.md
+# http://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1988/applin/index.html b/1988/applin/index.html
index df7261604..0f689627c 100644
--- a/1988/applin/index.html
+++ b/1988/applin/index.html
@@ -45,6 +45,8 @@
first entry↑ 1988 ↑dale →
+ C code
+ MakefileInventory
Look at the README.md file for the given winning entry for
-information on how to compile it and how to run the winning program.
-Look at the winning source and try to figure how it does what it does!
-You may then wish to look at the Author’s remarks for even more
+
View the index.html web page for the given winning entry
+for information on how on how to compile it and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
details.
The maximum size of entries was raised from 1024 to 1536 bytes,
however smaller entries were encouraged. Due to the “Best Abuse of the Rules” winner of 1987, a
+href="../1987/biggar/">“Best Abuse of the Rules” entry of 1987, a
limit of 160 chars in the compile line was introduced.
This year, the Grand Prize was given to the most unusual entry and
best abuse of the C Preprocessor rather than the most well rounded
entry.
Rules and results were posted to comp.lang.c,
-comp.sources.unix and alt.sources. The 1988 winners will be published in
-the Micro/Systems
Journal.
Winning entries for previous years were repackaged with each year
@@ -137,18 +138,18 @@ package was posted to the comp.sources.unix newsgroup. They are also
available on a wide number of USENET archive sites.
Final Comments
IMPORTANT NOTE: See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
+Westley Location: US -
+United States of America (United States)
diff --git a/1989/Makefile b/1989/Makefile
index 4ccbe580b..f746aa6e4 100644
--- a/1989/Makefile
+++ b/1989/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1989/README.md b/1989/README.md
index 66b10012f..31cb76a24 100644
--- a/1989/README.md
+++ b/1989/README.md
@@ -1,6 +1,6 @@
# Sixth International Obfuscated C Code Contest
-Look at the README.md file for the given winning entry for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
@@ -10,29 +10,29 @@ System V or non-Unix systems the Makefile needs to be changed).
This year, the Grand Prize was given to the most useful program.
-The ["Strangest abuse of the rules"](jar.1/README.md) award was given this year
+The ["Strangest abuse of the rules"](jar.1/indx.html) award was given this year
to stress the fact that starting in 1990, compiling entries must result an
executable regular file.
The Makefile always uses the portable version of the ["Best
-self modifying program"](fubar/README.md) because there is no loss of functionality in
-using it. In the case of the ["Best game"](tromp/README) winner, however, some
+self modifying program"](fubar/indx.html) because there is no loss of functionality in
+using it. In the case of the ["Best game"](tromp/README) entry, however, some
functionality is lost in the portable version and so the Makefile uses
the original program. System V users may need to change the Makefile
to use the s5 version. See the hint files or the Makefile for details.
[Rules](rules.txt) and results were posted to comp.lang.c, comp.sources.unix, and
alt.sources. They have been made available on a wide number of USENET
-archive sites such as uunet. The 1989 winners will be published in the
+archive sites such as uunet. The 1989 winning entries will be published in the
[Micro/Systems
Journal](https://www.vintage-computer.com/publications.php?microsystemsjournal).
## Final Comments
-**IMPORTANT NOTE**: See [contact.html](/contact.html) for up to date contact details
+**IMPORTANT NOTE**: See [contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -40,5 +40,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (c) 1989,2023, Landon Curt Noll and Larry Bassel. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/1989/fubar/.entry.json b/1989/fubar/.entry.json
index 5c401284c..6ab16212d 100644
--- a/1989/fubar/.entry.json
+++ b/1989/fubar/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "1989_fubar.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1989/fubar/.gitignore b/1989/fubar/.gitignore
index 32430532f..be79941ba 100644
--- a/1989/fubar/.gitignore
+++ b/1989/fubar/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
fubar
fubar.orig
diff --git a/1989/fubar/Makefile b/1989/fubar/Makefile
index f8fea4e26..841846c9b 100644
--- a/1989/fubar/Makefile
+++ b/1989/fubar/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1989/fubar/README.md b/1989/fubar/README.md
index 653742d20..576aa0860 100644
--- a/1989/fubar/README.md
+++ b/1989/fubar/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: known bug - please help us fix
```
-For more detailed information see [1989 fubar in bugs.md](/bugs.md#1989-fubar).
+For more detailed information see [1989 fubar bugs](../../bugs.html#1989_fubar).
## To use:
@@ -36,7 +36,7 @@ For more detailed information see [1989 fubar in bugs.md](/bugs.md#1989-fubar).
## Judges' remarks:
Run this with a single digit argument (or wait a long time and risk an infinite
-loop as described in the [bugs.md](/bugs.md#1989-fubar) file).
+loop as described in the [1989 fubar bugs](../../bugs.html#1989_fubar) file).
The blank line at the beginning of the source is mandatory.
Do you know why?
diff --git a/1989/fubar/index.html b/1989/fubar/index.html
index 0f40483a9..1d0711a3f 100644
--- a/1989/fubar/index.html
+++ b/1989/fubar/index.html
@@ -45,6 +45,8 @@
first entry↑ 1989 ↑jar.1 →
+ C code
+ MakefileInventory
The blank line at the beginning of the source is mandatory. Do you
know why?
NOTE: the file ouroboros.c is created by the program
diff --git a/1989/index.html b/1989/index.html
index 2d3c3e985..9163dc00e 100644
--- a/1989/index.html
+++ b/1989/index.html
@@ -69,6 +69,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
@@ -114,45 +115,45 @@
Sixth
International Obfuscated C Code Contest
-
Look at the README.md file for the given winning entry for
-information on how to compile it and how to run the winning program.
-Look at the winning source and try to figure how it does what it does!
-You may then wish to look at the Author’s remarks for even more
+
View the index.html web page for the given winning entry
+for information on how on how to compile it and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
details.
Instructions for use: Run make to compile entries (it is
possible that on System V or non-Unix systems the Makefile needs to be
changed).
This year, the Grand Prize was given to the most useful program.
The “Strangest abuse of the rules”
award was given this year to stress the fact that starting in 1990,
compiling entries must result an executable regular file.
The Makefile always uses the portable version of the “Best self modifying program” because there
+href="fubar/indx.html">“Best self modifying program” because there
is no loss of functionality in using it. In the case of the “Best game” winner, however, some functionality
+href="tromp/README">“Best game” entry, however, some functionality
is lost in the portable version and so the Makefile uses the original
program. System V users may need to change the Makefile to use the s5
version. See the hint files or the Makefile for details.
Rules and results were posted to comp.lang.c,
comp.sources.unix, and alt.sources. They have been made available on a
-wide number of USENET archive sites such as uunet. The 1989 winners will
-be published in the Micro/Systems
Journal.
Final Comments
IMPORTANT NOTE: See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
+href="../contact.html">send us a note about your use.
diff --git a/1989/jar.1/.entry.json b/1989/jar.1/.entry.json
index 4bc5d029d..85324edf2 100644
--- a/1989/jar.1/.entry.json
+++ b/1989/jar.1/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "1989_jar.1.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1989/jar.1/.gitignore b/1989/jar.1/.gitignore
index 4550b156d..04959aaec 100644
--- a/1989/jar.1/.gitignore
+++ b/1989/jar.1/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1989/jar.1/Makefile b/1989/jar.1/Makefile
index ae83f1f55..bf46e36cf 100644
--- a/1989/jar.1/Makefile
+++ b/1989/jar.1/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1989/jar.1/README.md b/1989/jar.1/README.md
index c3cdc71b0..099ab6192 100644
--- a/1989/jar.1/README.md
+++ b/1989/jar.1/README.md
@@ -51,7 +51,7 @@ cc -c -o /dev/tty jar.1.c
As a last resort the `jar.1.sh` script provided simulates
writing the raw binary of the .o file to the terminal.
-Abuse of the rules winners usually result in a change of the rules.
+Abuse of the rules winning entry usually result in a change of the rules.
Starting in 1990, compiling entries must result an regular file
which can be executed.
diff --git a/1989/jar.1/index.html b/1989/jar.1/index.html
index 925b8c270..a09d2c881 100644
--- a/1989/jar.1/index.html
+++ b/1989/jar.1/index.html
@@ -45,6 +45,8 @@
← fubar↑ 1989 ↑jar.2 →
+ C code
+ MakefileInventory
@@ -147,9 +151,9 @@ file to /dev/tty. The author suggested:
cc-c-o /dev/tty jar.1.c
As a last resort the jar.1.sh script provided simulates
writing the raw binary of the .o file to the terminal.
-
Abuse of the rules winners usually result in a change of the rules.
-Starting in 1990, compiling entries must result an regular file which
-can be executed.
+
Abuse of the rules winning entry usually result in a change of the
+rules. Starting in 1990, compiling entries must result an regular file
+which can be executed.
Under certain conditions that are dependent on such diverse things
such as:
diff --git a/1989/jar.2/.entry.json b/1989/jar.2/.entry.json
index 0552c03db..40e9d3558 100644
--- a/1989/jar.2/.entry.json
+++ b/1989/jar.2/.entry.json
@@ -69,7 +69,7 @@
},
{
"file_path" : "1989_jar.2.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1989/jar.2/.gitignore b/1989/jar.2/.gitignore
index 869d4c604..ff9dea563 100644
--- a/1989/jar.2/.gitignore
+++ b/1989/jar.2/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1989/jar.2/Makefile b/1989/jar.2/Makefile
index 163c94e20..9f93f870f 100644
--- a/1989/jar.2/Makefile
+++ b/1989/jar.2/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1989/jar.2/index.html b/1989/jar.2/index.html
index c3b525467..05517f3e6 100644
--- a/1989/jar.2/index.html
+++ b/1989/jar.2/index.html
@@ -45,6 +45,8 @@
← jar.1↑ 1989 ↑ovdluhe →
+ C code
+ MakefileInventory
diff --git a/1989/westley/.entry.json b/1989/westley/.entry.json
index 5876477df..30cecbbe3 100644
--- a/1989/westley/.entry.json
+++ b/1989/westley/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "1989_westley.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1989/westley/.gitignore b/1989/westley/.gitignore
index 9070c0dfc..fe8989820 100644
--- a/1989/westley/.gitignore
+++ b/1989/westley/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
alt.ver0
alt.ver0.c
diff --git a/1989/westley/Makefile b/1989/westley/Makefile
index 3775a2925..6ebc910bd 100644
--- a/1989/westley/Makefile
+++ b/1989/westley/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1989/westley/README.md b/1989/westley/README.md
index d96168996..b83be0473 100644
--- a/1989/westley/README.md
+++ b/1989/westley/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: known bug - please help us fix
```
-For more detailed information see [1989 westley in bugs.md](/bugs.md#1989-westley).
+For more detailed information see [1989 westley bugs](../../bugs.html#1989_westley).
## Try:
diff --git a/1989/westley/index.html b/1989/westley/index.html
index 0d12e4992..59240a085 100644
--- a/1989/westley/index.html
+++ b/1989/westley/index.html
@@ -45,6 +45,8 @@
← vanb↑ 1989 ↑last entry
+ C code
+ MakefileInventory
Try compiling and running the 4 resulting programs like:
./compile.sh
diff --git a/1990/Makefile b/1990/Makefile
index 58593b3f4..9b3b218fc 100644
--- a/1990/Makefile
+++ b/1990/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1990/README.md b/1990/README.md
index a47ea19fc..192a37e79 100644
--- a/1990/README.md
+++ b/1990/README.md
@@ -1,13 +1,13 @@
# Seventh International Obfuscated C Code Contest
-Look at the README.md file for the given winning entry for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
This year, the Grand Prize won a standing ovation at USENIX.
-The ["Strangest abuse of the rules"](1990/stig/README.md) award was given this
+The ["Strangest abuse of the rules"](stig/index.html) award was given this
year to stress the fact that starting in 1991, entries should be shell-specific.
This year was the first year that we accepted ANSI C entries. It was
@@ -19,16 +19,16 @@ We would like to thank Barbara Frezza (loving wife of Larry Bassel) for
her role as official chef of the contest. Her opinions regarding
some of the contest entries were appreciated.
-[Rules](rules.txt) and [results](https://www.ioccc.org/years.html#1990) were
+[Rules](rules.txt) and [results](../years.html#1990) were
posted to comp.lang.c, comp.sources.unix, and alt.sources. They have been made
available on a wide number of USENET archive sites such as uunet.
## Final Comments
-**IMPORTANT NOTE**: See [contact.html](/contact.html) for up to date contact details
+**IMPORTANT NOTE**: See [contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -36,5 +36,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (c) 1990,2023, Landon Curt Noll and Larry Bassel. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/1990/baruch/.entry.json b/1990/baruch/.entry.json
index 9d413b013..b21050330 100644
--- a/1990/baruch/.entry.json
+++ b/1990/baruch/.entry.json
@@ -52,7 +52,7 @@
},
{
"file_path" : "1990_baruch.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1990/baruch/.gitignore b/1990/baruch/.gitignore
index 43e5b5256..fee8bd971 100644
--- a/1990/baruch/.gitignore
+++ b/1990/baruch/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
baruch
baruch.alt
diff --git a/1990/baruch/Makefile b/1990/baruch/Makefile
index a619b203d..8f3a595c4 100644
--- a/1990/baruch/Makefile
+++ b/1990/baruch/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1990/baruch/README.md b/1990/baruch/README.md
index 67083c8b4..44e5577f4 100644
--- a/1990/baruch/README.md
+++ b/1990/baruch/README.md
@@ -16,7 +16,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [1990 baruch in bugs.md](/bugs.md#1990-baruch).
+For more detailed information see [1990 baruch bugs](../../bugs.html#1990_baruch).
diff --git a/1990/baruch/index.html b/1990/baruch/index.html
index 410daea0f..2ccb511eb 100644
--- a/1990/baruch/index.html
+++ b/1990/baruch/index.html
@@ -45,6 +45,8 @@
first entry↑ 1990 ↑cmills →
+ C code
+ MakefileInventory
Look at the README.md file for the given winning entry for
-information on how to compile it and how to run the winning program.
-Look at the winning source and try to figure how it does what it does!
-You may then wish to look at the Author’s remarks for even more
+
View the index.html web page for the given winning entry
+for information on how on how to compile it and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
details.
This year, the Grand Prize won a standing ovation at USENIX.
The “Strangest abuse of the rules”
award was given this year to stress the fact that starting in 1991,
entries should be shell-specific.
This year was the first year that we accepted ANSI C entries. It was
@@ -131,23 +132,23 @@ people will enter more obfuscated and challenging ANSI C programs.
for her role as official chef of the contest. Her opinions regarding
some of the contest entries were appreciated.
Rules and results were posted to
-comp.lang.c, comp.sources.unix, and alt.sources. They have been made
-available on a wide number of USENET archive sites such as uunet.
+href="../years.html#1990">results were posted to comp.lang.c,
+comp.sources.unix, and alt.sources. They have been made available on a
+wide number of USENET archive sites such as uunet.
Final Comments
IMPORTANT NOTE: See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
diff --git a/1990/tbr/.entry.json b/1990/tbr/.entry.json
index 6100026f4..1005ef92d 100644
--- a/1990/tbr/.entry.json
+++ b/1990/tbr/.entry.json
@@ -44,7 +44,7 @@
},
{
"file_path" : "1990_tbr.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1990/tbr/.gitignore b/1990/tbr/.gitignore
index 9afd4d3c9..4ceca7f67 100644
--- a/1990/tbr/.gitignore
+++ b/1990/tbr/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1990/tbr/Makefile b/1990/tbr/Makefile
index 4ec8379db..c2dd73e2f 100644
--- a/1990/tbr/Makefile
+++ b/1990/tbr/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1990/tbr/README.md b/1990/tbr/README.md
index bd35a5311..09ecf909a 100644
--- a/1990/tbr/README.md
+++ b/1990/tbr/README.md
@@ -16,7 +16,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [1990 tbr in bugs.md](/bugs.md#1990-tbr).
+For more detailed information see [1990 tbr bugs](../../bugs.html#1990_tbr).
### A note about the fixes of this entry in 2023:
diff --git a/1990/tbr/index.html b/1990/tbr/index.html
index 551435096..cb7c43e09 100644
--- a/1990/tbr/index.html
+++ b/1990/tbr/index.html
@@ -45,6 +45,8 @@
← stig↑ 1990 ↑theorem →
+ C code
+ MakefileInventory
In 2023 it was noticed that in some systems like macOS there was
diff --git a/1990/theorem/.entry.json b/1990/theorem/.entry.json
index ac5911ea5..70a96101d 100644
--- a/1990/theorem/.entry.json
+++ b/1990/theorem/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1990_theorem.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1990/theorem/.gitignore b/1990/theorem/.gitignore
index a335d90e6..03d88701d 100644
--- a/1990/theorem/.gitignore
+++ b/1990/theorem/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
fibonacci
fibonacci.c
diff --git a/1990/theorem/Makefile b/1990/theorem/Makefile
index 59f37f06a..5797933c2 100644
--- a/1990/theorem/Makefile
+++ b/1990/theorem/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1990/theorem/README.md b/1990/theorem/README.md
index cabe08e8b..6a39208c7 100644
--- a/1990/theorem/README.md
+++ b/1990/theorem/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [1990 theorem in bugs.md](/bugs.md#1990-theorem).
+For more detailed information see [1990 theorem bugs](../../bugs.html#1990_theorem).
## To use:
diff --git a/1990/theorem/index.html b/1990/theorem/index.html
index fef20e4e4..1c861ccca 100644
--- a/1990/theorem/index.html
+++ b/1990/theorem/index.html
@@ -45,6 +45,8 @@
← tbr↑ 1990 ↑westley →
+ C code
+ MakefileInventory
+Westley Location: US -
+United States of America (United States)
diff --git a/1991/Makefile b/1991/Makefile
index c11d6f526..7be683dcc 100644
--- a/1991/Makefile
+++ b/1991/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1991/README.md b/1991/README.md
index 0e09c0f51..c1cb8e81c 100644
--- a/1991/README.md
+++ b/1991/README.md
@@ -1,6 +1,6 @@
# Eighth International Obfuscated C Code Contest
-Look at the README.md file for the given winning entry for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
@@ -12,18 +12,18 @@ This year, we did not single out an entry that was better than all of
the rest. We selected 3 entries that were, in our opinion, went beyond
all of the other entries this year:
-- [Grand Prize](westley/README.md) by [Brian
-Westley](https://www.ioccc.org/authors.html#Brian_Westley)
-- [Most Well Rounded](dds/README.md) by [Diomidis
-Spinellis](https://www.ioccc.org/authors.html#Diomidis_Spinellis)
-- [Best Of Show](brnstnd/README.md) by [Daniel J.
-Bernstein](https://www.ioccc.org/authors.html#Daniel_J._Bernstein)
+- [Grand Prize](westley/index.html) by [Brian
+Westley](../authors.html#Brian_Westley)
+- [Most Well Rounded](dds/index.html) by [Diomidis
+Spinellis](../authors.html#Diomidis_Spinellis)
+- [Best Of Show](brnstnd/index.html) by [Daniel J.
+Bernstein](../authors.html#Daniel_J._Bernstein)
Name and address information are separated from the actual program
prior to judging. This eliminates any chance that we would bias our
judging for/against any person or group. In the end, we are surprised
as you are to see who has won. Even so, it is worth noting that
-[Brian Westley](https://www.ioccc.org/authors.html#Brian_Westley) has submitted
+[Brian Westley](../authors.html#Brian_Westley) has submitted
a winning entry for the past 5 years!
## A few notes regarding possible changes to the contest:
@@ -89,9 +89,9 @@ judges@toad.com
**IMPORTANT NOTE**: The email addresses found above are for historical
purposes only, and should not be used today. See
-[contact.html](/contact.html) for up to date contact details
+[contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
## Credits:
@@ -106,5 +106,5 @@ as assistant pizza chef. Larry Bassel was official taste tester. Yummo!
Copyright (c) 1991,2023 Landon Curt Noll and Larry Bassel. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/1991/ant/.entry.json b/1991/ant/.entry.json
index 9cc7705bd..8256890f5 100644
--- a/1991/ant/.entry.json
+++ b/1991/ant/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1991_ant.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1991/ant/.gitignore b/1991/ant/.gitignore
index 85541bc01..587fcf92c 100644
--- a/1991/ant/.gitignore
+++ b/1991/ant/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
ant
ant.alt
diff --git a/1991/ant/Makefile b/1991/ant/Makefile
index a891c1e55..a239363d6 100644
--- a/1991/ant/Makefile
+++ b/1991/ant/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1991/ant/README.md b/1991/ant/README.md
index a4fbb42bf..b840ec094 100644
--- a/1991/ant/README.md
+++ b/1991/ant/README.md
@@ -123,7 +123,8 @@ exit insert mode because K&R C had no escape constant for the escape-key.
My goals for this project were to learn and experiment with the Buffer Gap
Scheme [Fin80][net90], write a useful and *portable* program, and meet the
requirements of the IOCCC. I initially planned to have a mini `curses` built-in
-like the [IOCCC Tetris entry from a previous year](/1989/tromp/README.md),
+like [John Tromp](../../authors.html#John_Tromp)'s
+[1989/tromp](../../1989/tromp/index.html) Tetris entry,
however this was not as portable as using a `curses` library with
`TERMINFO`/`TERMCAP` support.
diff --git a/1991/ant/index.html b/1991/ant/index.html
index 7c79e0a99..9e7b48f5e 100644
--- a/1991/ant/index.html
+++ b/1991/ant/index.html
@@ -45,6 +45,8 @@
first entry↑ 1991 ↑brnstnd →
+ C code
+ MakefileInventory
@@ -215,10 +218,10 @@ K&R C had no escape constant for the escape-key.
My goals for this project were to learn and experiment with the
Buffer Gap Scheme [Fin80][net90], write a useful and portable
program, and meet the requirements of the IOCCC. I initially planned to
-have a mini curses built-in like the IOCCC Tetris entry from a previous
-year, however this was not as portable as using a
-curses library with
+have a mini curses built-in like John Tromp’s 1989/tromp Tetris entry, however
+this was not as portable as using a curses library with
TERMINFO/TERMCAP support.
I plan to post follow-ups such as unobfuscated versions and bugs
fixes to comp.editors. Reposts of the editor.101, gap.doc, and
diff --git a/1991/brnstnd/.entry.json b/1991/brnstnd/.entry.json
index 05fa42d13..c4c0b97f8 100644
--- a/1991/brnstnd/.entry.json
+++ b/1991/brnstnd/.entry.json
@@ -163,7 +163,7 @@
},
{
"file_path" : "1991_brnstnd.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1991/brnstnd/.gitignore b/1991/brnstnd/.gitignore
index 113d025fd..ffe9d5d25 100644
--- a/1991/brnstnd/.gitignore
+++ b/1991/brnstnd/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
brnstnd
brnstnd.orig
diff --git a/1991/brnstnd/Makefile b/1991/brnstnd/Makefile
index 02d8833b7..f86ae4779 100644
--- a/1991/brnstnd/Makefile
+++ b/1991/brnstnd/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1991/brnstnd/README.md b/1991/brnstnd/README.md
index 14c69fd16..256375e15 100644
--- a/1991/brnstnd/README.md
+++ b/1991/brnstnd/README.md
@@ -16,7 +16,7 @@ make all
## Judges' remarks:
-For info on more examples, read the [sorta.README.md](sorta.README.md) file.
+For info on more examples, read the [sorta.README.html](sorta.README.html) web page.
The author wished to win the "most useful program" award and documented this in
the source code. The judges were unmoved by this blatant attempt to influence
@@ -92,7 +92,7 @@ delimiters.
- `>`: pop top two elements of `i` stack, compare, push back 1 or 0 as in C
- `&`: pop top two elements of `i` stack, NAND, push back bitwise result
Note that NAND is sufficient to construct all bitwise operations, as
- demonstrated by `icalc` in [sorta.README.md](sorta.README.md).
+ demonstrated by `icalc` in [sorta.README.html](sorta.README.html).
### System operations
@@ -156,7 +156,7 @@ that SORTA is a scripting language.
Another nice feature is that the SORTA language itself encourages you to write
not merely obfuscated but plain incomprehensible scripts (like the [examples in
-sorta.README.md](sorta.README.md) ---after working with the language for a
+sorta.README.html](sorta.README.html) ---after working with the language for a
while, I guess I can read it pretty easily, but I also think FORTH is a
beautiful language). The numbers running around everywhere will make people
think of ASCII, even though the code is not ASCII-dependent. What's your first
diff --git a/1991/brnstnd/index.html b/1991/brnstnd/index.html
index 420adaba6..38c21018d 100644
--- a/1991/brnstnd/index.html
+++ b/1991/brnstnd/index.html
@@ -45,6 +45,8 @@
← ant↑ 1991 ↑buzzard →
+ C code
+ MakefileInventory
+href="sorta.README.html">sorta.README.html web page.
The author wished to win the “most useful program” award and
documented this in the source code. The judges were unmoved by this
blatant attempt to influence the contest and rejected this idea… so we
@@ -216,7 +219,7 @@ compare, push back 1 or 0 as in C
&: pop top two elements of i stack,
NAND, push back bitwise result Note that NAND is sufficient to construct
all bitwise operations, as demonstrated by icalc in sorta.README.md.
+href="sorta.README.html">sorta.README.html.
System operations
@@ -293,7 +296,7 @@ figure out what the arrays are used for, let alone that SORTA is a
scripting language.
Another nice feature is that the SORTA language itself encourages you
to write not merely obfuscated but plain incomprehensible scripts (like
-the examples in sorta.README.md —after
+the examples in sorta.README.html —after
working with the language for a while, I guess I can read it pretty
easily, but I also think FORTH is a beautiful language). The numbers
running around everywhere will make people think of ASCII, even though
diff --git a/1991/brnstnd/sorta.README.html b/1991/brnstnd/sorta.README.html
index a6bb6e720..fe495042c 100644
--- a/1991/brnstnd/sorta.README.html
+++ b/1991/brnstnd/sorta.README.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/1991/buzzard/.entry.json b/1991/buzzard/.entry.json
index 646152d03..e70bbe7b6 100644
--- a/1991/buzzard/.entry.json
+++ b/1991/buzzard/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1991_buzzard.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1991/buzzard/.gitignore b/1991/buzzard/.gitignore
index 21e2dc0a2..c67544807 100644
--- a/1991/buzzard/.gitignore
+++ b/1991/buzzard/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
buzzard
buzzard.alt
diff --git a/1991/buzzard/Makefile b/1991/buzzard/Makefile
index 26d144f12..9dc24fbb9 100644
--- a/1991/buzzard/Makefile
+++ b/1991/buzzard/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1991/buzzard/README.md b/1991/buzzard/README.md
index 65e9691a6..0a43f1636 100644
--- a/1991/buzzard/README.md
+++ b/1991/buzzard/README.md
@@ -16,8 +16,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [1991 buzzard in
-bugs.md](/bugs.md#1991-buzzard).
+For more detailed information see [1991 buzzard bugs](../../bugs.html#1991_buzzard).
## To use:
diff --git a/1991/buzzard/index.html b/1991/buzzard/index.html
index d1dd5b631..bf2c0e868 100644
--- a/1991/buzzard/index.html
+++ b/1991/buzzard/index.html
@@ -45,6 +45,8 @@
← brnstnd↑ 1991 ↑cdupont →
+ C code
+ MakefileInventory
+Applegate Location: US -
+United States of America (United States)
diff --git a/1991/dds/.entry.json b/1991/dds/.entry.json
index 804a5559d..95a7cd558 100644
--- a/1991/dds/.entry.json
+++ b/1991/dds/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1991_dds.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1991/dds/.gitignore b/1991/dds/.gitignore
index 84beb7d96..fa0aa84c2 100644
--- a/1991/dds/.gitignore
+++ b/1991/dds/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
a.c
a.out
diff --git a/1991/dds/Makefile b/1991/dds/Makefile
index 03eb3f04d..d742e32fa 100644
--- a/1991/dds/Makefile
+++ b/1991/dds/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1991/dds/README.md b/1991/dds/README.md
index a7faf43b1..958cb0ec6 100644
--- a/1991/dds/README.md
+++ b/1991/dds/README.md
@@ -43,9 +43,8 @@ C programs by way of an obfuscated algorithm.
## Author's remarks:
-This program is a companion to the [DDS-BASIC interpreter
-program](/1990/dds/README.md) that was submitted to [the contest in
-1990](/years.html#1990). This compiles BASIC programs into compilable C code
+This program is a companion to the [1990/dds](../../1990/dds/index.html)
+1990 DDS-BASIC interpreter program. This compiles BASIC programs into compilable C code
and then compiles it. The input format is almost identical to the input format
of the DDS-BASIC interpreter. The program needs an executable C compiler called
`cc` in your path in order to work.
diff --git a/1991/dds/index.html b/1991/dds/index.html
index 452884cb6..ad449d4f5 100644
--- a/1991/dds/index.html
+++ b/1991/dds/index.html
@@ -45,6 +45,8 @@
← davidguy↑ 1991 ↑fine →
+ C code
+ MakefileInventory
+Spinellis Location: GR -
+Hellenic Republic (Greece)
@@ -148,12 +151,11 @@ What about other types of files?
programs by way of an obfuscated algorithm.
Author’s remarks:
This program is a companion to the DDS-BASIC interpreter program that was
-submitted to the contest in 1990. This
-compiles BASIC programs into compilable C code and then compiles it. The
-input format is almost identical to the input format of the DDS-BASIC
-interpreter. The program needs an executable C compiler called
-cc in your path in order to work.
+href="../../1990/dds/index.html">1990/dds 1990 DDS-BASIC interpreter
+program. This compiles BASIC programs into compilable C code and then
+compiles it. The input format is almost identical to the input format of
+the DDS-BASIC interpreter. The program needs an executable C compiler
+called cc in your path in order to work.
Program commands:
variable names A to Z
diff --git a/1991/fine/.entry.json b/1991/fine/.entry.json
index a907be764..2651236e3 100644
--- a/1991/fine/.entry.json
+++ b/1991/fine/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1991_fine.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1991/fine/.gitignore b/1991/fine/.gitignore
index edbf8c1c1..140ff1346 100644
--- a/1991/fine/.gitignore
+++ b/1991/fine/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
fine
fine.orig
diff --git a/1991/fine/Makefile b/1991/fine/Makefile
index cb2424932..37af8b85c 100644
--- a/1991/fine/Makefile
+++ b/1991/fine/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1991/fine/README.md b/1991/fine/README.md
index f06d4d537..e34dc9ca6 100644
--- a/1991/fine/README.md
+++ b/1991/fine/README.md
@@ -19,7 +19,7 @@ echo text | ./fine
```
Make sure that you read the last line backwards! Credit goes to [Merlyn LeRoy (Brian
-Westley)](/authors.html#Brian_Westley) for that. See his 22 August 1992
+Westley)](../../authors.html#Brian_Westley) for that. See his 22 August 1992
[rec.puzzles
post](https://groups.google.com/g/rec.puzzles/c/z_xVPMRVBtg/m/lyEYSAeBD4gJ).
Some others come from his 1989 entry as well. To
diff --git a/1991/fine/index.html b/1991/fine/index.html
index bb60d9ecf..90a9f9988 100644
--- a/1991/fine/index.html
+++ b/1991/fine/index.html
@@ -45,6 +45,8 @@
← dds↑ 1991 ↑rince →
+ C code
+ MakefileInventory
Look at the README.md file for the given winning entry for
-information on how to compile it and how to run the winning program.
-Look at the winning source and try to figure how it does what it does!
-You may then wish to look at the Author’s remarks for even more
+
View the index.html web page for the given winning entry
+for information on how on how to compile it and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
details.
Instructions for use: Run make to compile entries. It is
possible that on BSD or non-Unix systems the Makefile needs to be
@@ -126,22 +127,19 @@ changed.
the rest. We selected 3 entries that were, in our opinion, went beyond
all of the other entries this year:
Name and address information are separated from the actual program
prior to judging. This eliminates any chance that we would bias our
judging for/against any person or group. In the end, we are surprised as
you are to see who has won. Even so, it is worth noting that Brian
-Westley has submitted a winning entry for the past 5 years!
+href="../authors.html#Brian_Westley">Brian Westley has submitted a
+winning entry for the past 5 years!
A few
notes regarding possible changes to the contest:
We did not give awards to some traditional contest categories such as
@@ -188,10 +186,10 @@ judges@toad.com
Final Comments
IMPORTANT NOTE: The email addresses found above are
for historical purposes only, and should not be used today. See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
Credits:
We would like to thank Barbara Frezza for her role as official chef
of the contest. Landon Noll appreciated the opportunity to serve as
@@ -201,9 +199,9 @@ assistant pizza chef. Larry Bassel was official taste tester. Yummo!
Reserved. This work is licensed under a Creative Commons
CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International license.
-If you do use this work in some form, the IOCCC
+If you do use this work in some form, the IOCCC
judges would appreciate (but does not require) if you were to send us a note about your use.
+href="../contact.html">send us a note about your use.
diff --git a/1991/rince/.entry.json b/1991/rince/.entry.json
index d289f309e..e5872f602 100644
--- a/1991/rince/.entry.json
+++ b/1991/rince/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "1991_rince.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1991/rince/.gitignore b/1991/rince/.gitignore
index 2fc6fe6c3..8a24744e7 100644
--- a/1991/rince/.gitignore
+++ b/1991/rince/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1991/rince/Makefile b/1991/rince/Makefile
index b2c578865..e36a30b83 100644
--- a/1991/rince/Makefile
+++ b/1991/rince/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1991/rince/index.html b/1991/rince/index.html
index c5eabb055..2449d3af8 100644
--- a/1991/rince/index.html
+++ b/1991/rince/index.html
@@ -45,6 +45,8 @@
← fine↑ 1991 ↑westley →
+ C code
+ MakefileInventory
+Bonfield Location: GB -
+United Kingdom of Great Britain and Northern Ireland
+(United Kingdom)
diff --git a/1991/westley/.entry.json b/1991/westley/.entry.json
index d0aa45081..49f647a9d 100644
--- a/1991/westley/.entry.json
+++ b/1991/westley/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "1991_westley.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1991/westley/.gitignore b/1991/westley/.gitignore
index abf04d940..3f662725d 100644
--- a/1991/westley/.gitignore
+++ b/1991/westley/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1991/westley/Makefile b/1991/westley/Makefile
index 97c63d869..7a854c017 100644
--- a/1991/westley/Makefile
+++ b/1991/westley/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1991/westley/README.md b/1991/westley/README.md
index 59a897613..caaca609b 100644
--- a/1991/westley/README.md
+++ b/1991/westley/README.md
@@ -16,7 +16,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [1991 westley in bugs.md](/bugs.md#1991-westley).
+For more detailed information see [1991 westley bugs](../../bugs.html#1991_westley).
## To use:
@@ -152,7 +152,7 @@ Why is win better than draw? Because everyone knows how to draw:
> Jennifer: Because it's a boring game. It's always a tie.\
> Falken: Exactly. There's no way to win. The game itself is pointless. But back
at the [International Obfuscated C Code Contest judges'
-room](https://www.ioccc.org/https://www.ioccc.org/judges.html) they believe that
+room](../../judges.html) they believe that
you can win tic-tac-toe, that there can be acceptable draws.
This is supposed to happen. As is written in the
diff --git a/1991/westley/index.html b/1991/westley/index.html
index 275cbde0e..372a5c40b 100644
--- a/1991/westley/index.html
+++ b/1991/westley/index.html
@@ -45,6 +45,8 @@
← rince↑ 1991 ↑last entry
+ C code
+ MakefileInventory
NOTE: we have provided a script to perform the below procedure which
we include for the interested. See the try section if
@@ -223,10 +226,9 @@ Jennifer: No.
Falken: Why?
Jennifer: Because it’s a boring game. It’s always a tie.
Falken: Exactly. There’s no way to win. The game itself is pointless.
-But back at the International
-Obfuscated C Code Contest judges’ room they believe that you can win
-tic-tac-toe, that there can be acceptable draws.
diff --git a/1992/albert/.entry.json b/1992/albert/.entry.json
index b097caf5f..c78938af5 100644
--- a/1992/albert/.entry.json
+++ b/1992/albert/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "1992_albert.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1992/albert/.gitignore b/1992/albert/.gitignore
index a9ca581d2..593924084 100644
--- a/1992/albert/.gitignore
+++ b/1992/albert/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
albert
albert.alt
diff --git a/1992/albert/Makefile b/1992/albert/Makefile
index 0357c1ba3..eba77161a 100644
--- a/1992/albert/Makefile
+++ b/1992/albert/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1992/albert/README.md b/1992/albert/README.md
index 2d5b0280e..f84cee22b 100644
--- a/1992/albert/README.md
+++ b/1992/albert/README.md
@@ -16,7 +16,7 @@ The current status of this entry is:
STATUS: known bug - please help us fix
```
-For more detailed information see [1992 albert in bugs.md](/bugs.md#1992-albert).
+For more detailed information see [1992 albert bugs](../../bugs.html#1992_albert).
## To use:
diff --git a/1992/albert/index.html b/1992/albert/index.html
index ef9b16b13..69e2e822b 100644
--- a/1992/albert/index.html
+++ b/1992/albert/index.html
@@ -45,6 +45,8 @@
← adrian↑ 1992 ↑ant →
+ C code
+ MakefileInventory
diff --git a/1992/buzzard.2/.entry.json b/1992/buzzard.2/.entry.json
index 91b5810ad..805ec7a63 100644
--- a/1992/buzzard.2/.entry.json
+++ b/1992/buzzard.2/.entry.json
@@ -147,7 +147,7 @@
},
{
"file_path" : "1992_buzzard.2.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1992/buzzard.2/.gitignore b/1992/buzzard.2/.gitignore
index 90969134e..d8d545bdb 100644
--- a/1992/buzzard.2/.gitignore
+++ b/1992/buzzard.2/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
buzzard.2
buzzard.2.alt
diff --git a/1992/buzzard.2/Makefile b/1992/buzzard.2/Makefile
index 0697f0a5b..eaec349e5 100644
--- a/1992/buzzard.2/Makefile
+++ b/1992/buzzard.2/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1992/buzzard.2/README.md b/1992/buzzard.2/README.md
index 5985703b4..953d3effd 100644
--- a/1992/buzzard.2/README.md
+++ b/1992/buzzard.2/README.md
@@ -138,7 +138,8 @@ For more information on what you can do once you've piped [third](third) into
first, type `help` and consult
[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) manuals for
further reference. Six sample THIRD programs are included in the files
-demo[1-6].th. [buzzard.2.README.md](buzzard.2.README.md) has more information.
+`demo1.th` through `demo6.th`. See [buzzard.2.README.html](buzzard.2.README.html)
+for more information.
Keep in mind that you are still running `first`, and are for the most part
limited by `first`'s tokenizer (notably, unknown words will attempt to be parsed
diff --git a/1992/buzzard.2/buzzard.2.README.html b/1992/buzzard.2/buzzard.2.README.html
index 0c6a6902d..72e940821 100644
--- a/1992/buzzard.2/buzzard.2.README.html
+++ b/1992/buzzard.2/buzzard.2.README.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/1992/buzzard.2/buzzard.2.design.html b/1992/buzzard.2/buzzard.2.design.html
index fa26ec252..177691451 100644
--- a/1992/buzzard.2/buzzard.2.design.html
+++ b/1992/buzzard.2/buzzard.2.design.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
@@ -202,8 +206,8 @@ obfuscated, due to sheer kindness on the author’s part.
href="third">third into first, type help and consult FORTH
manuals for further reference. Six sample THIRD programs are included in
-the files demo[1-6].th. buzzard.2.README.md has more
+the files demo1.th through demo6.th. See buzzard.2.README.html for more
information.
Keep in mind that you are still running first, and are
for the most part limited by first’s tokenizer (notably,
diff --git a/1992/gson/.entry.json b/1992/gson/.entry.json
index 52825152d..4eb24ac0d 100644
--- a/1992/gson/.entry.json
+++ b/1992/gson/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "1992_gson.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1992/gson/.gitignore b/1992/gson/.gitignore
index 7b9e23d2b..5b17df80e 100644
--- a/1992/gson/.gitignore
+++ b/1992/gson/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
ag
gson
diff --git a/1992/gson/Makefile b/1992/gson/Makefile
index 13bd1f0c3..8d147c289 100644
--- a/1992/gson/Makefile
+++ b/1992/gson/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1992/gson/README.md b/1992/gson/README.md
index 6d23d86a7..af0278505 100644
--- a/1992/gson/README.md
+++ b/1992/gson/README.md
@@ -16,7 +16,7 @@ The current status of this entry is:
STATUS: uses gets() - change to fgets() if possible
```
-For more detailed information see [1992 gson in bugs.md](/bugs.md#1992-gson).
+For more detailed information see [1992 gson bugs](../../bugs.html#1992_gson).
## To use:
diff --git a/1992/gson/index.html b/1992/gson/index.html
index 781e746e9..790b2266f 100644
--- a/1992/gson/index.html
+++ b/1992/gson/index.html
@@ -45,6 +45,8 @@
← buzzard.2↑ 1992 ↑imc →
+ C code
+ MakefileInventory
Look at the README.md file for the given winning entry for
-information on how to compile it and how to run the winning program.
-Look at the winning source and try to figure how it does what it does!
-You may then wish to look at the Author’s remarks for even more
+
View the index.html web page for the given winning entry
+for information on how on how to compile it and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
details.
Use make to compile entries. It is possible that on BSD
or non-Unix systems the Makefile needs to be changed. See the Makefile
@@ -150,8 +151,8 @@ libraries for the first time. We now consider ANSI C compilers to be the
prior to judging. This eliminates any chance that we would bias our
judging for/against any person or group. In the end, we are surprised as
you are to see who has won. Even so, it is worth noting that Brian
-Westley has submitted a winning entry for the past 6 years!
+href="../authors.html#Brian_Westley">Brian Westley has submitted a
+winning entry for the past 6 years!
A few notes regarding
future contests:
We did not give awards to some traditional contest categories such as
@@ -177,10 +178,10 @@ used.
Final Comments
IMPORTANT NOTE: The email addresses found above are
for historical purposes only, and should not be used today. See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
Credits:
We would like to thank Barbara Frezza for her role as official chef
of the contest. Landon Noll and Larry Bassel appreciated the opportunity
@@ -190,9 +191,9 @@ to serve as official taste testers. Yummo!
Rights Reserved. This work is licensed under a Creative Commons
CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International license.
-If you do use this work in some form, the IOCCC
+If you do use this work in some form, the IOCCC
judges would appreciate (but does not require) if you were to send us a note about your use.
+href="../contact.html">send us a note about your use.
diff --git a/1992/kivinen/.entry.json b/1992/kivinen/.entry.json
index 2b7eb8b15..4cc2c8fd1 100644
--- a/1992/kivinen/.entry.json
+++ b/1992/kivinen/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1992_kivinen.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1992/kivinen/.gitignore b/1992/kivinen/.gitignore
index 301d96490..ec479c5b2 100644
--- a/1992/kivinen/.gitignore
+++ b/1992/kivinen/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1992/kivinen/Makefile b/1992/kivinen/Makefile
index b58b90ee6..771156378 100644
--- a/1992/kivinen/Makefile
+++ b/1992/kivinen/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1992/kivinen/README.md b/1992/kivinen/README.md
index 38d9c2a4d..8bf692540 100644
--- a/1992/kivinen/README.md
+++ b/1992/kivinen/README.md
@@ -19,7 +19,7 @@ The current status of this entry is:
STATUS: known bug - please help us fix
```
-For more detailed information see [1992 kivinen in bugs.md](/bugs.md#1992-kivinen).
+For more detailed information see [1992 kivinen bugs](../../bugs.html#1992_kivinen).
## To use:
diff --git a/1992/kivinen/index.html b/1992/kivinen/index.html
index 9a5104472..0b0773bd0 100644
--- a/1992/kivinen/index.html
+++ b/1992/kivinen/index.html
@@ -45,6 +45,8 @@
← imc↑ 1992 ↑lush →
+ C code
+ MakefileInventory
./kivinen.alt
diff --git a/1992/lush/.entry.json b/1992/lush/.entry.json
index 511ec9f85..1369ee937 100644
--- a/1992/lush/.entry.json
+++ b/1992/lush/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1992_lush.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1992/lush/.gitignore b/1992/lush/.gitignore
index e31b3e10b..0fc6b13b8 100644
--- a/1992/lush/.gitignore
+++ b/1992/lush/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1992/lush/Makefile b/1992/lush/Makefile
index 132b2ef63..ef018df37 100644
--- a/1992/lush/Makefile
+++ b/1992/lush/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1992/lush/README.md b/1992/lush/README.md
index a531701a9..1ae9f0ba2 100644
--- a/1992/lush/README.md
+++ b/1992/lush/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: doesn't work with some compilers - please provide alternative code or fix for more compilers
```
-For more detailed information see [1992 lush in bugs.md](/bugs.md#1992-lush).
+For more detailed information see [1992 lush bugs](../../bugs.html#1992_lush).
## To use:
diff --git a/1992/lush/index.html b/1992/lush/index.html
index 4312a84ac..04b7f1983 100644
--- a/1992/lush/index.html
+++ b/1992/lush/index.html
@@ -45,6 +45,8 @@
← kivinen↑ 1992 ↑marangon →
+ C code
+ MakefileInventory
+Marangoni Location: IT -
+Italian Republic (Italy)
diff --git a/1992/nathan/.entry.json b/1992/nathan/.entry.json
index f0ff2c2ba..63be79721 100644
--- a/1992/nathan/.entry.json
+++ b/1992/nathan/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1992_nathan.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1992/nathan/.gitignore b/1992/nathan/.gitignore
index e11bd0b9f..47685de71 100644
--- a/1992/nathan/.gitignore
+++ b/1992/nathan/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
barfoof.c
foobarf.c
diff --git a/1992/nathan/Makefile b/1992/nathan/Makefile
index 15fce1e19..741dcd576 100644
--- a/1992/nathan/Makefile
+++ b/1992/nathan/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1992/nathan/README.md b/1992/nathan/README.md
index ac48c601a..0f61b669e 100644
--- a/1992/nathan/README.md
+++ b/1992/nathan/README.md
@@ -53,7 +53,7 @@ The US International Traffic in Arms Regulations controls certain exportations
going out of the United States. The U.S. Munitions List gives the specific
categories of restricted exports. Because this entry at one time appeared to
fall under this restricted category, the judges originally were not able to
-distribute winners outside of the US.
+distribute some winning entries outside of the US.
Nathan Sidwell stated that he was willing to distribute the winning source. To
read HIS instructions of how to obtain his winning program one was able to run:
@@ -66,7 +66,7 @@ make nathan
to learn how to get a copy of the code.
See the 1992/nathan.c file in the
-[archive/historic/archive-1992.tar.bz2](/archive/historic/archive-1992.tar.bz2)
+[archive/historic/archive-1992.tar.bz2](../../archive/historic/archive-1992.tar.bz2)
tarball if you're interested in this file.
@@ -75,7 +75,7 @@ tarball if you're interested in this file.
I think the situation showed just how ridiculous US crypto regulations really
were/are. Certain US federal officials can get away with shipping arms to
certain nations in apparent violation of US laws, but I personally can't
-re-distribute a program contest winner to the network!
+re-distribute a program contest entry to the network!
## Author's remarks:
diff --git a/1992/nathan/index.html b/1992/nathan/index.html
index 443bc949f..ebd05d65c 100644
--- a/1992/nathan/index.html
+++ b/1992/nathan/index.html
@@ -45,6 +45,8 @@
← marangon↑ 1992 ↑vern →
+ C code
+ MakefileInventory
+Sidwell Location: GB -
+United Kingdom of Great Britain and Northern Ireland
+(United Kingdom)
@@ -157,7 +161,8 @@ notes from the judges about this entry:
exportations going out of the United States. The U.S. Munitions List
gives the specific categories of restricted exports. Because this entry
at one time appeared to fall under this restricted category, the judges
-originally were not able to distribute winners outside of the US.
+originally were not able to distribute some winning entries outside of
+the US.
Nathan Sidwell stated that he was willing to distribute the winning
source. To read HIS instructions of how to obtain his winning program
one was able to run:
@@ -165,13 +170,13 @@ one was able to run:
./nathan
to learn how to get a copy of the code.
See the 1992/nathan.c file in the archive/historic/archive-1992.tar.bz2
+href="../../archive/historic/archive-1992.tar.bz2">archive/historic/archive-1992.tar.bz2
tarball if you’re interested in this file.
Personal note from chongo:
I think the situation showed just how ridiculous US crypto
regulations really were/are. Certain US federal officials can get away
with shipping arms to certain nations in apparent violation of US laws,
-but I personally can’t re-distribute a program contest winner to the
+but I personally can’t re-distribute a program contest entry to the
network!
Author’s remarks:
Program use
diff --git a/1992/vern/.entry.json b/1992/vern/.entry.json
index 854bc41d1..75e195846 100644
--- a/1992/vern/.entry.json
+++ b/1992/vern/.entry.json
@@ -35,7 +35,7 @@
},
{
"file_path" : "1992_vern.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1992/vern/.gitignore b/1992/vern/.gitignore
index cc426ac36..a866359ca 100644
--- a/1992/vern/.gitignore
+++ b/1992/vern/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1992/vern/Makefile b/1992/vern/Makefile
index 563c0d551..03bc1c5f2 100644
--- a/1992/vern/Makefile
+++ b/1992/vern/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1992/vern/README.md b/1992/vern/README.md
index 88cd05a0e..19b185153 100644
--- a/1992/vern/README.md
+++ b/1992/vern/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [1992 vern in bugs.md](/bugs.md#1992-vern).
+For more detailed information see [1992 vern bugs](../../bugs.html#1992_vern).
## To use:
diff --git a/1992/vern/index.html b/1992/vern/index.html
index 2820d5ce0..468e055d1 100644
--- a/1992/vern/index.html
+++ b/1992/vern/index.html
@@ -45,6 +45,8 @@
← nathan↑ 1992 ↑westley →
+ C code
+ MakefileInventory
@@ -69,6 +71,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/1993/Makefile b/1993/Makefile
index 3a70b5706..c6fef41a2 100644
--- a/1993/Makefile
+++ b/1993/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1993/README.md b/1993/README.md
index 7c74d1e8b..59b8e4227 100644
--- a/1993/README.md
+++ b/1993/README.md
@@ -1,15 +1,15 @@
# Tenth International Obfuscated C Code Contest
-Look at the README.md file for the given winning entry for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
Use `make` to compile entries. It is possible that on BSD or non-Unix
-systems the Makefile needs to be changed. See the Makefiles and/or README.md
-files for details.
+systems the Makefile needs to be changed. See the Makefiles and/or `README.md`
+(that are used to build the `index.html` web page) files for details.
-Read over the Makefile and/or README.md files for compile/build issues. Your
+Read over the Makefile and/or `README.md` files for compile/build issues. Your
system may require certain changes (add or remove a library, add or remove a
`#define` i.e. the `-D` flag).
@@ -20,7 +20,7 @@ judging for/against any person or group.
This year was the first year that ANSI C was the default. Use of
classic K&R C was allowed so long as ANSI C compilers could still
compile the entry. If you do not have an ANSI C compiler, you may
-not be able to compile the winners, sorry!
+not be able to compile the entry, sorry!
## A few notes regarding future contests:
@@ -52,9 +52,9 @@ us a line. We enjoy seeing who, where and how the contest is used.
**IMPORTANT NOTE**: The email addresses found above are for historical
purposes only, and should not be used today. See
-[contact.html](/contact.html) for up to date contact details
+[contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
### Credits:
@@ -69,5 +69,5 @@ to serve as official taste testers. And as usual, the food was excellent.
Copyright (c) 1993,2023, Landon Curt Noll and Larry Bassel. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/1993/ant/.entry.json b/1993/ant/.entry.json
index 60fcce442..4dc640f69 100644
--- a/1993/ant/.entry.json
+++ b/1993/ant/.entry.json
@@ -67,7 +67,7 @@
},
{
"file_path" : "1993_ant.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1993/ant/.gitignore b/1993/ant/.gitignore
index 7d487a462..541916dc9 100644
--- a/1993/ant/.gitignore
+++ b/1993/ant/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
ag
ag.txt
diff --git a/1993/ant/Makefile b/1993/ant/Makefile
index 5d38a6a88..e7336aa10 100644
--- a/1993/ant/Makefile
+++ b/1993/ant/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1993/ant/README.md b/1993/ant/README.md
index 70dfae0f6..4453fcc95 100644
--- a/1993/ant/README.md
+++ b/1993/ant/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: missing file - please provide it
```
-For more detailed information see [1993 ant in bugs.md](/bugs.md#1993-ant).
+For more detailed information see [1993 ant bugs](../../bugs.html#1993_ant).
## To use:
diff --git a/1993/ant/index.html b/1993/ant/index.html
index d58d021e0..f6119842c 100644
--- a/1993/ant/index.html
+++ b/1993/ant/index.html
@@ -45,6 +45,8 @@
first entry↑ 1993 ↑cmills →
+ C code
+ MakefileInventory
diff --git a/1993/cmills/.entry.json b/1993/cmills/.entry.json
index 9c0043877..3e3be3bd5 100644
--- a/1993/cmills/.entry.json
+++ b/1993/cmills/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1993_cmills.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1993/cmills/.gitignore b/1993/cmills/.gitignore
index fc3308bbb..e928ba4df 100644
--- a/1993/cmills/.gitignore
+++ b/1993/cmills/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
cmills
cmills.alt
diff --git a/1993/cmills/Makefile b/1993/cmills/Makefile
index b4c2fd3c8..2c40dbf2f 100644
--- a/1993/cmills/Makefile
+++ b/1993/cmills/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1993/cmills/README.md b/1993/cmills/README.md
index 992cc89c9..105fe41da 100644
--- a/1993/cmills/README.md
+++ b/1993/cmills/README.md
@@ -10,8 +10,8 @@ make alt
NOTE: this entry requires the `X11/Xlib.h` header file and the X11 library to
compile. If you're under macOS and do not know how to install and use X11
-programs see [FAQ 3.7 - How do I compile and use on macOS, an IOCCC winner that
-requires X11?](/faq.md#faq3_7).
+programs see [FAQ 3.7 - How do I compile and use on macOS, an IOCCC entry that
+requires X11?](../../faq.html#X11macos).
To configure how many microseconds to sleep before updates try:
@@ -30,7 +30,7 @@ The current status of this entry is:
STATUS: known bug - please help us fix
```
-For more detailed information see [1993 cmills in bugs.md](/bugs.md#1993-cmills).
+For more detailed information see [1993 cmills bugs](../../bugs.html#1993_cmills).
## To use:
diff --git a/1993/cmills/index.html b/1993/cmills/index.html
index bbec13eeb..df581ed6d 100644
--- a/1993/cmills/index.html
+++ b/1993/cmills/index.html
@@ -45,6 +45,8 @@
← ant↑ 1993 ↑dgibson →
+ C code
+ MakefileInventory
diff --git a/1993/ejb/.entry.json b/1993/ejb/.entry.json
index 12e559a62..dfa4750b3 100644
--- a/1993/ejb/.entry.json
+++ b/1993/ejb/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "1993_ejb.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1993/ejb/.gitignore b/1993/ejb/.gitignore
index aac8c98dc..eed2e46ed 100644
--- a/1993/ejb/.gitignore
+++ b/1993/ejb/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
ejb
ejb.orig
diff --git a/1993/ejb/Makefile b/1993/ejb/Makefile
index cdd3ed3f7..70983ae64 100644
--- a/1993/ejb/Makefile
+++ b/1993/ejb/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1993/ejb/README.md b/1993/ejb/README.md
index 57208d11e..a6cc33a60 100644
--- a/1993/ejb/README.md
+++ b/1993/ejb/README.md
@@ -31,8 +31,8 @@ level a value from -128 to 127
A negative argument plays the patience puzzle. An argument
greater than 0 plays the Tower of Hanoi puzzle. In either case
the absolute value of the argument specifies the size of the
-respective puzzle. Refer to the files [hanoi.md](hanoi.md) and
-[patience.md](patience.md) for more information on these puzzles.
+respective puzzle. Refer to the web pages [hanoi.html](hanoi.html) and
+[patience.html](patience.html) for more information on these puzzles.
Of course, you need a different kind of "patience" if you give
the argument 127 to this program and want to see it finish!
diff --git a/1993/ejb/hanoi.html b/1993/ejb/hanoi.html
index dd791b77f..bb95c35b3 100644
--- a/1993/ejb/hanoi.html
+++ b/1993/ejb/hanoi.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
A negative argument plays the patience puzzle. An argument greater
than 0 plays the Tower of Hanoi puzzle. In either case the absolute
value of the argument specifies the size of the respective puzzle. Refer
-to the files hanoi.md and patience.md for more information on these
+to the web pages hanoi.html and patience.html for more information on these
puzzles.
Of course, you need a different kind of “patience” if you give the
argument 127 to this program and want to see it finish!
Look at the README.md file for the given winning entry for
-information on how to compile it and how to run the winning program.
-Look at the winning source and try to figure how it does what it does!
-You may then wish to look at the Author’s remarks for even more
+
View the index.html web page for the given winning entry
+for information on how on how to compile it and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
details.
Use make to compile entries. It is possible that on BSD
or non-Unix systems the Makefile needs to be changed. See the Makefiles
-and/or README.md files for details.
-
Read over the Makefile and/or README.md files for compile/build
-issues. Your system may require certain changes (add or remove a
-library, add or remove a #define i.e. the -D
-flag).
+and/or README.md (that are used to build the
+index.html web page) files for details.
+
Read over the Makefile and/or README.md files for
+compile/build issues. Your system may require certain changes (add or
+remove a library, add or remove a #define i.e. the
+-D flag).
Name and address information are separated from the actual program
prior to judging. This eliminates any chance that we would bias our
judging for/against any person or group.
This year was the first year that ANSI C was the default. Use of
classic K&R C was allowed so long as ANSI C compilers could still
compile the entry. If you do not have an ANSI C compiler, you may not be
-able to compile the winners, sorry!
+able to compile the entry, sorry!
A few notes regarding
future contests:
Be sure to wait until the 1994 rules are posted before submitting
@@ -155,10 +157,10 @@ used.
Final Comments
IMPORTANT NOTE: The email addresses found above are
for historical purposes only, and should not be used today. See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
Credits:
We would like to thank Barbara Frezza for her role as official chef
of the contest. Landon Noll and Larry Bassel appreciated the opportunity
@@ -169,9 +171,9 @@ excellent.
Rights Reserved. This work is licensed under a Creative Commons
CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International license.
-If you do use this work in some form, the IOCCC
+If you do use this work in some form, the IOCCC
judges would appreciate (but does not require) if you were to send us a note about your use.
+href="../contact.html">send us a note about your use.
diff --git a/1993/jonth/.entry.json b/1993/jonth/.entry.json
index 9352c1e95..efe8d2a79 100644
--- a/1993/jonth/.entry.json
+++ b/1993/jonth/.entry.json
@@ -35,7 +35,7 @@
},
{
"file_path" : "1993_jonth.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1993/jonth/.gitignore b/1993/jonth/.gitignore
index a75a94c1a..ab31ed002 100644
--- a/1993/jonth/.gitignore
+++ b/1993/jonth/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1993/jonth/Makefile b/1993/jonth/Makefile
index d8fa632a8..0d437c750 100644
--- a/1993/jonth/Makefile
+++ b/1993/jonth/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1993/jonth/index.html b/1993/jonth/index.html
index 60ac85a09..50e5a5c29 100644
--- a/1993/jonth/index.html
+++ b/1993/jonth/index.html
@@ -45,6 +45,8 @@
← ejb↑ 1993 ↑leo →
+ C code
+ MakefileInventory
diff --git a/1993/rince/.entry.json b/1993/rince/.entry.json
index 1f2511397..0565e6e04 100644
--- a/1993/rince/.entry.json
+++ b/1993/rince/.entry.json
@@ -91,7 +91,7 @@
},
{
"file_path" : "1993_rince.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1993/rince/.gitignore b/1993/rince/.gitignore
index 6154cd927..889b31a0b 100644
--- a/1993/rince/.gitignore
+++ b/1993/rince/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1993/rince/Makefile b/1993/rince/Makefile
index bf1feebff..a0db231d5 100644
--- a/1993/rince/Makefile
+++ b/1993/rince/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1993/rince/README.md b/1993/rince/README.md
index cb1f3252d..3d93ada03 100644
--- a/1993/rince/README.md
+++ b/1993/rince/README.md
@@ -17,7 +17,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [1993 rince in bugs.md](/bugs.md#1993-rince).
+For more detailed information see [bugs report with 1993/rince](../../bugs.html#1993_rince).
## To use:
@@ -77,8 +77,8 @@ The author has provided several CABBAGE files for your amusement:
[Breakout](https://en.wikipedia.org/wiki/Breakout_(video_game). Keys are `,`
for left, `/` for right, and `.` for 'fire the ball'.
-- [rince.data2](rince.data2) plays the old [Rince](/1991/rince/rince.c)
-([README.md](/1991/rince/README.md) game from IOCCC 1991.
+- [rince.data2](rince.data2) plays the old [James Bonfield](../../authors.html#James_Bonfield)'s
+([1991/rince](../../1991/rince/index.html) game from IOCCC 1991.
- [rince.data3](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
@@ -86,7 +86,7 @@ considered finished when all the `m`s are then `M`s.
- [rince.data4](rince.data4) Sokoban screen 13. Same rules as above.
-For a brief design description, see [design.md](design.md).
+For a brief design description, see [design.html](design.html).
### WARNING for SunOS 4.1.x:
@@ -172,7 +172,7 @@ portable between them than their `poll()` call.
### Obfuscation
I have tried to use as many different obfuscation techniques, including
-some of which (such as `sizeof` confusion) I have not seen in any winners
+some of which (such as `sizeof` confusion) I have not seen in any entries
(hmmm - perhaps there's a reason for that...) so far. Also, very poor
structure (yes, I use `goto`'s) has led to apparently having an `fgets()` as
the last line of main. Note that I have still tried to aim at least some
diff --git a/1993/rince/design.html b/1993/rince/design.html
index 7010609a3..a8f422ce4 100644
--- a/1993/rince/design.html
+++ b/1993/rince/design.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
@@ -169,8 +173,8 @@ changed).
, for left, / for right, and .
for ‘fire the ball’.
rince.data2 plays the old Rince (README.md game from IOCCC
+href="../../authors.html#James_Bonfield">James Bonfield’s (1991/rince game from IOCCC
1991.
rince.data3 Sokoban screen 11. You are
the o character. You must push the money m
@@ -180,7 +184,7 @@ when all the ms are then Ms.
If you are running SunOS 4.1.x (assuming you can find an ANSI
compiler in the first place), this program may be used to log out very
@@ -241,7 +245,7 @@ between them than their poll() call.
Obfuscation
I have tried to use as many different obfuscation techniques,
including some of which (such as sizeof confusion) I have
-not seen in any winners (hmmm - perhaps there’s a reason for that…) so
+not seen in any entries (hmmm - perhaps there’s a reason for that…) so
far. Also, very poor structure (yes, I use goto’s) has led
to apparently having an fgets() as the last line of main.
Note that I have still tried to aim at least some efficiency (provided
diff --git a/1993/schnitzi/.entry.json b/1993/schnitzi/.entry.json
index f7eefd2c8..2d774dc7f 100644
--- a/1993/schnitzi/.entry.json
+++ b/1993/schnitzi/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1993_schnitzi.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1993/schnitzi/.gitignore b/1993/schnitzi/.gitignore
index 3c9e2433b..38da4d3c8 100644
--- a/1993/schnitzi/.gitignore
+++ b/1993/schnitzi/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1993/schnitzi/Makefile b/1993/schnitzi/Makefile
index 53a765e58..0c5b04514 100644
--- a/1993/schnitzi/Makefile
+++ b/1993/schnitzi/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1993/schnitzi/README.md b/1993/schnitzi/README.md
index cb40d75b2..1b781aa2e 100644
--- a/1993/schnitzi/README.md
+++ b/1993/schnitzi/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [1993 schnitzi in bugs.md](/bugs.md#1993-schnitzi).
+For more detailed information see [1993 schnitzi bugs](../../bugs.html#1993_schnitzi).
## To use:
@@ -27,7 +27,8 @@ where
`file` is a file containing some text.
-Certain input will cause the program to fail as described in the bugs.md file.
+Certain input will cause the program to fail as described
+in [1993 schnitzi bugs](../../bugs.html#1993_schnitzi).
## Try:
diff --git a/1993/schnitzi/index.html b/1993/schnitzi/index.html
index b8320786e..c0e3b5c7c 100644
--- a/1993/schnitzi/index.html
+++ b/1993/schnitzi/index.html
@@ -45,6 +45,8 @@
← rince↑ 1993 ↑vanb →
+ C code
+ MakefileInventory
where exp is an octal expression. See below for how it
diff --git a/1994/Makefile b/1994/Makefile
index 7d7962c45..81a447774 100644
--- a/1994/Makefile
+++ b/1994/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1994/README.md b/1994/README.md
index a69b42ecd..dd5f67af4 100644
--- a/1994/README.md
+++ b/1994/README.md
@@ -1,6 +1,6 @@
# Eleventh International Obfuscated C Code Contest
-Look at the README.md file for the given winning entry for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
@@ -23,9 +23,9 @@ that the current ANSI standard considered them to be valid. We were
unable to find an ANSI C compiler that flagged such expressions as
errors.
-Rule abuse was encouraged this year - two of this year's winners found
+Rule abuse was encouraged this year - two of this year's winning entries found
new and interesting abuses of the rules. Next year's rules will change
-due to these ([smr](smr/README.md) and [dodsond2](dodsond2/README.md)) entries'
+due to these ([smr](smr/index.html) and [dodsond2](dodsond2/index.html)) entries'
forms of abuse.
@@ -39,7 +39,7 @@ The ideal 3rd judge would have all of the following:
* thorough knowledge of the C language (ANSI and K&R)
* thorough knowledge of common C libs (libc, libm, curses, ...)
-* reasonable written communication skills (able to write README.md files)
+* reasonable written communication skills (able to write `README.md` files)
* appreciation for well-written non-obfuscated code
* willing to devote ~4 weekend days in January (starting Jan 96) for judging
* located in the San Francisco (California, US) Bay Area, or
@@ -120,9 +120,9 @@ as well as details on how to provide fixes to any of the entries.
**IMPORTANT NOTE**: The email addresses found above are for historical
purposes only, and should not be used today. See
-[contact.html](/contact.html) for up to date contact details
+[contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
## Credits
@@ -146,5 +146,5 @@ Dessert: Homemade chocolate/pecan brownies, fruit
Copyright (c) 1994,2023, Landon Curt Noll and Larry Bassel. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/1994/dodsond1/.entry.json b/1994/dodsond1/.entry.json
index 5dc018e28..e286d515d 100644
--- a/1994/dodsond1/.entry.json
+++ b/1994/dodsond1/.entry.json
@@ -35,7 +35,7 @@
},
{
"file_path" : "1994_dodsond1.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1994/dodsond1/.gitignore b/1994/dodsond1/.gitignore
index 200c3967e..a6dddd61d 100644
--- a/1994/dodsond1/.gitignore
+++ b/1994/dodsond1/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
dodsond1
dodsond1.orig
diff --git a/1994/dodsond1/Makefile b/1994/dodsond1/Makefile
index 5acd51365..8831e54d2 100644
--- a/1994/dodsond1/Makefile
+++ b/1994/dodsond1/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1994/dodsond1/index.html b/1994/dodsond1/index.html
index 023d0a81d..856e40dd6 100644
--- a/1994/dodsond1/index.html
+++ b/1994/dodsond1/index.html
@@ -45,6 +45,8 @@
first entry↑ 1994 ↑dodsond2 →
+ C code
+ MakefileInventory
Look at the README.md file for the given winning entry for
-information on how to compile it and how to run the winning program.
-Look at the winning source and try to figure how it does what it does!
-You may then wish to look at the Author’s remarks for even more
+
View the index.html web page for the given winning entry
+for information on how on how to compile it and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
details.
Use make to compile entries. It is possible that on BSD
or non-Unix systems the Makefile needs to be changed. See the Makefile
@@ -134,10 +135,10 @@ compilers did not consider such expressions to be valid ANSI C. Alert
readers noted that the current ANSI standard considered them to be
valid. We were unable to find an ANSI C compiler that flagged such
expressions as errors.
-
Rule abuse was encouraged this year - two of this year’s winners
-found new and interesting abuses of the rules. Next year’s rules will
-change due to these (smr and dodsond2) entries’ forms of abuse.
+
Rule abuse was encouraged this year - two of this year’s winning
+entries found new and interesting abuses of the rules. Next year’s rules
+will change due to these (smr and dodsond2) entries’ forms of abuse.
Want to be an IOCCC Judge?
We are thinking about adding a 3rd judge to our team. A 3rd judge
would help distribute the work load as well as to allowing us to
@@ -146,8 +147,8 @@ possibly expand or reshape the contest.
thorough knowledge of the C language (ANSI and K&R)
thorough knowledge of common C libs (libc, libm, curses, …)
-
reasonable written communication skills (able to write README.md
-files)
+
reasonable written communication skills (able to write
+README.md files)
appreciation for well-written non-obfuscated code
willing to devote ~4 weekend days in January (starting Jan 96) for
judging
@@ -210,10 +211,10 @@ as well as details on how to provide fixes to any of the entries.
Final Comments
IMPORTANT NOTE: The email addresses found above are
for historical purposes only, and should not be used today. See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
Credits
We would like to thank Barbara Frezza for her role as official chef
of the contest. Landon Noll and Larry Bassel appreciated the opportunity
@@ -230,9 +231,9 @@ fruit
Rights Reserved. This work is licensed under a Creative Commons
CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International license.
-If you do use this work in some form, the IOCCC
+If you do use this work in some form, the IOCCC
judges would appreciate (but does not require) if you were to send us a note about your use.
+href="../contact.html">send us a note about your use.
diff --git a/1994/ldb/.entry.json b/1994/ldb/.entry.json
index 0686ccfda..021866592 100644
--- a/1994/ldb/.entry.json
+++ b/1994/ldb/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1994_ldb.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1994/ldb/.gitignore b/1994/ldb/.gitignore
index 40424e049..c517a4cc2 100644
--- a/1994/ldb/.gitignore
+++ b/1994/ldb/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1994/ldb/Makefile b/1994/ldb/Makefile
index e5a8f3d48..2f5610f4f 100644
--- a/1994/ldb/Makefile
+++ b/1994/ldb/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1994/ldb/README.md b/1994/ldb/README.md
index c1dc4d873..5e99b5ab3 100644
--- a/1994/ldb/README.md
+++ b/1994/ldb/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [1994 ldb in bugs.md](/bugs.md#1994-ldb).
+For more detailed information see [1994 ldb bugs](../../bugs.html#1994_ldb).
## To use:
diff --git a/1994/ldb/index.html b/1994/ldb/index.html
index 51ee6c35e..399ba086b 100644
--- a/1994/ldb/index.html
+++ b/1994/ldb/index.html
@@ -45,6 +45,8 @@
← imc↑ 1994 ↑schnitzi →
+ C code
+ MakefileInventory
./ldb< file
diff --git a/1994/schnitzi/.entry.json b/1994/schnitzi/.entry.json
index 4241172d5..7941fddad 100644
--- a/1994/schnitzi/.entry.json
+++ b/1994/schnitzi/.entry.json
@@ -75,7 +75,7 @@
},
{
"file_path" : "1994_schnitzi.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1994/schnitzi/.gitignore b/1994/schnitzi/.gitignore
index 7f2bdaa47..383f3f98a 100644
--- a/1994/schnitzi/.gitignore
+++ b/1994/schnitzi/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1994/schnitzi/Makefile b/1994/schnitzi/Makefile
index 651f68828..21f85116b 100644
--- a/1994/schnitzi/Makefile
+++ b/1994/schnitzi/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1994/schnitzi/README.md b/1994/schnitzi/README.md
index ca8fd4440..009f967b7 100644
--- a/1994/schnitzi/README.md
+++ b/1994/schnitzi/README.md
@@ -18,7 +18,7 @@ The current status of this entry is:
STATUS: uses gets() - change to fgets() if possible
```
-For more detailed information see [1994 schnitzi in bugs.md](/bugs.md#1994-schnitzi).
+For more detailed information see [1994 schnitzi bugs](../../bugs.html#1994_schnitzi).
## To use:
@@ -44,7 +44,7 @@ compile. Other functionality works fine.
The second version, `schnitzi.alt2.c`, has an increased buffer size but when fed
its own source code it will generate code that can compile but with the original
buffer size. This is due to a comment which is explained in more detail in
-[1994/schnitzi in bugs.md](/bugs.md#1994-schnitzi).
+[1994/schnitzi bugs](../../bugs.html#1994_schnitzi).
### Alternate build:
diff --git a/1994/schnitzi/index.html b/1994/schnitzi/index.html
index a3a1b51dc..ae1146692 100644
--- a/1994/schnitzi/index.html
+++ b/1994/schnitzi/index.html
@@ -45,6 +45,8 @@
← ldb↑ 1994 ↑shapiro →
+ C code
+ MakefileInventory
@@ -150,7 +153,7 @@ compile. Other functionality works fine.
buffer size but when fed its own source code it will generate code that
can compile but with the original buffer size. This is due to a comment
which is explained in more detail in 1994/schnitzi in bugs.md.
+href="../../bugs.html#1994_schnitzi">1994/schnitzi bugs.
Alternate build:
make alt
Alternate use:
diff --git a/1994/shapiro/.entry.json b/1994/shapiro/.entry.json
index 37fc259be..6b3f2d6f1 100644
--- a/1994/shapiro/.entry.json
+++ b/1994/shapiro/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1994_shapiro.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1994/shapiro/.gitignore b/1994/shapiro/.gitignore
index 3b8b451b2..5eca08f15 100644
--- a/1994/shapiro/.gitignore
+++ b/1994/shapiro/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1994/shapiro/Makefile b/1994/shapiro/Makefile
index e3e1970f4..cf7d3bf7b 100644
--- a/1994/shapiro/Makefile
+++ b/1994/shapiro/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1994/shapiro/README.md b/1994/shapiro/README.md
index 0bb021734..e30255d8b 100644
--- a/1994/shapiro/README.md
+++ b/1994/shapiro/README.md
@@ -14,7 +14,7 @@ STATUS: missing file - please provide it
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [1994 shapiro in bugs.md](/bugs.md#1994-shapiro).
+For more detailed information see [1994 shapiro bugs](../../bugs.html#1994_shapiro).
## To use:
@@ -50,10 +50,10 @@ source file is self documenting. :-)
From time to time, run `ps(1)` and look at the new processes.
-See [shapiro.md](shapiro.md) for more information in the internals of this program.
+See [shapiro.html](shapiro.html) for more information in the internals of this program.
The file [shapiro.alt.c](shapiro.alt.c) contains a non-obfuscated version of
this program. Note that this alt file is currently missing. See
-[bugs.md](/bugs.md) for details.
+[1994 shapiro bugs](../../bugs.html#1994_shapiro) for details.
## Author's remarks:
@@ -80,7 +80,7 @@ Most of the surface obfuscation in the second program
You should be able to see around this with `cb(1)` and some more intelligent
variable names. Once you get past this you will realize that the third level of
obfuscation is a six member client/server hierarchy. (See the
-[shapiro.md](shapiro.md) file for a detailed description of the algorithm.)
+[shapiro.html](shapiro.html) web page for a detailed description of the algorithm.)
`lint` complains about: precedence confusion, `K` may be used before set,
`main()` returns random value to invocation environment, value type used
diff --git a/1994/shapiro/index.html b/1994/shapiro/index.html
index 922fe25e4..e7e3bcda8 100644
--- a/1994/shapiro/index.html
+++ b/1994/shapiro/index.html
@@ -45,6 +45,8 @@
← schnitzi↑ 1994 ↑smr →
+ C code
+ MakefileInventory
Now find the clock in the same terminal window (or console if at the
@@ -154,11 +157,12 @@ what happens after you bring it back to the foreground.
source file is self documenting. :-)
From time to time, run ps(1) and look at the new
processes.
-
See shapiro.md for more information in the
-internals of this program. The file See shapiro.html for more information in
+the internals of this program. The file shapiro.alt.c contains a non-obfuscated version
of this program. Note that this alt file is currently missing. See bugs.md for details.
+href="../../bugs.html#1994_shapiro">1994 shapiro bugs for
+details.
Author’s remarks:
The basic theme (pun) of this program is:
@@ -180,8 +184,8 @@ as possible. You should be able to see around this with
cb(1) and some more intelligent variable names. Once you
get past this you will realize that the third level of obfuscation is a
six member client/server hierarchy. (See the shapiro.md file for a detailed description of the
-algorithm.)
+href="shapiro.html">shapiro.html web page for a detailed description
+of the algorithm.)
lint complains about: precedence confusion,
K may be used before set, main() returns
random value to invocation environment, value type used inconsistently,
diff --git a/1994/shapiro/shapiro.html b/1994/shapiro/shapiro.html
index 1475f1fa4..d98d9a9f5 100644
--- a/1994/shapiro/shapiro.html
+++ b/1994/shapiro/shapiro.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/1994/smr/.entry.json b/1994/smr/.entry.json
index 280cd9277..3e8521f2c 100644
--- a/1994/smr/.entry.json
+++ b/1994/smr/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1994_smr.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1994/smr/.gitignore b/1994/smr/.gitignore
index 4735ce197..f4bab06d8 100644
--- a/1994/smr/.gitignore
+++ b/1994/smr/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1994/smr/Makefile b/1994/smr/Makefile
index 71a6d1fc5..676711032 100644
--- a/1994/smr/Makefile
+++ b/1994/smr/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1994/smr/index.html b/1994/smr/index.html
index a2db97fee..03ddbf0b0 100644
--- a/1994/smr/index.html
+++ b/1994/smr/index.html
@@ -45,6 +45,8 @@
← shapiro↑ 1994 ↑tvr →
+ C code
+ MakefileInventory
+Rusinkiewicz Location: US -
+United States of America (United States)
diff --git a/1994/tvr/.entry.json b/1994/tvr/.entry.json
index 5939afae6..160a3d2b3 100644
--- a/1994/tvr/.entry.json
+++ b/1994/tvr/.entry.json
@@ -91,7 +91,7 @@
},
{
"file_path" : "1994_tvr.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1994/tvr/.gitignore b/1994/tvr/.gitignore
index f08f09874..2cedddb24 100644
--- a/1994/tvr/.gitignore
+++ b/1994/tvr/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1994/tvr/Makefile b/1994/tvr/Makefile
index a0f8e88a9..04829355e 100644
--- a/1994/tvr/Makefile
+++ b/1994/tvr/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1994/tvr/README.md b/1994/tvr/README.md
index a32550216..cb23b344a 100644
--- a/1994/tvr/README.md
+++ b/1994/tvr/README.md
@@ -17,7 +17,7 @@ The current status of this entry is:
STATUS: known bug - please help us fix
```
-For more detailed information see [1994 tvr in bugs.md](/bugs.md#1994-tvr).
+For more detailed information see [1994 tvr bugs](../../bugs.html#1994_tvr).
## To use:
diff --git a/1994/tvr/index.html b/1994/tvr/index.html
index 18f5b7867..e9ef76c31 100644
--- a/1994/tvr/index.html
+++ b/1994/tvr/index.html
@@ -45,6 +45,8 @@
← smr↑ 1994 ↑weisberg →
+ C code
+ MakefileInventory
+Westley Location: US -
+United States of America (United States)
diff --git a/1995/Makefile b/1995/Makefile
index 61ad94310..304961475 100644
--- a/1995/Makefile
+++ b/1995/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1995/README.md b/1995/README.md
index cb39153b4..fe82ea293 100644
--- a/1995/README.md
+++ b/1995/README.md
@@ -1,11 +1,11 @@
# Twelfth International Obfuscated C Code Contest
-Look at the README.md file for the given winning entry for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile and run the winning program. Look at the winning source and
try to figure how it does what it does! You may then wish to look at the
`Author's remarks` section for even more details.
-The IOCCC has an official home page, , which contains
+The IOCCC has an official home page, [www.ioccc.org](https://www.ioccc.org), which contains
previous winning entries, information about the judges, announcements and much
more.
@@ -21,14 +21,14 @@ This year [Sriram Srinivasan](http://www.malhar.net/sriram/) joined the judging.
The moderator of
[comp.unix.wizards](https://groups.google.com/g/comp.unix.wizards) did not feel
that the IOCCC was "wizardly" enough to be posted to comp.unix.wizards so we will
-no longer post the winners to this newsgroup - we'll let you the reader decide
+no longer post the winning entries to this newsgroup - we'll let you the reader decide
for yourself the wizardry of these entries.
This year there were several people who won more than once and several [previous
-winners](/authors.html) as well. The judging was done without knowledge of the
-names of the submitters - multiple winners were a coincidence. Since we tend to
-discount entries that are similar to previous winners, these people had to come
-with original ideas to stay in the winners circle.
+winning entries](../authors.html) as well. The judging was done without knowledge of the
+names of the submitters - multiple winning entries were a coincidence. Since we tend to
+discount entries that are similar to previous entries, these people had to come
+with original ideas to stay in the winning entry circle.
We wish to thank [CAIP at Rutgers
University](https://catalogs.rutgers.edu/generated/nb-grad_0305/pg20199.html)
@@ -38,16 +38,16 @@ for the use of their machines.
Due to changes in the [USENIX
conference](https://www.usenix.org/conferences/all) calendar, the [1996
-contest](/years.html#1996) will be delayed. Because there will be no Summer
+contest](../years.html#1996) will be delayed. Because there will be no Summer
1996 USENIX conference, the 1996 IOCCC entries will be announced at the Jan 1997
USENIX conference.
The 1996 contest will not open until sometime in October 1996, and will close
sometime around the end of December 1996. The [rules for the 1996
-contest](/1996/rules.txt) have not been formed at this time and are not expected
+contest](../1996/rules.txt) have not been formed at this time and are not expected
to be ready for distribution until late September 1996.
-Be sure to wait until the [1996 rules](/1996/rules.txt) are posted before
+Be sure to wait until the [1996 rules](../1996/rules.txt) are posted before
submitting entries. Rules differ from year to year, sometimes in significant
ways.
@@ -68,9 +68,9 @@ us a line. We enjoy seeing who, where and how the contest is used.
**IMPORTANT NOTE**: The email addresses found above are for historical
purposes only, and should not be used today. See
-[contact.html](/contact.html) for up to date contact details
+[contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
## Credits
@@ -151,5 +151,5 @@ Dessert: Key lime pie
Copyright (c) 1995,2023, Landon Curt Noll, Larry Bassel, Sriram Srinivasan. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/1995/cdua/.entry.json b/1995/cdua/.entry.json
index 879d891a0..8fc9a36d8 100644
--- a/1995/cdua/.entry.json
+++ b/1995/cdua/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1995_cdua.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1995/cdua/.gitignore b/1995/cdua/.gitignore
index d04fa4367..2986e6186 100644
--- a/1995/cdua/.gitignore
+++ b/1995/cdua/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
cdua
cdua.alt
diff --git a/1995/cdua/Makefile b/1995/cdua/Makefile
index 1a5415c02..f8ddfbe0f 100644
--- a/1995/cdua/Makefile
+++ b/1995/cdua/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1995/cdua/README.md b/1995/cdua/README.md
index 3e467ac83..6fc29da36 100644
--- a/1995/cdua/README.md
+++ b/1995/cdua/README.md
@@ -23,7 +23,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [1995 cdua in bugs.md](/bugs.md#1995-cdua).
+For more detailed information see [1995 cdua bugs](../../bugs.html#1995_cdua).
## To use:
diff --git a/1995/cdua/index.html b/1995/cdua/index.html
index 26d314a20..8d057053a 100644
--- a/1995/cdua/index.html
+++ b/1995/cdua/index.html
@@ -45,6 +45,8 @@
first entry↑ 1995 ↑dodsond1 →
+ C code
+ MakefileInventory
Look at the README.md file for the given winning entry for
-information on how to compile and run the winning program. Look at the
-winning source and try to figure how it does what it does! You may then
-wish to look at the Author's remarks section for even more
-details.
-
The IOCCC has an official home page, https://www.ioccc.org, which contains previous winning
-entries, information about the judges, announcements and much more.
+
View the index.html web page for the given winning entry
+for information on how on how to compile and run the winning program.
+Look at the winning source and try to figure how it does what it does!
+You may then wish to look at the Author's remarks section
+for even more details.
+
The IOCCC has an official home page, www.ioccc.org, which contains previous
+winning entries, information about the judges, announcements and much
+more.
Use make to compile entries. It is possible that on BSD
or non-Unix systems the Makefile needs to be changed. See
the Makefile for details.
@@ -133,15 +135,15 @@ Srinivasan joined the judging.
The moderator of comp.unix.wizards
did not feel that the IOCCC was “wizardly” enough to be posted to
-comp.unix.wizards so we will no longer post the winners to this
+comp.unix.wizards so we will no longer post the winning entries to this
newsgroup - we’ll let you the reader decide for yourself the wizardry of
these entries.
This year there were several people who won more than once and
-several previous winners as well. The
-judging was done without knowledge of the names of the submitters -
-multiple winners were a coincidence. Since we tend to discount entries
-that are similar to previous winners, these people had to come with
-original ideas to stay in the winners circle.
+several previous winning entries as well.
+The judging was done without knowledge of the names of the submitters -
+multiple winning entries were a coincidence. Since we tend to discount
+entries that are similar to previous entries, these people had to come
+with original ideas to stay in the winning entry circle.
@@ -149,16 +151,16 @@ at Rutgers University for the use of their machines.
future contests
Due to changes in the USENIX conference
-calendar, the 1996 contest will be
+calendar, the 1996 contest will be
delayed. Because there will be no Summer 1996 USENIX conference, the
1996 IOCCC entries will be announced at the Jan 1997 USENIX
conference.
The 1996 contest will not open until sometime in October 1996, and
will close sometime around the end of December 1996. The rules for the 1996 contest have not been
+href="../1996/rules.txt">rules for the 1996 contest have not been
formed at this time and are not expected to be ready for distribution
until late September 1996.
Be sure to wait until the 1996 rules
are posted before submitting entries. Rules differ from year to year,
sometimes in significant ways.
Please send us comments and suggestions what we have expressed above.
@@ -172,10 +174,10 @@ used.
Final Comments
IMPORTANT NOTE: The email addresses found above are
for historical purposes only, and should not be used today. See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
Credits
We would like to thank Barbara Frezza for her role as official chef
of the contest. Landon Noll, Larry Bassel and Sriram Srinivasan
@@ -223,9 +225,9 @@ brown rice Dessert: Key lime pie
Srinivasan. All Rights Reserved. This work is licensed under a Creative Commons
CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International license.
-If you do use this work in some form, the IOCCC
+If you do use this work in some form, the IOCCC
judges would appreciate (but does not require) if you were to send us a note about your use.
+href="../contact.html">send us a note about your use.
diff --git a/1995/leo/.entry.json b/1995/leo/.entry.json
index 71d4ecfae..ed49d17b0 100644
--- a/1995/leo/.entry.json
+++ b/1995/leo/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "1995_leo.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1995/leo/.gitignore b/1995/leo/.gitignore
index 8714ca785..2d67a8e33 100644
--- a/1995/leo/.gitignore
+++ b/1995/leo/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
foo.ps
indent
diff --git a/1995/leo/Makefile b/1995/leo/Makefile
index a53424aca..237437067 100644
--- a/1995/leo/Makefile
+++ b/1995/leo/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1995/leo/README.md b/1995/leo/README.md
index fcf4f2ff8..ba1de8013 100644
--- a/1995/leo/README.md
+++ b/1995/leo/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: known bug - please help us fix
```
-For more detailed information see [1995 leo in bugs.md](/bugs.md#1995-leo).
+For more detailed information see [1995 leo bugs](../../bugs.html#1995_leo).
diff --git a/1995/leo/index.html b/1995/leo/index.html
index a28b66b77..bfe7ac7e7 100644
--- a/1995/leo/index.html
+++ b/1995/leo/index.html
@@ -45,6 +45,8 @@
← heathbar↑ 1995 ↑makarios →
+ C code
+ MakefileInventory
+Spinellis Location: GR -
+Hellenic Republic (Greece)
diff --git a/1995/vanschnitz/.entry.json b/1995/vanschnitz/.entry.json
index d0a546ec8..08faec6cc 100644
--- a/1995/vanschnitz/.entry.json
+++ b/1995/vanschnitz/.entry.json
@@ -52,7 +52,7 @@
},
{
"file_path" : "1995_vanschnitz.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1995/vanschnitz/.gitignore b/1995/vanschnitz/.gitignore
index 203600177..199e25080 100644
--- a/1995/vanschnitz/.gitignore
+++ b/1995/vanschnitz/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1995/vanschnitz/Makefile b/1995/vanschnitz/Makefile
index 45d905c34..a547ab28f 100644
--- a/1995/vanschnitz/Makefile
+++ b/1995/vanschnitz/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1995/vanschnitz/README.md b/1995/vanschnitz/README.md
index a2df9bd5a..54335b9ed 100644
--- a/1995/vanschnitz/README.md
+++ b/1995/vanschnitz/README.md
@@ -16,7 +16,7 @@ The current status of this entry is:
STATUS: missing file - please provide it
```
-For more detailed information see [1995 vanschnitz in bugs.md](/bugs.md#1995-vanschnitz).
+For more detailed information see [1995 vanschnitz bugs](../../bugs.html#1995_vanschnitz).
## To use:
diff --git a/1995/vanschnitz/index.html b/1995/vanschnitz/index.html
index a512d4679..d583b3d3a 100644
--- a/1995/vanschnitz/index.html
+++ b/1995/vanschnitz/index.html
@@ -45,6 +45,8 @@
← spinellis↑ 1995 ↑last entry
+ C code
+ MakefileInventory
diff --git a/1996/Makefile b/1996/Makefile
index 684257dc3..efddc85bc 100644
--- a/1996/Makefile
+++ b/1996/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1996/README.md b/1996/README.md
index ebc6eb22e..2b6f0b4a4 100644
--- a/1996/README.md
+++ b/1996/README.md
@@ -3,12 +3,12 @@
## Standard IOCCC stuff
-Look at the README.md file for the given winning entry for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
-The IOCCC has an official home page:
+The IOCCC has an official home page: [www.ioccc.org](https://www.ioccc.org)
containing previous winning entries, information about the judges,
announcements and much more.
@@ -43,13 +43,13 @@ will be able deobfuscate the many legal obfuscations. :-)
## Remarks on some of the entries
This year, [Jens
-Schweikhardt](https://www.ioccc.org/authors.html#Jens_Schweikhardt) won 3 times
+Schweikhardt](../authors.html#Jens_Schweikhardt) won 3 times
... a new IOCCC record. Meanwhile, [Brian
-Westley](https://www.ioccc.org/authors.html#Brian_Westley) came up with his 8th
+Westley](../authors.html#Brian_Westley) came up with his 8th
winning entry, twice the number of the next highest count. But with people like
Schweikhardt around, this lead could fall fast.
-As we stated in the [guidelines](guidelines.txt), the names of the winners are
+As we stated in the [guidelines](guidelines.txt), the authors of the winning entries are
as much news to us as they are to you because we keep authorship separate from
rest of the entry. Some people have it, we guess!
@@ -90,9 +90,9 @@ us a line. We enjoy seeing who, where and how the contest is used.
**IMPORTANT NOTE**: The email addresses found above are for historical
purposes only, and should not be used today. See
-[contact.html](/contact.html) for up to date contact details
+[contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -100,5 +100,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (c) 1997,2023, Landon Curt Noll and Sriram Srinivasan. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/1996/august/.entry.json b/1996/august/.entry.json
index 3492a7eb7..a2239ed76 100644
--- a/1996/august/.entry.json
+++ b/1996/august/.entry.json
@@ -67,7 +67,7 @@
},
{
"file_path" : "1996_august.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1996/august/.gitignore b/1996/august/.gitignore
index 96d0f4f36..6e7abb57a 100644
--- a/1996/august/.gitignore
+++ b/1996/august/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
august
august.oc
diff --git a/1996/august/Makefile b/1996/august/Makefile
index a64bae5b9..8768a0cf3 100644
--- a/1996/august/Makefile
+++ b/1996/august/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1996/august/README.md b/1996/august/README.md
index a6e942036..c90339507 100644
--- a/1996/august/README.md
+++ b/1996/august/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: doesn't work with some compilers - please provide alternative code or fix for more compilers
```
-For more detailed information see [1996 august in bugs.md](/bugs.md#1996-august).
+For more detailed information see [1996 august bugs](../../bugs.html#1996_august).
## To use:
diff --git a/1996/august/index.html b/1996/august/index.html
index f8ae8114a..cb1f96053 100644
--- a/1996/august/index.html
+++ b/1996/august/index.html
@@ -45,6 +45,8 @@
first entry↑ 1996 ↑dalbec →
+ C code
+ MakefileInventory
diff --git a/1996/gandalf/.entry.json b/1996/gandalf/.entry.json
index 35ca5d42d..44746f6eb 100644
--- a/1996/gandalf/.entry.json
+++ b/1996/gandalf/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1996_gandalf.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1996/gandalf/.gitignore b/1996/gandalf/.gitignore
index 739f78685..7904cc602 100644
--- a/1996/gandalf/.gitignore
+++ b/1996/gandalf/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
cathat
gandalf
diff --git a/1996/gandalf/Makefile b/1996/gandalf/Makefile
index 1db93a114..d54bb1c65 100644
--- a/1996/gandalf/Makefile
+++ b/1996/gandalf/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1996/gandalf/README.md b/1996/gandalf/README.md
index 65026416d..a394855fc 100644
--- a/1996/gandalf/README.md
+++ b/1996/gandalf/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: missing or dead link - please provide them
```
-For more detailed information see [1996 gandalf in bugs.md](/bugs.md#1996-gandalf).
+For more detailed information see [1996 gandalf bugs](../../bugs.html#1996_gandalf).
## To use:
diff --git a/1996/gandalf/index.html b/1996/gandalf/index.html
index 07e72b798..2a0a20593 100644
--- a/1996/gandalf/index.html
+++ b/1996/gandalf/index.html
@@ -45,6 +45,8 @@
← eldby↑ 1996 ↑huffman →
+ C code
+ MakefileInventory
diff --git a/1996/huffman/.entry.json b/1996/huffman/.entry.json
index d2a6bde58..e61258dc9 100644
--- a/1996/huffman/.entry.json
+++ b/1996/huffman/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1996_huffman.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1996/huffman/.gitignore b/1996/huffman/.gitignore
index bd239097b..15f503204 100644
--- a/1996/huffman/.gitignore
+++ b/1996/huffman/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
huffman
huffman.orig
diff --git a/1996/huffman/Makefile b/1996/huffman/Makefile
index 4512f541d..e2d879112 100644
--- a/1996/huffman/Makefile
+++ b/1996/huffman/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1996/huffman/README.md b/1996/huffman/README.md
index 5fca01344..f5ef0c88c 100644
--- a/1996/huffman/README.md
+++ b/1996/huffman/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: uses gets() - change to fgets() if possible
```
-For more detailed information see [1996 huffman in bugs.md](/bugs.md#1996-huffman).
+For more detailed information see [1996 huffman bugs](../../bugs.html#1996_huffman).
## To use:
diff --git a/1996/huffman/index.html b/1996/huffman/index.html
index a237bfdd6..1770823c1 100644
--- a/1996/huffman/index.html
+++ b/1996/huffman/index.html
@@ -45,6 +45,8 @@
← gandalf↑ 1996 ↑jonth →
+ C code
+ MakefileInventory
Thirteenth
International Obfuscated C Code Contest
Standard IOCCC stuff
-
Look at the README.md file for the given winning entry for
-information on how to compile it and how to run the winning program.
-Look at the winning source and try to figure how it does what it does!
-You may then wish to look at the Author’s remarks for even more
+
View the index.html web page for the given winning entry
+for information on how on how to compile it and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
details.
containing previous winning entries, information about the judges,
announcements and much more.
Use make to compile entries. It is possible that on BSD
@@ -146,17 +147,15 @@ produce obfuscated mathematical proofs, and Barbara will be able
deobfuscate the many legal obfuscations. :-)
This year, Jens
Schweikhardt won 3 times … a new IOCCC record. Meanwhile, Brian
-Westley came up with his 8th winning entry, twice the number of the
-next highest count. But with people like Schweikhardt around, this lead
-could fall fast.
+href="../authors.html#Brian_Westley">Brian Westley came up with his
+8th winning entry, twice the number of the next highest count. But with
+people like Schweikhardt around, this lead could fall fast.
As we stated in the guidelines, the
-names of the winners are as much news to us as they are to you because
-we keep authorship separate from rest of the entry. Some people have it,
-we guess!
+authors of the winning entries are as much news to us as they are to you
+because we keep authorship separate from rest of the entry. Some people
+have it, we guess!
There were a few very good entries that might have won if it were not
for the fact that they didn’t work. If you didn’t win, but think you had
a chance: test your program, fix it and submit it next year!
@@ -183,18 +182,18 @@ used.
Final Comments
IMPORTANT NOTE: The email addresses found above are
for historical purposes only, and should not be used today. See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
+href="../contact.html">send us a note about your use.
diff --git a/1996/jonth/.entry.json b/1996/jonth/.entry.json
index b3fe13456..76fc84475 100644
--- a/1996/jonth/.entry.json
+++ b/1996/jonth/.entry.json
@@ -35,7 +35,7 @@
},
{
"file_path" : "1996_jonth.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1996/jonth/.gitignore b/1996/jonth/.gitignore
index dcdb5d1ea..2024c214d 100644
--- a/1996/jonth/.gitignore
+++ b/1996/jonth/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1996/jonth/Makefile b/1996/jonth/Makefile
index a2fbb0515..bd515dfe7 100644
--- a/1996/jonth/Makefile
+++ b/1996/jonth/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1996/jonth/README.md b/1996/jonth/README.md
index 3b91ffccc..5aab53e59 100644
--- a/1996/jonth/README.md
+++ b/1996/jonth/README.md
@@ -19,7 +19,7 @@ STATUS: INABIAF - please **DO NOT** fix
STATUS: missing or dead link - please provide them
```
-For more detailed information see [1996 jonth in bugs.md](/bugs.md#1996-jonth).
+For more detailed information see [1996 jonth bugs](../../bugs.html#1996_jonth).
## To use:
diff --git a/1996/jonth/index.html b/1996/jonth/index.html
index 0f0f98c63..cc6e55d74 100644
--- a/1996/jonth/index.html
+++ b/1996/jonth/index.html
@@ -45,6 +45,8 @@
← huffman↑ 1996 ↑rcm →
+ C code
+ MakefileInventory
NOTE: the two boards will be on top of each other so you will have to
diff --git a/1996/rcm/.entry.json b/1996/rcm/.entry.json
index 1754ee356..a17d464a9 100644
--- a/1996/rcm/.entry.json
+++ b/1996/rcm/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1996_rcm.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1996/rcm/.gitignore b/1996/rcm/.gitignore
index 9b82a69fc..1dbb9c452 100644
--- a/1996/rcm/.gitignore
+++ b/1996/rcm/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1996/rcm/Makefile b/1996/rcm/Makefile
index 87a1fe79b..d68fe7cc2 100644
--- a/1996/rcm/Makefile
+++ b/1996/rcm/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1996/rcm/index.html b/1996/rcm/index.html
index 84abe0d82..a9a0db1be 100644
--- a/1996/rcm/index.html
+++ b/1996/rcm/index.html
@@ -45,6 +45,8 @@
← jonth↑ 1996 ↑schweikh1 →
+ C code
+ MakefileInventory
+Schweikhardt Location: DE -
+Federal Republic of Germany (Germany)
diff --git a/1996/westley/.entry.json b/1996/westley/.entry.json
index 5998842a2..84c4727bb 100644
--- a/1996/westley/.entry.json
+++ b/1996/westley/.entry.json
@@ -83,7 +83,7 @@
},
{
"file_path" : "1996_westley.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1996/westley/.gitignore b/1996/westley/.gitignore
index b742d541f..6aaf6c97a 100644
--- a/1996/westley/.gitignore
+++ b/1996/westley/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1996/westley/Makefile b/1996/westley/Makefile
index ccc7a6b33..6566e5e1e 100644
--- a/1996/westley/Makefile
+++ b/1996/westley/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1996/westley/README.md b/1996/westley/README.md
index 59b6ed118..4662ad9e1 100644
--- a/1996/westley/README.md
+++ b/1996/westley/README.md
@@ -48,7 +48,7 @@ make alt
## Judges' remarks:
-Time and time again, Brian Westley seems to come up with a winner!
+Time and time again, Brian Westley seems to come up with a winning entry!
We are amazed at how much is being done with only one relatively
short line. We think you will as well if you take the time to
understand it.
diff --git a/1996/westley/index.html b/1996/westley/index.html
index 1f087fe05..0083a2f29 100644
--- a/1996/westley/index.html
+++ b/1996/westley/index.html
@@ -45,6 +45,8 @@
← schweikh3↑ 1996 ↑last entry
+ C code
+ MakefileInventory
+Westley Location: US -
+United States of America (United States)
@@ -146,9 +149,9 @@ original, is provided, to show the differences.
Alternate try:
./try.alt.sh
Judges’ remarks:
-
Time and time again, Brian Westley seems to come up with a winner! We
-are amazed at how much is being done with only one relatively short
-line. We think you will as well if you take the time to understand
+
Time and time again, Brian Westley seems to come up with a winning
+entry! We are amazed at how much is being done with only one relatively
+short line. We think you will as well if you take the time to understand
it.
Author’s remarks:
This 1-line program allows various analog ASCII clocks to print out
diff --git a/1998/Makefile b/1998/Makefile
index ccaff3b8e..981480158 100644
--- a/1998/Makefile
+++ b/1998/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1998/README.md b/1998/README.md
index c73b8cc31..cfa5340d5 100644
--- a/1998/README.md
+++ b/1998/README.md
@@ -3,13 +3,13 @@
## Standard IOCCC stuff
-Look at the README.md file for the given winning entry for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
The IOCCC has its own domain. The IOCCC has an official home page is now:
-.
+[www.ioccc.org](https://www.ioccc.org).
Use `make` to compile entries. It is possible that on BSD or non-Unix
systems the Makefile needs to be changed. See the Makefile for details.
@@ -35,9 +35,9 @@ Landon was unable to contact Sriram Srinivasan at the start of
the 1998 IOCCC season. Having not heard from Sriram, Landon put out
a call for new IOCCC judges. A number of excellent people applied.
-Landon selected Leonid A. Broukhis, a two time IOCCC winner, as a
+Landon selected Leonid A. Broukhis, a two time IOCCC author, as a
co-judge. Landon and Leo together selected Jeremy Horn and Peter
-Seebach. The four judges () together worked
+Seebach. The four judges (../judges.html) together worked
thru-out the 1998 IOCCC season.
@@ -55,7 +55,7 @@ Bakker](https://www.ioccc.org/authors.html#Bas_de_Bakker) and [David
Lowe](https://www.ioccc.org/authors.html#J_David_Lowe) won twice this year as
well.
-As we stated in the [guidelines](guidelines.txt), the names of the winners are
+As we stated in the [guidelines](guidelines.txt), the authors of the winning entries are
as much news to us as they are to you because we keep authorship separate from
rest of the entry. Some people have it, we guess!
@@ -64,8 +64,8 @@ for the fact that they didn't work. If you didn't win, but think you
had a chance: test your program, fix it and submit it next year!
This year we awarded some outstanding entries. We recommend that you
-look at all of the winners. The list of winners is a bit too long to
-say something about every winner. On the other hand a partial mention
+look at all of the winning enties. The list of winning entries is a bit too long to
+say something about every entry. On the other hand a partial mention
of a few is in order:
- Audiences were very impressed with the Best of Show entry.
@@ -76,9 +76,9 @@ of a few is in order:
impressed with CPP code expansion liked the entry that translated
lambda expressions into combinator expressions.
- Logic minded folks will get somewhat twisted up while following the
- flow of the [Best Flow Control entry](1998/schnitzi/README.md).
+ flow of the [Best Flow Control entry](1998/schnitzi/index.html).
- Those who know the PostScript language will be 'bemused' by
- the [Best Encapsulation entry](bas1/README.md).
+ the [Best Encapsulation entry](bas1/index.html).
There were some outstanding entries that did not win. Unfortunately
some very good entries lost because they:
@@ -111,6 +111,12 @@ Send such email to:
questions@ioccc.org
```
+**IMPORTANT NOTE**: The email addresses found above are for historical
+purposes only, and should not be used today. See
+[contact.html](../contact.html) for up to date contact details
+as well as details on how to provide fixes to any of the entries.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
+
If you use, distribute or publish these entries in some way, please drop
us a line. We enjoy seeing who, where and how the contest is used.
@@ -118,24 +124,15 @@ You must include the words 'ioccc question' in the subject of your email
message when sending email to the judges.
The next IOCCC is planned to start towards the end of 1999. Watch
-
+[www.ioccc.org](https://www.ioccc.org)
for news of the next contest.
-## Final Comments
-
-**IMPORTANT NOTE**: The email addresses found above are for historical
-purposes only, and should not be used today. See
-[contact.html](/contact.html) for up to date contact details
-as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
-
-
# Copyright and License
Copyright (c) 1999,2023, Landon Curt Noll, Jeremy Horn, Peter Seebach and Leonid A. Broukhis. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/1998/banks/.entry.json b/1998/banks/.entry.json
index 4583925c0..7bb998c05 100644
--- a/1998/banks/.entry.json
+++ b/1998/banks/.entry.json
@@ -91,7 +91,7 @@
},
{
"file_path" : "1998_banks.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1998/banks/.gitignore b/1998/banks/.gitignore
index 60a0c774d..1afa81bd0 100644
--- a/1998/banks/.gitignore
+++ b/1998/banks/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
banks
banks.alt
diff --git a/1998/banks/Makefile b/1998/banks/Makefile
index 548015cca..398ee9be3 100644
--- a/1998/banks/Makefile
+++ b/1998/banks/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1998/banks/index.html b/1998/banks/index.html
index 81da0465e..7b42321ed 100644
--- a/1998/banks/index.html
+++ b/1998/banks/index.html
@@ -45,6 +45,8 @@
first entry↑ 1998 ↑bas1 →
+ C code
+ MakefileInventory
diff --git a/1998/dlowe/.entry.json b/1998/dlowe/.entry.json
index fda360ee9..4d3b3d96e 100644
--- a/1998/dlowe/.entry.json
+++ b/1998/dlowe/.entry.json
@@ -75,7 +75,7 @@
},
{
"file_path" : "1998_dlowe.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1998/dlowe/.gitignore b/1998/dlowe/.gitignore
index d266f0c90..0ceca701c 100644
--- a/1998/dlowe/.gitignore
+++ b/1998/dlowe/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
README.poot.md
dlowe
diff --git a/1998/dlowe/Makefile b/1998/dlowe/Makefile
index d49ff3d24..416ec9134 100644
--- a/1998/dlowe/Makefile
+++ b/1998/dlowe/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1998/dlowe/README.md b/1998/dlowe/README.md
index a01c22f06..5ebe56202 100644
--- a/1998/dlowe/README.md
+++ b/1998/dlowe/README.md
@@ -25,7 +25,7 @@ The current status of this entry is:
STATUS: missing or dead link - please provide them
```
-For more detailed information see [1998 dlowe in bugs.md](/bugs.md#1998-dlowe).
+For more detailed information see [1998 dlowe bugs](../../bugs.html#1998_dlowe).
## Try:
diff --git a/1998/dlowe/index.html b/1998/dlowe/index.html
index ffb21de55..b6041f5b2 100644
--- a/1998/dlowe/index.html
+++ b/1998/dlowe/index.html
@@ -45,6 +45,8 @@
← df↑ 1998 ↑dloweneil →
+ C code
+ MakefileInventory
diff --git a/1998/dloweneil/.entry.json b/1998/dloweneil/.entry.json
index 2a80951fd..ef5c4e428 100644
--- a/1998/dloweneil/.entry.json
+++ b/1998/dloweneil/.entry.json
@@ -44,7 +44,7 @@
},
{
"file_path" : "1998_dloweneil.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1998/dloweneil/.gitignore b/1998/dloweneil/.gitignore
index e48bd1046..ba0e33fe7 100644
--- a/1998/dloweneil/.gitignore
+++ b/1998/dloweneil/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
dloweneil
dloweneil.alt
diff --git a/1998/dloweneil/Makefile b/1998/dloweneil/Makefile
index 1965cbe2c..0fbe3fdb2 100644
--- a/1998/dloweneil/Makefile
+++ b/1998/dloweneil/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1998/dloweneil/README.md b/1998/dloweneil/README.md
index 11b9aed84..34296c8b6 100644
--- a/1998/dloweneil/README.md
+++ b/1998/dloweneil/README.md
@@ -17,7 +17,7 @@ The current status of this entry is:
STATUS: missing or dead link - please provide them
```
-For more detailed information see [1998 dloweneil in bugs.md](/bugs.md#1998-dloweneil).
+For more detailed information see [1998 dloweneil bugs](../../bugs.html#1998_dloweneil).
## To use:
diff --git a/1998/dloweneil/index.html b/1998/dloweneil/index.html
index a81a88721..1ce7fb97e 100644
--- a/1998/dloweneil/index.html
+++ b/1998/dloweneil/index.html
@@ -45,6 +45,8 @@
← dlowe↑ 1998 ↑dorssel →
+ C code
+ MakefileInventory
Fourteenth
International Obfuscated C Code Contest
Standard IOCCC stuff
-
Look at the README.md file for the given winning entry for
-information on how to compile it and how to run the winning program.
-Look at the winning source and try to figure how it does what it does!
-You may then wish to look at the Author’s remarks for even more
+
View the index.html web page for the given winning entry
+for information on how on how to compile it and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
details.
The IOCCC has its own domain. The IOCCC has an official home page is
-now: https://www.ioccc.org.
Use make to compile entries. It is possible that on BSD
or non-Unix systems the Makefile needs to be changed. See the Makefile
for details.
@@ -141,11 +141,10 @@ lives. We wish them the best.
Landon was unable to contact Sriram Srinivasan at the start of the
1998 IOCCC season. Having not heard from Sriram, Landon put out a call
for new IOCCC judges. A number of excellent people applied.
-
Landon selected Leonid A. Broukhis, a two time IOCCC winner, as a
+
Landon selected Leonid A. Broukhis, a two time IOCCC author, as a
co-judge. Landon and Leo together selected Jeremy Horn and Peter
-Seebach. The four judges (https://www.ioccc.org/judges.html) together worked
-thru-out the 1998 IOCCC season.
+Seebach. The four judges (../judges.html) together worked thru-out the
+1998 IOCCC season.
2023 note about judges:
The number of judges now is only 2, Landon Curt Noll and Leonid A.
Broukhis.
@@ -160,16 +159,16 @@ Bakker and David Lowe
won twice this year as well.
As we stated in the guidelines, the
-names of the winners are as much news to us as they are to you because
-we keep authorship separate from rest of the entry. Some people have it,
-we guess!
+authors of the winning entries are as much news to us as they are to you
+because we keep authorship separate from rest of the entry. Some people
+have it, we guess!
There were a few very good entries that might have won if it were not
for the fact that they didn’t work. If you didn’t win, but think you had
a chance: test your program, fix it and submit it next year!
This year we awarded some outstanding entries. We recommend that you
-look at all of the winners. The list of winners is a bit too long to say
-something about every winner. On the other hand a partial mention of a
-few is in order:
+look at all of the winning enties. The list of winning entries is a bit
+too long to say something about every entry. On the other hand a partial
+mention of a few is in order:
Audiences were very impressed with the Best of Show entry.
The judges were amused that for the first time we received an entry
@@ -180,10 +179,10 @@ Of a Feather) crowd.
impressed with CPP code expansion liked the entry that translated lambda
expressions into combinator expressions.
There were some outstanding entries that did not win. Unfortunately
some very good entries lost because they:
@@ -206,29 +205,28 @@ skipped over 1997.
Also include anything else that you would like to see in future
contests. Send such email to:
questions@ioccc.org
+
IMPORTANT NOTE: The email addresses found above are
+for historical purposes only, and should not be used today. See contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
If you use, distribute or publish these entries in some way, please
drop us a line. We enjoy seeing who, where and how the contest is
used.
You must include the words ‘ioccc question’ in the subject of your
email message when sending email to the judges.
The next IOCCC is planned to start towards the end of 1999. Watch https://www.ioccc.org
+href="https://www.ioccc.org">www.ioccc.org
for news of the next contest.
-
Final Comments
-
IMPORTANT NOTE: The email addresses found above are
-for historical purposes only, and should not be used today. See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
diff --git a/1998/schnitzi/.entry.json b/1998/schnitzi/.entry.json
index c15217708..56e626376 100644
--- a/1998/schnitzi/.entry.json
+++ b/1998/schnitzi/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "1998_schnitzi.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1998/schnitzi/.gitignore b/1998/schnitzi/.gitignore
index 438951dd7..9cbba1b63 100644
--- a/1998/schnitzi/.gitignore
+++ b/1998/schnitzi/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
data
indent
diff --git a/1998/schnitzi/Makefile b/1998/schnitzi/Makefile
index ac4d3b259..34394684f 100644
--- a/1998/schnitzi/Makefile
+++ b/1998/schnitzi/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1998/schnitzi/README.md b/1998/schnitzi/README.md
index d469b5895..2e2a0c9d0 100644
--- a/1998/schnitzi/README.md
+++ b/1998/schnitzi/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [1998 schnitzi in bugs.md](/bugs.md#1998-schnitzi).
+For more detailed information see [1998 schnitzi bugs](../../bugs.html#1998_schnitzi).
## To use:
@@ -78,7 +78,7 @@ 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](/1988/robison/robison.c)). If you have to ask why they would
+[1988/robison.c](../../1988/robison/robison.c)). 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
diff --git a/1998/schnitzi/index.html b/1998/schnitzi/index.html
index 0a18de20b..959969d47 100644
--- a/1998/schnitzi/index.html
+++ b/1998/schnitzi/index.html
@@ -45,6 +45,8 @@
← fanf↑ 1998 ↑schweikh1 →
+ C code
+ MakefileInventory
./schnitzi n > sort.cmake sort
@@ -174,9 +177,10 @@ Wright’s “Gadsby”) in which no word contains the letter
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).
-If you have to ask why they would do it this way, then this contest just
-isn’t for you.
+essential (e.g. 1988/robison.c). 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, it appears that CONDITIONAL BRANCHING isn’t really
diff --git a/1998/schweikh1/.entry.json b/1998/schweikh1/.entry.json
index 4a650b1c4..a1af7967c 100644
--- a/1998/schweikh1/.entry.json
+++ b/1998/schweikh1/.entry.json
@@ -67,7 +67,7 @@
},
{
"file_path" : "1998_schweikh1.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/1998/schweikh1/.gitignore b/1998/schweikh1/.gitignore
index 84071c21e..80e95953d 100644
--- a/1998/schweikh1/.gitignore
+++ b/1998/schweikh1/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/1998/schweikh1/Makefile b/1998/schweikh1/Makefile
index a67ab58f7..658f08a22 100644
--- a/1998/schweikh1/Makefile
+++ b/1998/schweikh1/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/1998/schweikh1/README.md b/1998/schweikh1/README.md
index 50298d56a..56fbcd14f 100644
--- a/1998/schweikh1/README.md
+++ b/1998/schweikh1/README.md
@@ -23,7 +23,7 @@ As noted above this entry will not work as it stands for macOS and there are
some important notes as well as a description of how the fixed version works
(the details of which are relevant to the original entry that no longer works as
well as the fixed version but are described in the context of the macOS
-adjustments). For details of what had to change, see [macos.md](macos.md).
+adjustments). For details of what had to change, see [macos.html](macos.html).
Unless you wish to figure it out yourself, we recommend that you read this even
if you don't have a Mac as it has some interesting details about the entry.
diff --git a/1998/schweikh1/index.html b/1998/schweikh1/index.html
index 0f24ebc3e..5021f19eb 100644
--- a/1998/schweikh1/index.html
+++ b/1998/schweikh1/index.html
@@ -45,6 +45,8 @@
← schnitzi↑ 1998 ↑schweikh2 →
+ C code
+ MakefileInventory
+Schweikhardt Location: DE -
+Federal Republic of Germany (Germany)
@@ -141,9 +144,9 @@ there are some important notes as well as a description of how the fixed
version works (the details of which are relevant to the original entry
that no longer works as well as the fixed version but are described in
the context of the macOS adjustments). For details of what had to
-change, see macos.md. Unless you wish to figure
-it out yourself, we recommend that you read this even if you don’t have
-a Mac as it has some interesting details about the entry.
+change, see macos.html. Unless you wish to
+figure it out yourself, we recommend that you read this even if you
+don’t have a Mac as it has some interesting details about the entry.
diff --git a/2000/Makefile b/2000/Makefile
index 19d24e822..ed9a24138 100644
--- a/2000/Makefile
+++ b/2000/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2000/README.md b/2000/README.md
index 8908d0973..477ef0403 100644
--- a/2000/README.md
+++ b/2000/README.md
@@ -3,7 +3,7 @@
## Standard IOCCC stuff
-Look at the README.md file for the given winning entry for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
@@ -43,19 +43,19 @@ that was not supplied with the entry.
We hope the authors of some of those entries will fix and re-submit
them for the next IOCCC.
-We believe you will be impressed with this year's winners. The [Best of
-Show](jarijyrki/README.md) is a fine example of compact obfuscation. But don't
-ignore the shorter winners. The [Best Small Program](natori/README.md), [Best
-Abuse of User](briddlebane/README.m) and [Most Complete Program](tomx/README.md)
+We believe you will be impressed with this year's winning entries. The [Best of
+Show](jarijyrki/index.html) is a fine example of compact obfuscation. But don't
+ignore the shorter entries. The [Best Small Program](natori/index.html), [Best
+Abuse of User](briddlebane/README.m) and [Most Complete Program](tomx/index.html)
are well worth studying in detail.
-The [Worst Abuse of the Rules](dlowe/README.md) is technically allowed by the
+The [Worst Abuse of the Rules](dlowe/index.html) is technically allowed by the
rules. We gave it an award this year, but don't assume you can get away with
using it next time ... :-)
Speaking of time, be sure to check out the [Astronomically
-Obfuscated](rince/README.md) and the [Most Timely
-Output](schneiderwent/README.md).
+Obfuscated](rince/index.html) and the [Most Timely
+Output](schneiderwent/index.html).
## There was no 1999 contest
@@ -90,9 +90,9 @@ questions@ioccc.org
**IMPORTANT NOTE**: The email addresses found above are for historical
purposes only, and should not be used today. See
-[contact.html](/contact.html) for up to date contact details
+[contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -100,5 +100,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (c) 2000,2023, Landon Curt Noll, Peter Seebach and Leonid A. Broukhis. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/2000/anderson/.entry.json b/2000/anderson/.entry.json
index bdf6d9fb6..822d7a719 100644
--- a/2000/anderson/.entry.json
+++ b/2000/anderson/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2000_anderson.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2000/anderson/.gitignore b/2000/anderson/.gitignore
index ce15e9e26..ad6b748fd 100644
--- a/2000/anderson/.gitignore
+++ b/2000/anderson/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
anderson
anderson.alt
diff --git a/2000/anderson/Makefile b/2000/anderson/Makefile
index 07a90e02d..b5ab4669e 100644
--- a/2000/anderson/Makefile
+++ b/2000/anderson/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2000/anderson/index.html b/2000/anderson/index.html
index 28ab33e6c..bd2288711 100644
--- a/2000/anderson/index.html
+++ b/2000/anderson/index.html
@@ -45,6 +45,8 @@
first entry↑ 2000 ↑bellard →
+ C code
+ MakefileInventory
+Location: US - United States of
+America (United States)
diff --git a/2000/dlowe/.entry.json b/2000/dlowe/.entry.json
index dc8796b83..636d04ce5 100644
--- a/2000/dlowe/.entry.json
+++ b/2000/dlowe/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2000_dlowe.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2000/dlowe/.gitignore b/2000/dlowe/.gitignore
index 6c87237ef..48523759d 100644
--- a/2000/dlowe/.gitignore
+++ b/2000/dlowe/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
dlowe
dlowe.orig
diff --git a/2000/dlowe/Makefile b/2000/dlowe/Makefile
index cafc4550b..e36605011 100644
--- a/2000/dlowe/Makefile
+++ b/2000/dlowe/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2000/dlowe/README.md b/2000/dlowe/README.md
index 731e2222b..32e532f3f 100644
--- a/2000/dlowe/README.md
+++ b/2000/dlowe/README.md
@@ -22,7 +22,7 @@ STATUS: doesn't work with some platforms - please help us fix
STATUS: known bug - please help us fix
```
-For more detailed information see [2000 dlowe in bugs.md](/bugs.md#2000-dlowe).
+For more detailed information see [2000 dlowe bugs](../../bugs.html#2000_dlowe).
## To use:
@@ -44,15 +44,15 @@ For more detailed information see [2000 dlowe in bugs.md](/bugs.md#2000-dlowe).
When this entry was submitted the rules of the IOCCC did not prohibit
the use of embedded language interpreters. The judges considered
disqualifying this entry because of the use of perl, but on the other
-hand it qualifies as the Worst Abuse of the Rules. As a previous winner\*
-David Lowe continues to inflict the highest quality "poot" on the
+hand it qualifies as the Worst Abuse of the Rules. As a previous author,
+[David Lowe](../../authors.html#J_David_Lowe) continues to inflict the highest quality "poot" on the
Judges.
The program also contains an undocumented command for Chad and Chongo (Landon).
The judges' remarks contain a clue to the hidden command :-).
* The IOCCC uses an anonymous judging process which keeps the identity
-of the submitters hidden until all the prize winners have been selected.
+of the submitters hidden until all winning entries have been selected.
## Author's remarks:
diff --git a/2000/dlowe/index.html b/2000/dlowe/index.html
index 621ea2e87..e040ebf9b 100644
--- a/2000/dlowe/index.html
+++ b/2000/dlowe/index.html
@@ -45,6 +45,8 @@
← dhyang↑ 2000 ↑jarijyrki →
+ C code
+ MakefileInventory
When this entry was submitted the rules of the IOCCC did not prohibit
the use of embedded language interpreters. The judges considered
disqualifying this entry because of the use of perl, but on the other
-hand it qualifies as the Worst Abuse of the Rules. As a previous winner*
-David Lowe continues to inflict the highest quality “poot” on the
-Judges.
+hand it qualifies as the Worst Abuse of the Rules. As a previous author,
+David Lowe continues to
+inflict the highest quality “poot” on the Judges.
The program also contains an undocumented command for Chad and Chongo
(Landon). The judges’ remarks contain a clue to the hidden command
:-).
The IOCCC uses an anonymous judging process which keeps the identity
-of the submitters hidden until all the prize winners have been
+of the submitters hidden until all winning entries have been
selected.
Look at the README.md file for the given winning entry for
-information on how to compile it and how to run the winning program.
-Look at the winning source and try to figure how it does what it does!
-You may then wish to look at the Author’s remarks for even more
+
View the index.html web page for the given winning entry
+for information on how on how to compile it and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
details.
Use make to compile entries. It is possible that on
non-Unix / non-Linux systems the Makefile needs to be changed. See the
@@ -148,19 +149,19 @@ language that was not supplied with the entry.
We hope the authors of some of those entries will fix and re-submit
them for the next IOCCC.
The Worst Abuse of the Rules is
technically allowed by the rules. We gave it an award this year, but
don’t assume you can get away with using it next time … :-)
+href="rince/index.html">Astronomically Obfuscated and the Most Timely Output.
There was no 1999 contest
So what happened to 1999? Landon Curt Noll was scheduled to take a
vacation from the IOCCC this year. The remaining judges were unable to
@@ -185,18 +186,18 @@ contests. Send such email to:
questions@ioccc.org
IMPORTANT NOTE: The email addresses found above are
for historical purposes only, and should not be used today. See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
+href="../contact.html">send us a note about your use.
diff --git a/2000/jarijyrki/.entry.json b/2000/jarijyrki/.entry.json
index fbf4021b1..314ef293a 100644
--- a/2000/jarijyrki/.entry.json
+++ b/2000/jarijyrki/.entry.json
@@ -36,7 +36,7 @@
},
{
"file_path" : "2000_jarijyrki.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2000/jarijyrki/.gitignore b/2000/jarijyrki/.gitignore
index 43d4231d6..5c748af7d 100644
--- a/2000/jarijyrki/.gitignore
+++ b/2000/jarijyrki/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2000/jarijyrki/Makefile b/2000/jarijyrki/Makefile
index 2eecc0f71..391ce7606 100644
--- a/2000/jarijyrki/Makefile
+++ b/2000/jarijyrki/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2000/jarijyrki/README.md b/2000/jarijyrki/README.md
index c14f13e2b..04ff2444a 100644
--- a/2000/jarijyrki/README.md
+++ b/2000/jarijyrki/README.md
@@ -53,7 +53,7 @@ existing spreadsheet files unusable.
This entry is one of those that makes you wonder why some commercial software
needs tens to hundreds of megabytesgigabytes to install! This
entry does not simply do the basics, it includes graphing features. All this
-program needs now is a [flight simulator](1998/banks/README.md)!
+program needs now is a [1998/banks](../../1998/banks/index.html) flight simulator!
## Author's remarks:
diff --git a/2000/jarijyrki/index.html b/2000/jarijyrki/index.html
index 7110a0e19..521ac8adf 100644
--- a/2000/jarijyrki/index.html
+++ b/2000/jarijyrki/index.html
@@ -45,6 +45,8 @@
← dlowe↑ 2000 ↑natori →
+ C code
+ MakefileInventory
+Holopainen Location: FI -
+Republic of Finland (Finland)
@@ -153,7 +157,7 @@ renders existing spreadsheet files unusable.
software needs tens to hundreds of megabytesgigabytes
to install! This entry does not simply do the basics, it includes
graphing features. All this program needs now is a flight simulator!
+href="../../1998/banks/index.html">1998/banks flight simulator!
Author’s remarks:
1. OVERVIEW
This program is an X-Windows based spreadsheet program. The main
diff --git a/2000/natori/.entry.json b/2000/natori/.entry.json
index dff976776..0e7827f6e 100644
--- a/2000/natori/.entry.json
+++ b/2000/natori/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "2000_natori.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2000/natori/.gitignore b/2000/natori/.gitignore
index b2a138c14..284a5ca6f 100644
--- a/2000/natori/.gitignore
+++ b/2000/natori/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2000/natori/Makefile b/2000/natori/Makefile
index 1be92d5fa..81df4388e 100644
--- a/2000/natori/Makefile
+++ b/2000/natori/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2000/natori/index.html b/2000/natori/index.html
index 850d3a877..c0fa3e756 100644
--- a/2000/natori/index.html
+++ b/2000/natori/index.html
@@ -45,6 +45,8 @@
← jarijyrki↑ 2000 ↑primenum →
+ C code
+ MakefileInventory
diff --git a/2000/rince/.entry.json b/2000/rince/.entry.json
index aab44ab4f..260cd487f 100644
--- a/2000/rince/.entry.json
+++ b/2000/rince/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "2000_rince.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2000/rince/.gitignore b/2000/rince/.gitignore
index e3ad20352..1e2e5810d 100644
--- a/2000/rince/.gitignore
+++ b/2000/rince/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
dmy2jd
indent
diff --git a/2000/rince/Makefile b/2000/rince/Makefile
index 762b64697..de9b45478 100644
--- a/2000/rince/Makefile
+++ b/2000/rince/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2000/rince/README.md b/2000/rince/README.md
index c9c5ea925..dfa8dfede 100644
--- a/2000/rince/README.md
+++ b/2000/rince/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2000 rince in bugs.md](/bugs.md#2000-rince).
+For more detailed information see [2000 rince bugs](../../bugs.html#2000_rince).
## To use:
@@ -232,7 +232,7 @@ run from the surface of [Mars](https://science.nasa.gov/mars/).
In addition to the normal obfuscations, I feel that the code contains some less
common tricks. Taken through the standard rounds listed in the
-[guidelines](/2000/guidelines.txt), the code attempts to pass these as follows:
+[guidelines](../../2000/guidelines.txt), the code attempts to pass these as follows:
1. Look at the original source
diff --git a/2000/rince/index.html b/2000/rince/index.html
index 6425c0db1..b1905ecbd 100644
--- a/2000/rince/index.html
+++ b/2000/rince/index.html
@@ -45,6 +45,8 @@
← primenum↑ 2000 ↑robison →
+ C code
+ MakefileInventory
If DISPLAY is not set the program will very likely crash
@@ -295,8 +299,8 @@ href="https://science.nasa.gov/mars/">Mars.
Obfuscations
In addition to the normal obfuscations, I feel that the code contains
some less common tricks. Taken through the standard rounds listed in the
-guidelines, the code attempts to pass
-these as follows:
+guidelines, the code attempts to
+pass these as follows:
Look at the original source
With luck, pure casual inspection should not reveal much except that
diff --git a/2000/robison/.entry.json b/2000/robison/.entry.json
index f8e414cbc..6ea4acd01 100644
--- a/2000/robison/.entry.json
+++ b/2000/robison/.entry.json
@@ -35,7 +35,7 @@
},
{
"file_path" : "2000_robison.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2000/robison/.gitignore b/2000/robison/.gitignore
index 9864d9259..80e26460e 100644
--- a/2000/robison/.gitignore
+++ b/2000/robison/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2000/robison/Makefile b/2000/robison/Makefile
index 2d6e13bf2..7d95fbfcc 100644
--- a/2000/robison/Makefile
+++ b/2000/robison/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2000/robison/index.html b/2000/robison/index.html
index d9b8061bb..7fd3f1c34 100644
--- a/2000/robison/index.html
+++ b/2000/robison/index.html
@@ -45,6 +45,8 @@
← rince↑ 2000 ↑schneiderwent →
+ C code
+ MakefileInventory
diff --git a/2000/thadgavin/.entry.json b/2000/thadgavin/.entry.json
index 7731f7e66..35ef35897 100644
--- a/2000/thadgavin/.entry.json
+++ b/2000/thadgavin/.entry.json
@@ -44,7 +44,7 @@
},
{
"file_path" : "2000_thadgavin.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2000/thadgavin/.gitignore b/2000/thadgavin/.gitignore
index a75aa9a51..bcfbcedad 100644
--- a/2000/thadgavin/.gitignore
+++ b/2000/thadgavin/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2000/thadgavin/Makefile b/2000/thadgavin/Makefile
index ebd2a63f8..40aa01cd3 100644
--- a/2000/thadgavin/Makefile
+++ b/2000/thadgavin/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2000/thadgavin/README.md b/2000/thadgavin/README.md
index 148a25c10..d858df092 100644
--- a/2000/thadgavin/README.md
+++ b/2000/thadgavin/README.md
@@ -5,9 +5,9 @@ make alt
```
NOTE: if you don't have curses or SDL1 installed both modes will fail to compile. In
-that case see the [FAQ 3.8 - How do I compile an IOCCC winner that requires SDL1
-or SDL2?](/faq.md#SDL) and [FAQ 3.9 - How do I compile an IOCCC winner that
-requires (n)curses?](/faq.md#faq3_9) for more information.
+that case see the [FAQ 3.8 - How do I compile an IOCCC entry that requires SDL1
+or SDL2?](../../faq.html#SDL) and [FAQ 3.9 - How do I compile an IOCCC entry that
+requires (n)curses?](../../faq.html#curses) for more information.
We recommend that you use the alternate code so you can see what this entry
looked like back in 2000 (with a configurable speed). See the
diff --git a/2000/thadgavin/index.html b/2000/thadgavin/index.html
index 6181d91fa..ecb3a63b9 100644
--- a/2000/thadgavin/index.html
+++ b/2000/thadgavin/index.html
@@ -45,6 +45,8 @@
← schneiderwent↑ 2000 ↑tomx →
+ C code
+ MakefileInventory
We recommend that you use the alternate code so you can see what this
entry looked like back in 2000 (with a configurable speed). See the original code section for the original
diff --git a/2000/tomx/.entry.json b/2000/tomx/.entry.json
index 5bf57640d..b7b253771 100644
--- a/2000/tomx/.entry.json
+++ b/2000/tomx/.entry.json
@@ -67,7 +67,7 @@
},
{
"file_path" : "2000_tomx.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2000/tomx/.gitignore b/2000/tomx/.gitignore
index 0297c8bad..e39bb2392 100644
--- a/2000/tomx/.gitignore
+++ b/2000/tomx/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2000/tomx/Makefile b/2000/tomx/Makefile
index 24f44be8a..c9d63100d 100644
--- a/2000/tomx/Makefile
+++ b/2000/tomx/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2000/tomx/index.html b/2000/tomx/index.html
index 680dce669..659fd5334 100644
--- a/2000/tomx/index.html
+++ b/2000/tomx/index.html
@@ -45,6 +45,8 @@
← thadgavin↑ 2000 ↑last entry
+ C code
+ MakefileInventory
+John Location: NL -
+Kingdom of the Netherlands (Netherlands)
diff --git a/2001/Makefile b/2001/Makefile
index 34c872b8f..cba84af4b 100644
--- a/2001/Makefile
+++ b/2001/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2001/README.md b/2001/README.md
index b292315a4..600584cab 100644
--- a/2001/README.md
+++ b/2001/README.md
@@ -3,13 +3,13 @@
## Standard IOCCC stuff
-Look at the README.md file for the given winning entry for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
The IOCCC has a web site and now has a number of international mirrors. The
-primary site can be found at .
+primary site can be found at [www.ioccc.org](https://www.ioccc.org).
Use `make` to compile entries. It is possible that on non-Unix / non-Linux
systems the Makefile needs to be changed. See the Makefile for details.
@@ -36,18 +36,18 @@ some very good entries lost because they:
We hope the authors of some of those entries will fix and re-submit
them for the next IOCCC.
-We believe you will be impressed with this year's winners. The [Best of
-Show](ollinger/README.md) is a fine example of obfuscation. But don't ignore
-the other winners! There are games, programs that speak, ones that compile code
-and [one that might run binaries you already have](2001/anonymous/README.md).
+We believe you will be impressed with this year's winning entries The [Best of
+Show](ollinger/index.html) is a fine example of obfuscation. But don't ignore
+the other entries! There are games, programs that speak, ones that compile code
+and [one that might run binaries you already have](2001/anonymous/index.html).
-The [Best/Worst Abuse of the Rules](bellard/README.md) is technically allowed by the
+The [Best/Worst Abuse of the Rules](bellard/index.html) is technically allowed by the
[rules](rules.txt). This year we awarded it again, but don't assume you can get
away with using the same technique next time ... :-)
-This year there were several repeat winners. This is understating the
+This year there were several repeat authors. This is understating the
achievement a little - [one
-person](https://www.ioccc.org/authors.html#Brian_Westley) has won 8 times
+person](../authors.html#Brian_Westley) has won 8 times
before! (Please note that judging is done completely anonymously.)
@@ -71,9 +71,9 @@ questions@ioccc.org
**IMPORTANT NOTE**: The email addresses found above are for historical
purposes only, and should not be used today. See
-[contact.html](/contact.html) for up to date contact details
+[contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -81,5 +81,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (c) 2001,2002,2023, Landon Curt Noll, Peter Seebach and Leonid A. Broukhis, All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/2001/anonymous/.entry.json b/2001/anonymous/.entry.json
index 769afd423..fc0350adf 100644
--- a/2001/anonymous/.entry.json
+++ b/2001/anonymous/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "2001_anonymous.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2001/anonymous/.gitignore b/2001/anonymous/.gitignore
index 98c51635d..6c72376b7 100644
--- a/2001/anonymous/.gitignore
+++ b/2001/anonymous/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
anonymous
anonymous.bed
diff --git a/2001/anonymous/Makefile b/2001/anonymous/Makefile
index ec02c3d93..f9062a5bb 100644
--- a/2001/anonymous/Makefile
+++ b/2001/anonymous/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2001/anonymous/README.md b/2001/anonymous/README.md
index 35f5c567a..f69a0baa0 100644
--- a/2001/anonymous/README.md
+++ b/2001/anonymous/README.md
@@ -22,7 +22,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2001 anonymous in bugs.md](/bugs.md#2001-anonymous).
+For more detailed information see [2001 anonymous bugs](../../bugs.html#2001_anonymous).
## To use:
@@ -221,7 +221,7 @@ Despite all this, the translator is not exclusively limited to running the
[anonymous.ten](anonymous.ten.c) program. Other trivial **_x86_** programs may
run on the translator \- and I have successfully run a wide range of "Hello
World" programs, including one of last year's IOCCC entries,
-[tomx](/2000/tomx/tomx.c).
+[tomx](../../2000/tomx/tomx.c).
### Complete Program
@@ -231,9 +231,9 @@ it is not a complete program in its own right, as it relies on other programs.
The call to `system(3)` is a call to ask gcc to recompile the translator with a
new set of switches, and the call to `execv(3)` asks for the newly compiled
program to be executed. I would point out that almost every other entry to this
-competition also require a C compiler (well, the published winners at any rate,
+competition also require a C compiler (well, the published winning entries at any rate,
and I recognize that a few don't). There is little real difference between this
-program and one like last year's entry [dhyang](/2000/dhyang/dhyang.c); both are
+program and one like last year's entry [dhyang](../../2000/dhyang/dhyang.c); both are
just C programs that generate C code as their output.
Enjoy and thanks!
diff --git a/2001/anonymous/index.html b/2001/anonymous/index.html
index 0680d5ff3..9a4d622c7 100644
--- a/2001/anonymous/index.html
+++ b/2001/anonymous/index.html
@@ -45,6 +45,8 @@
first entry↑ 2001 ↑bellard →
+ C code
+ MakefileInventory
@@ -296,7 +300,7 @@ running the anonymous.ten program. Other
trivial x86 programs may run on the translator
- and I have successfully run a wide range of “Hello World” programs,
including one of last year’s IOCCC entries, tomx.
+href="../../2000/tomx/tomx.c">tomx.
Complete Program
The fact that the program makes calls to system(3) and
execv(3) may imply that it is not a complete program in its
@@ -305,10 +309,10 @@ own right, as it relies on other programs. The call to
with a new set of switches, and the call to execv(3) asks
for the newly compiled program to be executed. I would point out that
almost every other entry to this competition also require a C compiler
-(well, the published winners at any rate, and I recognize that a few
-don’t). There is little real difference between this program and one
-like last year’s entry dhyang; both
-are just C programs that generate C code as their output.
+(well, the published winning entries at any rate, and I recognize that a
+few don’t). There is little real difference between this program and one
+like last year’s entry dhyang;
+both are just C programs that generate C code as their output.
Enjoy and thanks!
Copyright and CC BY-SA 4.0
License:
diff --git a/2001/bellard/.entry.json b/2001/bellard/.entry.json
index e88cd0ea5..36054e8cc 100644
--- a/2001/bellard/.entry.json
+++ b/2001/bellard/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "2001_bellard.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2001/bellard/.gitignore b/2001/bellard/.gitignore
index 3d99b94bd..79c466b58 100644
--- a/2001/bellard/.gitignore
+++ b/2001/bellard/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
bellard
bellard.orig
diff --git a/2001/bellard/Makefile b/2001/bellard/Makefile
index 6682cfb9f..d264f8e84 100644
--- a/2001/bellard/Makefile
+++ b/2001/bellard/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2001/bellard/README.md b/2001/bellard/README.md
index 4e81cf27b..e99e1f108 100644
--- a/2001/bellard/README.md
+++ b/2001/bellard/README.md
@@ -14,7 +14,7 @@ STATUS: INABIAF - please **DO NOT** fix
STATUS: doesn't work with some platforms - please help us fix
```
-For more detailed information see [2001 bellard in bugs.md](/bugs.md#2001-bellard).
+For more detailed information see [2001 bellard bugs](../../bugs.html#2001_bellard).
## To use:
diff --git a/2001/bellard/index.html b/2001/bellard/index.html
index 9803b9f71..a49e86b0c 100644
--- a/2001/bellard/index.html
+++ b/2001/bellard/index.html
@@ -45,6 +45,8 @@
← anonymous↑ 2001 ↑cheong →
+ C code
+ MakefileInventory
+Cheong Location: US -
+United States of America (United States)
diff --git a/2001/coupard/.entry.json b/2001/coupard/.entry.json
index 688a52be2..0b6bb9a9f 100644
--- a/2001/coupard/.entry.json
+++ b/2001/coupard/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2001_coupard.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2001/coupard/.gitignore b/2001/coupard/.gitignore
index 0fd133cb1..95cac0ffe 100644
--- a/2001/coupard/.gitignore
+++ b/2001/coupard/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
coupard
coupard.orig
diff --git a/2001/coupard/Makefile b/2001/coupard/Makefile
index f35c521ab..f153d1362 100644
--- a/2001/coupard/Makefile
+++ b/2001/coupard/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2001/coupard/README.md b/2001/coupard/README.md
index 2de6e454b..8d8343187 100644
--- a/2001/coupard/README.md
+++ b/2001/coupard/README.md
@@ -39,8 +39,8 @@ of sight: this program is a self-contained speech synthesizer that
tells the current time through the computer's sound card - in just under
2 Kb of source code !
-In the 2001 IOCCC [rules](/2001/rules.txt) and
-[guidelines](/2001/guidelines.txt) documents, there is no mention of
+In the 2001 IOCCC [rules](../../2001/rules.txt) and
+[guidelines](../../2001/guidelines.txt) documents, there is no mention of
what is or isn't acceptable regarding audio I/O, but it is mentioned
that hardware-specific and/or non-portable programs are not welcome. So,
in order to do audio and satisfy those requirements, the format required
diff --git a/2001/coupard/index.html b/2001/coupard/index.html
index 51175a1fa..df1f48453 100644
--- a/2001/coupard/index.html
+++ b/2001/coupard/index.html
@@ -45,6 +45,8 @@
← cheong↑ 2001 ↑ctk →
+ C code
+ MakefileInventory
@@ -147,8 +150,8 @@ to read obviously): when they interact with the user, they only
instead of sight: this program is a self-contained speech synthesizer
that tells the current time through the computer’s sound card - in just
under 2 Kb of source code !
-
In the 2001 IOCCC rules and guidelines documents, there is no
+
In the 2001 IOCCC rules and guidelines documents, there is no
mention of what is or isn’t acceptable regarding audio I/O, but it is
mentioned that hardware-specific and/or non-portable programs are not
welcome. So, in order to do audio and satisfy those requirements, the
diff --git a/2001/ctk/.entry.json b/2001/ctk/.entry.json
index 920ad3727..1ad6a1eae 100644
--- a/2001/ctk/.entry.json
+++ b/2001/ctk/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2001_ctk.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2001/ctk/.gitignore b/2001/ctk/.gitignore
index c050af53d..f0a65cd46 100644
--- a/2001/ctk/.gitignore
+++ b/2001/ctk/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
ctk
ctk.alt
diff --git a/2001/ctk/Makefile b/2001/ctk/Makefile
index fe6e81e43..4a49c6a88 100644
--- a/2001/ctk/Makefile
+++ b/2001/ctk/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2001/ctk/index.html b/2001/ctk/index.html
index f5db2c69d..3582b21a9 100644
--- a/2001/ctk/index.html
+++ b/2001/ctk/index.html
@@ -45,6 +45,8 @@
← coupard↑ 2001 ↑dgbeards →
+ C code
+ MakefileInventory
diff --git a/2001/dgbeards/.entry.json b/2001/dgbeards/.entry.json
index df4b2fe4d..a7c81a375 100644
--- a/2001/dgbeards/.entry.json
+++ b/2001/dgbeards/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2001_dgbeards.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2001/dgbeards/.gitignore b/2001/dgbeards/.gitignore
index 24c0adc35..2af6b04f6 100644
--- a/2001/dgbeards/.gitignore
+++ b/2001/dgbeards/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
dgbeards
dgbeards.alt
diff --git a/2001/dgbeards/Makefile b/2001/dgbeards/Makefile
index 5552f162a..7e4925360 100644
--- a/2001/dgbeards/Makefile
+++ b/2001/dgbeards/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2001/dgbeards/README.md b/2001/dgbeards/README.md
index 986d101ea..511b9be15 100644
--- a/2001/dgbeards/README.md
+++ b/2001/dgbeards/README.md
@@ -16,7 +16,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2001 dgbeards in bugs.md](/bugs.md#2001-dgbeards).
+For more detailed information see [2001 dgbeards bugs](../../bugs.html#2001_dgbeards).
## To use:
@@ -86,7 +86,7 @@ uses the same pieces. Here is a list of the differences:
moves. This is usually accomplished by losing all of your pieces.
Sometimes, the game can end when you still have some pawns on the board,
but they are blocked and cannot move. The general rule is if a player
-has no legal moves, the game is over. The winner is the player with fewer
+has no legal moves, the game is over. The entry is the player with fewer
pieces on the board. This is almost always the same player that had no
moves, but not always.
@@ -141,7 +141,7 @@ they do happen, they usually do not change the outcome of the game. As
mentioned above, castling is not allowed either.
It also does not detect the end of the game. It can see sure wins or
-losses several moves ahead, but does not announce the end of a game or
+losses several moves ahead, but does not announce the end of a game nor
the winner. Given the existing code it is easy to do this, but it was
deemed unnecessary fluff.
diff --git a/2001/dgbeards/index.html b/2001/dgbeards/index.html
index 1f43e017c..9176f9409 100644
--- a/2001/dgbeards/index.html
+++ b/2001/dgbeards/index.html
@@ -45,6 +45,8 @@
← ctk↑ 2001 ↑herrmann1 →
+ C code
+ MakefileInventory
@@ -174,9 +177,9 @@ of the differences:
legal moves. This is usually accomplished by losing all of your pieces.
Sometimes, the game can end when you still have some pawns on the board,
but they are blocked and cannot move. The general rule is if a player
-has no legal moves, the game is over. The winner is the player with
-fewer pieces on the board. This is almost always the same player that
-had no moves, but not always.
+has no legal moves, the game is over. The entry is the player with fewer
+pieces on the board. This is almost always the same player that had no
+moves, but not always.
In suicide chess, piece captures are compulsory. If a player can
capture an opponent’s piece, he is required to do so. If he can capture
more than one of the opponent’s pieces or can capture one piece with
@@ -227,7 +230,7 @@ not recognized. They are rarely encountered in suicide chess and when
they do happen, they usually do not change the outcome of the game. As
mentioned above, castling is not allowed either.
It also does not detect the end of the game. It can see sure wins or
-losses several moves ahead, but does not announce the end of a game or
+losses several moves ahead, but does not announce the end of a game nor
the winner. Given the existing code it is easy to do this, but it was
deemed unnecessary fluff.
Q: What is the
diff --git a/2001/herrmann1/.entry.json b/2001/herrmann1/.entry.json
index 0d076ae42..bfa3f34df 100644
--- a/2001/herrmann1/.entry.json
+++ b/2001/herrmann1/.entry.json
@@ -75,7 +75,7 @@
},
{
"file_path" : "2001_herrmann1.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2001/herrmann1/.gitignore b/2001/herrmann1/.gitignore
index b031157bf..3fb707bfe 100644
--- a/2001/herrmann1/.gitignore
+++ b/2001/herrmann1/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
error
herrmann1
diff --git a/2001/herrmann1/Makefile b/2001/herrmann1/Makefile
index 5985c0f5a..0821753ea 100644
--- a/2001/herrmann1/Makefile
+++ b/2001/herrmann1/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2001/herrmann1/README.md b/2001/herrmann1/README.md
index e01bb6140..c26d44225 100644
--- a/2001/herrmann1/README.md
+++ b/2001/herrmann1/README.md
@@ -14,7 +14,7 @@ STATUS: missing files - please provide them
STATUS: known bug - please help us fix
```
-For more detailed information see [2001 herrmann1 in bugs.md](/bugs.md#2001-herrmann1).
+For more detailed information see [2001 herrmann1 bugs](../../bugs.html#2001_herrmann1).
## To use:
diff --git a/2001/herrmann1/index.html b/2001/herrmann1/index.html
index ff06bcb10..4eeccb3ad 100644
--- a/2001/herrmann1/index.html
+++ b/2001/herrmann1/index.html
@@ -45,6 +45,8 @@
← dgbeards↑ 2001 ↑herrmann2 →
+ C code
+ MakefileInventory
Look at the README.md file for the given winning entry for
-information on how to compile it and how to run the winning program.
-Look at the winning source and try to figure how it does what it does!
-You may then wish to look at the Author’s remarks for even more
+
View the index.html web page for the given winning entry
+for information on how on how to compile it and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
details.
The IOCCC has a web site and now has a number of international
mirrors. The primary site can be found at https://www.ioccc.org.
+href="https://www.ioccc.org">www.ioccc.org.
Use make to compile entries. It is possible that on
non-Unix / non-Linux systems the Makefile needs to be changed. See the
Makefile for details.
@@ -144,21 +145,20 @@ language that was not supplied with the entry.
We hope the authors of some of those entries will fix and re-submit
them for the next IOCCC.
-
We believe you will be impressed with this year’s winners. The Best of Show is a fine example of
-obfuscation. But don’t ignore the other winners! There are games,
+
The Best/Worst Abuse of the Rules is
technically allowed by the rules. This year we
awarded it again, but don’t assume you can get away with using the same
technique next time … :-)
-
This year there were several repeat winners. This is understating the
-achievement a little - one person
-has won 8 times before! (Please note that judging is done completely
-anonymously.)
+
This year there were several repeat authors. This is understating the
+achievement a little - one
+person has won 8 times before! (Please note that judging is done
+completely anonymously.)
Why has it
taken so long to post the winning source?
This is somewhat my (Simon Cooper’s) fault. I do apologize to the
@@ -172,18 +172,18 @@ contests. Send such email to:
questions@ioccc.org
IMPORTANT NOTE: The email addresses found above are
for historical purposes only, and should not be used today. See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
./kev# in one terminal
diff --git a/2001/ollinger/.entry.json b/2001/ollinger/.entry.json
index 3a57616a6..e5c67e585 100644
--- a/2001/ollinger/.entry.json
+++ b/2001/ollinger/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2001_ollinger.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2001/ollinger/.gitignore b/2001/ollinger/.gitignore
index 015657aa6..724b373be 100644
--- a/2001/ollinger/.gitignore
+++ b/2001/ollinger/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2001/ollinger/Makefile b/2001/ollinger/Makefile
index 5f323ec86..6d7f61228 100644
--- a/2001/ollinger/Makefile
+++ b/2001/ollinger/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2001/ollinger/README.md b/2001/ollinger/README.md
index 3ba0d0556..1fe1a5b95 100644
--- a/2001/ollinger/README.md
+++ b/2001/ollinger/README.md
@@ -47,7 +47,7 @@ character printed on the screen.
### Why did I write this ?
-Let's just quote the [FAQ](/faq.md):
+Let's just quote the [FAQ](../../faq.html):
Q: Are there types of entries that are submitted so frequently that the
judges get tired of them?
@@ -57,14 +57,14 @@ A: Yes, there are types of entries that show up over and over again.
```
We tend to dislike programs that:
-are similar to previous winners
+are similar to previous winning entries
We like variety. However too often we see (please look at the winning
examples given to be aware of the level of the competition):
(snip)
-generating small primes (below is the list of all prime related winners)
+generating small primes (below is the list of all prime related entries)
1985/august
1988/applin
diff --git a/2001/ollinger/index.html b/2001/ollinger/index.html
index 46c9c946e..7cd8544d8 100644
--- a/2001/ollinger/index.html
+++ b/2001/ollinger/index.html
@@ -45,6 +45,8 @@
← kev↑ 2001 ↑rosten →
+ C code
+ MakefileInventory
@@ -151,20 +154,20 @@ number, then the left cell take value 1 and the number is prime.
cost is a constant number of operation for each character printed on the
screen.
Q: Are there types of entries that are submitted so frequently that
the judges get tired of them?
A: Yes, there are types of entries that show up over and over again.
The guidelines say:
We tend to dislike programs that:
-are similar to previous winners
+are similar to previous winning entries
We like variety. However too often we see (please look at the winning
examples given to be aware of the level of the competition):
(snip)
-generating small primes (below is the list of all prime related winners)
+generating small primes (below is the list of all prime related entries)
1985/august
1988/applin
diff --git a/2001/rosten/.entry.json b/2001/rosten/.entry.json
index a75328883..240ff159b 100644
--- a/2001/rosten/.entry.json
+++ b/2001/rosten/.entry.json
@@ -35,7 +35,7 @@
},
{
"file_path" : "2001_rosten.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2001/rosten/.gitignore b/2001/rosten/.gitignore
index a4a995885..04001002d 100644
--- a/2001/rosten/.gitignore
+++ b/2001/rosten/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2001/rosten/Makefile b/2001/rosten/Makefile
index 89f01b97a..68b172ea0 100644
--- a/2001/rosten/Makefile
+++ b/2001/rosten/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2001/rosten/README.md b/2001/rosten/README.md
index 017d9e800..602a8a293 100644
--- a/2001/rosten/README.md
+++ b/2001/rosten/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: missing files - please provide them
```
-For more detailed information see [2001 rosten in bugs.md](/bugs.md#2001-rosten).
+For more detailed information see [2001 rosten bugs](../../bugs.html#2001_rosten).
## To use:
diff --git a/2001/rosten/index.html b/2001/rosten/index.html
index 03b3453e6..949803ad4 100644
--- a/2001/rosten/index.html
+++ b/2001/rosten/index.html
@@ -45,6 +45,8 @@
← ollinger↑ 2001 ↑schweikh →
+ C code
+ MakefileInventory
WARNING: this will mess with your mouse and can make it hard to quit
diff --git a/2001/schweikh/.entry.json b/2001/schweikh/.entry.json
index e2c8ebe6b..21300bd58 100644
--- a/2001/schweikh/.entry.json
+++ b/2001/schweikh/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2001_schweikh.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2001/schweikh/.gitignore b/2001/schweikh/.gitignore
index 060e40962..d9e0031c0 100644
--- a/2001/schweikh/.gitignore
+++ b/2001/schweikh/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2001/schweikh/Makefile b/2001/schweikh/Makefile
index 36103519a..0f20b37db 100644
--- a/2001/schweikh/Makefile
+++ b/2001/schweikh/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2001/schweikh/README.md b/2001/schweikh/README.md
index baae5e06e..12899a06d 100644
--- a/2001/schweikh/README.md
+++ b/2001/schweikh/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2001 schweikh in bugs.md](/bugs.md#2001-schweikh).
+For more detailed information see [2001 schweikh bugs](../../bugs.html#2001_schweikh).
## To use:
diff --git a/2001/schweikh/index.html b/2001/schweikh/index.html
index 3936a9ae0..65b6547f2 100644
--- a/2001/schweikh/index.html
+++ b/2001/schweikh/index.html
@@ -45,6 +45,8 @@
← rosten↑ 2001 ↑westley →
+ C code
+ MakefileInventory
This program will very likely crash or do something else if you do
diff --git a/2001/westley/.entry.json b/2001/westley/.entry.json
index 7a5430fb6..89f5546d6 100644
--- a/2001/westley/.entry.json
+++ b/2001/westley/.entry.json
@@ -67,7 +67,7 @@
},
{
"file_path" : "2001_westley.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2001/westley/.gitignore b/2001/westley/.gitignore
index 29b480f2a..cf26b4011 100644
--- a/2001/westley/.gitignore
+++ b/2001/westley/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2001/westley/Makefile b/2001/westley/Makefile
index 39adc167b..956be61e7 100644
--- a/2001/westley/Makefile
+++ b/2001/westley/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2001/westley/README.md b/2001/westley/README.md
index c422b9952..21d5360d8 100644
--- a/2001/westley/README.md
+++ b/2001/westley/README.md
@@ -20,7 +20,7 @@ STATUS: missing files - please provide them
STATUS: main() has only one arg - try and make it have 2 or 3
```
-For more detailed information see [2001 westley in bugs.md](/bugs.md#2001-westley).
+For more detailed information see [2001 westley bugs](../../bugs.html#2001_westley).
## To use:
diff --git a/2001/westley/index.html b/2001/westley/index.html
index b4389b20d..1c4b84543 100644
--- a/2001/westley/index.html
+++ b/2001/westley/index.html
@@ -45,6 +45,8 @@
← schweikh↑ 2001 ↑williams →
+ C code
+ MakefileInventory
+Westley Location: US -
+United States of America (United States)
@@ -139,7 +142,7 @@ href="#alternate-code">alternate code below.
STATUS: missing files - please provide them
STATUS: main() has only one arg - try and make it have 2 or 3
./westley2>/dev/null# enter some input, terminate with EOF
diff --git a/2001/williams/.entry.json b/2001/williams/.entry.json
index eecd990be..c1cb94de0 100644
--- a/2001/williams/.entry.json
+++ b/2001/williams/.entry.json
@@ -35,7 +35,7 @@
},
{
"file_path" : "2001_williams.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2001/williams/.gitignore b/2001/williams/.gitignore
index 0886245c4..4ef242967 100644
--- a/2001/williams/.gitignore
+++ b/2001/williams/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2001/williams/Makefile b/2001/williams/Makefile
index 86226f3d8..a5947b574 100644
--- a/2001/williams/Makefile
+++ b/2001/williams/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2001/williams/README.md b/2001/williams/README.md
index 3462d5e61..32e8cbc6b 100644
--- a/2001/williams/README.md
+++ b/2001/williams/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: known bug - please help us fix
```
-For more detailed information see [2001 williams in bugs.md](/bugs.md#2001-williams).
+For more detailed information see [2001 williams bugs](../../bugs.html#2001_williams).
## To use:
diff --git a/2001/williams/index.html b/2001/williams/index.html
index c2f96dd67..f0dbcdf42 100644
--- a/2001/williams/index.html
+++ b/2001/williams/index.html
@@ -45,6 +45,8 @@
← westley↑ 2001 ↑last entry
+ C code
+ MakefileInventory
+href="../../bugs.html#2001_williams">2001 williams bugs.
To use:
./williams
Judges’ remarks:
diff --git a/2004/Makefile b/2004/Makefile
index f307348ef..b380ab038 100644
--- a/2004/Makefile
+++ b/2004/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2004/README.md b/2004/README.md
index c0f68bfd3..586e2a46c 100644
--- a/2004/README.md
+++ b/2004/README.md
@@ -3,7 +3,7 @@
## Standard IOCCC stuff
-Look at the `README.md` file for the given winner for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile the entry and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
@@ -25,9 +25,9 @@ local compiler.
## Remarks on some of the entries
-We believe you will be impressed with this year's winners. The [Best of
+We believe you will be impressed with this year's winning entries. The [Best of
Show](gavin/gavin.c) is a fine example of obfuscation. But don't ignore the
-other winners! There are games, utilities, programs that output images and a
+other entries! There are games, utilities, programs that output images and a
one-liner that is incredibly compact for what it can do.
The [Best Abuse of the Guidelines](hibachi/hibachi.c) is technically allowed by
@@ -35,8 +35,8 @@ the rules. This year we allowed it due to the functionality of the program.
This entry is one of the easiest to read! Don't assume you can win using
similar techniques next time ... :-)
-This year a [single person](/authors.html#Daniel_Vik) won two awards! We also
-had repeat winners with their 6th, 4th and 2nd winning entries this year!
+This year a [single person](../authors.html#Daniel_Vik) won two awards! We also
+had repeat authors with their 6th, 4th and 2nd winning entries this year!
(Please note that judging is done completely anonymously. Be warned that we may
disqualify entries that reveal the identity of the submitter.)
@@ -56,9 +56,9 @@ them for the next IOCCC.
## Final Comments
-**IMPORTANT NOTE**: See [contact.html](/contact.html) for up to date contact details
+**IMPORTANT NOTE**: See [contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -66,5 +66,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (c) 2001,2004,2023, Landon Curt Noll, Peter Seebach and Leonid A. Broukhis. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/2004/anonymous/.entry.json b/2004/anonymous/.entry.json
index 38fb9e81d..d8ed79e22 100644
--- a/2004/anonymous/.entry.json
+++ b/2004/anonymous/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2004_anonymous.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2004/anonymous/.gitignore b/2004/anonymous/.gitignore
index 728699128..13d2bfd5e 100644
--- a/2004/anonymous/.gitignore
+++ b/2004/anonymous/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
anonymous
anonymous.orig
diff --git a/2004/anonymous/Makefile b/2004/anonymous/Makefile
index 6a54b8d05..adae4c234 100644
--- a/2004/anonymous/Makefile
+++ b/2004/anonymous/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2004/anonymous/index.html b/2004/anonymous/index.html
index cb5eac66b..3fd39192e 100644
--- a/2004/anonymous/index.html
+++ b/2004/anonymous/index.html
@@ -45,6 +45,8 @@
first entry↑ 2004 ↑arachnid →
+ C code
+ MakefileInventory
+Gavare Location: SE -
+Kingdom of Sweden (Sweden)
diff --git a/2004/gavin/.entry.json b/2004/gavin/.entry.json
index af901466c..5125aae85 100644
--- a/2004/gavin/.entry.json
+++ b/2004/gavin/.entry.json
@@ -91,7 +91,7 @@
},
{
"file_path" : "2004_gavin.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2004/gavin/.gitignore b/2004/gavin/.gitignore
index cf7827f04..f350d3cce 100644
--- a/2004/gavin/.gitignore
+++ b/2004/gavin/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
fs/
fs.tar
diff --git a/2004/gavin/Makefile b/2004/gavin/Makefile
index 5382c3712..d901dec4f 100644
--- a/2004/gavin/Makefile
+++ b/2004/gavin/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2004/gavin/README.md b/2004/gavin/README.md
index 987675fbb..f8ea892eb 100644
--- a/2004/gavin/README.md
+++ b/2004/gavin/README.md
@@ -20,7 +20,7 @@ STATUS: doesn't work with some platforms - please help us fix
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2004 gavin in bugs.md](/bugs.md#2004-gavin).
+For more detailed information see [2004 gavin bugs](../../bugs.html#2004_gavin).
## To use:
@@ -96,27 +96,27 @@ make alt
The use is mostly the same as `gavin` except that one initially executes `gavin.alt`
(which `make alt` will do) and one will have to use `QEMU` instead. The files
generated are the same names. See [to use](#to-use) and [try](#try) above as
-well as the judges' remarks below plus [gavin.md](gavin.md).
+well as the judges' remarks below plus [gavin.html](gavin.html).
## Judges' remarks:
Over the years, we've seen a program that immediately dumps core if executed on
-the "wrong" architectures ([1984/mullender](1984/mullender/README.md)) and a
-program that dumps core after a while ([2001/bellard](/2001/bellard/bellard.c)).
+the "wrong" architectures (e.g., [1984/mullender](../../1984/mullender/index.html)) and a
+program that dumps core after a while (e.g., [2001/bellard](../../2001/bellard/index.html)).
This entry will happily compile and execute on most any architecture - the trick
is that the result, to be useful, must be produced (and can only be enjoyed) on
a particular architecture. We have not decided yet whether to disallow this for
future contests.
If you do not want to mess with a floppy and you use GRUB, see
-[gavin.md](gavin.md).
+[gavin.html](gavin.html).
You can put additional text files in `fs.tar` for browsing with vi.
If you do not want to bother rebooting your computer at all, see
- for QEMU ([Fabrice Bellard](/authors.html#Fabrice_Bellard)
-is an IOCCC 2001 winner), but your experience will be limited; use the
+ for QEMU ([Fabrice Bellard](../../authors.html#Fabrice_Bellard)
+is an IOCCC 2001 winning entry), but your experience will be limited; use the
[alternate code](#alternate-code) instead. You'll have to move the mouse to
trigger the initial screen update.
@@ -152,7 +152,7 @@ This involves rebuilding the program with different compiler flags,
then building a tarball containing the resulting programs
(the filesystem format supported by the OS is the tarball format).
-For further usage information see [gavin.md](gavin.md).
+For further usage information see [gavin.html](gavin.html).
The filenames `vi` and `sh` are significant, and should not be changed.
diff --git a/2004/gavin/gavin.html b/2004/gavin/gavin.html
index bca1ffb7a..a2d6d14f8 100644
--- a/2004/gavin/gavin.html
+++ b/2004/gavin/gavin.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
STATUS: compiled executable crashes - please help us fix
STATUS: doesn't work with some platforms - please help us fix
STATUS: INABIAF - please **DO NOT** fix
@@ -176,27 +179,27 @@ initially executes gavin.alt (which make alt
will do) and one will have to use QEMU instead. The files
generated are the same names. See to use and try above as well as the judges’ remarks below plus gavin.md.
+href="gavin.html">gavin.html.
Judges’ remarks:
Over the years, we’ve seen a program that immediately dumps core if
-executed on the “wrong” architectures (1984/mullender) and a program that
-dumps core after a while (2001/bellard). This entry will
+executed on the “wrong” architectures (e.g., 1984/mullender) and a program
+that dumps core after a while (e.g., 2001/bellard). This entry will
happily compile and execute on most any architecture - the trick is that
the result, to be useful, must be produced (and can only be enjoyed) on
a particular architecture. We have not decided yet whether to disallow
this for future contests.
If you do not want to mess with a floppy and you use GRUB, see gavin.md.
+href="gavin.html">gavin.html.
You can put additional text files in fs.tar for browsing
with vi.
If you do not want to bother rebooting your computer at all, see http://bellard.org for QEMU
-(Fabrice Bellard is an IOCCC
-2001 winner), but your experience will be limited; use the alternate code instead. You’ll have to move
-the mouse to trigger the initial screen update.
+(Fabrice Bellard is an
+IOCCC 2001 winning entry), but your experience will be limited; use the
+alternate code instead. You’ll have to
+move the mouse to trigger the initial screen update.
The judges were able to write a few more programs to run in this OS.
What are the limitations for such programs?
What can you do and what can you not do in such programs?
@@ -223,7 +226,7 @@ involves rebuilding the program with different compiler flags, then
building a tarball containing the resulting programs (the filesystem
format supported by the OS is the tarball format).
NOTE: you must be in the build directory when running
hibachi-start.sh for this to work right.
Judges’ remarks:
-
This entry violates the guidelines
-in so many ways! We are not exactly sure how many organisations will be
-upset with this entry, but we are considering starting an IOCCC
-standards body just to reign in the likes of Mr Howe.
+
This entry violates the guidelines in so many ways! We are
+not exactly sure how many organisations will be upset with this entry,
+but we are considering starting an IOCCC standards body just to reign in
+the likes of Mr Howe.
This entry also has the dubious honour of being the only one to have
been submitted with its own configure
script.
Seventeenth
International Obfuscated C Code Contest
Standard IOCCC stuff
-
Look at the README.md file for the given winner for
-information on how to compile the entry and how to run the winning
-program. Look at the winning source and try to figure how it does what
-it does! You may then wish to look at the Author’s remarks for even more
-details.
+
View the index.html web page for the given winning entry
+for information on how on how to compile the entry and how to run the
+winning program. Look at the winning source and try to figure how it
+does what it does! You may then wish to look at the Author’s remarks for
+even more details.
The IOCCC has a web site and now has a number of international
mirrors. The primary site can be found at gcc instead
of your local compiler.
Remarks on some of the
entries
-
We believe you will be impressed with this year’s winners. The Best of Show is a fine example of obfuscation.
-But don’t ignore the other winners! There are games, utilities, programs
-that output images and a one-liner that is incredibly compact for what
-it can do.
+
We believe you will be impressed with this year’s winning entries.
+The Best of Show is a fine example of
+obfuscation. But don’t ignore the other entries! There are games,
+utilities, programs that output images and a one-liner that is
+incredibly compact for what it can do.
The Best Abuse of the Guidelines is
technically allowed by the rules. This year we allowed it due to the
functionality of the program. This entry is one of the easiest to read!
Don’t assume you can win using similar techniques next time … :-)
-
This year a single person won
-two awards! We also had repeat winners with their 6th, 4th and 2nd
+
This year a single person
+won two awards! We also had repeat authors with their 6th, 4th and 2nd
winning entries this year! (Please note that judging is done completely
anonymously. Be warned that we may disqualify entries that reveal the
identity of the submitter.)
@@ -164,18 +165,18 @@ language that was not supplied with the entry.
them for the next IOCCC.
Final Comments
IMPORTANT NOTE: See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
diff --git a/2004/jdalbec/.entry.json b/2004/jdalbec/.entry.json
index 4410bd446..10f119cc5 100644
--- a/2004/jdalbec/.entry.json
+++ b/2004/jdalbec/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "2004_jdalbec.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2004/jdalbec/.gitignore b/2004/jdalbec/.gitignore
index 81934097c..cb214792d 100644
--- a/2004/jdalbec/.gitignore
+++ b/2004/jdalbec/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2004/jdalbec/Makefile b/2004/jdalbec/Makefile
index f6280d0de..04b6b0227 100644
--- a/2004/jdalbec/Makefile
+++ b/2004/jdalbec/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2004/jdalbec/README.md b/2004/jdalbec/README.md
index a83365323..704383d40 100644
--- a/2004/jdalbec/README.md
+++ b/2004/jdalbec/README.md
@@ -16,7 +16,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2004 jdalbec in bugs.md](/bugs.md#2004-jdalbec).
+For more detailed information see [2004 jdalbec bugs](../../bugs.html#2004_jdalbec).
## To use:
@@ -125,7 +125,7 @@ Perl.) The build file then compiles `jdalbec2.c]` and removes the
I don't think I'm abusing the [Makefile](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](/2004/rules.txt) specifically allowed build files up to 521
+16th IOCCC](../../2004/rules.txt) specifically allowed build files up to 521
characters long so my build file would have been well within
those limits. (What typo?)
@@ -191,7 +191,7 @@ it if you run into this feature (e.g. `1 22` instead of `122`).
Note: 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](/1996/schweikh3/schweikh3.c) which reports
+with the output of [1996/schweikh3](../../1996/schweikh3/schweikh3.c) which reports
`malloc lied! Killed by SIGKILL`.
Arguments matching `/(?:.){10,}/` will produce visually incorrect
diff --git a/2004/jdalbec/index.html b/2004/jdalbec/index.html
index 870eadd86..5d87de0b2 100644
--- a/2004/jdalbec/index.html
+++ b/2004/jdalbec/index.html
@@ -45,6 +45,8 @@
← hoyle↑ 2004 ↑kopczynski →
+ C code
+ MakefileInventory
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
+options. The rules for the 16th IOCCC
specifically allowed build files up to 521 characters long so my build
file would have been well within those limits. (What typo?)
gcc -E -Wall -pedantic complains that trigraphs are
@@ -265,7 +269,7 @@ feature (e.g. 1 22 instead of 122).
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
+href="../../1996/schweikh3/schweikh3.c">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
diff --git a/2004/kopczynski/.entry.json b/2004/kopczynski/.entry.json
index c24174d43..93e296704 100644
--- a/2004/kopczynski/.entry.json
+++ b/2004/kopczynski/.entry.json
@@ -163,7 +163,7 @@
},
{
"file_path" : "2004_kopczynski.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2004/kopczynski/.gitignore b/2004/kopczynski/.gitignore
index a9c00baf2..e26a8759f 100644
--- a/2004/kopczynski/.gitignore
+++ b/2004/kopczynski/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2004/kopczynski/Makefile b/2004/kopczynski/Makefile
index b68a91399..c511868e8 100644
--- a/2004/kopczynski/Makefile
+++ b/2004/kopczynski/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2004/kopczynski/index.html b/2004/kopczynski/index.html
index ccca95fea..81a295ed5 100644
--- a/2004/kopczynski/index.html
+++ b/2004/kopczynski/index.html
@@ -45,6 +45,8 @@
← jdalbec↑ 2004 ↑newbern →
+ C code
+ MakefileInventory
+Location: US - United States of
+America (United States)
diff --git a/2004/vik2/.entry.json b/2004/vik2/.entry.json
index 713a2a44a..4d4c45aa4 100644
--- a/2004/vik2/.entry.json
+++ b/2004/vik2/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "2004_vik2.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2004/vik2/.gitignore b/2004/vik2/.gitignore
index db7262adc..788d1a785 100644
--- a/2004/vik2/.gitignore
+++ b/2004/vik2/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
cat-killing-curiosity
indent
diff --git a/2004/vik2/Makefile b/2004/vik2/Makefile
index 675c9e9e1..1a48f2189 100644
--- a/2004/vik2/Makefile
+++ b/2004/vik2/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2004/vik2/README.md b/2004/vik2/README.md
index 884cd5355..4f654f323 100644
--- a/2004/vik2/README.md
+++ b/2004/vik2/README.md
@@ -108,7 +108,7 @@ The choice of application may be a bit unfortunate since we've already
seen a winning entry calculating [prime
numbers](https://en.wikipedia.org/wiki/Prime_number) in the
[pre-processor](https://en.wikipedia.org/wiki/C_preprocessor).
-There is a big difference though. The [1988/applin](/1988/applin/README.md) entry uses pre-
+There is a big difference though. The [1988/applin](../../1988/applin/index.html) entry uses pre-
processor arithmetic (in a very nice way though). This program only
defines and undefines symbols in a well defined ;) way and doesn't do
any pre-processor arithmetics.
diff --git a/2004/vik2/index.html b/2004/vik2/index.html
index ba73fdee6..27c66bc27 100644
--- a/2004/vik2/index.html
+++ b/2004/vik2/index.html
@@ -45,6 +45,8 @@
← vik1↑ 2004 ↑last entry
+ C code
+ MakefileInventory
+Location: US - United States of
+America (United States)
@@ -231,10 +235,10 @@ href="https://en.wikipedia.org/wiki/Prime_number">prime numbers in
the pre-processor.
There is a big difference though. The 1988/applin entry uses pre- processor
-arithmetic (in a very nice way though). This program only defines and
-undefines symbols in a well defined ;) way and doesn’t do any
-pre-processor arithmetics.
+href="../../1988/applin/index.html">1988/applin entry uses pre-
+processor arithmetic (in a very nice way though). This program only
+defines and undefines symbols in a well defined ;) way and doesn’t do
+any pre-processor arithmetics.
The reason why I chose to do a prime number
application is that the algorithm can be written to do a lot of
diff --git a/2005/Makefile b/2005/Makefile
index 03916ce6b..08fa5d756 100644
--- a/2005/Makefile
+++ b/2005/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2005/README.md b/2005/README.md
index 4f6759812..68285c9ce 100644
--- a/2005/README.md
+++ b/2005/README.md
@@ -3,7 +3,7 @@
## Standard IOCCC stuff
-Look at the `README.md` file for the given winner for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile the entry and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
@@ -15,7 +15,7 @@ Use `make(1)` to compile entries. It is possible that on non-Unix / non-Linux
systems the `Makefile` needs to be changed. See the `Makefile` for details.
This year we included most of the information included by the submitters
-in the `README.md` files.
+in the `README.md` files (that were used to build the `index.html` web pages).
Read over the `Makefile` for compile/build issues. Your system may require
certain changes (add or remove a library, add or remove a `#define`).
@@ -27,7 +27,7 @@ local compiler.
## Remarks on some of the entries
-We believe you will be impressed with this year's winners.
+We believe you will be impressed with this year's winning entries.
In particular:
@@ -53,17 +53,17 @@ whitespace in their source code and during execution.
+ The [Best 2D puzzle](giljade/giljade.c) takes editorial license with expressions as well as the
with the [vi editor](https://en.wikipedia.org/wiki/Vi).
-+ The [Most ambiguous language](chia/chia.c) winner is really a C program.
++ The [Most ambiguous language](chia/chia.c) entry is really a C program.
-+ The [Most superfluous output](boutines/boutines.c) winner is simply
++ The [Most superfluous output](boutines/boutines.c) entry is simply
[Voronoi](Voronoi)-lific!
+ Try not to have your sense of good coding offended by the [Most
-discourteous interpreter](timwi/timwi.c) winner.
+discourteous interpreter](timwi/timwi.c) entry.
+ The [Best use of the www](mynx/mynx.c) doesn't include those letters.
-+ You will be puzzled by the [Best 3D puzzle](anon/anon.c) winner; we are sure!
++ You will be puzzled by the [Best 3D puzzle](anon/anon.c) entry; we are sure!
+ The [Most ingenious puzzle solution](aidan/aidan.c) might puzzle you more while it
puzzles out some puzzles: all in a puzzling way! :-)
@@ -86,9 +86,9 @@ them for the next IOCCC.
## Final Comments
-**IMPORTANT NOTE**: See [contact.html](/contact.html) for up to date contact details
+**IMPORTANT NOTE**: See [contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -96,5 +96,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (c) 2005,2023, Landon Curt Noll and Leonid A. Broukhis. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/2005/aidan/.entry.json b/2005/aidan/.entry.json
index e70964af4..e5c25ce02 100644
--- a/2005/aidan/.entry.json
+++ b/2005/aidan/.entry.json
@@ -131,7 +131,7 @@
},
{
"file_path" : "2005_aidan.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2005/aidan/.gitignore b/2005/aidan/.gitignore
index c7f8ae007..17e122f8f 100644
--- a/2005/aidan/.gitignore
+++ b/2005/aidan/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
aidan
aidan.alt
diff --git a/2005/aidan/Makefile b/2005/aidan/Makefile
index 6f5823268..95b64abec 100644
--- a/2005/aidan/Makefile
+++ b/2005/aidan/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2005/aidan/index.html b/2005/aidan/index.html
index 7a39988ef..5595c3b42 100644
--- a/2005/aidan/index.html
+++ b/2005/aidan/index.html
@@ -45,6 +45,8 @@
first entry↑ 2005 ↑anon →
+ C code
+ MakefileInventory
diff --git a/2005/boutines/.entry.json b/2005/boutines/.entry.json
index d72a623d0..0e694b933 100644
--- a/2005/boutines/.entry.json
+++ b/2005/boutines/.entry.json
@@ -67,7 +67,7 @@
},
{
"file_path" : "2005_boutines.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2005/boutines/.gitignore b/2005/boutines/.gitignore
index ee496e70c..a2095bfb7 100644
--- a/2005/boutines/.gitignore
+++ b/2005/boutines/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
boutines
boutines.orig
diff --git a/2005/boutines/Makefile b/2005/boutines/Makefile
index ccf78c360..5876bec27 100644
--- a/2005/boutines/Makefile
+++ b/2005/boutines/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2005/boutines/README.md b/2005/boutines/README.md
index 81a1746cc..273add2b0 100644
--- a/2005/boutines/README.md
+++ b/2005/boutines/README.md
@@ -10,7 +10,7 @@ make
You will need an [SVG](https://www.w3.org/TR/SVG11/expanded-toc.html) viewer or
a converter like [ImageMagick](https://imagemagick.org/index.php)'s `convert`.
See [FAQ 3.17 - How do I compile and install ImageMagick for entries that
-require it?](/faq.md#imagemagick).
+require it?](../../faq.html#imagemagick).
Look here to find some [SVG Viewer
Implementations](https://www.w3.org/Graphics/SVG/WG/wiki/Implementations).
diff --git a/2005/boutines/index.html b/2005/boutines/index.html
index 0f2296831..83f055370 100644
--- a/2005/boutines/index.html
+++ b/2005/boutines/index.html
@@ -45,6 +45,8 @@
← anon↑ 2005 ↑chia →
+ C code
+ MakefileInventory
@@ -144,7 +148,7 @@ href="https://en.wikipedia.org/wiki/Bourne_shell">/bin/sh code from
(which reportedly was the motivation behind this contest!), the VAL Linker by
David Troendle, the 2000/primenum IOCCC entry, …
+href="../../2000/primenum/index.html">2000/primenum IOCCC entry, …
Looking at these programs, I thought, “hmm… if it’s possible to make C
code look like some weird cross between Pascal, VB, and COBOL, then how
about making C code look like some other language?”
diff --git a/2005/giljade/.entry.json b/2005/giljade/.entry.json
index ad71bba4b..648e0e187 100644
--- a/2005/giljade/.entry.json
+++ b/2005/giljade/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "2005_giljade.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2005/giljade/.gitignore b/2005/giljade/.gitignore
index f9ecc2595..5e48c0682 100644
--- a/2005/giljade/.gitignore
+++ b/2005/giljade/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
c
c.c
diff --git a/2005/giljade/Makefile b/2005/giljade/Makefile
index 993b65303..fdf5273fc 100644
--- a/2005/giljade/Makefile
+++ b/2005/giljade/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2005/giljade/README.md b/2005/giljade/README.md
index 37e9fd6ac..0451c4bee 100644
--- a/2005/giljade/README.md
+++ b/2005/giljade/README.md
@@ -16,7 +16,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2005 giljade in bugs.md](/bugs.md#2005-giljade).
+For more detailed information see [2005 giljade bugs](../../bugs.html#2005_giljade).
## To use:
diff --git a/2005/giljade/index.html b/2005/giljade/index.html
index 5fbf3d867..88bfdaf64 100644
--- a/2005/giljade/index.html
+++ b/2005/giljade/index.html
@@ -45,6 +45,8 @@
← chia↑ 2005 ↑jetro →
+ C code
+ MakefileInventory
Eighteenth
International Obfuscated C Code Contest
Standard IOCCC stuff
-
Look at the README.md file for the given winner for
-information on how to compile the entry and how to run the winning
-program. Look at the winning source and try to figure how it does what
-it does! You may then wish to look at the Author’s remarks for even more
-details.
+
View the index.html web page for the given winning entry
+for information on how on how to compile the entry and how to run the
+winning program. Look at the winning source and try to figure how it
+does what it does! You may then wish to look at the Author’s remarks for
+even more details.
The IOCCC has a web site and now has a number of international
mirrors. The primary site can be found at https://www.ioccc.org/.
non-Unix / non-Linux systems the Makefile needs to be
changed. See the Makefile for details.
This year we included most of the information included by the
-submitters in the README.md files.
+submitters in the README.md files (that were used to build
+the index.html web pages).
Read over the Makefile for compile/build issues. Your
system may require certain changes (add or remove a library, add or
remove a #define).
@@ -137,7 +139,8 @@ yours is lacking, you may need to compile using gcc instead
of your local compiler.
Remarks on some of the
entries
-
We believe you will be impressed with this year’s winners.
+
We believe you will be impressed with this year’s winning
+entries.
In particular:
The Abuse of the rules used
@@ -161,16 +164,16 @@ best use of parenthesis is self reproducing).
The Best 2D puzzle takes
editorial license with expressions as well as the with the vi editor.
@@ -190,18 +193,18 @@ language that was not supplied with the entry.
them for the next IOCCC.
Final Comments
IMPORTANT NOTE: See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
+href="../contact.html">send us a note about your use.
diff --git a/2005/jetro/.entry.json b/2005/jetro/.entry.json
index 2c60952d7..d6de0429f 100644
--- a/2005/jetro/.entry.json
+++ b/2005/jetro/.entry.json
@@ -35,7 +35,7 @@
},
{
"file_path" : "2005_jetro.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2005/jetro/.gitignore b/2005/jetro/.gitignore
index aa344d073..70dbc8011 100644
--- a/2005/jetro/.gitignore
+++ b/2005/jetro/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2005/jetro/Makefile b/2005/jetro/Makefile
index f04ca90a4..5cf8f3ba3 100644
--- a/2005/jetro/Makefile
+++ b/2005/jetro/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2005/jetro/README.md b/2005/jetro/README.md
index ebd6a1f66..34c9485f4 100644
--- a/2005/jetro/README.md
+++ b/2005/jetro/README.md
@@ -1,7 +1,7 @@
## To build:
-This entry requires SDL. See [3.8 - How do I compile an IOCCC winner that
-requires SDL1 or SDL2?](/faq.md#SDL) for information on how to install it if you
+This entry requires SDL. See [3.8 - How do I compile an IOCCC entry that
+requires SDL1 or SDL2?](../../faq.html#SDL) for information on how to install it if you
haven't already.
If you have SDL installed:
diff --git a/2005/jetro/index.html b/2005/jetro/index.html
index 46963785c..93b092826 100644
--- a/2005/jetro/index.html
+++ b/2005/jetro/index.html
@@ -45,6 +45,8 @@
← giljade↑ 2005 ↑klausler →
+ C code
+ MakefileInventory
NOTE: the author stated that they tested this under i386 machines but
diff --git a/2005/mynx/.entry.json b/2005/mynx/.entry.json
index a643548e9..621767b64 100644
--- a/2005/mynx/.entry.json
+++ b/2005/mynx/.entry.json
@@ -83,7 +83,7 @@
},
{
"file_path" : "2005_mynx.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2005/mynx/.gitignore b/2005/mynx/.gitignore
index 9351931f4..088a9d759 100644
--- a/2005/mynx/.gitignore
+++ b/2005/mynx/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2005/mynx/Makefile b/2005/mynx/Makefile
index 5a37643a0..38839ed4b 100644
--- a/2005/mynx/Makefile
+++ b/2005/mynx/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2005/mynx/README.md b/2005/mynx/README.md
index 2e2e38666..2914ae93a 100644
--- a/2005/mynx/README.md
+++ b/2005/mynx/README.md
@@ -16,7 +16,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2005 mynx in bugs.md](/bugs.md#2005-mynx).
+For more detailed information see [2005 mynx bugs](../../bugs.html#2005_mynx).
## To use:
@@ -80,7 +80,7 @@ won't work.
This little `mynx` will give any [Fiery
Fox](https://en.wikipedia.org/wiki/Firefox) a run for its money. A nice
-complement to last years winning [hibachi](/2004/hibachi/src/hibachi.c). The
+complement to last years winning [2004/hibachi](../../2004/hibachi/src/index.html). The
judges double dare any eager Obfuscationalists to submit the missing pieces to
get a functioning LAMP stack.
@@ -117,19 +117,6 @@ After which, the rest of the documentation can be read by saying:
./mynx ../manual.html
```
-Manifest:
-
-```
-mynx.c
-makefile pre-built generic Unix
-README.md
-manual.html
-makefile.in makefile template
-entities.txt ISO 8859-1 entites
-configure.in configure script description
-configure pre-built configure script
-```
-
## Copyright and CC BY-SA 4.0 License:
diff --git a/2005/mynx/index.html b/2005/mynx/index.html
index 701315171..551d4754b 100644
--- a/2005/mynx/index.html
+++ b/2005/mynx/index.html
@@ -45,6 +45,8 @@
← mikeash↑ 2005 ↑persano →
+ C code
+ MakefileInventory
You can specify a port by appending to the domain :port.
@@ -173,9 +176,9 @@ this sadly won’t work.
This little mynx will give any Fiery Fox a run for its
money. A nice complement to last years winning hibachi. The judges double dare
-any eager Obfuscationalists to submit the missing pieces to get a
-functioning LAMP stack.
+href="../../2004/hibachi/src/index.html">2004/hibachi. The judges
+double dare any eager Obfuscationalists to submit the missing pieces to
+get a functioning LAMP stack.
Author’s remarks:
I was rather impressed by last year’s mini webserver. So much so that
it inspired me to try my hand at writing the client side complement.
@@ -191,15 +194,6 @@ command sequence would be:
After which, the rest of the documentation can be read by saying:
+Location: US - United States of
+America (United States)
diff --git a/2005/vince/.entry.json b/2005/vince/.entry.json
index 2ed9d3f10..221f10079 100644
--- a/2005/vince/.entry.json
+++ b/2005/vince/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2005_vince.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2005/vince/.gitignore b/2005/vince/.gitignore
index 03d3a2ca0..042af5439 100644
--- a/2005/vince/.gitignore
+++ b/2005/vince/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2005/vince/Makefile b/2005/vince/Makefile
index 3010188d0..b544ae6d3 100644
--- a/2005/vince/Makefile
+++ b/2005/vince/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2005/vince/README.md b/2005/vince/README.md
index fb0f577d3..8509835ca 100644
--- a/2005/vince/README.md
+++ b/2005/vince/README.md
@@ -86,7 +86,7 @@ end.
### Background
I was annoyed after the last IOCCC because I slaved away on a clever text
-based game only to find all of the game winners used X11. X11 isn't standard
+based game only to find all of the game entries used X11. X11 isn't standard
C!
So to one up them, I decided to use OpenGL. It's standard, and most Unix-like
diff --git a/2005/vince/index.html b/2005/vince/index.html
index 9060cae47..293bd3e15 100644
--- a/2005/vince/index.html
+++ b/2005/vince/index.html
@@ -45,6 +45,8 @@
← vik↑ 2005 ↑last entry
+ C code
+ MakefileInventory
+Weaver Location: US -
+United States of America (United States)
@@ -176,7 +179,7 @@ but with .c on the end.
Background
I was annoyed after the last IOCCC because I slaved away on a clever
-text based game only to find all of the game winners used X11. X11 isn’t
+text based game only to find all of the game entries used X11. X11 isn’t
standard C!
So to one up them, I decided to use OpenGL. It’s standard, and most
Unix-like systems these days have either accelerated graphics or else
diff --git a/2006/Makefile b/2006/Makefile
index fdd9c022a..700ec29f7 100644
--- a/2006/Makefile
+++ b/2006/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2006/README.md b/2006/README.md
index 3b815ccb2..4cac3f04e 100644
--- a/2006/README.md
+++ b/2006/README.md
@@ -3,21 +3,19 @@
## Standard IOCCC stuff
-Look at the README.md file for the given winning entry for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
The IOCCC has a web site and now has a number of international mirrors.
-The primary site can be found at,
-
->
+The primary site can be found at [www.ioccc.org](https://www.ioccc.org).
Use `make` to compile entries. It is possible that on non-Unix / non-Linux
systems the Makefile needs to be changed. See the Makefile for details.
This year we included most of the information included by the submitters
-in the README.md files.
+in the `README.md` files (that were used to build the `index.html` web pages).
Read over the Makefile for compile/build issues. Your system may require
certain changes (add or remove a library, add or remove a #define).
@@ -42,22 +40,22 @@ some very good entries lost because they:
We hope the authors of some of those entries will fix and re-submit
them for the next IOCCC.
-We believe you will be impressed with this year's winners. The Best
+We believe you will be impressed with this year's winning entries. The Best
of Show is a fine example of (retro) obfuscation. But don't ignore the other
-winners! There are games, puzzles, puzzle solvers, simulators, emulators,
+entries! There are games, puzzles, puzzle solvers, simulators, emulators,
calculators and graphical and audio tools.
This year a single person won three awards and another two awards! Many
-winners won for the first time. (Please note that judging is done completely
+authors won for the first time this year. (Please note that judging is done completely
anonymously. Be warned that we may disqualify entries that reveal the identity
of the submitter).
## Final Comments
-**IMPORTANT NOTE**: See [contact.html](/contact.html) for up to date contact details
+**IMPORTANT NOTE**: See [contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -65,5 +63,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (c) 2006,2023, Landon Curt Noll and Leonid A. Broukhis. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/2006/birken/.entry.json b/2006/birken/.entry.json
index 4fcbf0c59..5bf07a84c 100644
--- a/2006/birken/.entry.json
+++ b/2006/birken/.entry.json
@@ -155,7 +155,7 @@
},
{
"file_path" : "2006_birken.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2006/birken/.gitignore b/2006/birken/.gitignore
index 94fa11748..bbe4a07e1 100644
--- a/2006/birken/.gitignore
+++ b/2006/birken/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
birken
birken.orig
diff --git a/2006/birken/Makefile b/2006/birken/Makefile
index 30a6e64a3..372409284 100644
--- a/2006/birken/Makefile
+++ b/2006/birken/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2006/birken/README.md b/2006/birken/README.md
index ffd56c643..5f2e86889 100644
--- a/2006/birken/README.md
+++ b/2006/birken/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: uses gets() - change to fgets() if possible
```
-For more detailed information see [2006 birken in bugs.md](/bugs.md#2006-birken).
+For more detailed information see [2006 birken bugs](../../bugs.html#2006_birken).
## To use:
diff --git a/2006/birken/index.html b/2006/birken/index.html
index d76b47726..a89dd3fd5 100644
--- a/2006/birken/index.html
+++ b/2006/birken/index.html
@@ -45,6 +45,8 @@
first entry↑ 2006 ↑borsanyi →
+ C code
+ MakefileInventory
Nineteenth
International Obfuscated C Code Contest
Standard IOCCC stuff
-
Look at the README.md file for the given winning entry for
-information on how to compile it and how to run the winning program.
-Look at the winning source and try to figure how it does what it does!
-You may then wish to look at the Author’s remarks for even more
+
View the index.html web page for the given winning entry
+for information on how on how to compile it and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
details.
The IOCCC has a web site and now has a number of international
-mirrors. The primary site can be found at,
+mirrors. The primary site can be found at www.ioccc.org.
Use make to compile entries. It is possible that on
non-Unix / non-Linux systems the Makefile needs to be changed. See the
Makefile for details.
This year we included most of the information included by the
-submitters in the README.md files.
+submitters in the README.md files (that were used to build
+the index.html web pages).
Read over the Makefile for compile/build issues. Your system may
require certain changes (add or remove a library, add or remove a
#define).
@@ -150,28 +149,28 @@ language that was not supplied with the entry.
We hope the authors of some of those entries will fix and re-submit
them for the next IOCCC.
-
We believe you will be impressed with this year’s winners. The Best
-of Show is a fine example of (retro) obfuscation. But don’t ignore the
-other winners! There are games, puzzles, puzzle solvers, simulators,
-emulators, calculators and graphical and audio tools.
+
We believe you will be impressed with this year’s winning entries.
+The Best of Show is a fine example of (retro) obfuscation. But don’t
+ignore the other entries! There are games, puzzles, puzzle solvers,
+simulators, emulators, calculators and graphical and audio tools.
This year a single person won three awards and another two awards!
-Many winners won for the first time. (Please note that judging is done
-completely anonymously. Be warned that we may disqualify entries that
-reveal the identity of the submitter).
+Many authors won for the first time this year. (Please note that judging
+is done completely anonymously. Be warned that we may disqualify entries
+that reveal the identity of the submitter).
Final Comments
IMPORTANT NOTE: See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
+Meyer Location: US -
+United States of America (United States)
diff --git a/2006/monge/.entry.json b/2006/monge/.entry.json
index cd8cea665..0facc79db 100644
--- a/2006/monge/.entry.json
+++ b/2006/monge/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "2006_monge.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2006/monge/.gitignore b/2006/monge/.gitignore
index dba224706..864e7d3be 100644
--- a/2006/monge/.gitignore
+++ b/2006/monge/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2006/monge/Makefile b/2006/monge/Makefile
index c5a0b28ed..951456320 100644
--- a/2006/monge/Makefile
+++ b/2006/monge/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2006/monge/README.md b/2006/monge/README.md
index 8906bdec1..ac2c611fc 100644
--- a/2006/monge/README.md
+++ b/2006/monge/README.md
@@ -19,7 +19,7 @@ STATUS: doesn't work with some platforms - please help us fix
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2006 monge in bugs.md](/bugs.md#2006-monge).
+For more detailed information see [2006 monge bugs](../../bugs.html#2006_monge).
## To use:
@@ -90,9 +90,9 @@ Use `monge.alt` exactly as you would `monge` above.
## Judges' remarks:
-For those who are familiar with the previous [IOCCC entries](/authors.html),
-this program is best described as "[1994/tvr](/1994/tvr/tvr.c) meets
-[2001/bellard](/2001/bellard/bellard.c)". Here you have mouse-manipulated
+For those who are familiar with the previous [IOCCC entries](../../authors.html),
+this program is best described as "[1994/tvr](../../1994/tvr/index.html) meets
+[2001/bellard](../../2001/bellard/index.html)". Here you have mouse-manipulated
fractals AND generated binary code, all in one package.
A more appropriate award could have been "Best abuse of the
diff --git a/2006/monge/index.html b/2006/monge/index.html
index 8a6c91e6f..be09b02e8 100644
--- a/2006/monge/index.html
+++ b/2006/monge/index.html
@@ -45,6 +45,8 @@
← meyer↑ 2006 ↑night →
+ C code
+ MakefileInventory
Incorrect formulas will ungracefully crash the program.
@@ -172,9 +175,9 @@ above.
./try.alt.sh
Judges’ remarks:
For those who are familiar with the previous IOCCC entries, this program is best described
-as “1994/tvr meets 2001/bellard”. Here you have
+href="../../authors.html">IOCCC entries, this program is best
+described as “1994/tvr meets 2001/bellard”. Here you have
mouse-manipulated fractals AND generated binary code, all in one
package.
A more appropriate award could have been “Best abuse of the rules”,
diff --git a/2006/night/.entry.json b/2006/night/.entry.json
index d324e7282..ed5001e5a 100644
--- a/2006/night/.entry.json
+++ b/2006/night/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2006_night.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2006/night/.gitignore b/2006/night/.gitignore
index f6ac80ae8..ba6e98cce 100644
--- a/2006/night/.gitignore
+++ b/2006/night/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2006/night/Makefile b/2006/night/Makefile
index 68ee510b3..6f843183f 100644
--- a/2006/night/Makefile
+++ b/2006/night/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2006/night/index.html b/2006/night/index.html
index 9f233129c..e67fe950f 100644
--- a/2006/night/index.html
+++ b/2006/night/index.html
@@ -45,6 +45,8 @@
← monge↑ 2006 ↑sloane →
+ C code
+ MakefileInventory
+Location: US - United States of
+America (United States)
diff --git a/2006/stewart/.entry.json b/2006/stewart/.entry.json
index 44dc4d194..33a721aca 100644
--- a/2006/stewart/.entry.json
+++ b/2006/stewart/.entry.json
@@ -363,7 +363,7 @@
},
{
"file_path" : "2006_stewart.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2006/stewart/.gitignore b/2006/stewart/.gitignore
index 9a71a57b3..48e443da5 100644
--- a/2006/stewart/.gitignore
+++ b/2006/stewart/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
*.png
*.xbm
diff --git a/2006/stewart/Makefile b/2006/stewart/Makefile
index a83f8cd87..8759ca95f 100644
--- a/2006/stewart/Makefile
+++ b/2006/stewart/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2006/stewart/README.md b/2006/stewart/README.md
index b15059129..8ef844ffe 100644
--- a/2006/stewart/README.md
+++ b/2006/stewart/README.md
@@ -92,7 +92,7 @@ Only gcc was tested for compilers (4.0.3 and 3.3.3).
### Entry originality
-In looking through past winners, there seem to be only 2 (92 and 94) that
+In looking through past winning entries, there seem to be only 2 (92 and 94) that
generated fractals. Both of those were [Julia
fractals](https://en.wikipedia.org/wiki/Julia_set) from the [Mandelbrot
set](https://en.wikipedia.org/wiki/Mandelbrot_set). Those do make for some
diff --git a/2006/stewart/index.html b/2006/stewart/index.html
index b115df869..3cf327b1b 100644
--- a/2006/stewart/index.html
+++ b/2006/stewart/index.html
@@ -45,6 +45,8 @@
← sloane↑ 2006 ↑sykes1 →
+ C code
+ MakefileInventory
+Stewart Location: US -
+United States of America (United States)
@@ -179,8 +182,8 @@ code. This must be a bug in lint.
The program was tested on Linux on a x86 and NetBSD on an alpha. Only
gcc was tested for compilers (4.0.3 and 3.3.3).
Entry originality
-
In looking through past winners, there seem to be only 2 (92 and 94)
-that generated fractals. Both of those were In looking through past winning entries, there seem to be only 2 (92
+and 94) that generated fractals. Both of those were Julia fractals from
the Mandelbrot
set. Those do make for some pretty pictures. I figured it would be
diff --git a/2006/sykes1/.entry.json b/2006/sykes1/.entry.json
index 3e4835daf..e9461caaf 100644
--- a/2006/sykes1/.entry.json
+++ b/2006/sykes1/.entry.json
@@ -67,7 +67,7 @@
},
{
"file_path" : "2006_sykes1.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2006/sykes1/.gitignore b/2006/sykes1/.gitignore
index aac982505..e722c3006 100644
--- a/2006/sykes1/.gitignore
+++ b/2006/sykes1/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
cube.gif
indent
diff --git a/2006/sykes1/Makefile b/2006/sykes1/Makefile
index d2da4c8f9..f994ec336 100644
--- a/2006/sykes1/Makefile
+++ b/2006/sykes1/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2006/sykes1/README.md b/2006/sykes1/README.md
index b3811a902..f112dc505 100644
--- a/2006/sykes1/README.md
+++ b/2006/sykes1/README.md
@@ -17,7 +17,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2006 sykes1 in bugs.md](/bugs.md#2006-sykes1).
+For more detailed information see [2006 sykes1 bugs](../../bugs.html#2006_sykes1).
## To use:
diff --git a/2006/sykes1/index.html b/2006/sykes1/index.html
index f07d722be..7b69d760b 100644
--- a/2006/sykes1/index.html
+++ b/2006/sykes1/index.html
@@ -45,6 +45,8 @@
← stewart↑ 2006 ↑sykes2 →
+ C code
+ MakefileInventory
+G. Location: MX -
+United Mexican States (Mexico)
diff --git a/2011/Makefile b/2011/Makefile
index c3c232ba3..b35416878 100644
--- a/2011/Makefile
+++ b/2011/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2011/README.md b/2011/README.md
index b4f4e5330..4f8ac1f2d 100644
--- a/2011/README.md
+++ b/2011/README.md
@@ -3,21 +3,19 @@
## Standard IOCCC stuff
-Look at the README.md file for the given winning entry for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
The IOCCC has a web site and now has a number of international mirrors.
-The primary site can be found at,
-
->
+The primary site can be found at [www.ioccc.org](https://www.ioccc.org).
Use `make` to compile entries. It is possible that on non-Unix / non-Linux
systems the Makefile needs to be changed. See the Makefile for details.
This year we included most of the information included by the submitters
-in the README.md files.
+in the `README.md` files (that were used to build the `index.html` web pages).
Read over the Makefile for compile/build issues. Your system may require
certain changes (add or remove a library, add or remove a #define).
@@ -41,21 +39,21 @@ some very good entries lost because they:
We hope the authors of some of those entries will fix and re-submit
them for the next IOCCC.
-We believe you will be impressed with this year's winners. The Best
+We believe you will be impressed with this year's winning entries. The Best
of Show is a fine example of character stitching. But don't ignore the other
-winners! There are games, puzzle solvers, utilities, eye candy, calculators and graphical and audio tools.
+entries! There are games, puzzle solvers, utilities, eye candy, calculators and graphical and audio tools.
-This year all winners are different, and there is a winner from a new country -
-China! Many winners won for the first time. (Please note that judging is done
+This year all authors are different, and there is a authors from a new country -
+China! Many authors won for the first time. (Please note that judging is done
completely anonymously. Be warned that we may disqualify entries that reveal
the identity of the submitter).
## Final Comments
-**IMPORTANT NOTE**: See [contact.html](/contact.html) for up to date contact details
+**IMPORTANT NOTE**: See [contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -63,5 +61,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (c) 2012,2023, Landon Curt Noll and Leonid A. Broukhis. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/2011/akari/.entry.json b/2011/akari/.entry.json
index 7c06a7ffc..65e2bafd3 100644
--- a/2011/akari/.entry.json
+++ b/2011/akari/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "2011_akari.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2011/akari/.gitignore b/2011/akari/.gitignore
index bb0f11c64..932d4395d 100644
--- a/2011/akari/.gitignore
+++ b/2011/akari/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
akari
akari2
diff --git a/2011/akari/Makefile b/2011/akari/Makefile
index 78553a68a..8932f84cd 100644
--- a/2011/akari/Makefile
+++ b/2011/akari/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2011/akari/index.html b/2011/akari/index.html
index b0f79fe49..de636c68d 100644
--- a/2011/akari/index.html
+++ b/2011/akari/index.html
@@ -45,6 +45,8 @@
first entry↑ 2011 ↑blakely →
+ C code
+ MakefileInventory
diff --git a/2011/dlowe/.entry.json b/2011/dlowe/.entry.json
index 45eb65e1d..d6646e735 100644
--- a/2011/dlowe/.entry.json
+++ b/2011/dlowe/.entry.json
@@ -387,7 +387,7 @@
},
{
"file_path" : "2011_dlowe.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2011/dlowe/.gitignore b/2011/dlowe/.gitignore
index 76c0db5b7..1dc7bf024 100644
--- a/2011/dlowe/.gitignore
+++ b/2011/dlowe/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
dlowe
dlowe.orig
diff --git a/2011/dlowe/Makefile b/2011/dlowe/Makefile
index 029a15ecd..db0ef7159 100644
--- a/2011/dlowe/Makefile
+++ b/2011/dlowe/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2011/dlowe/README.md b/2011/dlowe/README.md
index d514ba488..4660f2c39 100644
--- a/2011/dlowe/README.md
+++ b/2011/dlowe/README.md
@@ -14,7 +14,7 @@ STATUS: missing or dead link - please provide them
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2011 dlowe in bugs.md](/bugs.md#2011-dlowe).
+For more detailed information see [2011 dlowe bugs](../../bugs.html#2011_dlowe).
## To use:
@@ -72,11 +72,11 @@ where:
- `ioccc_won_training/`
1/2 of C code of the 20th IOCCC entries (except for [dlowe.c](dlowe.c) from 2011)
- plus 1/2 of the C code winners from prior IOCCC contests
+ 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](dlowe.c) from 2011)
- plus 1/2 of the C code winners from prior IOCCC contests
+ 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
@@ -292,7 +292,7 @@ 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](/1994/smr/smr.c)!)
+bytes in them (I'm looking at you, [smr.c](../../1994/smr/smr.c)!)
You must include the trailing directory separator on training directories
(this allows the program to be portable without wasting precious bytes on
@@ -337,7 +337,7 @@ shame to waste it.
- Lots of magic numbers expressed in various ways.
- Random abuse of random C trivia.
- Some textual changes were made to maximize the classification of this program
-by a network trained to recognize [IOCCC entries](/authors.html) ;)
+by a network trained to recognize [IOCCC entries](../../authors.html) ;)
... but mostly zombies!
diff --git a/2011/dlowe/index.html b/2011/dlowe/index.html
index 2c1899d51..c4c28a843 100644
--- a/2011/dlowe/index.html
+++ b/2011/dlowe/index.html
@@ -45,6 +45,8 @@
← borsanyi↑ 2011 ↑eastman →
+ C code
+ MakefileInventory
NOTE: In the above command, the directory args MUST end in a
@@ -162,10 +165,10 @@ href="earlystop.pl">earlystop.pl tool:
ioccc_won_training/ 1/2 of C code of the 20th IOCCC
entries (except for dlowe.c from 2011) plus 1/2 of
-the C code winners from prior IOCCC contests
+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) plus 1/2 of
-the C code winners from prior IOCCC contests
+the C code winning entries from prior IOCCC contests
ioccc_lost_training/ 1/2 of C code from entries that
that did not win
ioccc_lost_test/ 1/2 of C code from entries that
@@ -335,7 +338,7 @@ 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!)
+href="../../1994/smr/smr.c">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
@@ -381,7 +384,7 @@ anyone.
Random abuse of random C trivia.
Some textual changes were made to maximize the classification of
this program by a network trained to recognize IOCCC entries ;)
+href="../../authors.html">IOCCC entries ;)
… but mostly zombies!
Copyright and CC BY-SA 4.0
diff --git a/2011/eastman/.entry.json b/2011/eastman/.entry.json
index 388446fe3..b9e6f38ff 100644
--- a/2011/eastman/.entry.json
+++ b/2011/eastman/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2011_eastman.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2011/eastman/.gitignore b/2011/eastman/.gitignore
index a98511438..f82e4d1a2 100644
--- a/2011/eastman/.gitignore
+++ b/2011/eastman/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
eastman
eastman.orig
diff --git a/2011/eastman/Makefile b/2011/eastman/Makefile
index 7402747c3..479029138 100644
--- a/2011/eastman/Makefile
+++ b/2011/eastman/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2011/eastman/index.html b/2011/eastman/index.html
index b9b85fc0b..7cdb26c8c 100644
--- a/2011/eastman/index.html
+++ b/2011/eastman/index.html
@@ -45,6 +45,8 @@
← dlowe↑ 2011 ↑fredriksson →
+ C code
+ MakefileInventory
+Eastman Location: US -
+United States of America (United States)
diff --git a/2011/fredriksson/.entry.json b/2011/fredriksson/.entry.json
index 95693b4b1..bbdee1bfd 100644
--- a/2011/fredriksson/.entry.json
+++ b/2011/fredriksson/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2011_fredriksson.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2011/fredriksson/.gitignore b/2011/fredriksson/.gitignore
index 5819be8dc..f5b31f5ec 100644
--- a/2011/fredriksson/.gitignore
+++ b/2011/fredriksson/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
ag
ag.c
diff --git a/2011/fredriksson/Makefile b/2011/fredriksson/Makefile
index 55032ccce..71aa0c29a 100644
--- a/2011/fredriksson/Makefile
+++ b/2011/fredriksson/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2011/fredriksson/README.md b/2011/fredriksson/README.md
index 03be849fd..b454071da 100644
--- a/2011/fredriksson/README.md
+++ b/2011/fredriksson/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2011 fredriksson in bugs.md](/bugs.md#2011-fredriksson).
+For more detailed information see [2011 fredriksson bugs](../../bugs.html#2011_fredriksson).
## To use:
diff --git a/2011/fredriksson/index.html b/2011/fredriksson/index.html
index d586d7185..446ebbca4 100644
--- a/2011/fredriksson/index.html
+++ b/2011/fredriksson/index.html
@@ -45,6 +45,8 @@
← eastman↑ 2011 ↑goren →
+ C code
+ MakefileInventory
diff --git a/2011/goren/.entry.json b/2011/goren/.entry.json
index e2df19635..c2444500a 100644
--- a/2011/goren/.entry.json
+++ b/2011/goren/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "2011_goren.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2011/goren/.gitignore b/2011/goren/.gitignore
index f07bf950c..86e5dbe72 100644
--- a/2011/goren/.gitignore
+++ b/2011/goren/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
goren
goren.orig
diff --git a/2011/goren/Makefile b/2011/goren/Makefile
index d541de36b..a276ce960 100644
--- a/2011/goren/Makefile
+++ b/2011/goren/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2011/goren/README.md b/2011/goren/README.md
index 5df7941a8..b9a57c90c 100644
--- a/2011/goren/README.md
+++ b/2011/goren/README.md
@@ -65,8 +65,8 @@ stuffing data.
One thing I tried to achieve is condition free programming. Many
have noted that conditions make the code harder to read and understand.
-A good example would be: [Brent Burley's 2004 IOCCC
-winner](/2004/burley/README.md).
+A good example would be: [Brent Burley](../../authors.html#Brent_Burley)'s
+winning [2004/burley](../../2004/burley/index.html) entry.
That entry omits conditional statements such as `if` and `while`.
His achievement in improving clarity by omitting conditions is
diff --git a/2011/goren/index.html b/2011/goren/index.html
index d6ef73e57..c619cdcbf 100644
--- a/2011/goren/index.html
+++ b/2011/goren/index.html
@@ -45,6 +45,8 @@
← fredriksson↑ 2011 ↑hamaji →
+ C code
+ MakefileInventory
@@ -164,8 +168,9 @@ you stuff my pipe? No, it's just a representation, is it not?
stuffing data.
One thing I tried to achieve is condition free programming. Many have
noted that conditions make the code harder to read and understand. A
-good example would be: Brent Burley’s
-2004 IOCCC winner.
That entry omits conditional statements such as if and
while. His achievement in improving clarity by omitting
conditions is impressive, but I think it can be taken further, in two
diff --git a/2011/hamaji/.entry.json b/2011/hamaji/.entry.json
index f183aba96..b8386fd73 100644
--- a/2011/hamaji/.entry.json
+++ b/2011/hamaji/.entry.json
@@ -148,7 +148,7 @@
},
{
"file_path" : "2011_hamaji.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2011/hamaji/.gitignore b/2011/hamaji/.gitignore
index 7cfea83ea..48b97f89c 100644
--- a/2011/hamaji/.gitignore
+++ b/2011/hamaji/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
dragon
dragon2
diff --git a/2011/hamaji/Makefile b/2011/hamaji/Makefile
index 27521c157..449b71b16 100644
--- a/2011/hamaji/Makefile
+++ b/2011/hamaji/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2011/hamaji/index.html b/2011/hamaji/index.html
index b793c2f18..9346bdbcd 100644
--- a/2011/hamaji/index.html
+++ b/2011/hamaji/index.html
@@ -45,6 +45,8 @@
← goren↑ 2011 ↑hou →
+ C code
+ MakefileInventory
Look at the README.md file for the given winning entry for
-information on how to compile it and how to run the winning program.
-Look at the winning source and try to figure how it does what it does!
-You may then wish to look at the Author’s remarks for even more
+
View the index.html web page for the given winning entry
+for information on how on how to compile it and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
details.
The IOCCC has a web site and now has a number of international
-mirrors. The primary site can be found at,
+mirrors. The primary site can be found at www.ioccc.org.
Use make to compile entries. It is possible that on
non-Unix / non-Linux systems the Makefile needs to be changed. See the
Makefile for details.
This year we included most of the information included by the
-submitters in the README.md files.
+submitters in the README.md files (that were used to build
+the index.html web pages).
Read over the Makefile for compile/build issues. Your system may
require certain changes (add or remove a library, add or remove a
#define).
@@ -149,28 +148,28 @@ some very good entries lost because they:
We hope the authors of some of those entries will fix and re-submit
them for the next IOCCC.
-
We believe you will be impressed with this year’s winners. The Best
-of Show is a fine example of character stitching. But don’t ignore the
-other winners! There are games, puzzle solvers, utilities, eye candy,
-calculators and graphical and audio tools.
-
This year all winners are different, and there is a winner from a new
-country - China! Many winners won for the first time. (Please note that
-judging is done completely anonymously. Be warned that we may disqualify
-entries that reveal the identity of the submitter).
+
We believe you will be impressed with this year’s winning entries.
+The Best of Show is a fine example of character stitching. But don’t
+ignore the other entries! There are games, puzzle solvers, utilities,
+eye candy, calculators and graphical and audio tools.
+
This year all authors are different, and there is a authors from a
+new country - China! Many authors won for the first time. (Please note
+that judging is done completely anonymously. Be warned that we may
+disqualify entries that reveal the identity of the submitter).
Final Comments
IMPORTANT NOTE: See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
diff --git a/2011/richards/.entry.json b/2011/richards/.entry.json
index b7eb59569..3d36c2e29 100644
--- a/2011/richards/.entry.json
+++ b/2011/richards/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "2011_richards.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2011/richards/.gitignore b/2011/richards/.gitignore
index 12e8ce978..2119da70c 100644
--- a/2011/richards/.gitignore
+++ b/2011/richards/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2011/richards/Makefile b/2011/richards/Makefile
index 359ed7e95..6c346383a 100644
--- a/2011/richards/Makefile
+++ b/2011/richards/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2011/richards/README.md b/2011/richards/README.md
index db4c64269..9eb9728c5 100644
--- a/2011/richards/README.md
+++ b/2011/richards/README.md
@@ -12,7 +12,7 @@ The current status of this entry is:
STATUS: doesn't work with some platforms - please help us fix
```
-For more detailed information see [2011 richards in bugs.md](/bugs.md#2011-richards).
+For more detailed information see [2011 richards bugs](../../bugs.html#2011_richards).
## To use:
@@ -33,7 +33,7 @@ echo expression | ./richards
Oh no, yet another
[dc](https://en.wikipedia.org/wiki/Dc_(computer_program))-style calculator? (see
-[2000/dlowe](/2000/dlowe) using an embedded Perl interpreter and deemed `Worst
+[2000/dlowe](../../2000/dlowe/index.html) using an embedded Perl interpreter and deemed `Worst
Abuse of the Rules`). Well, this one does it (expression calculation, that is,
not the rule abuse) in a different way. The author claims that his calculator
does just-in-time compilation. What would you do to prove or disprove his claim
diff --git a/2011/richards/index.html b/2011/richards/index.html
index a26dda061..7980d1fc0 100644
--- a/2011/richards/index.html
+++ b/2011/richards/index.html
@@ -45,6 +45,8 @@
← konno↑ 2011 ↑toledo →
+ C code
+ MakefileInventory
@@ -140,12 +143,13 @@ href="/bugs.md#2011-richards">2011 richards in bugs.md.
Judges’ remarks:
Oh no, yet another dc-style
-calculator? (see 2000/dlowe using an embedded
-Perl interpreter and deemed Worst Abuse of the Rules).
-Well, this one does it (expression calculation, that is, not the rule
-abuse) in a different way. The author claims that his calculator does
-just-in-time compilation. What would you do to prove or disprove his
-claim without attempting to unravel the source?
+calculator? (see 2000/dlowe
+using an embedded Perl interpreter and deemed
+Worst Abuse of the Rules). Well, this one does it
+(expression calculation, that is, not the rule abuse) in a different
+way. The author claims that his calculator does just-in-time
+compilation. What would you do to prove or disprove his claim without
+attempting to unravel the source?
Author’s remarks:
This is an implementation of the classic UNIX dc
diff --git a/2011/toledo/.entry.json b/2011/toledo/.entry.json
index 7df99bf9b..c7e19a184 100644
--- a/2011/toledo/.entry.json
+++ b/2011/toledo/.entry.json
@@ -67,7 +67,7 @@
},
{
"file_path" : "2011_toledo.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2011/toledo/.gitignore b/2011/toledo/.gitignore
index 5f7cd8c28..fc5a2b3d5 100644
--- a/2011/toledo/.gitignore
+++ b/2011/toledo/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2011/toledo/Makefile b/2011/toledo/Makefile
index 4fd2b228e..9067b4a8f 100644
--- a/2011/toledo/Makefile
+++ b/2011/toledo/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2011/toledo/index.html b/2011/toledo/index.html
index 68dc5aa21..759a9f939 100644
--- a/2011/toledo/index.html
+++ b/2011/toledo/index.html
@@ -45,6 +45,8 @@
← richards↑ 2011 ↑vik →
+ C code
+ MakefileInventory
+Location: US - United States of
+America (United States)
diff --git a/2012/Makefile b/2012/Makefile
index e848a67cb..14c2d82e2 100644
--- a/2012/Makefile
+++ b/2012/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2012/README.md b/2012/README.md
index 14e437c50..c2b51a47d 100644
--- a/2012/README.md
+++ b/2012/README.md
@@ -3,15 +3,13 @@
## Standard IOCCC stuff
-Look at the README.md file for the given winning entry for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
The IOCCC has a web site and now has a number of international mirrors.
-The primary site can be found at,
-
->
+The primary site can be found at [www.ioccc.org](https://www.ioccc.org).
Use `make` to compile entries. It is possible that on non-Unix / non-Linux
systems the Makefile needs to be changed. See the Makefile for details.
@@ -26,9 +24,9 @@ local compiler.
## Remarks on some of the entries
-We believe you will be impressed with this year's winners. We had
-a very difficult time picking a single best from among the other winners
-because the overall quality of the winners were so high.
+We believe you will be impressed with this year's winning entries. We had
+a very difficult time picking a single best from among the other entries
+because the overall quality of the submissions were so high.
This year we selected the top 4 entries for particularly high honors:
@@ -54,15 +52,15 @@ This year we selected the top 4 entries for particularly high honors:
When you see this program in action, you too will
very likely say [wow](http://bit.ly/R6ALpK) as we did!
-But don't ignore the other winners! There are games, utilities,
+But don't ignore the other winning entries! There are games, utilities,
eye candy, calculators and graphical tools to explore.
This year, Yusuke Endoh won with two entries, one of which (endoh1)
won the special Honorable mention award. Eight of the winning entries
were from people who won in previous years.
-This year we had a number of winners from Asia. We saw our second
-winner from China and first from Korea. We are pleased to see
+This year we had a number of authors from Asia. We saw our second
+authors from China and first from Korea. We are pleased to see
outstanding entries from areas of the world that have not been
active in past contests. Will we see an upswing of entries
from South America, Africa and Antarctica next year? :-)
@@ -86,7 +84,7 @@ some very good entries lost because they:
+ could only be run on a particular vendor's platform
-+ were very similar to previous winners
++ were very similar to previous winning entries
+ were based on an overused theme such as yet another
fractal display program
@@ -97,17 +95,17 @@ We hope the authors of some of those entries will fix and re-submit
them for the next IOCCC.
There is a risk in submitting an entry that is similar to a well
-used theme by previous winners. Previous winners set a very high
-bar. A new winner must not only compete against other submissions
-form the current year, they must also excel over similar winners
+used theme by previous winning entries. Previous entries set a very high
+bar. A new winning entry must not only compete against other submissions
+form the current year, they must also excel over similar winning entry
in some particularly impressive way.
## Final Comments
-**IMPORTANT NOTE**: See [contact.html](/contact.html) for up to date contact details
+**IMPORTANT NOTE**: See [contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -115,5 +113,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (c) 2012,2023, Landon Curt Noll and Leonid A. Broukhis. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/2012/blakely/.entry.json b/2012/blakely/.entry.json
index daeb2f0bb..fb02765be 100644
--- a/2012/blakely/.entry.json
+++ b/2012/blakely/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2012_blakely.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2012/blakely/.gitignore b/2012/blakely/.gitignore
index 70f111736..757a8f2f5 100644
--- a/2012/blakely/.gitignore
+++ b/2012/blakely/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
*.gif
blakely
diff --git a/2012/blakely/Makefile b/2012/blakely/Makefile
index b33492483..3baf518b9 100644
--- a/2012/blakely/Makefile
+++ b/2012/blakely/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2012/blakely/README.md b/2012/blakely/README.md
index f33e5de7d..dc72edb0f 100644
--- a/2012/blakely/README.md
+++ b/2012/blakely/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2012 blakely in bugs.md](/bugs.md#2012-blakely).
+For more detailed information see [2012 blakely bugs](../../bugs.html#2012_blakely).
## To use:
diff --git a/2012/blakely/index.html b/2012/blakely/index.html
index e8065e5ab..cc908d15d 100644
--- a/2012/blakely/index.html
+++ b/2012/blakely/index.html
@@ -45,6 +45,8 @@
first entry↑ 2012 ↑deckmyn →
+ C code
+ MakefileInventory
diff --git a/2012/deckmyn/.entry.json b/2012/deckmyn/.entry.json
index 780c3b20b..5b5cf7ef6 100644
--- a/2012/deckmyn/.entry.json
+++ b/2012/deckmyn/.entry.json
@@ -67,7 +67,7 @@
},
{
"file_path" : "2012_deckmyn.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2012/deckmyn/.gitignore b/2012/deckmyn/.gitignore
index f4d5102ac..78ac1cf8f 100644
--- a/2012/deckmyn/.gitignore
+++ b/2012/deckmyn/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
*.pbm
*.png
diff --git a/2012/deckmyn/Makefile b/2012/deckmyn/Makefile
index c2538bd50..ea5b9c4e6 100644
--- a/2012/deckmyn/Makefile
+++ b/2012/deckmyn/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2012/deckmyn/README.md b/2012/deckmyn/README.md
index 019736f72..e9cbc8f75 100644
--- a/2012/deckmyn/README.md
+++ b/2012/deckmyn/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2012 deckmyn in bugs.md](/bugs.md#2012-deckmyn).
+For more detailed information see [2012 deckmyn bugs](../../bugs.html#2012_deckmyn).
## To use:
@@ -92,7 +92,7 @@ normally open an image.
Every major C competition should have an entry capable of producing C major.
This is a music notation program. It produces
[bitmaps](https://en.wikipedia.org/wiki/Netpbm) (`.pbm`) of music based on ASCII
-input. A full manual is added as a [separate file](deckmyn.md). Some musical
+input. A full manual is added as a [separate file](deckmyn.html). Some musical
examples are also included.
The program is capable of printing notes, rests, (double) bar lines and
@@ -139,7 +139,7 @@ string.
The code is quite sensitive. Errors in the input can lead to strange results.
The code does not read beyond the end of the music input, but that is about the
only error checking available. Any input that is not according to the rules in
-the [manual](deckmyn.md), may cause errors.
+the [manual](deckmyn.html), may cause errors.
The program has no special hardware limitations or requirements, other than 8bit
`char` (`signed` or `unsigned`) and two's complement negatives.
diff --git a/2012/deckmyn/deckmyn.html b/2012/deckmyn/deckmyn.html
index 502a045be..6bbc78adf 100644
--- a/2012/deckmyn/deckmyn.html
+++ b/2012/deckmyn/deckmyn.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
@@ -174,8 +178,8 @@ would normally open an image.
major. This is a music notation program. It produces bitmaps
(.pbm) of music based on ASCII input. A full manual is
-added as a separate file. Some musical examples
-are also included.
+added as a separate file. Some musical
+examples are also included.
The program is capable of printing notes, rests, (double) bar lines
and accidentals on a single melodic line (multiple staves). No chords,
polyphony etc.
@@ -216,8 +220,8 @@ write outside the string.
The code is quite sensitive. Errors in the input can lead to strange
results. The code does not read beyond the end of the music input, but
that is about the only error checking available. Any input that is not
-according to the rules in the manual, may cause
-errors.
+according to the rules in the manual, may
+cause errors.
The program has no special hardware limitations or requirements,
other than 8bit char (signed or
unsigned) and two’s complement negatives.
diff --git a/2012/dlowe/.entry.json b/2012/dlowe/.entry.json
index 6b0c02f8a..06054d750 100644
--- a/2012/dlowe/.entry.json
+++ b/2012/dlowe/.entry.json
@@ -35,7 +35,7 @@
},
{
"file_path" : "2012_dlowe.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2012/dlowe/.gitignore b/2012/dlowe/.gitignore
index 6c87237ef..48523759d 100644
--- a/2012/dlowe/.gitignore
+++ b/2012/dlowe/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
dlowe
dlowe.orig
diff --git a/2012/dlowe/Makefile b/2012/dlowe/Makefile
index c9350d431..ef0d4c78d 100644
--- a/2012/dlowe/Makefile
+++ b/2012/dlowe/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2012/dlowe/README.md b/2012/dlowe/README.md
index 2c46ea10f..44fce3433 100644
--- a/2012/dlowe/README.md
+++ b/2012/dlowe/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2012 dlowe in bugs.md](/bugs.md#2012-dlowe).
+For more detailed information see [2012 dlowe bugs](../../bugs.html#2012_dlowe).
## To use:
diff --git a/2012/dlowe/index.html b/2012/dlowe/index.html
index 2d6e96e52..204fcf89c 100644
--- a/2012/dlowe/index.html
+++ b/2012/dlowe/index.html
@@ -45,6 +45,8 @@
← deckmyn↑ 2012 ↑endoh1 →
+ C code
+ MakefileInventory
diff --git a/2012/endoh2/.entry.json b/2012/endoh2/.entry.json
index a8b517e60..56638c107 100644
--- a/2012/endoh2/.entry.json
+++ b/2012/endoh2/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "2012_endoh2.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2012/endoh2/.gitignore b/2012/endoh2/.gitignore
index b62c7a9a4..d5756a62b 100644
--- a/2012/endoh2/.gitignore
+++ b/2012/endoh2/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
271
2718
diff --git a/2012/endoh2/Makefile b/2012/endoh2/Makefile
index df4ecf9af..6580bea38 100644
--- a/2012/endoh2/Makefile
+++ b/2012/endoh2/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2012/endoh2/README.md b/2012/endoh2/README.md
index 2b56b697a..23caa2548 100644
--- a/2012/endoh2/README.md
+++ b/2012/endoh2/README.md
@@ -96,7 +96,7 @@ in detail.
I used many other tricks for short coding.
I'm sorry that many ASCII-art-style winning entries of
-[IOCCC](https://www.ioccc.org/years.html) ignore [C preprocessor
+[IOCCC](../../years.html) ignore [C preprocessor
directives](https://en.wikipedia.org/wiki/C_preprocessor). In my program,
`#include` is a part of ASCII-art with comments padded.
diff --git a/2012/endoh2/index.html b/2012/endoh2/index.html
index a9c10d551..7b3d75ed3 100644
--- a/2012/endoh2/index.html
+++ b/2012/endoh2/index.html
@@ -45,6 +45,8 @@
← endoh1↑ 2012 ↑grothe →
+ C code
+ MakefileInventory
@@ -197,7 +201,7 @@ identity to find the magic string, with the aid of a brute force.
See find-font-table.rb in detail.
I used many other tricks for short coding.
I’m sorry that many ASCII-art-style winning entries of IOCCC ignore IOCCC ignore C preprocessor
directives. In my program, #include is a part of
ASCII-art with comments padded.
diff --git a/2012/grothe/.entry.json b/2012/grothe/.entry.json
index 78289e8eb..bce663766 100644
--- a/2012/grothe/.entry.json
+++ b/2012/grothe/.entry.json
@@ -52,7 +52,7 @@
},
{
"file_path" : "2012_grothe.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2012/grothe/.gitignore b/2012/grothe/.gitignore
index 5d4b32b37..ebba46575 100644
--- a/2012/grothe/.gitignore
+++ b/2012/grothe/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
grothe
grothe.c.1
diff --git a/2012/grothe/Makefile b/2012/grothe/Makefile
index 164dab329..3055fce97 100644
--- a/2012/grothe/Makefile
+++ b/2012/grothe/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2012/grothe/index.html b/2012/grothe/index.html
index 2488d0fa4..9227b092b 100644
--- a/2012/grothe/index.html
+++ b/2012/grothe/index.html
@@ -45,6 +45,8 @@
← endoh2↑ 2012 ↑hamano →
+ C code
+ MakefileInventory
diff --git a/2012/hamano/.entry.json b/2012/hamano/.entry.json
index af9a90c9c..d71fd4323 100644
--- a/2012/hamano/.entry.json
+++ b/2012/hamano/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2012_hamano.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2012/hamano/.gitignore b/2012/hamano/.gitignore
index 9728f81d5..17888fd35 100644
--- a/2012/hamano/.gitignore
+++ b/2012/hamano/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
hamano
hamano.orig
diff --git a/2012/hamano/Makefile b/2012/hamano/Makefile
index 870f91694..615c40308 100644
--- a/2012/hamano/Makefile
+++ b/2012/hamano/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2012/hamano/README.md b/2012/hamano/README.md
index 17d0ebf6f..3d608d4bc 100644
--- a/2012/hamano/README.md
+++ b/2012/hamano/README.md
@@ -24,7 +24,7 @@ or `evince hint.pdf`. With macOS you can do `open hint.pdf` which by default
will open `Preview.app`. You may of course use your pdf viewer to open the file
directly instead.
-One of the PDF files generated is this README.md file as a PDF, obfuscated, and
+One of the PDF files generated the README.md file as a PDF, obfuscated, and
the PDF file will then be compiled as C (itself!) and executed so that it shows
README.md!
@@ -57,7 +57,7 @@ rules `hint.pdf`, `hint`, `hello.pdf` and `hello` to do this.
This entry treads into a new territory for IOCCC - generating PDF files.
The originally submitted entry could have been thought of as a "Best abuse of
-Ghostscript" winner. :-)
+Ghostscript" entry. :-)
The source code and rendered pages are obfuscated for humans (where
is the font?), and the submitted entry created PDF files that left Ghostscript
diff --git a/2012/hamano/index.html b/2012/hamano/index.html
index 3425badda..237eabc36 100644
--- a/2012/hamano/index.html
+++ b/2012/hamano/index.html
@@ -45,6 +45,8 @@
← grothe↑ 2012 ↑hou →
+ C code
+ MakefileInventory
@@ -139,7 +142,7 @@ reader like acroread hint.pdf or
open hint.pdf which by default will open
Preview.app. You may of course use your pdf viewer to open
the file directly instead.
-
One of the PDF files generated is this README.md file as a PDF,
+
One of the PDF files generated the README.md file as a PDF,
obfuscated, and the PDF file will then be compiled as C (itself!) and
executed so that it shows README.md!
That procedure looks like:
@@ -161,7 +164,7 @@ it uses the helper rules hint.pdf, hint,
This entry treads into a new territory for IOCCC - generating PDF
files.
The originally submitted entry could have been thought of as a “Best
-abuse of Ghostscript” winner. :-)
+abuse of Ghostscript” entry. :-)
The source code and rendered pages are obfuscated for humans (where
is the font?), and the submitted entry created PDF files that left
Ghostscript confused.
diff --git a/2012/hou/.entry.json b/2012/hou/.entry.json
index 0dd0a8904..df638f01d 100644
--- a/2012/hou/.entry.json
+++ b/2012/hou/.entry.json
@@ -107,7 +107,7 @@
},
{
"file_path" : "2012_hou.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2012/hou/.gitignore b/2012/hou/.gitignore
index 616a2b11f..7130459f8 100644
--- a/2012/hou/.gitignore
+++ b/2012/hou/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
hou
hou.html
diff --git a/2012/hou/Makefile b/2012/hou/Makefile
index f15cbaadc..2c60f203e 100644
--- a/2012/hou/Makefile
+++ b/2012/hou/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2012/hou/hint.html b/2012/hou/hint.html
index 902e6e2f5..d0e4584e6 100644
--- a/2012/hou/hint.html
+++ b/2012/hou/hint.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
Twenty
First International Obfuscated C Code Contest
Standard IOCCC stuff
-
Look at the README.md file for the given winning entry for
-information on how to compile it and how to run the winning program.
-Look at the winning source and try to figure how it does what it does!
-You may then wish to look at the Author’s remarks for even more
+
View the index.html web page for the given winning entry
+for information on how on how to compile it and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
details.
The IOCCC has a web site and now has a number of international
-mirrors. The primary site can be found at,
+mirrors. The primary site can be found at www.ioccc.org.
Use make to compile entries. It is possible that on
non-Unix / non-Linux systems the Makefile needs to be changed. See the
Makefile for details.
@@ -137,9 +135,9 @@ yours is lacking, you may need to compile using gcc instead of your
local compiler.
Remarks on some of the
entries
-
We believe you will be impressed with this year’s winners. We had a
-very difficult time picking a single best from among the other winners
-because the overall quality of the winners were so high.
+
We believe you will be impressed with this year’s winning entries. We
+had a very difficult time picking a single best from among the other
+entries because the overall quality of the submissions were so high.
This year we selected the top 4 entries for particularly high
honors:
@@ -158,13 +156,13 @@ words. :-)
When you see this program in action, you too will very likely say wow as we did!
-
But don’t ignore the other winners! There are games, utilities, eye
-candy, calculators and graphical tools to explore.
+
But don’t ignore the other winning entries! There are games,
+utilities, eye candy, calculators and graphical tools to explore.
This year, Yusuke Endoh won with two entries, one of which (endoh1)
won the special Honorable mention award. Eight of the winning entries
were from people who won in previous years.
-
This year we had a number of winners from Asia. We saw our second
-winner from China and first from Korea. We are pleased to see
+
This year we had a number of authors from Asia. We saw our second
+authors from China and first from Korea. We are pleased to see
outstanding entries from areas of the world that have not been active in
past contests. Will we see an upswing of entries from South America,
Africa and Antarctica next year? :-)
@@ -181,7 +179,7 @@ excess by a clever abuse of the rules
machine
depend on a single obfuscation trick
could only be run on a particular vendor’s platform
-
were very similar to previous winners
+
were very similar to previous winning entries
were based on an overused theme such as yet another fractal
display program
didn’t work as documented
@@ -189,24 +187,24 @@ display program
We hope the authors of some of those entries will fix and re-submit
them for the next IOCCC.
There is a risk in submitting an entry that is similar to a well used
-theme by previous winners. Previous winners set a very high bar. A new
-winner must not only compete against other submissions form the current
-year, they must also excel over similar winners in some particularly
-impressive way.
+theme by previous winning entries. Previous entries set a very high bar.
+A new winning entry must not only compete against other submissions form
+the current year, they must also excel over similar winning entry in
+some particularly impressive way.
Final Comments
IMPORTANT NOTE: See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
+Location: US - United States of
+America (United States)
@@ -289,16 +293,16 @@ for 2012/omoikane
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/omoikane/Makefile">Makefile
- entry Makefile
nyaruko.alt.c
+href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/omoikane/omoikane.alt.c">omoikane.alt.c
- alternative source
nyaruko.alt2.c
+href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/omoikane/omoikane.alt2.c">omoikane.alt2.c
- alternate alternative source
nyaruko.orig.c
+href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/omoikane/omoikane.orig.c">omoikane.orig.c
- original source
nyaruko.c
+href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/omoikane/omoikane.c">omoikane.c
- source to generate random data
try.alt.sh
diff --git a/2012/omoikane/nyaruko.alt.c b/2012/omoikane/omoikane.alt.c
similarity index 100%
rename from 2012/omoikane/nyaruko.alt.c
rename to 2012/omoikane/omoikane.alt.c
diff --git a/2012/omoikane/nyaruko.alt2.c b/2012/omoikane/omoikane.alt2.c
similarity index 100%
rename from 2012/omoikane/nyaruko.alt2.c
rename to 2012/omoikane/omoikane.alt2.c
diff --git a/2012/omoikane/nyaruko.c b/2012/omoikane/omoikane.c
similarity index 100%
rename from 2012/omoikane/nyaruko.c
rename to 2012/omoikane/omoikane.c
diff --git a/2012/omoikane/nyaruko.orig.c b/2012/omoikane/omoikane.orig.c
similarity index 100%
rename from 2012/omoikane/nyaruko.orig.c
rename to 2012/omoikane/omoikane.orig.c
diff --git a/2012/tromp/.entry.json b/2012/tromp/.entry.json
index fde7c7f43..c7ca469df 100644
--- a/2012/tromp/.entry.json
+++ b/2012/tromp/.entry.json
@@ -67,7 +67,7 @@
},
{
"file_path" : "2012_tromp.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2012/tromp/.gitignore b/2012/tromp/.gitignore
index c96762e05..c359c6f01 100644
--- a/2012/tromp/.gitignore
+++ b/2012/tromp/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2012/tromp/Makefile b/2012/tromp/Makefile
index 58e0d6457..a4fb5c502 100644
--- a/2012/tromp/Makefile
+++ b/2012/tromp/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2012/tromp/README.md b/2012/tromp/README.md
index 4d51e98c9..0fd92e4ee 100644
--- a/2012/tromp/README.md
+++ b/2012/tromp/README.md
@@ -15,7 +15,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2012 tromp in bugs.md](/bugs.md#2012-tromp).
+For more detailed information see [2012 tromp bugs](../../bugs.html#2012_tromp).
## To use:
@@ -520,13 +520,13 @@ and 64 bits.
### How the program works
-See the file [how.md](how.md).
+See the file [how.html](how.html).
### Acknowledgements
Christopher Hendrie, Bertram Felgenhauer, Alex Stangl, Seong-hoon Kang,
-and [Yusuke Endoh](/authors.html#Yusuke_Endoh) have contributed ideas and
+and [Yusuke Endoh](../../authors.html#Yusuke_Endoh) have contributed ideas and
suggestions for improvement.
diff --git a/2012/tromp/how.html b/2012/tromp/how.html
index cfd41e50e..02b0824f6 100644
--- a/2012/tromp/how.html
+++ b/2012/tromp/how.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
IOCCC entries already contain entries
without digits, control-flow keywords and certain operators in their
source. This entry has an even more limited source, that is:
diff --git a/2013/Makefile b/2013/Makefile
index 318d212c0..73a0d9862 100644
--- a/2013/Makefile
+++ b/2013/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2013/README.md b/2013/README.md
index 835ea0e67..9cfc3f9da 100644
--- a/2013/README.md
+++ b/2013/README.md
@@ -3,13 +3,13 @@
## Standard IOCCC stuff
-Look at the README.md file for the given winning entry for information on how to
+View the `index.html` web page for the given winning entry for information on how
compile the entry and how to run the winning program. Look at the winning
source and try to figure how it does what it does! You may then wish to look at
the Author's remarks for even more details.
The IOCCC has a web site and now has a number of international mirrors.
-The primary site can be found at:
+The primary site can be found at [www.ioccc.org](https://www.ioccc.org).
Use `make` to compile entries. It is possible that on non-Unix / non-Linux
systems the Makefile needs to be changed. See the Makefile for details.
@@ -25,17 +25,17 @@ local compiler.
## Remarks on some of the entries
-We believe you will again be impressed with this year's winners.
+We believe you will again be impressed with this year's winning entries.
This year, 9 won 15 awards. For the first time in the history of the contest,
-one person, [Yusuke Endoh](https://www.ioccc.org/authors.html#Yusuke_Endoh) won
-4 times while [Adrian Cable](https://www.ioccc.org/authors.html#Adrian_Cable)
+one person, [Yusuke Endoh](../authors.html#Yusuke_Endoh) won
+4 times while [Adrian Cable](../authors.html#Adrian_Cable)
won 3 times! It is also worth noting that [Chris
-Mills](https://www.ioccc.org/authors.html#Christopher_Mills) last win was in 1993.
+Mills](../authors.html#Christopher_Mills) last win was in 1993.
Welcome back Chris!
We, the judges, were very surprised by this as many of the multiple
-winners submitted very different styles of entries.
+authors submitted very different styles of 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.
@@ -74,23 +74,23 @@ some very good entries lost because they:
excess by a clever abuse of the rules
* depended on a single obfuscation trick
* could only be run on a particular vendor's platform
-* were very similar to previous winners
+* were very similar to previous winning entry
* didn't work as documented
We hope that the authors of some of those entries will fix and resubmit them
for the next IOCCC.
There is a risk in submitting an entry that is similar to a well used theme by
-previous winners. Previous winners set a very high bar. A new winner must not
+previous winning entries. Previous entries set a very high bar. A new entry must not
only compete against other submissions from the current year but they must also
-excel over similar previous winners in some particularly impressive way.
+excel over similar previous winning entry in some particularly impressive way.
## Final Comments
-**IMPORTANT NOTE**: See [contact.html](/contact.html) for up to date contact details
+**IMPORTANT NOTE**: See [contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -98,5 +98,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (c) 2013,2023, Landon Curt Noll and Leonid A. Broukhis. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/2013/birken/.entry.json b/2013/birken/.entry.json
index 26163ca83..125127d47 100644
--- a/2013/birken/.entry.json
+++ b/2013/birken/.entry.json
@@ -275,7 +275,7 @@
},
{
"file_path" : "2013_birken.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2013/birken/.gitignore b/2013/birken/.gitignore
index ebc2b4fb3..5d8545a03 100644
--- a/2013/birken/.gitignore
+++ b/2013/birken/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
birken
birken.alt
diff --git a/2013/birken/Makefile b/2013/birken/Makefile
index 8a4782412..94efb8398 100644
--- a/2013/birken/Makefile
+++ b/2013/birken/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2013/birken/README.md b/2013/birken/README.md
index 2ed509dae..067c6ad6e 100644
--- a/2013/birken/README.md
+++ b/2013/birken/README.md
@@ -363,7 +363,7 @@ sorts:
The source is formatted to resemble the
[Tetris](https://en.wikipedia.org/wiki/Tetris) play-field mid-game. It is also
-an homage to all the [past IOCCC entries](/years.html) formatted as a compact
+an homage to all the [past IOCCC entries](../../years.html) formatted as a compact
block of text; the `T`, orientated appropriately to reflect its name and the
first letter in the title of the game, is just a moment away from producing such
a text block.
diff --git a/2013/birken/index.html b/2013/birken/index.html
index aa02a7706..85a471726 100644
--- a/2013/birken/index.html
+++ b/2013/birken/index.html
@@ -45,6 +45,8 @@
first entry↑ 2013 ↑cable1 →
+ C code
+ MakefileInventory
+Birken Location: US -
+United States of America (United States)
@@ -405,11 +408,11 @@ appearance of sorts:
[T][e][t]--;while(R+i){ s
The source is formatted to resemble the Tetris play-field
-mid-game. It is also an homage to all the past
-IOCCC entries formatted as a compact block of text; the
-T, orientated appropriately to reflect its name and the
-first letter in the title of the game, is just a moment away from
-producing such a text block.
+mid-game. It is also an homage to all the past IOCCC entries formatted as a compact
+block of text; the T, orientated appropriately to reflect
+its name and the first letter in the title of the game, is just a moment
+away from producing such a text block.
Three tables are encoded as separate strings within the program:
where [number...] is one or more number, space
diff --git a/2013/endoh1/.entry.json b/2013/endoh1/.entry.json
index b162ef66c..901129599 100644
--- a/2013/endoh1/.entry.json
+++ b/2013/endoh1/.entry.json
@@ -75,7 +75,7 @@
},
{
"file_path" : "2013_endoh1.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2013/endoh1/.gitignore b/2013/endoh1/.gitignore
index e840300e5..8eb037759 100644
--- a/2013/endoh1/.gitignore
+++ b/2013/endoh1/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
echo
endoh1
diff --git a/2013/endoh1/Makefile b/2013/endoh1/Makefile
index fbddda970..ee88d40ff 100644
--- a/2013/endoh1/Makefile
+++ b/2013/endoh1/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2013/endoh1/README.md b/2013/endoh1/README.md
index f1a4f6feb..242f0212c 100644
--- a/2013/endoh1/README.md
+++ b/2013/endoh1/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2013 endoh1 in bugs.md](/bugs.md#2013-endoh1).
+For more detailed information see [2013 endoh1 bugs](../../bugs.html#2013_endoh1).
## To use:
diff --git a/2013/endoh1/index.html b/2013/endoh1/index.html
index cc9300f6c..98e1b4373 100644
--- a/2013/endoh1/index.html
+++ b/2013/endoh1/index.html
@@ -45,6 +45,8 @@
← dlowe↑ 2013 ↑endoh2 →
+ C code
+ MakefileInventory
diff --git a/2013/endoh3/.entry.json b/2013/endoh3/.entry.json
index 8d52eb547..5ed54bc68 100644
--- a/2013/endoh3/.entry.json
+++ b/2013/endoh3/.entry.json
@@ -91,7 +91,7 @@
},
{
"file_path" : "2013_endoh3.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2013/endoh3/.gitignore b/2013/endoh3/.gitignore
index ed9c1c045..3ca03859a 100644
--- a/2013/endoh3/.gitignore
+++ b/2013/endoh3/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
*.wav
endoh3
diff --git a/2013/endoh3/Makefile b/2013/endoh3/Makefile
index 9c54b13c0..618670847 100644
--- a/2013/endoh3/Makefile
+++ b/2013/endoh3/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2013/endoh3/README.md b/2013/endoh3/README.md
index ca7d055ae..52ebf8707 100644
--- a/2013/endoh3/README.md
+++ b/2013/endoh3/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2013 endoh3 in bugs.md](/bugs.md#2013-endoh3).
+For more detailed information see [2013 endoh3 bugs](../../bugs.html#2013_endoh3).
## To use:
@@ -23,7 +23,7 @@ For more detailed information see [2013 endoh3 in bugs.md](/bugs.md#2013-endoh3)
```
This program plays sound. See [FAQ 3.10 - How do I compile and use an IOCCC
-winner that requires sound?](/faq.md#faq3_10) if you do not know how to set your
+entry that requires sound?](../../faq.html#sox) if you do not know how to set your
system up for this or if you want to verify that everything is oky.
diff --git a/2013/endoh3/index.html b/2013/endoh3/index.html
index 02a2338d9..45ef1f7bc 100644
--- a/2013/endoh3/index.html
+++ b/2013/endoh3/index.html
@@ -45,6 +45,8 @@
← endoh2↑ 2013 ↑endoh4 →
+ C code
+ MakefileInventory
diff --git a/2013/hou/.entry.json b/2013/hou/.entry.json
index feb319f24..e7d7e5eb9 100644
--- a/2013/hou/.entry.json
+++ b/2013/hou/.entry.json
@@ -91,7 +91,7 @@
},
{
"file_path" : "2013_hou.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2013/hou/.gitignore b/2013/hou/.gitignore
index d17cc58e7..8a6e5f196 100644
--- a/2013/hou/.gitignore
+++ b/2013/hou/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
4old_default.ppm
a
diff --git a/2013/hou/Makefile b/2013/hou/Makefile
index 0c6e48941..8bc8832a9 100644
--- a/2013/hou/Makefile
+++ b/2013/hou/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2013/hou/README.md b/2013/hou/README.md
index 4e2655cbd..b7dc2d1c4 100644
--- a/2013/hou/README.md
+++ b/2013/hou/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2013 hou in bugs.md](/bugs.md#2013-hou).
+For more detailed information see [2013 hou bugs](../../bugs.html#2013_hou).
## To use:
diff --git a/2013/hou/doc/example.html b/2013/hou/doc/example.html
index 5bc7e315e..64d6f9d73 100644
--- a/2013/hou/doc/example.html
+++ b/2013/hou/doc/example.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
Follow the instructions in stdout, preferably with an
diff --git a/2013/index.html b/2013/index.html
index 90e14a35a..a3860b482 100644
--- a/2013/index.html
+++ b/2013/index.html
@@ -69,6 +69,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
@@ -115,14 +116,14 @@
Twenty
Second International Obfuscated C Code Contest
Standard IOCCC stuff
-
Look at the README.md file for the given winning entry for
-information on how to compile the entry and how to run the winning
+
View the index.html web page for the given winning entry
+for information on how compile the entry and how to run the winning
program. Look at the winning source and try to figure how it does what
it does! You may then wish to look at the Author’s remarks for even more
details.
The IOCCC has a web site and now has a number of international
-mirrors. The primary site can be found at: https://www.ioccc.org/
+mirrors. The primary site can be found at www.ioccc.org.
Use make to compile entries. It is possible that on
non-Unix / non-Linux systems the Makefile needs to be changed. See the
Makefile for details.
@@ -134,17 +135,16 @@ yours is lacking, you may need to compile using gcc instead of your
local compiler.
Remarks on some of the
entries
-
We believe you will again be impressed with this year’s winners.
+
We believe you will again be impressed with this year’s winning
+entries.
We, the judges, were very surprised by this as many of the multiple
-winners submitted very different styles of entries.
+authors submitted very different styles of 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.
@@ -168,30 +168,30 @@ some very good entries lost because they:
excess by a clever abuse of the rules
depended on a single obfuscation trick
could only be run on a particular vendor’s platform
-
were very similar to previous winners
+
were very similar to previous winning entry
didn’t work as documented
We hope that the authors of some of those entries will fix and
resubmit them for the next IOCCC.
There is a risk in submitting an entry that is similar to a well used
-theme by previous winners. Previous winners set a very high bar. A new
-winner must not only compete against other submissions from the current
-year but they must also excel over similar previous winners in some
-particularly impressive way.
+theme by previous winning entries. Previous entries set a very high bar.
+A new entry must not only compete against other submissions from the
+current year but they must also excel over similar previous winning
+entry in some particularly impressive way.
Final Comments
IMPORTANT NOTE: See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
+href="../contact.html">send us a note about your use.
diff --git a/2013/mills/.entry.json b/2013/mills/.entry.json
index 956ad38d4..3891b0d1f 100644
--- a/2013/mills/.entry.json
+++ b/2013/mills/.entry.json
@@ -35,7 +35,7 @@
},
{
"file_path" : "2013_mills.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2013/mills/.gitignore b/2013/mills/.gitignore
index 487ce033f..56d478c76 100644
--- a/2013/mills/.gitignore
+++ b/2013/mills/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2013/mills/Makefile b/2013/mills/Makefile
index ee74c95df..1cd1a4a2d 100644
--- a/2013/mills/Makefile
+++ b/2013/mills/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2013/mills/README.md b/2013/mills/README.md
index ff43fa1a4..700a8b684 100644
--- a/2013/mills/README.md
+++ b/2013/mills/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2013 mills in bugs.md](/bugs.md#2013-mills).
+For more detailed information see [2013 mills bugs](../../bugs.html#2013_mills).
## To use:
diff --git a/2013/mills/index.html b/2013/mills/index.html
index 34963cdd0..8d9aad153 100644
--- a/2013/mills/index.html
+++ b/2013/mills/index.html
@@ -45,6 +45,8 @@
← hou↑ 2013 ↑misaka →
+ C code
+ MakefileInventory
+Location: US - United States of
+America (United States)
diff --git a/2013/morgan1/.entry.json b/2013/morgan1/.entry.json
index 60db4c69f..42eb4a8fe 100644
--- a/2013/morgan1/.entry.json
+++ b/2013/morgan1/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2013_morgan1.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2013/morgan1/.gitignore b/2013/morgan1/.gitignore
index 070e96d5c..2b7e45ba6 100644
--- a/2013/morgan1/.gitignore
+++ b/2013/morgan1/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2013/morgan1/Makefile b/2013/morgan1/Makefile
index e1704beaa..ae9f8d3e4 100644
--- a/2013/morgan1/Makefile
+++ b/2013/morgan1/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2013/morgan1/README.md b/2013/morgan1/README.md
index 1b0e00aee..3c036126a 100644
--- a/2013/morgan1/README.md
+++ b/2013/morgan1/README.md
@@ -67,10 +67,10 @@ The size is not proportional either.
It also displays the position of 2 famous comets during their last approach:
- The [first one](https://science.nasa.gov/solar-system/comets/1p-halley/)
-around the [third IOCCC](/years.html#1986).
+around the [third IOCCC](../../years.html#1986).
- The [second
one](https://science.nasa.gov/solar-system/comets/c-1995-o1-hale-bopp/) between
-the [thirteenth](/years.html#1996) and [fourteenth](/years.html#1998) IOCCC.
+the [thirteenth](../../years.html#1996) and [fourteenth](../../years.html#1998) IOCCC.
### Limitations
diff --git a/2013/morgan1/index.html b/2013/morgan1/index.html
index a197f66c8..e017a6d05 100644
--- a/2013/morgan1/index.html
+++ b/2013/morgan1/index.html
@@ -45,6 +45,8 @@
← misaka↑ 2013 ↑morgan2 →
+ C code
+ MakefileInventory
+Robison Location: US -
+United States of America (United States)
diff --git a/2014/Makefile b/2014/Makefile
index f72ba7d66..6385f5fbb 100644
--- a/2014/Makefile
+++ b/2014/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2014/README.md b/2014/README.md
index b7e0e41ea..c081b4516 100644
--- a/2014/README.md
+++ b/2014/README.md
@@ -3,10 +3,13 @@
## Standard IOCCC stuff
-The IOCCC has a web site and now has a number of international mirrors.
-The primary site can be found at,
+View the `index.html` web page for the given winning entry for information on how
+compile the entry and how to run the winning program. Look at the winning
+source and try to figure how it does what it does! You may then wish to look at
+the Author's remarks for even more details.
-* [http://www.ioccc.org/](http://www.ioccc.org/)
+The IOCCC has a web site and now has a number of international mirrors.
+The primary site can be found at [www.ioccc.org](https://www.ioccc.org).
Use make to compile entries. It is possible that on non-Un\*x / non-Linux
systems the makefile needs to be changed. See the Makefile for details.
@@ -26,12 +29,12 @@ local compiler.
## Remarks on some of the entries
-We believe you will again be impressed with this year's winners.
+We believe you will again be impressed with this year's winning entries.
This year, 2014:
We, the judges, were very surprised by this as many of the multiple
-winners submitted very different styles of entries.
+authors submitted very different styles of entries.
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
@@ -58,24 +61,24 @@ We hope the authors of some of those entries will fix and re-submit
them for the next IOCCC.
There is a risk in submitting an entry that is similar to a well
-used theme by previous winners. Previous winners set a very high
-bar. A new winner must not only compete against submissions
-from the current year, they must also excel over any similar winners
+used theme by previous winning entries. Previous authors set a very high
+bar. A new winning entry must not only compete against submissions
+from the current year, they must also excel over any similar entries
in some particularly impressive way.
-## On the delay in releasing the winners
+## On the delay in releasing the winning entries
-We apologize on the delay of sending the winners the tarball for them
+We apologize on the delay of sending the authors the tarball for them
to review. There were some unforeseen events, such as unplanned mandatory
business travel, the death of a IOCCC judge mother, etc. that impacted
-our planned schedule for building the IOCCC winner tarball.
+our planned schedule for building the tarball of this year's winning entries.
During some of these forced delays, we took the time to better automate
-some of the tools needed to package the source for the winners to review
-and to post the edited winners to the web site. It is our intent that
-these changes made during those delays will make releasing future IOCCC
-winners a faster procedure.
+some of the tools needed to package the source for the winning entries to review
+and to post the edited entries to the web site. It is our intent that
+these changes made during those delays will make releasing future winning IOCCC
+entries a faster procedure.
p.s. The final advice given to Landon by his mom: "Have fun."
We recommend following this advice were possible.
@@ -95,11 +98,11 @@ send us the fix (patch file or the entire changed file).
For the latest information on how to contact the IOCCC Judges please visit
-* [http://www.ioccc.org/contact.html](http://www.ioccc.org/contact.html)
+* [contact.html](../contact.html)
For news of the next contest watch:
-* [http://www.ioccc.org/](http://www.ioccc.org/)
+* [news.html](../news/html)
# Copyright and License
@@ -107,5 +110,5 @@ For news of the next contest watch:
Copyright (C) 2014,2024, Landon Curt Noll and Leonid A. Broukhis. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/2014/birken/.entry.json b/2014/birken/.entry.json
index 3a0d18348..15052aafd 100644
--- a/2014/birken/.entry.json
+++ b/2014/birken/.entry.json
@@ -44,7 +44,7 @@
},
{
"file_path" : "2014_birken.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2014/birken/.gitignore b/2014/birken/.gitignore
index c218b1035..4448449c2 100644
--- a/2014/birken/.gitignore
+++ b/2014/birken/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2014/birken/Makefile b/2014/birken/Makefile
index ab9e0d84d..3b0f46a77 100644
--- a/2014/birken/Makefile
+++ b/2014/birken/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2014/birken/index.html b/2014/birken/index.html
index 0b9c704e9..7bdf0285b 100644
--- a/2014/birken/index.html
+++ b/2014/birken/index.html
@@ -45,6 +45,8 @@
first entry↑ 2014 ↑deak →
+ C code
+ MakefileInventory
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights
diff --git a/2014/endoh1/spoilers.html b/2014/endoh1/spoilers.html
index 4e23fe868..af7da5ecf 100644
--- a/2014/endoh1/spoilers.html
+++ b/2014/endoh1/spoilers.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/2014/endoh2/.entry.json b/2014/endoh2/.entry.json
index 5a11bf6e9..1451e099b 100644
--- a/2014/endoh2/.entry.json
+++ b/2014/endoh2/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2014_endoh2.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2014/endoh2/.gitignore b/2014/endoh2/.gitignore
index c44bc658f..c67413887 100644
--- a/2014/endoh2/.gitignore
+++ b/2014/endoh2/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
hello
hello.c
diff --git a/2014/endoh2/Makefile b/2014/endoh2/Makefile
index 4ac0d25c8..869e1b8bf 100644
--- a/2014/endoh2/Makefile
+++ b/2014/endoh2/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2014/endoh2/index.html b/2014/endoh2/index.html
index 5bb8296a2..c6aa14417 100644
--- a/2014/endoh2/index.html
+++ b/2014/endoh2/index.html
@@ -45,6 +45,8 @@
← endoh1↑ 2014 ↑maffiodo1 →
+ C code
+ MakefileInventory
Twenty
Third International Obfuscated C Code Contest
Standard IOCCC stuff
+
View the index.html web page for the given winning entry
+for information on how compile the entry and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
+details.
The IOCCC has a web site and now has a number of international
-mirrors. The primary site can be found at,
+mirrors. The primary site can be found at www.ioccc.org.
Use make to compile entries. It is possible that on non-Un*x /
non-Linux systems the makefile needs to be changed. See the Makefile for
details.
@@ -135,10 +139,11 @@ yours is lacking, you may need to compile using gcc instead of your
local compiler.
Remarks on some of the
entries
-
We believe you will again be impressed with this year’s winners.
+
We believe you will again be impressed with this year’s winning
+entries.
This year, 2014:
We, the judges, were very surprised by this as many of the multiple
-winners submitted very different styles of entries.
+authors submitted very different styles of entries.
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
@@ -159,21 +164,22 @@ attempt to justify their excess by a clever abuse of the rules
We hope the authors of some of those entries will fix and re-submit
them for the next IOCCC.
There is a risk in submitting an entry that is similar to a well used
-theme by previous winners. Previous winners set a very high bar. A new
-winner must not only compete against submissions from the current year,
-they must also excel over any similar winners in some particularly
-impressive way.
-
On the delay in releasing
-the winners
-
We apologize on the delay of sending the winners the tarball for them
+theme by previous winning entries. Previous authors set a very high bar.
+A new winning entry must not only compete against submissions from the
+current year, they must also excel over any similar entries in some
+particularly impressive way.
+
On the delay in
+releasing the winning entries
+
We apologize on the delay of sending the authors the tarball for them
to review. There were some unforeseen events, such as unplanned
mandatory business travel, the death of a IOCCC judge mother, etc. that
-impacted our planned schedule for building the IOCCC winner tarball.
+impacted our planned schedule for building the tarball of this year’s
+winning entries.
During some of these forced delays, we took the time to better
-automate some of the tools needed to package the source for the winners
-to review and to post the edited winners to the web site. It is our
-intent that these changes made during those delays will make releasing
-future IOCCC winners a faster procedure.
+automate some of the tools needed to package the source for the winning
+entries to review and to post the edited entries to the web site. It is
+our intent that these changes made during those delays will make
+releasing future winning IOCCC entries a faster procedure.
p.s. The final advice given to Landon by his mom: “Have fun.” We
recommend following this advice were possible.
Final Comments
@@ -188,21 +194,20 @@ please send us the fix (patch file or the entire changed file).
For the latest information on how to contact the IOCCC Judges please
visit
+href="../contact.html">send us a note about your use.
diff --git a/2014/maffiodo1/.entry.json b/2014/maffiodo1/.entry.json
index 75d02c583..7b1c405bb 100644
--- a/2014/maffiodo1/.entry.json
+++ b/2014/maffiodo1/.entry.json
@@ -99,7 +99,7 @@
},
{
"file_path" : "2014_maffiodo1.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2014/maffiodo1/.gitignore b/2014/maffiodo1/.gitignore
index d3e6eea5d..865dae077 100644
--- a/2014/maffiodo1/.gitignore
+++ b/2014/maffiodo1/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2014/maffiodo1/Makefile b/2014/maffiodo1/Makefile
index e33a0e295..f2e0c67ad 100644
--- a/2014/maffiodo1/Makefile
+++ b/2014/maffiodo1/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2014/maffiodo1/README.md b/2014/maffiodo1/README.md
index 97c435428..b0fe90b5f 100644
--- a/2014/maffiodo1/README.md
+++ b/2014/maffiodo1/README.md
@@ -1,6 +1,6 @@
## To build:
-This entry requires SDL to be installed. See [FAQ 3.8](/faq.md#faq3_8) if you
+This entry requires SDL to be installed. See [FAQ 3.8](../../faq.html#SDL) if you
don't know how to do this for your system.
@@ -17,7 +17,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2014 maffiodo1 in bugs.md](/bugs.md#2014-maffiodo1).
+For more detailed information see [2014 maffiodo1 bugs](../../bugs.html#2014_maffiodo1).
## To use:
diff --git a/2014/maffiodo1/index.html b/2014/maffiodo1/index.html
index dec4722ba..cf218e88c 100644
--- a/2014/maffiodo1/index.html
+++ b/2014/maffiodo1/index.html
@@ -45,6 +45,8 @@
← endoh2↑ 2014 ↑maffiodo2 →
+ C code
+ MakefileInventory
diff --git a/2014/maffiodo2/.entry.json b/2014/maffiodo2/.entry.json
index 26b2cacec..ad4773511 100644
--- a/2014/maffiodo2/.entry.json
+++ b/2014/maffiodo2/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "2014_maffiodo2.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2014/maffiodo2/.gitignore b/2014/maffiodo2/.gitignore
index d3e6eea5d..865dae077 100644
--- a/2014/maffiodo2/.gitignore
+++ b/2014/maffiodo2/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2014/maffiodo2/Makefile b/2014/maffiodo2/Makefile
index 3223ca5db..f478c34db 100644
--- a/2014/maffiodo2/Makefile
+++ b/2014/maffiodo2/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2014/maffiodo2/README.md b/2014/maffiodo2/README.md
index 76ee43bf6..a26973730 100644
--- a/2014/maffiodo2/README.md
+++ b/2014/maffiodo2/README.md
@@ -16,7 +16,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2014 maffiodo2 in bugs.md](/bugs.md#2014-maffiodo2).
+For more detailed information see [2014 maffiodo2 bugs](../../bugs.html#2014_maffiodo2).
## To use:
@@ -56,7 +56,7 @@ cat image.rgb | ./prog.alt
## Judges' remarks:
On the face of it :-) given what this program does one might wonder what makes
-this winner special. But when you realize the source is small enough for posting
+this winning entry special. But when you realize the source is small enough for posting
to social media that has a small size limit.
Who will be the first to tweet this source? How many re-tweets will such tweet
diff --git a/2014/maffiodo2/index.html b/2014/maffiodo2/index.html
index 53304177d..9fc75c194 100644
--- a/2014/maffiodo2/index.html
+++ b/2014/maffiodo2/index.html
@@ -45,6 +45,8 @@
← maffiodo1↑ 2014 ↑morgan →
+ C code
+ MakefileInventory
@@ -148,8 +151,9 @@ and so not as fun but it’s 121 bytes instead of 140.
cat image.rgb |./prog.alt
Judges’ remarks:
On the face of it :-) given what this program does one might wonder
-what makes this winner special. But when you realize the source is small
-enough for posting to social media that has a small size limit.
+what makes this winning entry special. But when you realize the source
+is small enough for posting to social media that has a small size
+limit.
Who will be the first to tweet this source? How many re-tweets will
such tweet get? And how many people will really understand the
tweet?
diff --git a/2014/morgan/.entry.json b/2014/morgan/.entry.json
index dca561d7f..db6b9f31c 100644
--- a/2014/morgan/.entry.json
+++ b/2014/morgan/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2014_morgan.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2014/morgan/.gitignore b/2014/morgan/.gitignore
index 3cea49b13..c0e22de34 100644
--- a/2014/morgan/.gitignore
+++ b/2014/morgan/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2014/morgan/Makefile b/2014/morgan/Makefile
index 87c21eae9..2d6323f1e 100644
--- a/2014/morgan/Makefile
+++ b/2014/morgan/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2014/morgan/index.html b/2014/morgan/index.html
index 923b1013e..02f1d052c 100644
--- a/2014/morgan/index.html
+++ b/2014/morgan/index.html
@@ -45,6 +45,8 @@
← maffiodo2↑ 2014 ↑sinon →
+ C code
+ MakefileInventory
+Location: US - United States of
+America (United States)
diff --git a/2014/vik/.entry.json b/2014/vik/.entry.json
index e1026e9b7..ef50e1428 100644
--- a/2014/vik/.entry.json
+++ b/2014/vik/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "2014_vik.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2014/vik/.gitignore b/2014/vik/.gitignore
index 6512b7b7c..3949fdc05 100644
--- a/2014/vik/.gitignore
+++ b/2014/vik/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
*.raw
audio_file.raw
diff --git a/2014/vik/Makefile b/2014/vik/Makefile
index 024eb12fd..830a2efbf 100644
--- a/2014/vik/Makefile
+++ b/2014/vik/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2014/vik/README.md b/2014/vik/README.md
index 9c87e15fe..3c7183000 100644
--- a/2014/vik/README.md
+++ b/2014/vik/README.md
@@ -17,7 +17,7 @@ The current status of this entry is:
STATUS: known bug - please help us fix
```
-For more detailed information see [2014 vik in bugs.md](/bugs.md#2014-vik).
+For more detailed information see [2014 vik bugs](../../bugs.html#2014_vik).
## To use:
diff --git a/2014/vik/index.html b/2014/vik/index.html
index cd29ad5ef..77201ea6b 100644
--- a/2014/vik/index.html
+++ b/2014/vik/index.html
@@ -45,6 +45,8 @@
← skeggs↑ 2014 ↑wiedijk →
+ C code
+ MakefileInventory
+Wiedijk Location: NL -
+Kingdom of the Netherlands (Netherlands)
diff --git a/2015/Makefile b/2015/Makefile
index 345765eb2..c19e02150 100644
--- a/2015/Makefile
+++ b/2015/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2015/README.md b/2015/README.md
index 6a656ba60..b27b86998 100644
--- a/2015/README.md
+++ b/2015/README.md
@@ -3,10 +3,13 @@
## Standard IOCCC stuff
-The IOCCC has a web site and now has a number of international mirrors.
-The primary site can be found at,
+View the `index.html` web page for the given winning entry for information on how
+compile the entry and how to run the winning program. Look at the winning
+source and try to figure how it does what it does! You may then wish to look at
+the Author's remarks for even more details.
-* [http://www.ioccc.org/](http://www.ioccc.org/)
+The IOCCC has a web site and now has a number of international mirrors.
+The primary site can be found at [www.ioccc.org](https://www.ioccc.org).
Use make to compile entries. It is possible that on non-Un\*x / non-Linux
systems the makefile needs to be changed. See the Makefile for details.
@@ -24,9 +27,9 @@ yours is lacking, you may need to compile using gcc instead of your
local compiler.
-## Remarks on some of the winners
+## Remarks on some of the winning entries
-We believe you will again be impressed with this year's winners.
+We believe you will again be impressed with this year's winning entries.
The fraction of worthy entries was higher than usual.
@@ -103,11 +106,11 @@ send us the fix (patch file or the entire changed file).
For the latest information on how to contact the IOCCC Judges please visit
-* [http://www.ioccc.org/contact.html](http://www.ioccc.org/contact.html)
+* [contact.html](../contact.html)
For news of the next contest watch:
-* [http://www.ioccc.org/](http://www.ioccc.org/)
+* [news.html](../news.html)
# Copyright and License
@@ -115,5 +118,5 @@ For news of the next contest watch:
Copyright (C) 2015,2024, Landon Curt Noll and Leonid A. Broukhis. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/2015/burton/.entry.json b/2015/burton/.entry.json
index 4bb12cd87..7a93848d7 100644
--- a/2015/burton/.entry.json
+++ b/2015/burton/.entry.json
@@ -123,7 +123,7 @@
},
{
"file_path" : "2015_burton.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2015/burton/.gitignore b/2015/burton/.gitignore
index 509c13467..43c5abb98 100644
--- a/2015/burton/.gitignore
+++ b/2015/burton/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
calc
calc.alt
diff --git a/2015/burton/Makefile b/2015/burton/Makefile
index 658001df9..1ad4e4857 100644
--- a/2015/burton/Makefile
+++ b/2015/burton/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2015/burton/README.md b/2015/burton/README.md
index c8e622491..80c10b10b 100644
--- a/2015/burton/README.md
+++ b/2015/burton/README.md
@@ -89,11 +89,11 @@ written on an `iDevice`), but sanity prevailed.
Printed in 8 pt Courier, it makes aesthetically pleasing 8.5 x 11 wall art.
-[1]: https://www.ioccc.org/2011/hou/hint.html "Hou Qiming"
+[1]: ../../2011/hou/hint.html "Hou Qiming"
### prog.c vs prog.alt.c
-[Dominik Muth](/authors.html#Dominik_Muth) observed a syntax error on `1+1`,
+[Dominik Muth](../../authors.html#Dominik_Muth) observed a syntax error on `1+1`,
`1-1`, `1|1`, and `1^1` when using an ARM based computer, although `1*1` and
others worked correctly. This occurs because some platforms by default treat
`char` as `unsigned char`. The original code has this weakness, which can be
@@ -229,7 +229,7 @@ PATH=. eprog < test.in | diff - test.out
### Spoilers:
-If you do not want to puzzle out how it works, see [spoilers.md](spoilers.md).
+If you do not want to puzzle out how it works, see [spoilers.html](spoilers.html).
## Copyright and CC BY-SA 4.0 License:
diff --git a/2015/burton/index.html b/2015/burton/index.html
index b4d35066b..09665cd35 100644
--- a/2015/burton/index.html
+++ b/2015/burton/index.html
@@ -45,6 +45,8 @@
first entry↑ 2015 ↑dogon →
+ C code
+ MakefileInventory
+Location: US - United States of
+America (United States)
@@ -165,14 +169,14 @@ included man page. ;-)
Notes
This program is named calc. Onomatopoeia of sorts, in
the visual realm. The formatting was easier: Form Follows Function
-(although Hou did this better). It was tempting to call it
-iCalc, with i for integer (and it was written on an
-iDevice), but sanity prevailed.
+(although Hou
+did this better). It was tempting to call it iCalc, with i
+for integer (and it was written on an iDevice), but sanity
+prevailed.
Printed in 8 pt Courier, it makes aesthetically pleasing 8.5 x 11
wall art.
Dominik Muth observed a
syntax error on 1+1, 1-1, 1|1,
and 1^1 when using an ARM based computer, although
1*1 and others worked correctly. This occurs because some
@@ -284,7 +288,7 @@ class="sourceCode sh">PATH=. eprog< test.in |diff- test.out
Spoilers:
If you do not want to puzzle out how it works, see spoilers.md.
+href="spoilers.html">spoilers.html.
Copyright and CC BY-SA 4.0
License:
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights
diff --git a/2015/burton/road.to.obscurity.html b/2015/burton/road.to.obscurity.html
index 27323a389..dd0239c19 100644
--- a/2015/burton/road.to.obscurity.html
+++ b/2015/burton/road.to.obscurity.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/2015/duble/.entry.json b/2015/duble/.entry.json
index 871a06f23..d8fb518c8 100644
--- a/2015/duble/.entry.json
+++ b/2015/duble/.entry.json
@@ -67,7 +67,7 @@
},
{
"file_path" : "2015_duble.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2015/duble/.gitignore b/2015/duble/.gitignore
index c218b1035..4448449c2 100644
--- a/2015/duble/.gitignore
+++ b/2015/duble/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2015/duble/Makefile b/2015/duble/Makefile
index c1e3961e8..b3dc0ab68 100644
--- a/2015/duble/Makefile
+++ b/2015/duble/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2015/duble/README.md b/2015/duble/README.md
index 5354012bb..3b7ce14d8 100644
--- a/2015/duble/README.md
+++ b/2015/duble/README.md
@@ -71,7 +71,7 @@ wondering if it was not the reason for its very erratic behaviour.
The file [prog.alt.c](prog.alt.c) is the one I submitted.
-[Gil Dogon](/authors.html#Gil_Dogon) noted a few unsafe statements (statements
+[Gil Dogon](../../authors.html#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).
diff --git a/2015/duble/index.html b/2015/duble/index.html
index efbf5bdbc..47664aac2 100644
--- a/2015/duble/index.html
+++ b/2015/duble/index.html
@@ -45,6 +45,8 @@
← dogon↑ 2015 ↑endoh1 →
+ C code
+ MakefileInventory
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.
+
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.
After this fix, in order to remain rule-2-compliant, a variable name
has also been shortened in this file.
How to build
diff --git a/2015/endoh1/.entry.json b/2015/endoh1/.entry.json
index 635cbc16f..b1a5763b8 100644
--- a/2015/endoh1/.entry.json
+++ b/2015/endoh1/.entry.json
@@ -60,7 +60,7 @@
},
{
"file_path" : "2015_endoh1.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2015/endoh1/.gitignore b/2015/endoh1/.gitignore
index 05e656e0c..76d517513 100644
--- a/2015/endoh1/.gitignore
+++ b/2015/endoh1/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
fitzhugh-nagumo-1
fitzhugh-nagumo-2
diff --git a/2015/endoh1/Makefile b/2015/endoh1/Makefile
index a7c85f79c..eeeaf4285 100644
--- a/2015/endoh1/Makefile
+++ b/2015/endoh1/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2015/endoh1/README.md b/2015/endoh1/README.md
index 5b046bba3..d2f633f4c 100644
--- a/2015/endoh1/README.md
+++ b/2015/endoh1/README.md
@@ -6,7 +6,7 @@ make
NOTE: this program requires the tool `tcpserver` to use. If you do not have this
program see [FAQ 3.14 - How do I compile and install tcpserver for entries that
-require it](/faq.md#tcpserver).
+require it](../../faq.html#tcpserver).
## To use:
@@ -56,8 +56,8 @@ cc -O3 -std=c99 \
Then, run it with the `tcpserver` command in the
[ucspi-tcp](http://cr.yp.to/ucspi-tcp.html) package, which was created by
-[Daniel J. Bernstein](/authors.html#Daniel_J._Bernstein), [IOCCC 1991 "Best of
-Show"](../../1991/brnstnd/brnstnd.c) ([README.md](../../1991/brnstnd/README.md)).
+[Daniel J. Bernstein](../../authors.html#Daniel_J_Bernstein)'s
+[1991/brndstd](../../1991/brnstnd/index.html) "Best of Show".
```sh
tcpserver -v 127.0.0.1 10333 ./prog ioccc.txt
diff --git a/2015/endoh1/index.html b/2015/endoh1/index.html
index d8f4bdd4b..ddfe87dab 100644
--- a/2015/endoh1/index.html
+++ b/2015/endoh1/index.html
@@ -45,6 +45,8 @@
← duble↑ 2015 ↑endoh2 →
+ C code
+ MakefileInventory
Finally, open http://127.0.0.1:10333/ in a modern
browser supporting HTML5. You can use the mouse cursor to place drops
diff --git a/2015/endoh2/.entry.json b/2015/endoh2/.entry.json
index 4d0794b56..1149c325e 100644
--- a/2015/endoh2/.entry.json
+++ b/2015/endoh2/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2015_endoh2.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2015/endoh2/.gitignore b/2015/endoh2/.gitignore
index d3e6eea5d..865dae077 100644
--- a/2015/endoh2/.gitignore
+++ b/2015/endoh2/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2015/endoh2/Makefile b/2015/endoh2/Makefile
index 0177adbec..4fb94a590 100644
--- a/2015/endoh2/Makefile
+++ b/2015/endoh2/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2015/endoh2/index.html b/2015/endoh2/index.html
index f9f9ec24b..45ec5f4f5 100644
--- a/2015/endoh2/index.html
+++ b/2015/endoh2/index.html
@@ -45,6 +45,8 @@
← endoh1↑ 2015 ↑endoh3 →
+ C code
+ MakefileInventory
@@ -69,6 +71,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
You can enjoy the legendary winner of the first IOCCC, again.
+
You can enjoy the legendary winning entry of the first IOCCC,
+again.
Internal
This program uses __attribute__((constructor)), which is
a GCC extension, to hijack the main() function call. And
diff --git a/2015/endoh4/.entry.json b/2015/endoh4/.entry.json
index 365d8034c..306b79670 100644
--- a/2015/endoh4/.entry.json
+++ b/2015/endoh4/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "2015_endoh4.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2015/endoh4/.gitignore b/2015/endoh4/.gitignore
index c218b1035..4448449c2 100644
--- a/2015/endoh4/.gitignore
+++ b/2015/endoh4/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2015/endoh4/Makefile b/2015/endoh4/Makefile
index 60c226ef9..3316cc692 100644
--- a/2015/endoh4/Makefile
+++ b/2015/endoh4/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2015/endoh4/README.md b/2015/endoh4/README.md
index 68f5b738e..776eedf9f 100644
--- a/2015/endoh4/README.md
+++ b/2015/endoh4/README.md
@@ -27,7 +27,7 @@ code](#alternate-code) below for details.
An alternate version of this entry, [prog.alt.c](prog.alt.c), is provided.
This alternate code does not contain improvements suggested by [Gil
-Dogon](/authors.html#Gil_Dogon); it is the author's original entry.
+Dogon](../../authors.html#Gil_Dogon); it is the author's original entry.
### Alternate build:
@@ -69,7 +69,7 @@ Inspired by [Animated Factorization
Diagrams](http://www.datapointed.net/visualizations/math/factorization/animated-diagrams/).
[prog.alt.c](prog.alt.c) is the original version that I submitted. [Gil
-Dogon](/authors.html#Gil_Dogon) kindly improved it during the review. Thank
+Dogon](../../authors.html#Gil_Dogon) kindly improved it during the review. Thank
you!
diff --git a/2015/endoh4/index.html b/2015/endoh4/index.html
index eaa969cce..507a6a0d9 100644
--- a/2015/endoh4/index.html
+++ b/2015/endoh4/index.html
@@ -45,6 +45,8 @@
← endoh3↑ 2015 ↑hou →
+ C code
+ MakefileInventory
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
+href="../../authors.html#Gil_Dogon">Gil Dogon; it is the author’s
original entry.
Twenty
Fourth International Obfuscated C Code Contest
Standard IOCCC stuff
+
View the index.html web page for the given winning entry
+for information on how compile the entry and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
+details.
The IOCCC has a web site and now has a number of international
-mirrors. The primary site can be found at,
+mirrors. The primary site can be found at www.ioccc.org.
Use make to compile entries. It is possible that on non-Un*x /
non-Linux systems the makefile needs to be changed. See the Makefile for
details.
@@ -133,9 +137,10 @@ require certain changes (add or remove a library, add or remove a
Some ANSI C compilers are not quite as good as they should be. If
yours is lacking, you may need to compile using gcc instead of your
local compiler.
-
Remarks on some of the
-winners
-
We believe you will again be impressed with this year’s winners.
+
Remarks on some of the
+winning entries
+
We believe you will again be impressed with this year’s winning
+entries.
The fraction of worthy entries was higher than usual.
We call to your attention, the hou entry, that performs the
MD5 cryptographic hash. Normally implemented with a set of integer and
@@ -196,21 +201,20 @@ please send us the fix (patch file or the entire changed file).
For the latest information on how to contact the IOCCC Judges please
visit
+Mills Location: US -
+United States of America (United States)
diff --git a/2015/mills2/.entry.json b/2015/mills2/.entry.json
index f88f5d7de..ca194c3e6 100644
--- a/2015/mills2/.entry.json
+++ b/2015/mills2/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "2015_mills2.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2015/mills2/.gitignore b/2015/mills2/.gitignore
index 952ef0f6e..e520ae32c 100644
--- a/2015/mills2/.gitignore
+++ b/2015/mills2/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2015/mills2/Makefile b/2015/mills2/Makefile
index 21938f79f..c721ae664 100644
--- a/2015/mills2/Makefile
+++ b/2015/mills2/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2015/mills2/README.md b/2015/mills2/README.md
index afe082d03..deeea5918 100644
--- a/2015/mills2/README.md
+++ b/2015/mills2/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2015 mills2 in bugs.md](/bugs.md#2015-mills2).
+For more detailed information see [2015 mills2 bugs](../../bugs.html#2015_mills2).
## To use:
@@ -33,7 +33,7 @@ For more detailed information see [2015 mills2 in bugs.md](/bugs.md#2015-mills2)
## Judges' remarks:
Without ASCII art, the source code of this entry would have been exactly 256
-bytes. Compared to [1990/jaw](http://ioccc.org/years.html#1990_jaw), it is very
+bytes. Compared to [1990/jaw](../../years.html#1990_jaw), it is very
impressive, even taking into account the missing `atob` functionality. Now we wish
for a `compress(1)`-like compressor using a similar idea.
diff --git a/2015/mills2/index.html b/2015/mills2/index.html
index bc8e5f0ff..22dbbefc8 100644
--- a/2015/mills2/index.html
+++ b/2015/mills2/index.html
@@ -45,6 +45,8 @@
← mills1↑ 2015 ↑muth →
+ C code
+ MakefileInventory
Without ASCII art, the source code of this entry would have been
exactly 256 bytes. Compared to 1990/jaw, it is very
-impressive, even taking into account the missing atob
-functionality. Now we wish for a compress(1)-like
-compressor using a similar idea.
+href="../../years.html#1990_jaw">1990/jaw, it is very impressive,
+even taking into account the missing atob functionality.
+Now we wish for a compress(1)-like compressor using a
+similar idea.
Why is the sad smiley on line 12 in that particular place?
c=0):( O
Author’s remarks:
diff --git a/2015/muth/.entry.json b/2015/muth/.entry.json
index 3b96b96a3..4a3e91745 100644
--- a/2015/muth/.entry.json
+++ b/2015/muth/.entry.json
@@ -163,7 +163,7 @@
},
{
"file_path" : "2015_muth.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2015/muth/.gitignore b/2015/muth/.gitignore
index d3e6eea5d..865dae077 100644
--- a/2015/muth/.gitignore
+++ b/2015/muth/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2015/muth/Makefile b/2015/muth/Makefile
index d5c1f0871..dbc712f55 100644
--- a/2015/muth/Makefile
+++ b/2015/muth/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2015/muth/index.html b/2015/muth/index.html
index cc5deb8ae..cd47a6dff 100644
--- a/2015/muth/index.html
+++ b/2015/muth/index.html
@@ -45,6 +45,8 @@
← mills2↑ 2015 ↑schweikhardt →
+ C code
+ MakefileInventory
+Location: US - United States of
+America (United States)
diff --git a/2018/Makefile b/2018/Makefile
index 3e1100d76..0988962eb 100644
--- a/2018/Makefile
+++ b/2018/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2018/README.md b/2018/README.md
index 59ab3f289..c48c54f8f 100644
--- a/2018/README.md
+++ b/2018/README.md
@@ -3,9 +3,12 @@
## Standard IOCCC stuff
-The primary IOCCC web site can be found at,
+View the `index.html` web page for the given winning entry for information on how
+compile the entry and how to run the winning program. Look at the winning
+source and try to figure how it does what it does! You may then wish to look at
+the Author's remarks for even more details.
->
+The primary site can be found at [www.ioccc.org](https://www.ioccc.org).
Use `make` to compile entries. It is possible that on non-Unix / non-Linux
systems the Makefile needs to be changed. See the Makefile for details.
@@ -23,30 +26,31 @@ lacking, you may need to compile using clang or gcc instead of your local
compiler.
-## Remarks on some of the winners
+## Remarks on some of the winning entries
-We believe you will again be impressed with this year's winners.
+We believe you will again be impressed with this year's winning entries.
-The "Best of show" (mills) is an amazing tribute to winners
+The "Best of show" (mills) is an amazing tribute to entrues
from 1984 and 2015.
-Take a close look at the "Most likely to top the charts" (hou) winner.
+Take a close look at the "Most likely to top the charts" [2018/hou](hou/index.html)
Observe that while it contains no variables and no operators, it
remains functional in what it does.
The "Best one-liner" (burton1), at 109 characters, is a short and sweet
-implementation of a classic utility and a nod to a winner from 1986.
+implementation of a classic utility and a nod to a winning entry from 1986.
Sometimes it takes 20 ox years to do things the true IOCCC way.
The color of the remarks text this year was inspired by one of the stars
-of the "Most stellar" winner (poikola).
+of the "Most stellar" [2018/poikola](poikola/index.html).
The "Best use of python" (endoh2) is a not what you might think it is.
It is something completely different.
The "Most likely to be awarded" (ciura) has an amazing vocabulary!
-There are also nods to winners of the years 2000 (bellard), 1989 (yang), ...
+There are also nods to entries of the years [2000/bellard](2000/bellard/index.htmk),
+[1989/yang](1989/yang/index.html), ...
...We'll stop spouting spoilers now. Have fun exploring all the entries!
@@ -87,9 +91,9 @@ the idea was limited in scope.
## Final Comments
-**IMPORTANT NOTE**: See [contact.html](/contact.html) for up to date contact details
+**IMPORTANT NOTE**: See [contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -97,5 +101,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (C) 2018,2023, Landon Curt Noll and Leonid A. Broukhis. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/2018/algmyr/.entry.json b/2018/algmyr/.entry.json
index c0d34cec6..5f4459080 100644
--- a/2018/algmyr/.entry.json
+++ b/2018/algmyr/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "2018_algmyr.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2018/algmyr/.gitignore b/2018/algmyr/.gitignore
index 08c852760..285117050 100644
--- a/2018/algmyr/.gitignore
+++ b/2018/algmyr/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
*.wav
indent
diff --git a/2018/algmyr/Makefile b/2018/algmyr/Makefile
index 06283ce65..30a87dac9 100644
--- a/2018/algmyr/Makefile
+++ b/2018/algmyr/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2018/algmyr/README.md b/2018/algmyr/README.md
index f07a1b6a9..44abe2138 100644
--- a/2018/algmyr/README.md
+++ b/2018/algmyr/README.md
@@ -6,7 +6,7 @@ make
To use this entry requires, in some invocations, a sound processing program.
This can be ALSA or SoX but we recommend the latter. See [FAQ 3.10 - How do I
-compile and use an IOCCC winner that requires sound?](/faq.md#sox).
+compile and use an IOCCC entry that requires sound?](../../faq.html#sox).
### Bugs and (Mis)features:
@@ -17,7 +17,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2018 algmyr in bugs.md](/bugs.md#2018-algmyr).
+For more detailed information see [2018 algmyr bugs](../../bugs.html#2018_algmyr).
## To use:
diff --git a/2018/algmyr/index.html b/2018/algmyr/index.html
index a7745059a..ac458a07c 100644
--- a/2018/algmyr/index.html
+++ b/2018/algmyr/index.html
@@ -45,6 +45,8 @@
first entry↑ 2018 ↑anderson →
+ C code
+ MakefileInventory
+Anderson Location: US -
+United States of America (United States)
diff --git a/2018/bellard/.entry.json b/2018/bellard/.entry.json
index db85aa68c..130e3b2e6 100644
--- a/2018/bellard/.entry.json
+++ b/2018/bellard/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "2018_bellard.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2018/bellard/.gitignore b/2018/bellard/.gitignore
index 38cd645c3..fc9571a5c 100644
--- a/2018/bellard/.gitignore
+++ b/2018/bellard/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
fruits.ppm
indent
diff --git a/2018/bellard/Makefile b/2018/bellard/Makefile
index 977aff34e..232336cb3 100644
--- a/2018/bellard/Makefile
+++ b/2018/bellard/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2018/bellard/README.md b/2018/bellard/README.md
index cf6dccd09..31e1ebed9 100644
--- a/2018/bellard/README.md
+++ b/2018/bellard/README.md
@@ -28,9 +28,9 @@ graphics viewer of choice. After that try:
NOTE: the script uses the tools `pngtopam(1)` (or `pngtopnm(1)` for older
versions) and `pnmscale` come from the netpbm project and `cjpeg(1)` comes from
`libjpeg-turbo`. If you don't have these tools already see [FAQ 3.15 - How do I
-compile and install netpbm for entries that require it?](/faq.md#netpbm) and
+compile and install netpbm for entries that require it?](../../faq.html#netpbm) and
[FAQ 3.16 - How do I compile and install libjpeg-turbo for entries that require
-it?](/faq.md#libjpeg).
+it?](../../faq.html#libjpeg).
NOTE: [Lenna.png](Lenna.png) is from
.
diff --git a/2018/bellard/index.html b/2018/bellard/index.html
index 888c698ca..97393ea07 100644
--- a/2018/bellard/index.html
+++ b/2018/bellard/index.html
@@ -45,6 +45,8 @@
← anderson↑ 2018 ↑burton1 →
+ C code
+ MakefileInventory
diff --git a/2018/burton1/.entry.json b/2018/burton1/.entry.json
index e2fbb19e3..410241243 100644
--- a/2018/burton1/.entry.json
+++ b/2018/burton1/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "2018_burton1.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2018/burton1/.gitignore b/2018/burton1/.gitignore
index 1f4311e49..a483d5263 100644
--- a/2018/burton1/.gitignore
+++ b/2018/burton1/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2018/burton1/Makefile b/2018/burton1/Makefile
index e68c999a3..46ffaa5fb 100644
--- a/2018/burton1/Makefile
+++ b/2018/burton1/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2018/burton1/README.md b/2018/burton1/README.md
index f67590496..2b7a45556 100644
--- a/2018/burton1/README.md
+++ b/2018/burton1/README.md
@@ -60,7 +60,7 @@ This code has been compiled and tested on:
* X86-Linux, gcc 4.1.2 and 4.8.4, -O0 and -O3
* ARM-QEMU, gcc 4.8.4, -O0 and -O3
* X86-FreeBSD 10.3, clang 3.4.1, -O0 and -O3
-* TCC 0.9.26 (x86-64) (used as a proxy for [2001/bellard](/years.html#2001_bellard))
+* TCC 0.9.26 (x86-64) (used as a proxy for [2001/bellard](../../years.html#2001_bellard))
* UNIX V7 pcc (Johnson's C compiler) on a [simulated PDP-11/45](http://simh.trailing-edge.com/)
(see spoiler for further detail)
@@ -167,7 +167,7 @@ $
```
An obfuscated hex dump has been done before:
-[1986/bright](/1986/bright/README.md) is similar in function,
+[1986/bright](../../1986/bright/index.html) is similar in function,
but it uses more characters in just setting up its obfuscation than this entire
solution!
@@ -200,8 +200,7 @@ bytes following `O`, addressed via `o`, and this code only needs 17. This is
_undefined_ behavior, but as shown, it is widely available.
The [1979 Seventh Edition UNIX][1] (v7) system pre-dates the IOCCC by several years,
-and the source code to `sh`(1) was a [significant inspiration for this
-contest](/all/README.md).
+and the source code to `sh`(1) was a [significant inspiration for this contest](../../faq.html#ioccc_start).
There are two C compilers present: `cc` written by Dennis Ritchie, and `pcc` written by Steven Johnson.
The nested conditional expressions in 116 and smaller are too complex for `cc` ("Illegal conditional")
but `pcc` handles them correctly, and neither compiler accepts `char o[]` or
diff --git a/2018/burton1/index.html b/2018/burton1/index.html
index f1a2af27b..1c54389d4 100644
--- a/2018/burton1/index.html
+++ b/2018/burton1/index.html
@@ -45,6 +45,8 @@
← bellard↑ 2018 ↑burton2 →
+ C code
+ MakefileInventory
UNIX V7 pcc (Johnson’s C compiler) on a simulated PDP-11/45 (see
spoiler for further detail)
@@ -243,9 +247,9 @@ remove characters by changing code than by filtering:
$ verify 108$
An obfuscated hex dump has been done before: 1986/bright is similar in function,
-but it uses more characters in just setting up its obfuscation than this
-entire solution!
+href="../../1986/bright/index.html">1986/bright is similar in
+function, but it uses more characters in just setting up its obfuscation
+than this entire solution!
BIGGER SPOILER:
If you are unhappy with the way DEL (character 127) is handled,
replace the cryptic expression 4<(4^l>>5)?l:46
@@ -276,10 +280,10 @@ available.
The 1979 Seventh
Edition UNIX (v7) system pre-dates the IOCCC by several years, and
the source code to sh(1) was a significant inspiration for this contest.
-There are two C compilers present: cc written by Dennis
-Ritchie, and pcc written by Steven Johnson. The nested
-conditional expressions in 116 and smaller are too complex for
+href="../../faq.html#ioccc_start">significant inspiration for this
+contest. There are two C compilers present: cc written
+by Dennis Ritchie, and pcc written by Steven Johnson. The
+nested conditional expressions in 116 and smaller are too complex for
cc (“Illegal conditional”) but pcc handles
them correctly, and neither compiler accepts char o[] or
char o[0] and neither put the bytes in a zero-filled page
diff --git a/2018/burton2/.entry.json b/2018/burton2/.entry.json
index 676788fdb..a62b87b82 100644
--- a/2018/burton2/.entry.json
+++ b/2018/burton2/.entry.json
@@ -433,14 +433,6 @@
"display_via_github" : true,
"entry_text" : "summarize the results of spotcheck"
},
- {
- "file_path" : "2018_burton2.tar.bz2",
- "inventory_order" : 300,
- "OK_to_edit" : false,
- "display_as" : "tbz2",
- "display_via_github" : false,
- "entry_text" : "download entry source"
- },
{
"file_path" : "src.doc.txt",
"inventory_order" : 300,
@@ -449,6 +441,14 @@
"display_via_github" : true,
"entry_text" : "SPOILER WARNING hints about the source"
},
+ {
+ "file_path" : "2018_burton2.tar.bz2",
+ "inventory_order" : 100000,
+ "OK_to_edit" : false,
+ "display_as" : "tbz2",
+ "display_via_github" : false,
+ "entry_text" : "download entry source"
+ },
{
"file_path" : "index.html",
"inventory_order" : 2000000000,
diff --git a/2018/burton2/.gitignore b/2018/burton2/.gitignore
index 61d61d8a0..379fc1f6a 100644
--- a/2018/burton2/.gitignore
+++ b/2018/burton2/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
fixed_iocccsize
indent
diff --git a/2018/burton2/Makefile b/2018/burton2/Makefile
index 03e71418f..d1e214a1f 100644
--- a/2018/burton2/Makefile
+++ b/2018/burton2/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2018/burton2/README.md b/2018/burton2/README.md
index 2e35dbf34..cc5b84550 100644
--- a/2018/burton2/README.md
+++ b/2018/burton2/README.md
@@ -28,7 +28,7 @@ man ./tac.1
## Judges' remarks:
They say size isn't everything, and in the case of IOCCC
-[iocccsize.c](https://www.ioccc.org/2018/iocccsize.c) that is saying something!
+[iocccsize.c](../../2018/iocccsize.c) that is saying something!
What is this program weighing and how much does it weigh?
@@ -121,7 +121,7 @@ Fixing this properly hampers backwards compatibility in counting. This requires
eliding comments during the translation phases (ISO 5.1.1.2, phase 3), and yet still
counting words correctly absent `-k`.
-[1]: /2014/birken/README.md "Best use of port 1701"
+[1]: ../../2014/birken/index.html "Best use of port 1701"
### Backwards Compatibility:
@@ -133,7 +133,7 @@ find ~/src/obc -type f -name \*.c | wc
```
The discrepancies found are documented and explained in the file
-[discrepancies.md](discrepancies.md).
+[discrepancies.html](discrepancies.html).
```sh
find ~/src/obc -type f -a -name "*.c" | xargs ./spotcheck.sh ./prog | ./spotdiff.sh |
@@ -143,7 +143,7 @@ find ~/src/obc -type f -a -name "*.c" | xargs ./spotcheck.sh ./prog | ./spotdiff
In summary, there are only 6 unique entries out of 366 that have any variation
in Rule 2 counts; in all cases, the differences are due to bugs within
`iocccsize`, described in detail in the file
-[discrepancies.md](discrepancies.md). There are only 40
+[discrepancies.html](discrepancies.html). There are only 40
files (40/366, ~11%, including originals and variations) that differ at all, 31
only in word count; most word count differences appear related to comment block
detection, weighted more towards recent entries (2011 and onward = 20/40 ~50%).
@@ -164,10 +164,10 @@ determine which tool was correct when there were differences.
> 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](/2018/iocccsize.c)) source code;
+([iocccsize.c](../../2018/iocccsize.c)) source code;
`tac` gets the correct answer. This is due to the aforementioned bugs within `iocccsize`,
proved by fixing
-[iocccsize.c](/2018/iocccsize.c) with the included patch, so `iocccsize` reports
+[iocccsize.c](../../2018/iocccsize.c) with the included patch, so `iocccsize` reports
the correct answer for itself.
### But wait... There's More!
@@ -292,7 +292,7 @@ sed 's/^# .*$//' | sed 's/^#//' |
* 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](/2018/iocccsize.c) mocks, this code flaunts:
+* Where [iocccsize.c](../../2018/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....
@@ -337,7 +337,7 @@ The following reserved word files are included:
* [ioccc.kw.freq](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](https://www.ioccc.org/2018/iocccsize.c),
+NB: The keyword file used in this code is derived from the list in [iocccsize.c](../../2018/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`, ...):
@@ -389,7 +389,7 @@ cc -ansi -Wall -trigraphs -Wno-trigraphs -Wno-parentheses -Wno-empty-body -Wno-c
### Coda:
-[Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) was relentless in his pursuit of bugs.
+[Cody Boone Ferguson](../../authors.html#Cody_Boone_Ferguson) was relentless in his pursuit of bugs.
Thanks to his reports, the version of [unob.sh](unob.sh) is stronger,
`tac` groks digraphs, [tokenfix.sh](tokenfix.sh) corrects for missing digraphs
in [prog.c](prog.c), and the program [manpage.sh](manpage.sh) was added to the corpus.
diff --git a/2018/burton2/discrepancies.html b/2018/burton2/discrepancies.html
index 5885d606e..6a091b93b 100644
--- a/2018/burton2/discrepancies.html
+++ b/2018/burton2/discrepancies.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
They say size isn’t everything, and in the case of IOCCC iocccsize.c that is
-saying something! What is this program weighing and how much does it
-weigh?
+href="../../2018/iocccsize.c">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:
@@ -219,8 +222,8 @@ double quote in iocccsize)
#ifdef is allowed?)
In summary, there are only 6 unique entries out of 366 that have any
variation in Rule 2 counts; in all cases, the differences are due to
bugs within iocccsize, described in detail in the file discrepancies.md. There are only 40 files
-(40/366, ~11%, including originals and variations) that differ at all,
-31 only in word count; most word count differences appear related to
-comment block detection, weighted more towards recent entries (2011 and
-onward = 20/40 ~50%).
+href="discrepancies.html">discrepancies.html. There are only 40
+files (40/366, ~11%, including originals and variations) that differ at
+all, 31 only in word count; most word count differences appear related
+to comment block detection, weighted more towards recent entries (2011
+and onward = 20/40 ~50%).
This (minor) variation in word count values has not been addressed
since it is not a qualifying metric, nor is it very useful in a
programming context: whitespace surrounds English words, not necessarily
@@ -269,11 +272,11 @@ entry.
NB: iocccsize gets a different answer from
tac on its own (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 the correct answer for itself.
+href="../../2018/iocccsize.c">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 the correct answer for itself.
But wait… There’s More!
There is no limit on line length, file length, comment length, or
identifier length.
@@ -388,9 +391,9 @@ 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: “no matter how well you may think you understand this
-code, you don’t, so don’t mess with it. :-)”
+
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
@@ -442,12 +445,11 @@ class="uri">http://docs.oracle.com/javase/specs/index.html
sorted on frequency of occurrence in IOCCC entries
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, …):
+href="../../2018/iocccsize.c">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, …):
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.
+
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.man) into
real man pages. It works for C and C-like languages, command lines, and
@@ -690,11 +692,11 @@ href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/v7un
diff --git a/2018/ferguson/.entry.json b/2018/ferguson/.entry.json
index 1091a74da..360e1e25b 100644
--- a/2018/ferguson/.entry.json
+++ b/2018/ferguson/.entry.json
@@ -131,7 +131,7 @@
},
{
"file_path" : "2018_ferguson.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2018/ferguson/.gitignore b/2018/ferguson/.gitignore
index fd28ab7a3..0421d538e 100644
--- a/2018/ferguson/.gitignore
+++ b/2018/ferguson/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2018/ferguson/Makefile b/2018/ferguson/Makefile
index 0b18f5dae..81855e713 100644
--- a/2018/ferguson/Makefile
+++ b/2018/ferguson/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2018/ferguson/README.md b/2018/ferguson/README.md
index aa1f73c44..4a8f21ca5 100644
--- a/2018/ferguson/README.md
+++ b/2018/ferguson/README.md
@@ -103,7 +103,7 @@ evolutionary relatives of the primate order in which us Homo sapiens hang
from the phylogenetic tree of life.
If you wish your computer to maintain one branch in the Cretaceous C code era,
-while using more Cenozoic minded code migration, read rpm.md.
+while using more Cenozoic minded code migration, read [rpm.html](rpm.html).
If you find yourself in an evolutionary dead end, try:
@@ -178,7 +178,7 @@ but it must be >= the default 38), the number of maximum attempts before giving
up and the number of offspring, respectively. I
also give [example compiler invocations](#compiling), [portability
notes](#portability), an [more portability notes](#bugs) and a [note on
-rpm.md](#rpm).
+rpm.html](rpm.html).
On the subject of `S` and `N`: As the judges' suggested runs imply you
can change the target string at runtime; `make test` runs a script
@@ -196,7 +196,7 @@ dedications and thanks. Here too I include a link to a website which will be
dedicated to this entry beyond what will be published on the IOCCC website.
[FILES]: FILES
-[rpm.md]: rpm.md
+[rpm.html]: rpm.html
## **1. What it is**
@@ -337,7 +337,7 @@ assumption that **the user could in fact be a monkey called Eric** *although it
isn't insolent enough to say the user is a monkey for certain!*
[genetic algorithm]: https://web.archive.org/web/20180308131613/http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol1/hmw/article1.html
-[2018 guidelines]: http://ioccc.org/2018/guidelines.txt
+[2018 guidelines]: ../../2018/guidelines.txt
## **3. Hints**
@@ -1097,10 +1097,10 @@ however leaving it as it is because this is what won.
Skip to [Final thoughts](#thoughts).
I have included a RPM spec file for those with a Red Hat based Linux
-distribution; see [rpm.md][] for details (including why I implemented
+distribution; see [rpm.html](rpm.html) for details (including why I implemented
this) if for some (strange or maybe even mad) reason you're interested.
-[rpm.md]: rpm.md
+[rpm.html]: rpm.html
## **6. Final thoughts**
@@ -1285,8 +1285,8 @@ Finally I would like to thank my mother for being the best mum anyone could ask
for, who's always been here for me and whom I also inherit the keen analytical
mind from. I love you all!
-I want to also thank [Dave Burton](/winners#Dave_Burton) for acknowledging me in
-his [README.md]((../burton2/README.md) for his [2018/burton2](../burton2/prog.c)
+I want to also thank [Dave Burton](../../authors#Dave_Burton) for acknowledging me in
+his [Dave Burton]((../../authors.html#Dave_Burton) for his [2018/burton2](../burton2/index.html)
entry for as he put it 'being relentless with pursuit of bugs'. To think that it
was circumstantial to my entry too makes it all the more unlikely but that
doesn't take away the significance of it; for I am a very symbolic person and
diff --git a/2018/ferguson/index.html b/2018/ferguson/index.html
index d5b1655dd..0dcd33cd7 100644
--- a/2018/ferguson/index.html
+++ b/2018/ferguson/index.html
@@ -45,6 +45,8 @@
← endoh2↑ 2018 ↑giles →
+ C code
+ MakefileInventory
+Ferguson Location: US -
+United States of America (United States)
@@ -194,8 +197,8 @@ thought experiment formulated by Richard Dawkins: but without the need
for feeding too many evolutionary relatives of the primate order in
which us Homo sapiens hang from the phylogenetic tree of life.
If you wish your computer to maintain one branch in the Cretaceous C
-code era, while using more Cenozoic minded code migration, read
-rpm.md.
+code era, while using more Cenozoic minded code migration, read rpm.html.
If you find yourself in an evolutionary dead end, try:
On the subject of S and N: As the judges’
suggested runs imply you can change the target string at runtime;
make test runs a script test.sh which reads
@@ -376,11 +379,11 @@ instead the outer loop will end after printing:
doesn’t exist. Bye.
Why ‘Eric’? Because the judges stated in the 2018 guidelines that
-when there is a user input error the program should insult the pet fish
-Eric even if such a fish (no, weasels do not equate monkeys to fish but
-see below) doesn’t exist. The second to last example limitation example
-note (it’s improved in the final but this is relevant) they give is:
+href="../../2018/guidelines.txt">2018 guidelines that when there is
+a user input error the program should insult the pet fish Eric even if
+such a fish (no, weasels do not equate monkeys to fish but see below)
+doesn’t exist. The second to last example limitation example note (it’s
+improved in the final but this is relevant) they give is:
The judges might not have a pet fish named Eric, so might want to
state:
I have included a RPM spec file for those with a Red Hat based Linux
-distribution; see rpm.md for details (including why
-I implemented this) if for some (strange or maybe even mad) reason
+distribution; see rpm.html for details (including
+why I implemented this) if for some (strange or maybe even mad) reason
you’re interested.
@@ -1247,9 +1250,10 @@ such a wonderfully beautiful person and friend - that truly is what
Finally I would like to thank my mother for being the best mum anyone
could ask for, who’s always been here for me and whom I also inherit the
keen analytical mind from. I love you all!
-
I want to also thank Dave Burton
-for acknowledging me in his [README.md]((../burton2/README.md) for his
-2018/burton2 entry for as he put it
+
I want to also thank Dave
+Burton for acknowledging me in his [Dave
+Burton]((../../authors.html#Dave_Burton) for his 2018/burton2 entry for as he put it
‘being relentless with pursuit of bugs’. To think that it was
circumstantial to my entry too makes it all the more unlikely but that
doesn’t take away the significance of it; for I am a very symbolic
diff --git a/2018/ferguson/rpm.html b/2018/ferguson/rpm.html
index e15286ba5..f7d2933bc 100644
--- a/2018/ferguson/rpm.html
+++ b/2018/ferguson/rpm.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/2018/giles/.entry.json b/2018/giles/.entry.json
index e5c151564..b41a2d200 100644
--- a/2018/giles/.entry.json
+++ b/2018/giles/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "2018_giles.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2018/giles/.gitignore b/2018/giles/.gitignore
index d3e6eea5d..865dae077 100644
--- a/2018/giles/.gitignore
+++ b/2018/giles/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2018/giles/Makefile b/2018/giles/Makefile
index 654c88eb0..687d7d6a2 100644
--- a/2018/giles/Makefile
+++ b/2018/giles/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2018/giles/README.md b/2018/giles/README.md
index 2558a68c6..af26c776b 100644
--- a/2018/giles/README.md
+++ b/2018/giles/README.md
@@ -1,7 +1,7 @@
## To build:
This entry requires SDL2 to be installed. See [FAQ 3.8: How do I compile an
-IOCCC winner that requires SDL1 or SDL2?](/faq.md#SDL) if you don't have it
+IOCCC entry that requires SDL1 or SDL2?](../../faq.html#SDL) if you don't have it
installed and don't know how to do so.
```sh
diff --git a/2018/giles/index.html b/2018/giles/index.html
index 5b0ed3b6d..a0d5a0ffd 100644
--- a/2018/giles/index.html
+++ b/2018/giles/index.html
@@ -45,6 +45,8 @@
← ferguson↑ 2018 ↑hou →
+ C code
+ MakefileInventory
View the index.html web page for the given winning entry
+for information on how compile the entry and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
+details.
Use make to compile entries. It is possible that on
non-Unix / non-Linux systems the Makefile needs to be changed. See the
Makefile for details.
@@ -133,26 +136,29 @@ require certain changes (add or remove a library, add or remove a
Some C compilers are not quite as good as they should be. If yours is
lacking, you may need to compile using clang or gcc instead of your
local compiler.
-
Remarks on some of the
-winners
-
We believe you will again be impressed with this year’s winners.
-
The “Best of show” (mills) is an amazing tribute to winners from 1984
+
Remarks on some of the
+winning entries
+
We believe you will again be impressed with this year’s winning
+entries.
+
The “Best of show” (mills) is an amazing tribute to entrues from 1984
and 2015.
-
Take a close look at the “Most likely to top the charts” (hou)
-winner. Observe that while it contains no variables and no operators, it
-remains functional in what it does.
+
Take a close look at the “Most likely to top the charts” 2018/hou Observe that while it contains no
+variables and no operators, it remains functional in what it does.
The “Best one-liner” (burton1), at 109 characters, is a short and
-sweet implementation of a classic utility and a nod to a winner from
-1986. Sometimes it takes 20 ox years to do things the true IOCCC
+sweet implementation of a classic utility and a nod to a winning entry
+from 1986. Sometimes it takes 20 ox years to do things the true IOCCC
way.
The color of the remarks text this year was inspired by one of the
-stars of the “Most stellar” winner (poikola).
…We’ll stop spouting spoilers now. Have fun exploring all the
entries!
Remarks on some
@@ -183,18 +189,18 @@ them for the next IOCCC.
the idea was limited in scope.
Final Comments
IMPORTANT NOTE: See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
+href="../contact.html">send us a note about your use.
diff --git a/2018/mills/.entry.json b/2018/mills/.entry.json
index 79c4077b8..97d992209 100644
--- a/2018/mills/.entry.json
+++ b/2018/mills/.entry.json
@@ -35,7 +35,7 @@
},
{
"file_path" : "2018_mills.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2018/mills/.gitignore b/2018/mills/.gitignore
index 480230a8b..c5a8222d5 100644
--- a/2018/mills/.gitignore
+++ b/2018/mills/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
builddisk.bsd
builddisk.v6
diff --git a/2018/mills/Makefile b/2018/mills/Makefile
index 56aee90fe..fa9490288 100644
--- a/2018/mills/Makefile
+++ b/2018/mills/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2018/mills/README.md b/2018/mills/README.md
index 130f12af1..e948fcb32 100644
--- a/2018/mills/README.md
+++ b/2018/mills/README.md
@@ -26,7 +26,7 @@ STATUS: known bug - please help us fix
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2018 mills in bugs.md](/bugs.md#2018-mills).
+For more detailed information see [2018 mills bugs](../../bugs.html#2018_mills).
## To use:
@@ -64,7 +64,7 @@ cc mullender.c
a.out
```
-... and enjoy the classic [1984/mullender](/1984/mullender/README.md) entry as
+... and enjoy the classic [1984/mullender](../../1984/mullender/index.html) entry as
it would have been in 1984 with a VAX-11/PDP-11! Once it reaches the end of the
line, hit enter and see what happens again. When you're tired of it hit ctrl-c.
@@ -113,7 +113,7 @@ At the ":" prompt, type `rk(0,0)rkunix`.
NOTE: To quit prog, press Control-E.
This should now be very familiar and it is possible to compile and run one of
-the very first IOCCC entries [mullender.c](/1984/mullender/mullender.c), as
+the very first IOCCC entries [1984/mullender](../../1984/mullender/index.html), as
shown earlier.
But wait, there is even more! Try:
@@ -232,7 +232,7 @@ Filesystem Mounted on kbytes used free % used
# ./a.out
```
-The program you've just run was the [winner of the first IOCCC contest from
+The program you've just run was the [winning entry of the first IOCCC contest from
1984] [1] (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.
@@ -522,10 +522,10 @@ contest scheduling, I chose not to wait for the actual 50th anniversary).
I had thought of writing self-hosting compilers for a stripped-down version of
C, or maybe even a version of the B language... At the same time, I was
obsessed with the idea of allowing [mullender.c from
-1984](/1984/mullender/README.md) to run. Although
+1984](../../1984/mullender/index.html) 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](/1984/mullender/mullender.c) only in spirit.
+[mullender.c](../../1984/mullender/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
@@ -789,7 +789,7 @@ time...
-------------------------------------------------------------------------------
-[1]: https://www.ioccc.org/1984/mullender/mullender.c "mullender.c"
+[1]: ../../1984/mullender/mullender.c "mullender.c"
[2]: http://minnie.tuhs.org/cgi-bin/utree.pl?file=2.9BSD "2.9 BSD"
[3]: https://www.bell-labs.com/usr/dmr/www/kbman.html "B Language"
[4]: https://www.bell-labs.com/usr/dmr/www/hist.html "UNIX history"
diff --git a/2018/mills/index.html b/2018/mills/index.html
index 2b7546f22..1a8abfa49 100644
--- a/2018/mills/index.html
+++ b/2018/mills/index.html
@@ -45,6 +45,8 @@
← hou↑ 2018 ↑poikola →
+ C code
+ MakefileInventory
@@ -158,10 +161,10 @@ wait for it to initialise itself. Now try typing:
cc mullender.ca.out
… and enjoy the classic 1984/mullender entry as it would
-have been in 1984 with a VAX-11/PDP-11! Once it reaches the end of the
-line, hit enter and see what happens again. When you’re tired of it hit
-ctrl-c.
+href="../../1984/mullender/index.html">1984/mullender entry as it
+would have been in 1984 with a VAX-11/PDP-11! Once it reaches the end of
+the line, hit enter and see what happens again. When you’re tired of it
+hit ctrl-c.
But there is much more to this entry! See below.
NOTE: To quit, press Control-E.
Judges’ remarks:
@@ -191,7 +194,7 @@ class="sourceCode sh">mullender.c, as shown
+href="../../1984/mullender/index.html">1984/mullender, as shown
earlier.
@@ -567,10 +569,11 @@ nature of IOCCC contest scheduling, I chose not to wait for the actual
50th anniversary). I had thought of writing self-hosting compilers for a
stripped-down version of C, or maybe even a version of the B language…
At the same time, I was obsessed with the idea of allowing mullender.c from 1984 to run.
+href="../../1984/mullender/index.html">mullender.c from 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.
+href="../../1984/mullender/mullender.c">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] ← mills↑ 2018 ↑vokes →
+ C code
+ MakefileInventory
+href="../../faq.html#X11macos">FAQ 3.7: How do I compile and use on
+macOS, an IOCCC entry that requires X11?) or some other working
+terminal. Thanks to Dave
+Burton for spotting this problem.
The main reason for the header unistd.h is
getdelim(3) but once I included it I also abused other
functions and #defines. This header is mutually exclusive
diff --git a/2018/vokes/.entry.json b/2018/vokes/.entry.json
index 74b1a3325..db9282300 100644
--- a/2018/vokes/.entry.json
+++ b/2018/vokes/.entry.json
@@ -75,7 +75,7 @@
},
{
"file_path" : "2018_vokes.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2018/vokes/.gitignore b/2018/vokes/.gitignore
index d3e6eea5d..865dae077 100644
--- a/2018/vokes/.gitignore
+++ b/2018/vokes/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2018/vokes/Makefile b/2018/vokes/Makefile
index 7fec89c60..59c9e7ab0 100644
--- a/2018/vokes/Makefile
+++ b/2018/vokes/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2018/vokes/README.md b/2018/vokes/README.md
index fce5a2453..ba3a18e36 100644
--- a/2018/vokes/README.md
+++ b/2018/vokes/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2018 vokes in bugs.md](/bugs.md#2018-vokes).
+For more detailed information see [2018 vokes bugs](../../bugs.html#2018_vokes).
## To use:
diff --git a/2018/vokes/index.html b/2018/vokes/index.html
index 6da516993..54e00e0c7 100644
--- a/2018/vokes/index.html
+++ b/2018/vokes/index.html
@@ -45,6 +45,8 @@
← poikola↑ 2018 ↑yang →
+ C code
+ MakefileInventory
+Location: US - United States of
+America (United States)
diff --git a/2019/Makefile b/2019/Makefile
index 9405a968e..5ceb115cf 100644
--- a/2019/Makefile
+++ b/2019/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2019/README.md b/2019/README.md
index f38b376c6..db91c476e 100644
--- a/2019/README.md
+++ b/2019/README.md
@@ -3,14 +3,12 @@
## Standard IOCCC stuff
-Look at the README.md file for the given winning entry for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
-The primary IOCCC web site can be found at,
-
->
+The primary site can be found at [www.ioccc.org](https://www.ioccc.org).
Use `make` to compile entries. It is possible that on non-Unix / non-Linux
systems the Makefile needs to be changed. See the Makefile for details.
@@ -23,26 +21,26 @@ lacking, you may need to compile using clang or gcc instead of your local
compiler.
-## Remarks on some of the winners
+## Remarks on some of the winning entries
-This year's winners are impressive!
+This year's winning entries are impressive!
The "Most in need of debugging" (endoh) is very inventive in a way it produces its own text!
The "Most likely to be awarded" (ciura) has an amazing vocabulary!
-There are again nods to winners of the years:
+There are again nods to entries of the years:
- [1991/davidguy](http://ioccc.org/years.html#1991_davidguy)
- [2011/blakely](http://ioccc.org/years.html#2011_blakely)
+ [1991/davidguy](../years.html#1991_davidguy)
+ [2011/blakely](../years.html#2011_blakely)
These nods to not run afoul of the guideline:
We tend to dislike programs that:
...
- are rather similar to previous winners
+ are rather similar to previous entries
-because the entry (dogon) appropriately pays homage to past winners
+because the entry [2019/dogon](2019/dogon/index.html) appropriately pays homage to past entries
without blatantly reusing their code.
...We'll stop spouting spoilers now. Have fun exploring all the entries!
@@ -70,9 +68,9 @@ the idea was limited in scope.
## Final Comments
-**IMPORTANT NOTE**: See [contact.html](/contact.html) for up to date contact details
+**IMPORTANT NOTE**: See [contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -80,5 +78,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (c) 2019,2023, Landon Curt Noll and Leonid A. Broukhis. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/2019/adamovsky/.entry.json b/2019/adamovsky/.entry.json
index bd062f3ff..3f2422e72 100644
--- a/2019/adamovsky/.entry.json
+++ b/2019/adamovsky/.entry.json
@@ -91,7 +91,7 @@
},
{
"file_path" : "2019_adamovsky.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2019/adamovsky/.gitignore b/2019/adamovsky/.gitignore
index 2a8a1f254..465d0b04e 100644
--- a/2019/adamovsky/.gitignore
+++ b/2019/adamovsky/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
identify.unl
indent
diff --git a/2019/adamovsky/Makefile b/2019/adamovsky/Makefile
index b9ae7a3f2..6e44f723f 100644
--- a/2019/adamovsky/Makefile
+++ b/2019/adamovsky/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2019/adamovsky/README.md b/2019/adamovsky/README.md
index 536b56803..e60b9e64b 100644
--- a/2019/adamovsky/README.md
+++ b/2019/adamovsky/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2019 adamovsky in bugs.md](/bugs.md#2019-adamovsky).
+For more detailed information see [2019 adamovsky bugs](../../bugs.html#2019_adamovsky).
## To use:
@@ -73,7 +73,7 @@ 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 call `./iocccsize -i
first entry
↑ 2019 ↑burton →
+ C code
+ MakefileInventory
@@ -170,7 +173,7 @@ 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 call
./iocccsize -i <prog.c, using the 2019 version of iocccsize, iocccsize
+href="../../2019/iocccsize.c">2019 version of iocccsize, 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
@@ -354,9 +357,9 @@ functions and Apply functions in the same way to hide the meaning of
Identification spoiler:
The alternative build path make identify output
-commemorates a previous IOCCC winner which uses
-similar methods to mess with the size tool.
The crash is caused by a stack overflow. Conventional Unlabmda
diff --git a/2019/burton/.entry.json b/2019/burton/.entry.json
index 1d4a1f7af..078c85647 100644
--- a/2019/burton/.entry.json
+++ b/2019/burton/.entry.json
@@ -75,7 +75,7 @@
},
{
"file_path" : "2019_burton.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2019/burton/.gitignore b/2019/burton/.gitignore
index d9db8a839..d5de21429 100644
--- a/2019/burton/.gitignore
+++ b/2019/burton/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
correct
indent
diff --git a/2019/burton/Makefile b/2019/burton/Makefile
index 451450b53..c12d31ee5 100644
--- a/2019/burton/Makefile
+++ b/2019/burton/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2019/burton/README.md b/2019/burton/README.md
index cbb4f0934..f60c39fcc 100644
--- a/2019/burton/README.md
+++ b/2019/burton/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2019 burton in bugs.md](/bugs.md#2019-burton).
+For more detailed information see [2019 burton bugs](../../bugs.html#2019_burton).
## To use:
diff --git a/2019/burton/index.html b/2019/burton/index.html
index 45bdbfb18..6883f8f5c 100644
--- a/2019/burton/index.html
+++ b/2019/burton/index.html
@@ -45,6 +45,8 @@
← adamovsky↑ 2019 ↑ciura →
+ C code
+ MakefileInventory
./prog< file
diff --git a/2019/ciura/.entry.json b/2019/ciura/.entry.json
index 95dc0e09c..12a70489b 100644
--- a/2019/ciura/.entry.json
+++ b/2019/ciura/.entry.json
@@ -179,7 +179,7 @@
},
{
"file_path" : "2019_ciura.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2019/ciura/.gitignore b/2019/ciura/.gitignore
index c218b1035..4448449c2 100644
--- a/2019/ciura/.gitignore
+++ b/2019/ciura/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2019/ciura/Makefile b/2019/ciura/Makefile
index a0ddd1ec0..e6e0e37e2 100644
--- a/2019/ciura/Makefile
+++ b/2019/ciura/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2019/ciura/README.md b/2019/ciura/README.md
index 528e8d4d0..03fa098a0 100644
--- a/2019/ciura/README.md
+++ b/2019/ciura/README.md
@@ -17,7 +17,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2019 ciura in bugs.md](/bugs.md#2019-ciura).
+For more detailed information see [2019 ciura bugs](../../bugs.html#2019_ciura).
## To use:
@@ -160,7 +160,7 @@ among the programs that won IOCCC in the past), and _obscure bugs_ (see
the questions about Linux core dumps below).
To a casual eye, this entry may look similar to
-[2005/klausler](/2005/klausler/README.md).
+[2005/klausler](../../2005/klausler/index.html).
However, `prog` is internationalized and way faster. On my machine,
`./klausler abcdefghijklmnopqrstuvwxyz` printed only 3,965 perfect
pangrams until I killed it after 144 hours running, while the
diff --git a/2019/ciura/index.html b/2019/ciura/index.html
index ad1559ebf..f8904939b 100644
--- a/2019/ciura/index.html
+++ b/2019/ciura/index.html
@@ -45,6 +45,8 @@
← burton↑ 2019 ↑diels-grabsch1 →
+ C code
+ MakefileInventory
@@ -226,7 +230,7 @@ respectively. They require a UTF-8 locale.
past), and obscure bugs (see the questions about Linux core
dumps below).
To a casual eye, this entry may look similar to 2005/klausler. However,
+href="../../2005/klausler/index.html">2005/klausler. However,
prog is internationalized and way faster. On my machine,
./klausler abcdefghijklmnopqrstuvwxyz printed only 3,965
perfect pangrams until I killed it after 144 hours running, while the
diff --git a/2019/diels-grabsch1/.entry.json b/2019/diels-grabsch1/.entry.json
index afabeb2b7..281d6a059 100644
--- a/2019/diels-grabsch1/.entry.json
+++ b/2019/diels-grabsch1/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "2019_diels-grabsch1.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2019/diels-grabsch1/.gitignore b/2019/diels-grabsch1/.gitignore
index 64c40800b..cdab44047 100644
--- a/2019/diels-grabsch1/.gitignore
+++ b/2019/diels-grabsch1/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
dg1.Z
guidelines2.txt
diff --git a/2019/diels-grabsch1/Makefile b/2019/diels-grabsch1/Makefile
index bb76c1011..fedfeebd5 100644
--- a/2019/diels-grabsch1/Makefile
+++ b/2019/diels-grabsch1/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2019/diels-grabsch1/README.md b/2019/diels-grabsch1/README.md
index 1130172e4..bcad92f2c 100644
--- a/2019/diels-grabsch1/README.md
+++ b/2019/diels-grabsch1/README.md
@@ -54,7 +54,7 @@ zcat guidelines.txt.Z > guidelines2.txt
diff -s guidelines.txt guidelines2.txt
```
-Of course you can also use [2015/mills2](/2015/mills2/mills2.c) instead of
+Of course you can also use [2015/mills2](../../2015/mills2/mills2.c) instead of
`zcat` to verify the output file. The achieved compression ratio roughly matches
that of the classic Unix `compress(1)` tool. And the source code is very
compressed, too: It has exactly the same size as the paragraph you are reading
diff --git a/2019/diels-grabsch1/index.html b/2019/diels-grabsch1/index.html
index 0aff19595..c9fd8d980 100644
--- a/2019/diels-grabsch1/index.html
+++ b/2019/diels-grabsch1/index.html
@@ -45,6 +45,8 @@
← ciura↑ 2019 ↑diels-grabsch2 →
+ C code
+ MakefileInventory
Of course you can also use 2015/mills2 instead of
+href="../../2015/mills2/mills2.c">2015/mills2 instead of
zcat to verify the output file. The achieved compression
ratio roughly matches that of the classic Unix compress(1)
tool. And the source code is very compressed, too: It has exactly the
diff --git a/2019/diels-grabsch2/.entry.json b/2019/diels-grabsch2/.entry.json
index 36c92a5b2..6ad75227b 100644
--- a/2019/diels-grabsch2/.entry.json
+++ b/2019/diels-grabsch2/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2019_diels-grabsch2.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2019/diels-grabsch2/.gitignore b/2019/diels-grabsch2/.gitignore
index 076c57b78..01a1f5b9a 100644
--- a/2019/diels-grabsch2/.gitignore
+++ b/2019/diels-grabsch2/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2019/diels-grabsch2/Makefile b/2019/diels-grabsch2/Makefile
index df48a56ae..5175aebb1 100644
--- a/2019/diels-grabsch2/Makefile
+++ b/2019/diels-grabsch2/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2019/diels-grabsch2/index.html b/2019/diels-grabsch2/index.html
index c97a55304..532858dfd 100644
--- a/2019/diels-grabsch2/index.html
+++ b/2019/diels-grabsch2/index.html
@@ -45,6 +45,8 @@
← diels-grabsch1↑ 2019 ↑dogon →
+ C code
+ MakefileInventory
diff --git a/2019/dogon/.entry.json b/2019/dogon/.entry.json
index 97acbe62f..0a37b4fff 100644
--- a/2019/dogon/.entry.json
+++ b/2019/dogon/.entry.json
@@ -147,7 +147,7 @@
},
{
"file_path" : "2019_dogon.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2019/dogon/.gitignore b/2019/dogon/.gitignore
index d1d91c1e7..654a96cd3 100644
--- a/2019/dogon/.gitignore
+++ b/2019/dogon/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
apholife
indent
diff --git a/2019/dogon/Makefile b/2019/dogon/Makefile
index d187434cb..a48949c66 100644
--- a/2019/dogon/Makefile
+++ b/2019/dogon/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2019/dogon/README.md b/2019/dogon/README.md
index e9f0f278d..a8b53254a 100644
--- a/2019/dogon/README.md
+++ b/2019/dogon/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: uses gets() - change to fgets() if possible
```
-For more detailed information see [2019 dogon in bugs.md](/bugs.md#2019-dogon).
+For more detailed information see [2019 dogon bugs](../../bugs.html#2019_dogon).
## To use:
@@ -35,8 +35,8 @@ the program and the script.
## Judges' remarks:
-[1991/davidguy](http://ioccc.org/years.html#1991_davidguy),
-[2011/blakely](http://ioccc.org/years.html#2011_blakely), ...
+[1991/davidguy](../../years.html#1991_davidguy),
+[2011/blakely](../../years.html#2011_blakely), ...
...This entry likely concludes the IOCCC category "Cellular automata simulators";
it would be very hard to beat it on its field.
@@ -87,7 +87,7 @@ rather quick don't you think?
* 1984: Bill Gosper invents the
[Hashlife](https://en.wikipedia.org/wiki/Hashlife) algorithm. His
implementation runs on Symbolics Lisp Machines. Unrelated to that, but in a
- cosmic coincidence the [first IOCCC](/years.html#1984) is run!
+ cosmic coincidence the [first IOCCC](../../years.html#1984) is run!
* December 2000: Tom Rokicki has a breakthrough implementing
[Hashlife](https://en.wikipedia.org/wiki/Hashlife) in C, efficient, stable and
production ready for modern machines.
diff --git a/2019/dogon/index.html b/2019/dogon/index.html
index 0d1c5f49f..d5ee64fce 100644
--- a/2019/dogon/index.html
+++ b/2019/dogon/index.html
@@ -45,6 +45,8 @@
← diels-grabsch2↑ 2019 ↑duble →
+ C code
+ MakefileInventory
December 2000: Tom Rokicki has a breakthrough implementing Hashlife in C,
diff --git a/2019/duble/.entry.json b/2019/duble/.entry.json
index 334924f68..7dc95541c 100644
--- a/2019/duble/.entry.json
+++ b/2019/duble/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "2019_duble.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2019/duble/.gitignore b/2019/duble/.gitignore
index b664487b8..5c230cba0 100644
--- a/2019/duble/.gitignore
+++ b/2019/duble/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
Darwin
Darwin.alt
diff --git a/2019/duble/Makefile b/2019/duble/Makefile
index 43b7f9095..cefe25399 100644
--- a/2019/duble/Makefile
+++ b/2019/duble/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2019/duble/README.md b/2019/duble/README.md
index cd222c247..c20ecc7d3 100644
--- a/2019/duble/README.md
+++ b/2019/duble/README.md
@@ -16,7 +16,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2019 duble in bugs.md](/bugs.md#2019-duble).
+For more detailed information see [2019 duble bugs](../../bugs.html#2019_duble).
## To use:
@@ -81,12 +81,12 @@ i.e. execute the file.
WARNING: if the file is deleted it might lock any session still in use. These
will have to be killed from another shell session or by closing the terminal tab
(in other words don't do this from the console!). If the file cannot be opened
-in the beginning this will also happen. This is discussed in [2019 duble in
-bugs.md](/bugs.md#2019-duble).
+in the beginning this will also happen. This is discussed in
+[2019 duble bugs](../../bugs.html#2019_duble).
NOTE: this entry might leave sockets lying about in the current working
-directory which you'll have to delete manually. This is also discussed in [2019
-duble in bugs.md](/bugs.md#2019-duble).
+directory which you'll have to delete manually. This is also discussed in
+[2019 duble bugs](../../bugs.html#2019_duble).
## Alternate code:
diff --git a/2019/duble/index.html b/2019/duble/index.html
index 6947c1409..efb3d9fca 100644
--- a/2019/duble/index.html
+++ b/2019/duble/index.html
@@ -45,6 +45,8 @@
← dogon↑ 2019 ↑endoh →
+ C code
+ MakefileInventory
@@ -171,12 +174,12 @@ the editor.
use. These will have to be killed from another shell session or by
closing the terminal tab (in other words don’t do this from the
console!). If the file cannot be opened in the beginning this will also
-happen. This is discussed in 2019 duble in
-bugs.md.
+happen. This is discussed in 2019
+duble bugs.
NOTE: this entry might leave sockets lying about in the current
working directory which you’ll have to delete manually. This is also
-discussed in 2019 duble in
-bugs.md.
An alternate version of this entry, prog.alt.c, is provided. This alternate code might
diff --git a/2019/endoh/.entry.json b/2019/endoh/.entry.json
index 7e18c98d7..c507d1e53 100644
--- a/2019/endoh/.entry.json
+++ b/2019/endoh/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "2019_endoh.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2019/endoh/.gitignore b/2019/endoh/.gitignore
index ea18509fb..16310cdc3 100644
--- a/2019/endoh/.gitignore
+++ b/2019/endoh/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
ascii
indent
diff --git a/2019/endoh/Makefile b/2019/endoh/Makefile
index a6d4f46d2..8cb4226dc 100644
--- a/2019/endoh/Makefile
+++ b/2019/endoh/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2019/endoh/README.md b/2019/endoh/README.md
index 6e06e7aa1..b5d4ce7a1 100644
--- a/2019/endoh/README.md
+++ b/2019/endoh/README.md
@@ -16,7 +16,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2019 endoh in bugs.md](/bugs.md#2019-endoh).
+For more detailed information see [2019 endoh bugs](../../bugs.html#2019_endoh).
## To use:
diff --git a/2019/endoh/index.html b/2019/endoh/index.html
index 31e5ff566..0b35c2276 100644
--- a/2019/endoh/index.html
+++ b/2019/endoh/index.html
@@ -45,6 +45,8 @@
← duble↑ 2019 ↑giles →
+ C code
+ MakefileInventory
diff --git a/2019/giles/.entry.json b/2019/giles/.entry.json
index c1c7ce6d6..68987fda8 100644
--- a/2019/giles/.entry.json
+++ b/2019/giles/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "2019_giles.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2019/giles/.gitignore b/2019/giles/.gitignore
index 82dd08f53..437cab1d7 100644
--- a/2019/giles/.gitignore
+++ b/2019/giles/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2019/giles/Makefile b/2019/giles/Makefile
index f8de611b4..cfa2520c6 100644
--- a/2019/giles/Makefile
+++ b/2019/giles/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2019/giles/README.md b/2019/giles/README.md
index ac74a8e21..afe24cf1a 100644
--- a/2019/giles/README.md
+++ b/2019/giles/README.md
@@ -21,7 +21,7 @@ make
NOTE: `play`, which [try.sh](try.sh) uses, comes from SoX, the Swiss Army Knife
of sound processing programs. If you don't have this installed, see [FAQ 3.10:
-How do I compile and use an IOCCC winner that requires sound](/faq.md#faq3_10).
+How do I compile and use an IOCCC entry that requires sound](../../faq.html#sox).
## Judges' remarks:
diff --git a/2019/giles/index.html b/2019/giles/index.html
index e99f95430..d1256f888 100644
--- a/2019/giles/index.html
+++ b/2019/giles/index.html
@@ -45,6 +45,8 @@
← endoh↑ 2019 ↑karns →
+ C code
+ MakefileInventory
Do you need to pretend enjoying a more spacious living environment
than you actually are in, or the great outdoors with mountains and
diff --git a/2019/index.html b/2019/index.html
index a403dca46..ef4888f94 100644
--- a/2019/index.html
+++ b/2019/index.html
@@ -69,6 +69,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
@@ -115,16 +116,13 @@
Twenty
Sixth International Obfuscated C Code Contest
Standard IOCCC stuff
-
Look at the README.md file for the given winning entry for
-information on how to compile it and how to run the winning program.
-Look at the winning source and try to figure how it does what it does!
-You may then wish to look at the Author’s remarks for even more
+
View the index.html web page for the given winning entry
+for information on how on how to compile it and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
details.
Use make to compile entries. It is possible that on
non-Unix / non-Linux systems the Makefile needs to be changed. See the
Makefile for details.
@@ -134,22 +132,23 @@ require certain changes (add or remove a library, add or remove a
Some C compilers are not quite as good as they should be. If yours is
lacking, you may need to compile using clang or gcc instead of your
local compiler.
-
Remarks on some of the
-winners
-
This year’s winners are impressive!
+
Remarks on some of the
+winning entries
+
This year’s winning entries are impressive!
The “Most in need of debugging” (endoh) is very inventive in a way it
produces its own text!
The “Most likely to be awarded” (ciura) has an amazing
vocabulary!
We tend to dislike programs that:
...
-are rather similar to previous winners
-
because the entry (dogon) appropriately pays homage to past winners
-without blatantly reusing their code.
+are rather similar to previous entries
+
because the entry 2019/dogon
+appropriately pays homage to past entries without blatantly reusing
+their code.
…We’ll stop spouting spoilers now. Have fun exploring all the
entries!
Remarks on some
@@ -170,18 +169,18 @@ them for the next IOCCC.
the idea was limited in scope.
Final Comments
IMPORTANT NOTE: See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
+href="../contact.html">send us a note about your use.
diff --git a/2019/karns/.entry.json b/2019/karns/.entry.json
index 04fcf9466..1b5983889 100644
--- a/2019/karns/.entry.json
+++ b/2019/karns/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "2019_karns.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2019/karns/.gitignore b/2019/karns/.gitignore
index 7348e022f..d682452b1 100644
--- a/2019/karns/.gitignore
+++ b/2019/karns/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2019/karns/Makefile b/2019/karns/Makefile
index 651a2aa27..68224b4bf 100644
--- a/2019/karns/Makefile
+++ b/2019/karns/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2019/karns/README.md b/2019/karns/README.md
index 63af55a3e..ab11e60e4 100644
--- a/2019/karns/README.md
+++ b/2019/karns/README.md
@@ -16,7 +16,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2019 karns in bugs.md](/bugs.md#2019-karns).
+For more detailed information see [2019 karns bugs](../../bugs.html#2019_karns).
## To use:
diff --git a/2019/karns/index.html b/2019/karns/index.html
index a425f8efd..faec19ff0 100644
--- a/2019/karns/index.html
+++ b/2019/karns/index.html
@@ -45,6 +45,8 @@
← giles↑ 2019 ↑lynn →
+ C code
+ MakefileInventory
diff --git a/2019/lynn/.entry.json b/2019/lynn/.entry.json
index 4692cbd7c..5b8bf752a 100644
--- a/2019/lynn/.entry.json
+++ b/2019/lynn/.entry.json
@@ -115,7 +115,7 @@
},
{
"file_path" : "2019_lynn.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2019/lynn/.gitignore b/2019/lynn/.gitignore
index bd1898a9c..7d6992395 100644
--- a/2019/lynn/.gitignore
+++ b/2019/lynn/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
fib
fib.c
diff --git a/2019/lynn/Makefile b/2019/lynn/Makefile
index e236f8e59..9c9f19ce8 100644
--- a/2019/lynn/Makefile
+++ b/2019/lynn/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2019/lynn/README.md b/2019/lynn/README.md
index ee0e70d69..9ed51db45 100644
--- a/2019/lynn/README.md
+++ b/2019/lynn/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2019 lynn in bugs.md](/bugs.md#2019-lynn).
+For more detailed information see [2019 lynn bugs](../../bugs.html#2019_lynn).
## To use:
@@ -257,8 +257,8 @@ format earlier in the source.)
ternary operators, and so on.
* Huffman coding.
* Base-85 because high bits are frowned upon.
-* Mixed radix encoding to game iocccsize. From a past winner
-([2018/bellard](/2018/bellard/README.md)), it seems 9 11 12 32 are the only
+* Mixed radix encoding to game iocccsize. From a past entry
+([2018/bellard](../../2018/bellard/index.html)), it seems 9 11 12 32 are the only
whitespace octets that may appear verbatim in string literals.
* Choosing what to encode in Huffman/base-85 and what to encode in mixed radix
was a delicate balancing act. In the end, I only had a few bytes to spare, which
@@ -266,7 +266,7 @@ I spent on gratuitous confusion.
* The effects of some functions depend on the order their arguments are
evaluated, yet the program works either way. Why?
* Ugly macros for the runtime system's jump table for lazy reduction. A previous
-winner ([2013/endoh1](/2013/endoh1/README.md)) has a cuter solution, which I
+entry ([2013/endoh1](../../2013/endoh1/index.html)) has a cuter solution, which I
avoid because of originality concerns and also because my combinators are
compressed.
* Relies on the inability of C comments to nest.
diff --git a/2019/lynn/index.html b/2019/lynn/index.html
index 6c9979b79..13348e248 100644
--- a/2019/lynn/index.html
+++ b/2019/lynn/index.html
@@ -45,6 +45,8 @@
← karns↑ 2019 ↑mills →
+ C code
+ MakefileInventory
@@ -299,9 +303,9 @@ judges in a similar format earlier in the source.)
indexing, ternary operators, and so on.
Huffman coding.
Base-85 because high bits are frowned upon.
-
Mixed radix encoding to game iocccsize. From a past winner (2018/bellard), it seems 9 11 12 32
-are the only whitespace octets that may appear verbatim in string
+
Mixed radix encoding to game iocccsize. From a past entry (2018/bellard), it seems 9 11 12
+32 are the only whitespace octets that may appear verbatim in string
literals.
Choosing what to encode in Huffman/base-85 and what to encode in
mixed radix was a delicate balancing act. In the end, I only had a few
@@ -309,9 +313,10 @@ bytes to spare, which I spent on gratuitous confusion.
The effects of some functions depend on the order their arguments
are evaluated, yet the program works either way. Why?
Ugly macros for the runtime system’s jump table for lazy reduction.
-A previous winner (2013/endoh1) has
-a cuter solution, which I avoid because of originality concerns and also
-because my combinators are compressed.
+A previous entry (2013/endoh1) has a cuter
+solution, which I avoid because of originality concerns and also because
+my combinators are compressed.
Relies on the inability of C comments to nest.
Cheaper and more complicated to print comma-separated
ints (and header and footer) in C.
diff --git a/2019/mills/.entry.json b/2019/mills/.entry.json
index b39c13dea..dde0f9cb6 100644
--- a/2019/mills/.entry.json
+++ b/2019/mills/.entry.json
@@ -43,7 +43,7 @@
},
{
"file_path" : "2019_mills.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2019/mills/.gitignore b/2019/mills/.gitignore
index 93f8c8635..4bc8772aa 100644
--- a/2019/mills/.gitignore
+++ b/2019/mills/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
Eugene_Onegin.txt
IOCCC-Rules-Guidelines.txt
diff --git a/2019/mills/Makefile b/2019/mills/Makefile
index 9c04b8de5..c3a0098b8 100644
--- a/2019/mills/Makefile
+++ b/2019/mills/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2019/mills/README.md b/2019/mills/README.md
index 0f60f21f6..0d3cd0512 100644
--- a/2019/mills/README.md
+++ b/2019/mills/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2019 mills in bugs.md](/bugs.md#2019-mills).
+For more detailed information see [2019 mills bugs](../../bugs.html#2019_mills).
## To use:
diff --git a/2019/mills/index.html b/2019/mills/index.html
index 724e94408..8a7dabf8b 100644
--- a/2019/mills/index.html
+++ b/2019/mills/index.html
@@ -45,6 +45,8 @@
← lynn↑ 2019 ↑poikola →
+ C code
+ MakefileInventory
make cpclean# Let this run for about about an hour and then kill it:
diff --git a/2019/poikola/.entry.json b/2019/poikola/.entry.json
index aec44bde3..75c6679ea 100644
--- a/2019/poikola/.entry.json
+++ b/2019/poikola/.entry.json
@@ -67,7 +67,7 @@
},
{
"file_path" : "2019_poikola.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2019/poikola/.gitignore b/2019/poikola/.gitignore
index 50b5db8fa..8eea77017 100644
--- a/2019/poikola/.gitignore
+++ b/2019/poikola/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2019/poikola/Makefile b/2019/poikola/Makefile
index 1e9e5e268..0f781c7c9 100644
--- a/2019/poikola/Makefile
+++ b/2019/poikola/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2019/poikola/README.md b/2019/poikola/README.md
index 4e21b8d80..3f38dc4ff 100644
--- a/2019/poikola/README.md
+++ b/2019/poikola/README.md
@@ -21,7 +21,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2019 poikola in bugs.md](/bugs.md#2019-poikola).
+For more detailed information see [2019 poikola bugs](../../bugs.html#2019_poikola).
## To use:
@@ -54,7 +54,7 @@ If you don't have a few days, try:
./try.sh
```
-As the [bugs.md](/bugs.md#2019-poikola) says, this program will not validate
+As the [2019 poikola bugs](../../bugs.html#2019_poikola) says, this program will not validate
input so it might get stuck or fail if invoked erroneously.
@@ -152,10 +152,10 @@ who passed away on fourth of February 2019.
So, I followed the rules given by [Gandalf the
White](https://www.glyphweb.com/arda/g/gandalf.html) and the [Judges of
-the IOCCC](/judges.html).
+the IOCCC](../../judges.html).
Output of `iocccsize`, using the [2019 version of
-iocccsize](https://www.ioccc.org/2019/iocccsize.c), is carefully selected. For
+iocccsize](../../2019/iocccsize.c), 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
[tripundra](https://en.wikipedia.org/wiki/Tripundra), this program has three
@@ -252,10 +252,10 @@ arrays, so I did it.
### Other stuff
-[Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson): I really like that you enjoyed my
+[Cody Boone Ferguson](../../authors.html#Cody_Boone_Ferguson): I really like that you enjoyed my
previous entry. I hope that you will like this entry too. Because I did not
-want to give too many clues to [the Judges](/judges.html), I tried to write this
-entry in a different way than [Most Stellar](/2018/poikola/README.md), but in this
+want to give too many clues to [the Judges](../../judges.html), I tried to write this
+entry in a different way than [Most Stellar](../../2018/poikola/index.html), but in this
code there is at least one recycled thing from it. By the way, the answers to
the questions I posed: (1) 255. (2) Try to compare binary representations of
those `float`s and binary representation of the string "`25th IOCCC!`". (3) I
@@ -271,8 +271,8 @@ checksum](https://en.wikipedia.org/wiki/Fletcher%27s_checksum#Fletcher-16) does
not match anymore and `goto` jumps to the end of the code.
I see that one of the [Volker
-Diels-Grabsch](/authors.html#Volker_Diels-Grabsch)'s winning entries is
-awarded the category [Most self-aware](/2019/diels-grabsch2/prog.c). In last
+Diels-Grabsch](../../authors.html#Volker_Diels-Grabsch)'s winning entries is
+awarded the category [Most self-aware](../../2019/diels-grabsch2/prog.c). In last
year, my entry incorporates the [Fletcher's 16
algorithm](https://en.wikipedia.org/wiki/Fletcher%27s_checksum#Fletcher-16) to
ensure integrity of code. One of my first ideas for this year was to do the same
diff --git a/2019/poikola/index.html b/2019/poikola/index.html
index 4724dfffa..6c408a8aa 100644
--- a/2019/poikola/index.html
+++ b/2019/poikola/index.html
@@ -45,6 +45,8 @@
← mills↑ 2019 ↑yang →
+ C code
+ MakefileInventory
Output 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 tripundra, this
+href="../../2019/iocccsize.c">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 tripundra, this
program has three levels. In order to reveal all of them, you have to
compile this program on three consecutive days.
As this is a contest for obfuscated code, the program does not
@@ -299,16 +303,17 @@ calculations: I recycled code from my high school C-programming
course. Originally, I wrote it over 20 years ago. My teacher said that
it is (too) complicated to use bits stored in arrays, so I did it.
Other stuff
-
Cody Boone Ferguson:
-I really like that you enjoyed my previous entry. I hope that you will
-like this entry too. Because I did not want to give too many clues to the Judges, I tried to write this entry in a
-different way than Most Stellar,
-but in this code there is at least one recycled thing from it. By the
-way, the answers to the questions I posed: (1) 255. (2) Try to compare
-binary representations of those floats and binary
-representation of the string “25th IOCCC!”. (3) I don’t
-know. I used standard Cody Boone
+Ferguson: I really like that you enjoyed my previous entry. I hope
+that you will like this entry too. Because I did not want to give too
+many clues to the Judges, I tried to
+write this entry in a different way than Most Stellar, but in this code
+there is at least one recycled thing from it. By the way, the answers to
+the questions I posed: (1) 255. (2) Try to compare binary
+representations of those floats and binary representation
+of the string “25th IOCCC!”. (3) I don’t know. I used
+standard trigonometric
functions from math.h
@@ -321,10 +326,10 @@ href="https://en.wikipedia.org/wiki/Fletcher%27s_checksum#Fletcher-16">Fletcher
16 checksum does not match anymore and goto jumps to
the end of the code.
./prog sample_input.txt a b c d
diff --git a/2020/.filelist b/2020/.filelist
index 95e433887..6556a0e01 100644
--- a/2020/.filelist
+++ b/2020/.filelist
@@ -1,4 +1,5 @@
2020/2020.tar.bz2
+2020/.DS_Store
2020/Makefile
2020/README.md
2020/.filelist
diff --git a/2020/Makefile b/2020/Makefile
index 1e138dbfc..d4f092eb0 100644
--- a/2020/Makefile
+++ b/2020/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2020/README.md b/2020/README.md
index 6639bd915..a9584857e 100644
--- a/2020/README.md
+++ b/2020/README.md
@@ -3,14 +3,12 @@
## Standard IOCCC stuff
-Look at the README.md file for the given winning entry for information
+View the `index.html` web page for the given winning entry for information on how
on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
-The primary IOCCC web site can be found at,
-
->
+The primary site can be found at [www.ioccc.org](https://www.ioccc.org).
Use `make` to compile entries. It is possible that on non-Unix / non-Linux
systems the Makefile needs to be changed. See the Makefile for details.
@@ -23,15 +21,15 @@ lacking, you may need to compile using clang or gcc instead of your local
compiler.
-## Remarks on some of the winners
+## Remarks on some of the winning entries
This year's Best of Show (carlini) is such a novel way of obfuscation that it would be
worth of a special mention in the (future) Best of IOCCC list!
-For some reason, this year's set of winners contains three nostalgic games,
+For some reason, this year's set of winning entries contains three nostalgic games,
Asteroids (tsoj), Minesweeper (endoh1), and Snake (ferguson1).
-An entry (kurdyukov1) pays homage to a previous winner (2015/hou).
+An entry (kurdyukov1) pays homage to a previous entry [2015/hou](2015/hou/index.htm0).
...We'll stop spouting spoilers now. Have fun exploring all the entries!
@@ -63,9 +61,9 @@ perhaps re-submit them for the next IOCCC.
## Final Comments
-**IMPORTANT NOTE**: See [contact.html](/contact.html) for up to date contact details
+**IMPORTANT NOTE**: See [contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](../faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -73,5 +71,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (C) 2020,2023, Landon Curt Noll and Leonid A. Broukhis. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but does not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](../judges.html) would appreciate
+(but does not require) if you were to [send us a note about your use](../contact.html).
diff --git a/2020/burton/.entry.json b/2020/burton/.entry.json
index 618cbfd74..ec84b20b1 100644
--- a/2020/burton/.entry.json
+++ b/2020/burton/.entry.json
@@ -67,7 +67,7 @@
},
{
"file_path" : "2020_burton.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2020/burton/.gitignore b/2020/burton/.gitignore
index 4718ce806..6e8965775 100644
--- a/2020/burton/.gitignore
+++ b/2020/burton/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2020/burton/Makefile b/2020/burton/Makefile
index 4c8514f7d..eafede991 100644
--- a/2020/burton/Makefile
+++ b/2020/burton/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2020/burton/README.md b/2020/burton/README.md
index 300420d4f..8872cb926 100644
--- a/2020/burton/README.md
+++ b/2020/burton/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2020 burton in bugs.md](/bugs.md#2020-burton).
+For more detailed information see [2020 burton bugs](../../bugs.html#2020_burton).
## To use:
diff --git a/2020/burton/index.html b/2020/burton/index.html
index 441bd1d1c..dc7eb6a33 100644
--- a/2020/burton/index.html
+++ b/2020/burton/index.html
@@ -45,6 +45,8 @@
first entry↑ 2020 ↑carlini →
+ C code
+ MakefileInventory
diff --git a/2020/endoh1/.entry.json b/2020/endoh1/.entry.json
index aa5e791a7..e75acdc77 100644
--- a/2020/endoh1/.entry.json
+++ b/2020/endoh1/.entry.json
@@ -99,7 +99,7 @@
},
{
"file_path" : "2020_endoh1.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2020/endoh1/.gitignore b/2020/endoh1/.gitignore
index c218b1035..4448449c2 100644
--- a/2020/endoh1/.gitignore
+++ b/2020/endoh1/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2020/endoh1/Makefile b/2020/endoh1/Makefile
index 940272e52..1cf878be8 100644
--- a/2020/endoh1/Makefile
+++ b/2020/endoh1/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2020/endoh1/README.md b/2020/endoh1/README.md
index ccbcffaca..a055bb61c 100644
--- a/2020/endoh1/README.md
+++ b/2020/endoh1/README.md
@@ -225,11 +225,11 @@ 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](prog.c)).
-[Ilya Kurdyukov](/authors.html#Ilya_Kurdyukov) also pointed out a warning
+[Ilya Kurdyukov](../../authors.html#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)`.
-[Don Yang](/authors.html#Don_Yang) (omoikane) contributed another example map
+[Don Yang](../../authors.html#Don_Yang) (omoikane) contributed another example map
[megumin.txt](megumin.txt) which is the Explosion Arch-Wizard from KonoSuba.
diff --git a/2020/endoh1/index.html b/2020/endoh1/index.html
index 23b04e61c..605976fd1 100644
--- a/2020/endoh1/index.html
+++ b/2020/endoh1/index.html
@@ -45,6 +45,8 @@
← carlini↑ 2020 ↑endoh2 →
+ C code
+ MakefileInventory
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).
-
Don Yang (omoikane) contributed
-another example map megumin.txt which is the
-Explosion Arch-Wizard from KonoSuba.
+
Don Yang (omoikane)
+contributed another example map megumin.txt
+which is the Explosion Arch-Wizard from KonoSuba.
Copyright and CC BY-SA 4.0
License:
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights
diff --git a/2020/endoh2/.entry.json b/2020/endoh2/.entry.json
index df9d5b816..1d35f4468 100644
--- a/2020/endoh2/.entry.json
+++ b/2020/endoh2/.entry.json
@@ -115,7 +115,7 @@
},
{
"file_path" : "2020_endoh2.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2020/endoh2/.gitignore b/2020/endoh2/.gitignore
index d3e6eea5d..865dae077 100644
--- a/2020/endoh2/.gitignore
+++ b/2020/endoh2/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2020/endoh2/Makefile b/2020/endoh2/Makefile
index 5376c0854..6099392d9 100644
--- a/2020/endoh2/Makefile
+++ b/2020/endoh2/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2020/endoh2/index.html b/2020/endoh2/index.html
index 5613efe7c..4807204f0 100644
--- a/2020/endoh2/index.html
+++ b/2020/endoh2/index.html
@@ -45,6 +45,8 @@
← endoh1↑ 2020 ↑endoh3 →
+ C code
+ MakefileInventory
diff --git a/2020/endoh2/spoiler/spoiler.html b/2020/endoh2/spoiler/spoiler.html
index 8952a8485..87263eae0 100644
--- a/2020/endoh2/spoiler/spoiler.html
+++ b/2020/endoh2/spoiler/spoiler.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/2020/endoh3/.entry.json b/2020/endoh3/.entry.json
index 57b2626a0..5dcd4b7e4 100644
--- a/2020/endoh3/.entry.json
+++ b/2020/endoh3/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "2020_endoh3.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2020/endoh3/.gitignore b/2020/endoh3/.gitignore
index 76c2fc643..f8afc22f1 100644
--- a/2020/endoh3/.gitignore
+++ b/2020/endoh3/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
clock
clock.alt
diff --git a/2020/endoh3/Makefile b/2020/endoh3/Makefile
index 114563df0..bc6d21f2a 100644
--- a/2020/endoh3/Makefile
+++ b/2020/endoh3/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2020/endoh3/index.html b/2020/endoh3/index.html
index ef950816b..52ff2060b 100644
--- a/2020/endoh3/index.html
+++ b/2020/endoh3/index.html
@@ -45,6 +45,8 @@
← endoh2↑ 2020 ↑ferguson1 →
+ C code
+ MakefileInventory
diff --git a/2020/ferguson1/HACKING.html b/2020/ferguson1/HACKING.html
index b1d09d7f0..367e0c568 100644
--- a/2020/ferguson1/HACKING.html
+++ b/2020/ferguson1/HACKING.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/2020/ferguson1/Makefile b/2020/ferguson1/Makefile
index 445c5af60..168106af6 100644
--- a/2020/ferguson1/Makefile
+++ b/2020/ferguson1/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2020/ferguson1/README.md b/2020/ferguson1/README.md
index 92341fab2..f973f1f62 100644
--- a/2020/ferguson1/README.md
+++ b/2020/ferguson1/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2020 ferguson1 in bugs.md](/bugs.md#2020-ferguson1).
+For more detailed information see [2020 ferguson1 bugs](../../bugs.html#2020_ferguson1).
## To use:
@@ -59,7 +59,7 @@ and non-zero).
* **`GROW`**\
size to grow every time you eat a bug. Default 5; negative
values are allowed. 'Negativity' creates for fun gameplay modes with
- enough creativity. See [gameplay.html][] ([gameplay.md][] on
+ enough creativity. See [gameplay.html](gameplay.html)
GitHub) as well as [play.sh](play.sh) for some examples.
* **`SHED`**\
@@ -117,27 +117,27 @@ This game has a number of configurable pitfalls including walls and snakes.
There is a good deal of useful documentation that is provided with this entry:
-* [gameplay.html][] ([gameplay.md][] on GitHub)
+* [gameplay.html](gameplay.html)
Documented game *features* and gameplay modes!
-* [terminals.html][] ([terminals.md][] on GitHub)
+* [terminals.html](terminals.html)
Information about terminal capabilities, dimensions (setting and how to restore sanity if it causes any problems) as well as colours (limitations etc.).
-* [troubleshooting.html][] ([troubleshooting.md][] on GitHub)
+* [troubleshooting.html](troubleshooting.html)
Workarounds for various game *features*
-* [bugs.html][] ([bugs.md][] on GitHub)
+* [bugs.html]([bugs.html)
Bugs and things that might seem like bugs but are not.
-* [chocolate-cake.html][] ([chocolate-cake.md][] on GitHub)
+* [chocolate-cake.html](chocolate-cake.html)
Because most of us could use some *Double-layered Chocolate Fudge Cake*!
-* [spoilers.html][] ([spoilers.md][] on GitHub)
+* [spoilers.html](spoilers.html)
Read ***ONLY*** if you really must give up trying to de-obfuscate!
@@ -150,8 +150,8 @@ Snake has two cheat modes (passable walls and self [cannibalism]), a drawing (or
practising) mode, *can play by itself (**and win!**)*, is coloured (included
[snake-colours.sh][] and [play.sh][] scripts compile in player-selected colours)
and there are many other play modes (many more can be devised with the
-imagination and the environmental variables; see [gameplay.html][]
-([gameplay.md][] on GitHub) for many examples and [play.sh][] for preconfigured
+imagination and the environmental variables; see [gameplay.html]
+for many examples and [play.sh][] for preconfigured
modes) and options. You can pause and there's even a built-in test unit for
some features! The variables mentioned in the to run section at the top of this
file modify the behaviour of Snake.
@@ -165,17 +165,17 @@ Here are some other features of the game:
section (this goes for a low **`EVADE`** value too).
* Grow-Shrink mode (Positive and Negative Winning) mode (see
- [gameplay.html][] ([gameplay.md][] on GitHub) for more details).
+ [gameplay.html](gameplay.html) for more details).
* The dimensions of the game (this is actually a terminal thing but I document
how to do this and its potential pitfalls) (**`LINES`** , **`COLUMNS`**).
There are no complicated command line invocations; it's just a matter of passing
into the game descriptively named variables and I include a script that sets up
-many different gameplay modes (see [gameplay.html][] ([gameplay.md][] on GitHub)
+many different gameplay modes (see [gameplay.html](gameplay.html)
and [play.sh][]).
-The [gameplay.html][] ([gameplay.md][] on GitHub) file has all the information on
+The [gameplay.html](gameplay.html) file has all the information on
what the game looks like, how to play, the different types of modes (that I have
thought of so far) including all those in the above list. Along with the
[play.sh][] and [snake-colours.sh][] scripts it's probably the most important
@@ -189,22 +189,22 @@ suggestions (that I don't document so as to not spoil them). You can pass in
environmental variables to both scripts though obviously some will conflict with
different options in play.sh.
-Probably just as important is [chocolate-cake.html][] ([chocolate-cake.md][] on
-GitHub) with an old but wonderful recipe (because the judges love chocolate and
+Probably just as important is [chocolate-cake.html](chocolate-cake.html)
+with an old but wonderful recipe (because the judges love chocolate and
who can blame them? - also it goes with one of the IAQs I include later).
-The [troubleshooting.html][] ([troubleshooting.md][] on GitHub) file has some
+The [troubleshooting.html](troubleshooting.html) file has some
advice on potential problems (and things that might appear to be problems at
first glance but are not) that I have thought of or encountered.
-The [terminals.html][] ([terminals.md][] on GitHub) has a variety of information
+The [terminals.html](terminals.html) has a variety of information
specific to terminals from input/directions, dimensions, sanity and colours: a
sort of troubleshooting guide for terminals with some additional information.
-The [spoilers.html][] ([spoilers.md][] on GitHub) has a variety of information
+The [spoilers.html](spoilers.html) has a variety of information
including some of the obfuscation techniques and a bit of how it works.
-The [bugs.html][] ([bugs.md][] on GitHub) has a list of known bugs and things that
+The [bugs.html](bugs.html) has a list of known bugs and things that
look like bugs but aren't as well as documenting a built-in test unit for some
features.
@@ -215,15 +215,14 @@ though much of it is what's also above). To render try:
man ./snake.1
```
-The [COMPILING.html][] ([COMPILING.md][] on GitHub) file has a few portability
-notes and the [HACKING.html][] ([HACKING.md][] on GitHub) file has some
+The [COMPILING.html](COMPILING.html) file has a few portability
+notes and the [HACKING.html](HACKING.html) file has some
information on how one might modify things, things that could be implemented
(and how to/how not to go about some of the things) as well as some other
information on the entry (some of which is deliberately not true - a variation
of misleading comments). These files are probably insignificant.
-I have more information about this entry at
-.
+I have more information about this entry at [https://ioccc.xexyl.net/2020/snake](https://ioccc.xexyl.net/2020/snake).
As noted for the files I recommend looking at the html files with a browser
unless on GitHub in which case I recommend the markdown files; this particularly
@@ -279,7 +278,7 @@ very important.
took fewer bytes and the negative shedding is a positive consequence of
unsigned arithmetic.
-On a more serious note look at [bugs.html][] ([bugs.md][] on GitHub).
+On a more serious note look at [bugs.html](bugs.html).
### NAQs/IAQs (Never/Infrequently Asked Questions)
@@ -473,8 +472,8 @@ walls passable and not worry about dying.
Why yes I do! So good in fact that even my late stepmum who didn't even like
chocolate (except white chocolate) loved this cake. It's a double-layered
-chocolate fudge cake. See the file [chocolate-cake.html][]
-([chocolate-cake.md][] on GitHub) for the recipe. Note that it's a complicated
+chocolate fudge cake. See the file [chocolate-cake.html](chocolate-cake.html)
+for the recipe. Note that it's a complicated
but it's well worth it!
I included it in both of my entries this year because if any of them won more people
@@ -524,21 +523,21 @@ both do.
### Winning thoughts, dedications and thanks
Once again I'm honoured to win along with some of the other veterans who I have
-a huge amount of respect for; there's [Don Yang](/authors.html#Don_Yang), [Dave
-Burton](/authors.html#Dave_Burton), [Yusuke Endoh](/authors.html#Yusuke_Endoh)
-and [Edward Giles](/authors.html#Edward_Giles) all of whom are amazing
+a huge amount of respect for; there's [Don Yang](../../authors.html#Don_Yang), [Dave
+Burton](../../authors.html#Dave_Burton), [Yusuke Endoh](../../authors.html#Yusuke_Endoh)
+and [Edward Giles](../../authors.html#Edward_Giles) all of whom are amazing
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](/authors.html#https://en.wikipedia.org/wiki/Signals_intelligence#World_War_II)
+Kurdyukov](../../authors.html#https://en.wikipedia.org/wiki/Signals_intelligence#World_War_II)
(who's offered a lot of interesting thoughts on [Snake](../ferguson1/prog.c) and
who plans to have his own version after the entries are published), [Nathan
-Otterness](/authors.html#Nathan_Otterness), [Nicholas
-Carlini](/authors.html#Nicholas_Carlini) (your entry is an absolutely brilliant
+Otterness](../../authors.html#Nathan_Otterness), [Nicholas
+Carlini](../../authors.html#Nicholas_Carlini) (your entry is an absolutely brilliant
abuse of `printf` - and I totally agree with the judges remarks that your entry
is so novel that it'll be worth special mention in the future Best of IOCCC
-list!) and [tsoj](/authors.html#_tsoj) too.
+list!) and [tsoj](../../authors.html#_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!
@@ -581,32 +580,24 @@ comments as well as the award titles. And yes indeed 'most of us could use
If you wish to contact me please do so. Please contact via mastodon. You can try
email but I'm more likely to respond to mastodon messages.
-[COMPILING.md]: COMPILING.md
[COMPILING.html]: COMPILING.html
-[HACKING.md]: HACKING.md
[HACKING.html]: HACKING.html
[bugs.html]: bugs.html
-[bugs.md]: bugs.md
[troubleshooting.html]: troubleshooting.html
[human snakes]: http://www.macroevolution.net/snake-human-hybrids.html
-[chocolate-cake.md]: chocolate-cake.md
[chocolate-cake.html]: chocolate-cake.html
-[spoilers.md]: spoilers.md
-[spoilers.html]: spoilers.md
+[spoilers.html]: spoilers.html
[Surround]: https://en.wikipedia.org/wiki/Surround_(video_game)
[Snake walk: The physics of slithering]: https://www.bbc.co.uk/news/science-environment-35563941
[snake-colours.sh]: snake-colours.sh
[gameplay.html]: gameplay.html
-[gameplay.md]: gameplay.md
[flying snakes]: https://www.bbc.co.uk/news/science-environment-25943693
[play.sh]: play.sh
[great chocolate cake]: cake.jpg
[https://ioccc.xexyl.net/2020/snake]: https://ioccc.xexyl.net/2020/snake
[Double-layered Chocolate Fudge Cake]: chocolate-cake.html
[terminals.html]: terminals.html
-[terminals.md]: terminals.md
[troubleshooting.html]: troubleshooting.html
-[troubleshooting.md]: troubleshooting.md
## Copyright and CC BY-SA 4.0 License:
diff --git a/2020/ferguson1/bugs.html b/2020/ferguson1/bugs.html
index 765f48013..d9b9846b2 100644
--- a/2020/ferguson1/bugs.html
+++ b/2020/ferguson1/bugs.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/2020/ferguson1/cannibalism.log.html b/2020/ferguson1/cannibalism.log.html
index e08269518..a5fc8a640 100644
--- a/2020/ferguson1/cannibalism.log.html
+++ b/2020/ferguson1/cannibalism.log.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/2020/ferguson1/chocolate-cake.html b/2020/ferguson1/chocolate-cake.html
index 9ebc28c06..cacb45346 100644
--- a/2020/ferguson1/chocolate-cake.html
+++ b/2020/ferguson1/chocolate-cake.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/2020/ferguson1/crazy.log.html b/2020/ferguson1/crazy.log.html
index 9e2d1a6ca..eb27a4969 100644
--- a/2020/ferguson1/crazy.log.html
+++ b/2020/ferguson1/crazy.log.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/2020/ferguson1/gameplay.html b/2020/ferguson1/gameplay.html
index 80a67d1f2..15d6200b9 100644
--- a/2020/ferguson1/gameplay.html
+++ b/2020/ferguson1/gameplay.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
@@ -166,9 +169,8 @@ win before you grow to the full size!
GROW
size to grow every time you eat a bug. Default 5; negative values are
allowed. ‘Negativity’ creates for fun gameplay modes with enough
-creativity. See gameplay.html (gameplay.md on GitHub) as well as play.sh for some examples.
SHED
every SHED movements you will grow (>
0), shrink (< 0) or stay the same length (0) by the
@@ -217,36 +219,30 @@ configurable pitfalls including walls and snakes.
There is a good deal of useful documentation that is provided with
this entry:
Information about terminal capabilities, dimensions (setting and how
to restore sanity if it causes any problems) as well as colours
(limitations etc.).
Read ONLY if you really must give up trying
to de-obfuscate!
@@ -262,8 +258,7 @@ href="snake-colours.sh">snake-colours.sh and play.sh scripts compile in player-selected colours)
and there are many other play modes (many more can be devised with the
imagination and the environmental variables; see gameplay.html (gameplay.md on GitHub) for many examples and gameplay.html for many examples and play.sh for preconfigured modes) and options. You can
pause and there’s even a built-in test unit for some features! The
variables mentioned in the to run section at the top of this file modify
@@ -280,9 +275,7 @@ the relevant section (this goes for a low
EVADE value too).
Grow-Shrink mode (Positive and Negative Winning) mode (see gameplay.html (gameplay.md on GitHub) for more
-details).
+href="gameplay.html">gameplay.html for more details).
The dimensions of the game (this is actually a terminal thing but
I document how to do this and its potential pitfalls)
(LINES ,
@@ -291,11 +284,9 @@ I document how to do this and its potential pitfalls)
There are no complicated command line invocations; it’s just a matter
of passing into the game descriptively named variables and I include a
script that sets up many different gameplay modes (see gameplay.html (gameplay.md on GitHub) and gameplay.html and play.sh).
The gameplay.html file has all the
information on what the game looks like, how to play, the different
types of modes (that I have thought of so far) including all those in
the above list. Along with the play.sh and
with an old but
+wonderful recipe (because the judges love chocolate and who can blame
+them? - also it goes with one of the IAQs I include later).
+
The troubleshooting.html file has
some advice on potential problems (and things that might appear to be
problems at first glance but are not) that I have thought of or
encountered.
The terminals.html has a variety of
information specific to terminals from input/directions, dimensions,
sanity and colours: a sort of troubleshooting guide for terminals with
some additional information.
The spoilers.html has a variety of
information including some of the obfuscation techniques and a bit of
how it works.
-
The bugs.html (bugs.md
-on GitHub) has a list of known bugs and things that look like bugs but
-aren’t as well as documenting a built-in test unit for some
-features.
+
The bugs.html has a list of known bugs and
+things that look like bugs but aren’t as well as documenting a built-in
+test unit for some features.
Because all IOCCC entries should have a man page I have included one
(even though much of it is what’s also above). To render try:
man ./snake.1
-
The COMPILING.html (COMPILING.md on GitHub) file has a few
-portability notes and the HACKING.html (HACKING.md on GitHub) file has some information on
-how one might modify things, things that could be implemented (and how
-to/how not to go about some of the things) as well as some other
-information on the entry (some of which is deliberately not true - a
-variation of misleading comments). These files are probably
-insignificant.
+
The COMPILING.html file has a few
+portability notes and the HACKING.html file
+has some information on how one might modify things, things that could
+be implemented (and how to/how not to go about some of the things) as
+well as some other information on the entry (some of which is
+deliberately not true - a variation of misleading comments). These files
+are probably insignificant.
As noted for the files I recommend looking at the html files with a
browser unless on GitHub in which case I recommend the markdown files;
this particularly goes for the gameplay, bugs, terminals,
@@ -401,8 +384,7 @@ have the snake - what? It’s a misnomer: it took fewer bytes and the
negative shedding is a positive consequence of unsigned
arithmetic.
@@ -613,9 +595,8 @@ you have any DELICIOUS CHOCOLATE CAKE recipes?
Why yes I do! So good in fact that even my late stepmum who didn’t
even like chocolate (except white chocolate) loved this cake. It’s a
double-layered chocolate fudge cake. See the file chocolate-cake.html (chocolate-cake.md on GitHub) for the
-recipe. Note that it’s a complicated but it’s well worth it!
+href="chocolate-cake.html">chocolate-cake.html for the recipe. Note
+that it’s a complicated but it’s well worth it!
I included it in both of my entries this year because if any of them
won more people can have this recipe; also it might help remind the
judges that they really should have their cook bake it so they can all -
@@ -665,23 +646,23 @@ id="winning-thoughts-dedications-and-thanks">Winni
thoughts, dedications and thanks
Once again I’m honoured to win along with some of the other veterans
who I have a huge amount of respect for; there’s Don Yang, Dave Burton, Yusuke Endoh and Edward Giles all of whom are
+href="../../authors.html#Don_Yang">Don Yang, Dave Burton, Yusuke Endoh and Edward Giles all of whom are
amazing programmers. I’m especially proud to win besides Dave Burton and
Yusuke Endoh but Don Yang and Edward Giles too.
+href="../../authors.html#Nathan_Otterness">Nathan Otterness, Nicholas Carlini (your
+entry is an absolutely brilliant abuse of printf - and I
+totally agree with the judges remarks that your entry is so novel that
+it’ll be worth special mention in the future Best of IOCCC 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!
diff --git a/2020/ferguson1/spoilers.html b/2020/ferguson1/spoilers.html
index cd2cc1be1..9baf84d94 100644
--- a/2020/ferguson1/spoilers.html
+++ b/2020/ferguson1/spoilers.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/2020/ferguson1/terminals.html b/2020/ferguson1/terminals.html
index c0ab506a4..a7fd98a7f 100644
--- a/2020/ferguson1/terminals.html
+++ b/2020/ferguson1/terminals.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/2020/ferguson1/troubleshooting.html b/2020/ferguson1/troubleshooting.html
index b45f02773..386148a19 100644
--- a/2020/ferguson1/troubleshooting.html
+++ b/2020/ferguson1/troubleshooting.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/2020/ferguson2/.entry.json b/2020/ferguson2/.entry.json
index 8d8cfbcc0..87502325b 100644
--- a/2020/ferguson2/.entry.json
+++ b/2020/ferguson2/.entry.json
@@ -147,7 +147,7 @@
},
{
"file_path" : "2020_ferguson2.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2020/ferguson2/.gitignore b/2020/ferguson2/.gitignore
index c51360e9d..381a13782 100644
--- a/2020/ferguson2/.gitignore
+++ b/2020/ferguson2/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
cake.sh
chocolate-cake.dat
diff --git a/2020/ferguson2/Makefile b/2020/ferguson2/Makefile
index 392d28853..e48535340 100644
--- a/2020/ferguson2/Makefile
+++ b/2020/ferguson2/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2020/ferguson2/README.md b/2020/ferguson2/README.md
index b72003bc1..3d117816f 100644
--- a/2020/ferguson2/README.md
+++ b/2020/ferguson2/README.md
@@ -116,13 +116,13 @@ man ./enigma.1
```
-* [recode.html][] (or [recode.md](recode.md) if reading on GitHub)
+* [recode.html][] (or [recode.html](recode.html) if reading on GitHub)
- Some useful information about [recode.c](recode.c)
-* [chocolate-cake.html][] (or [chocolate-cake.md](chocolate-cake.md) if reading on GitHub)
+* [chocolate-cake.html][] (or [chocolate-cake.html](chocolate-cake.html) if reading on GitHub)
- Because most of us could use some *Double-layered Chocolate Fudge Cake*!
- - NOTE: see [recode.html][] (or [recode.md](recode.md) for details about how to decrypt this!
+ - NOTE: see [recode.html][] (or [recode.html](recode.html) for details about how to decrypt this!
[recode.html]: recode.html
@@ -211,15 +211,15 @@ alphabet and then input it into their Enigma machine configured in the same way
and thus have the original message.
The [1998 ASCII / Morse code translator][] entry by [Franz van
-Dorsselaer](/authors.html#Frans_van_Dorsselaer) prints the Morse code of text;
+Dorsselaer](../../authors.html#Frans_van_Dorsselaer) prints the Morse code of text;
and the [2014 Morse audio transcoder][] by [Daniel
-Vik](/authors.html#Daniel_Vik) can be used to allow for the actual sound of it.
+Vik](../../authors.html#Daniel_Vik) can be used to allow for the actual sound of it.
With my entry we can complete the loop!
### The 1992 Nathan Sidwell entry
-The author [Nathan Sidwell](/authors.html#Nathan_Sidwell) of the [1992 Worst
+The author [Nathan Sidwell](../../authors.html#Nathan_Sidwell) of the [1992 Worst
Abuse of the Rules][] had this to say about his program:
> This program is a hello world text encrypter/decrypter. It uses an
@@ -247,10 +247,10 @@ My entry should also work as a non-military grade Enigma; they had no
[plugboard](https://www.cryptomuseum.com/crypto/enigma/i/sb.htm) and by
default mine is empty. I explain how to set up the simulator later.
-[Yusuke Endoh](/authors.html#Yusuke_Endoh) asked the judges and me if the real
+[Yusuke Endoh](../../authors.html#Yusuke_Endoh) asked the judges and me if the real
1992 entry source was available. Simon Cooper didn't have access to it because
it was before his time in the IOCCC; but before the other judges could answer
-[Ilya Kurdyukov](/authors.html#Ilya_Kurdyukov) sent a link to the original 1992
+[Ilya Kurdyukov](../../authors.html#Ilya_Kurdyukov) sent a link to the original 1992
code. As of 4 March 2023 the original before unseen code was published but I
leave this in for historical purposes.
@@ -288,8 +288,8 @@ After that you can input the string and it'll go from there.
BTW: There's a much more entertaining (and delicious) challenge or exercise in
[recode.html][] (if you're reading this on GitHub check the
-[recode.md](recode.md) file instead); this involves [chocolate-cake.html][] (if
-on GitHub see [here](chocolate-cake.md)) though one might need a different kind
+[recode.html](recode.html) file instead); this involves [chocolate-cake.html][] (if
+on GitHub see [here](chocolate-cake.html)) though one might need a different kind
of exercise after taking up the challenge! :-) These however show the general
program as well as how to use the two winning entries of the [Morse
code](https://en.wikipedia.org/wiki/Morse_code) that I referred to earlier:
@@ -406,7 +406,7 @@ Phew! The program redeemed itself after the test failure! :)
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](/1998/dorssel/dorssel.c)?
+What about the other [Morse code entry](../../1998/dorssel/dorssel.c)?
```sh
$ echo IOCCC | ./prog | ./dorssel
@@ -443,7 +443,7 @@ as the ciphering goes but I thought this would make it much more interesting:
make it more flexible by a wrapper program.
For examples using it (and a delicious challenge) see [recode.html][] (or
-[recode.md](recode.md) if reading on GitHub). See also the [recode.1][] and
+[recode.html](recode.html) if reading on GitHub). See also the [recode.1][] and
[enigma.1][] man pages.
@@ -494,7 +494,7 @@ by itself. However for the reflector I did `1A` but it only expects 1 char! So
will that mean that the plugboard pairs are off? Yes it does seem to be so. This
is buffering at play I believe but it's useful for allowing the `recode` program
to easily configure the Enigma machine. In the [recode.html](recode.html) file
-(or [recode.md](recode.md) if reading on GitHub) file I give a hint as to how
+(or [recode.html](recode.html) if reading on GitHub) 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).
@@ -508,7 +508,7 @@ same applies: in C 0-1 but in human it's 1-2 (technically these were reflectors
the Enigma machine which I display by name in [recode.c](recode.c) just like
with the rotors).
-For more information see [recode.html][] (or [recode.md](recode.md) if viewing on
+For more information see [recode.html][] (or [recode.html](recode.html) if viewing on
GitHub).
BTW: If you need a reminder to go to the gym just do your Enigma ABCs and it
@@ -577,12 +577,12 @@ To encipher:
The file [obfuscation.key][] is the key to decipher/encipher
[obfuscation.txt][].
-For the lazy [obfuscation.md][] has the deciphered version. I am afraid I'm not
+For the lazy [obfuscation.html](obfuscation.html) has the deciphered version. I am afraid I'm not
so inclined to do that for the cake recipe: the idea there is to make it a fun
exercise that when solved unlocks a wonderful double-layered chocolate fudge
cake recipe. But given that my ['Don't tread on me'](../ferguson1) award entry
also has the [recipe](../ferguson1/chocolate-cake.html)
-([ferguson1/chocolate-cake.md](../ferguson1/chocolate-cake.md) if reading on
+([ferguson1/chocolate-cake.html](../ferguson1/chocolate-cake.html) if reading on
GitHub), not enciphered, one might just go there instead. Still it's a fun way
to explore this entry.
@@ -607,7 +607,7 @@ choose from a set of rotors and there were no duplicates. This shouldn't be a
problem here however except that it wouldn't be a possible configuration of the
real Enigma machine. The `recode` program *however does validate this* (except
when reading in settings via the `-R` option which I explain in the
-[recode.html][] file ([recode.md](recode.md) on GitHub).
+[recode.html][] file ([recode.html](recode.html) on GitHub).
* The way the [plugboard](https://www.cryptomuseum.com/crypto/enigma/i/sb.htm)
\- for the machines that had them - is, if you connect A to B then no other
@@ -838,9 +838,9 @@ don't think there need be any addition to the recode program - at least not
that.
-[1992 Worst Abuse of the Rules]: https://www.ioccc.org/1992/nathan/README.md
-[1998 ASCII / Morse code translator]: https://www.ioccc.org/1998/dorssel/README.md
-[2014 Morse audio transcoder]: https://www.ioccc.org/2014/vik/README.md
+[1992 Worst Abuse of the Rules]: ../../1992/nathan/index.html
+[1998 ASCII / Morse code translator]: ../../1998/dorssel/index.html
+[2014 Morse audio transcoder]: ../../2014/vik/index.html
[Enigma Message Procedures]: https://web.archive.org/web/20200710094321/http://users.telenet.be/d.rijmenants/en/enigmaproc.htm
[Interactive Enigma Machine]: http://enigmaco.de/enigma/enigma.html
[enigma.1]: enigma.1
@@ -848,7 +848,7 @@ that.
[recode.html]: recode.html
[chocolate-cake.html]: chocolate-cake.html
[recode.c]: recode.c
-[obfuscation.md]: obfuscation.md
+[obfuscation.html]: obfuscation.html
[obfuscation.txt]: obfuscation.txt
[obfuscation.key]: obfuscation.key
[Tony Sale's pages on The Enigma cipher machine]: https://web.archive.org/web/20200621180323/http://www.codesandciphers.co.uk/enigma/index.htm
@@ -861,21 +861,21 @@ that.
### Winning thoughts, dedications and thanks
Once again I'm honoured to win along with some of the other veterans who I have
-a huge amount of respect for; there's [Don Yang](/authors.html#Don_Yang), [Dave
-Burton](/authors.html#Dave_Burton), [Yusuke Endoh](/authors.html#Yusuke_Endoh)
-and [Edward Giles](/authors.html#Edward_Giles) all of whom are amazing
+a huge amount of respect for; there's [Don Yang](../../authors.html#Don_Yang), [Dave
+Burton](../../authors.html#Dave_Burton), [Yusuke Endoh](../../authors.html#Yusuke_Endoh)
+and [Edward Giles](../../authors.html#Edward_Giles) all of whom are amazing
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](/authors.html#https://en.wikipedia.org/wiki/Signals_intelligence#World_War_II)
+Kurdyukov](../../authors.html#https://en.wikipedia.org/wiki/Signals_intelligence#World_War_II)
(who's offered a lot of interesting thoughts on [Snake](../ferguson1/prog.c) and
who plans to have his own version after the entries are published), [Nathan
-Otterness](/authors.html#Nathan_Otterness), [Nicholas
-Carlini](/authors.html#Nicholas_Carlini) (your entry is an absolutely brilliant
+Otterness](../../authors.html#Nathan_Otterness), [Nicholas
+Carlini](../../authors.html#Nicholas_Carlini) (your entry is an absolutely brilliant
abuse of `printf` - and I totally agree with the judges remarks that your entry
is so novel that it'll be worth special mention in the future Best of IOCCC
-list!) and [tsoj](/authors.html#_tsoj) too.
+list!) and [tsoj](../../authors.html#_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!
diff --git a/2020/ferguson2/chocolate-cake.html b/2020/ferguson2/chocolate-cake.html
index 725d0c9b8..34ca09bb9 100644
--- a/2020/ferguson2/chocolate-cake.html
+++ b/2020/ferguson2/chocolate-cake.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
Because most of us could use some Double-layered Chocolate Fudge
Cake!
NOTE: see recode.html (or recode.md for details about how to decrypt
+href="recode.html">recode.html for details about how to decrypt
this!
@@ -292,18 +295,17 @@ encoded message. Then those picking up on the message would note the
Morse code, translate it to the alphabet and then input it into their
Enigma machine configured in the same way and thus have the original
message.
-
+href="../../2014/vik/index.html">2014 Morse audio transcoder by Daniel Vik can be used to allow
+for the actual sound of it. With my entry we can complete the loop!
Yusuke Endoh asked the
judges and me if the real 1992 entry source was available. Simon Cooper
didn’t have access to it because it was before his time in the IOCCC;
but before the other judges could answer Ilya Kurdyukov sent a link to
-the original 1992 code. As of 4 March 2023 the original before unseen
+href="../../authors.html#Ilya_Kurdyukov">Ilya Kurdyukov
sent a link
+to the original 1992 code. As of 4 March 2023 the original before unseen
code was published but I leave this in for historical purposes.
BTW: There’s a much more entertaining (and delicious) challenge or
exercise in recode.html (if you’re reading
-this on GitHub check the recode.md file
+this on GitHub check the recode.html file
instead); this involves chocolate-cake.html (if on GitHub see here) though one might need a different
+href="chocolate-cake.html">here) though one might need a different
kind of exercise after taking up the challenge! :-) These however show
the general program as well as how to use the two winning entries of the
Morse code that I
@@ -466,8 +468,8 @@ class="sourceCode sh">Morse code
-entry?
@@ -500,9 +502,10 @@ simulator only as far as the ciphering goes but I thought this would
make it much more interesting: make it more flexible by a wrapper
program.
For examples using it (and a delicious challenge) see recode.html (or recode.md
-if reading on GitHub). See also the recode.1 and
-enigma.1 man pages.
+href="recode.html">recode.html (or recode.html if reading on GitHub). See also the
+recode.1 and enigma.1 man
+pages.
@@ -552,9 +555,9 @@ plugboard pairs are off? Yes it does seem to be so. This is buffering at
play I believe but it’s useful for allowing the recode
program to easily configure the Enigma machine. In the recode.html file (or recode.md if reading on GitHub) 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.
+href="recode.html">recode.html if reading on GitHub) 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.
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
@@ -565,7 +568,7 @@ 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 with the rotors).
+href="recode.html">recode.html if viewing on GitHub).
BTW: If you need a reminder to go to the gym just do your Enigma ABCs
and it should help you remember (though not at this time in our world it
might help you later on?). This might become even more useful after the
@@ -615,15 +618,15 @@ class="sourceCode sh">./recode-Robfuscation.key-fobfuscation.md|./prog-2>/dev/null > obfuscation.txt
For the lazy obfuscation.html has the
deciphered version. I am afraid I’m not so inclined to do that for the
cake recipe: the idea there is to make it a fun exercise that when
solved unlocks a wonderful double-layered chocolate fudge cake recipe.
But given that my ‘Don’t tread on me’ award
entry also has the recipe
(ferguson1/chocolate-cake.md if
-reading on GitHub), not enciphered, one might just go there instead.
+href="../ferguson1/chocolate-cake.html">ferguson1/chocolate-cake.html
+if reading on GitHub), not enciphered, one might just go there instead.
Still it’s a fun way to explore this entry.
As for the obfuscation.key file if you
observe the contents you’ll find the word OBFUSCATION:
@@ -646,7 +649,7 @@ possible configuration of the real Enigma machine. The
recode program however does validate this (except
when reading in settings via the -R option which I explain
in the recode.html file (recode.md on GitHub).
+href="recode.html">recode.html on GitHub).
The way the plugboard
- for the machines that had them - is, if you connect A to B then no
@@ -664,11 +667,11 @@ easily).
It does not obviously have the clicking sound associated with the
moving parts of the real machine. I think it would be annoying to have
this as it processes each letter - but with the 2014 Morse audio
-transcoder entry you 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.
+href="../../2014/vik/index.html">2014 Morse audio transcoder entry
+you 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 with them: if one chooses a value out of range
it moves it into the range (if > the max then the max, if < min
@@ -885,23 +888,23 @@ id="winning-thoughts-dedications-and-thanks">Winni
thoughts, dedications and thanks
Once again I’m honoured to win along with some of the other veterans
who I have a huge amount of respect for; there’s Don Yang, Dave Burton, Yusuke Endoh and Edward Giles all of whom are
+href="../../authors.html#Don_Yang">Don Yang, Dave Burton, Yusuke Endoh and Edward Giles all of whom are
amazing programmers. I’m especially proud to win besides Dave Burton and
Yusuke Endoh but Don Yang and Edward Giles too.
+href="../../authors.html#Nathan_Otterness">Nathan Otterness, Nicholas Carlini (your
+entry is an absolutely brilliant abuse of printf - and I
+totally agree with the judges remarks that your entry is so novel that
+it’ll be worth special mention in the future Best of IOCCC 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!
diff --git a/2020/ferguson2/obfuscation.html b/2020/ferguson2/obfuscation.html
index 836690040..bb9694c3b 100644
--- a/2020/ferguson2/obfuscation.html
+++ b/2020/ferguson2/obfuscation.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/2020/ferguson2/recode.html b/2020/ferguson2/recode.html
index adf2657b4..cb69f4f22 100644
--- a/2020/ferguson2/recode.html
+++ b/2020/ferguson2/recode.html
@@ -66,6 +66,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
diff --git a/2020/giles/.entry.json b/2020/giles/.entry.json
index 2f5b9dcad..0ad586745 100644
--- a/2020/giles/.entry.json
+++ b/2020/giles/.entry.json
@@ -51,7 +51,7 @@
},
{
"file_path" : "2020_giles.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2020/giles/.gitignore b/2020/giles/.gitignore
index ff769e925..58d335081 100644
--- a/2020/giles/.gitignore
+++ b/2020/giles/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
indent
indent.c
diff --git a/2020/giles/Makefile b/2020/giles/Makefile
index 91864f6b3..817dc2b11 100644
--- a/2020/giles/Makefile
+++ b/2020/giles/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2020/giles/README.md b/2020/giles/README.md
index 4bda556be..5bffe94a9 100644
--- a/2020/giles/README.md
+++ b/2020/giles/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2020 giles in bugs.md](/bugs.md#2020-giles).
+For more detailed information see [2020 giles bugs](../../bugs.html#2020_giles).
## To use:
@@ -43,8 +43,8 @@ will be converted to the DTMF sound!
```
If the script [try.sh](try.sh) did not play a WAV file, it means you do not have
-SoX installed; see [FAQ 3.10: How do I compile and use an IOCCC winner that
-requires sound?](/faq.md#faq3_10)). In this case install it and try it again or
+SoX installed; see [FAQ 3.10: How do I compile and use an IOCCC entry that
+requires sound?](../../faq.html#sox)). In this case install it and try it again or
play the files `jenny.wav` and `ioccc28.wav` in a program that can play WAV
files.
diff --git a/2020/giles/index.html b/2020/giles/index.html
index 91b4a51b0..4e5791e18 100644
--- a/2020/giles/index.html
+++ b/2020/giles/index.html
@@ -45,6 +45,8 @@
← ferguson2↑ 2020 ↑kurdyukov1 →
+ C code
+ MakefileInventory
Twenty
Seventh International Obfuscated C Code Contest
Standard IOCCC stuff
-
Look at the README.md file for the given winning entry for
-information on how to compile it and how to run the winning program.
-Look at the winning source and try to figure how it does what it does!
-You may then wish to look at the Author’s remarks for even more
+
View the index.html web page for the given winning entry
+for information on how on how to compile it and how to run the winning
+program. Look at the winning source and try to figure how it does what
+it does! You may then wish to look at the Author’s remarks for even more
details.
Use make to compile entries. It is possible that on
non-Unix / non-Linux systems the Makefile needs to be changed. See the
Makefile for details.
@@ -134,16 +132,16 @@ require certain changes (add or remove a library, add or remove a
Some C compilers are not quite as good as they should be. If yours is
lacking, you may need to compile using clang or gcc instead of your
local compiler.
-
Remarks on some of the
-winners
+
Remarks on some of the
+winning entries
This year’s Best of Show (carlini) is such a novel way of obfuscation
that it would be worth of a special mention in the (future) Best of
IOCCC list!
-
For some reason, this year’s set of winners contains three nostalgic
-games, Asteroids (tsoj), Minesweeper (endoh1), and Snake
+
For some reason, this year’s set of winning entries contains three
+nostalgic games, Asteroids (tsoj), Minesweeper (endoh1), and Snake
(ferguson1).
-
An entry (kurdyukov1) pays homage to a previous winner
-(2015/hou).
+
An entry (kurdyukov1) pays homage to a previous entry 2015/hou.
…We’ll stop spouting spoilers now. Have fun exploring all the
entries!
Remarks on some
@@ -170,18 +168,18 @@ likely to win.
and perhaps re-submit them for the next IOCCC.
Final Comments
IMPORTANT NOTE: See contact.html for up to date contact details as
-well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
-IOCCC.
+href="../contact.html">contact.html for up to date contact details
+as well as details on how to provide fixes to any of the entries. See
+also the IOCCC FAQ for addition information on
+the IOCCC.
diff --git a/2020/kurdyukov2/.entry.json b/2020/kurdyukov2/.entry.json
index 3c255bb38..9b0b40b1b 100644
--- a/2020/kurdyukov2/.entry.json
+++ b/2020/kurdyukov2/.entry.json
@@ -75,7 +75,7 @@
},
{
"file_path" : "2020_kurdyukov2.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2020/kurdyukov2/.gitignore b/2020/kurdyukov2/.gitignore
index b99263068..10af9ce65 100644
--- a/2020/kurdyukov2/.gitignore
+++ b/2020/kurdyukov2/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
*.gif
*.jpg
diff --git a/2020/kurdyukov2/Makefile b/2020/kurdyukov2/Makefile
index 478d979c1..ce2152fc0 100644
--- a/2020/kurdyukov2/Makefile
+++ b/2020/kurdyukov2/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2020/kurdyukov2/README.md b/2020/kurdyukov2/README.md
index 1867e50e5..3f7c52757 100644
--- a/2020/kurdyukov2/README.md
+++ b/2020/kurdyukov2/README.md
@@ -75,7 +75,7 @@ make prog_ppm
### Building on macOS with MacPorts:
-Thanks to [Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) for this
+Thanks to [Cody Boone Ferguson](../../authors.html#Cody_Boone_Ferguson) for this
information!
First, make sure you have the compiler tools installed e.g. by:
diff --git a/2020/kurdyukov2/index.html b/2020/kurdyukov2/index.html
index c6a23c754..98449b83e 100644
--- a/2020/kurdyukov2/index.html
+++ b/2020/kurdyukov2/index.html
@@ -45,6 +45,8 @@
← kurdyukov1↑ 2020 ↑kurdyukov3 →
+ C code
+ MakefileInventory
@@ -195,7 +198,8 @@ exists somewhere in the dictionary.
Example
You can try this with the inputs provided with 2019/mills from the IOCCC entries.
+href="../../2019/mills/index.html">2019/mills from the IOCCC
+entries.
$ ./prog Shakespeare.txt 2001 10 12345
produces:
r sons, wives for them, as the hope I had it. This is the way they be not too ra
diff --git a/2020/otterness/.entry.json b/2020/otterness/.entry.json
index 780851e76..ce324cc97 100644
--- a/2020/otterness/.entry.json
+++ b/2020/otterness/.entry.json
@@ -59,7 +59,7 @@
},
{
"file_path" : "2020_otterness.tar.bz2",
- "inventory_order" : 300,
+ "inventory_order" : 100000,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
diff --git a/2020/otterness/.gitignore b/2020/otterness/.gitignore
index 0739d17d5..b89f0ad1b 100644
--- a/2020/otterness/.gitignore
+++ b/2020/otterness/.gitignore
@@ -1,5 +1,5 @@
#
-# sort with: ../../bin/sgi
+# sort with: ../../bin/sgi.sh
*.dSYM
*.mid
indent
diff --git a/2020/otterness/Makefile b/2020/otterness/Makefile
index ef591df80..4d5da657e 100644
--- a/2020/otterness/Makefile
+++ b/2020/otterness/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/2020/otterness/README.md b/2020/otterness/README.md
index 4527d8128..133f82d61 100644
--- a/2020/otterness/README.md
+++ b/2020/otterness/README.md
@@ -13,7 +13,7 @@ The current status of this entry is:
STATUS: INABIAF - please **DO NOT** fix
```
-For more detailed information see [2020 otterness in bugs.md](/bugs.md#2020-otterness).
+For more detailed information see [2020 otterness bugs](../../bugs.html#2020_otterness).
## To use:
diff --git a/2020/otterness/index.html b/2020/otterness/index.html
index dbc3c82aa..f35a960e1 100644
--- a/2020/otterness/index.html
+++ b/2020/otterness/index.html
@@ -45,6 +45,8 @@
← kurdyukov4↑ 2020 ↑tsoj →
+ C code
+ MakefileInventory
diff --git a/Makefile b/Makefile
index fbb080a3b..e00097e64 100644
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,7 @@
# Bug fixes, corrections and typo fixes are VERY WELCOME. If you see a problem,
# first check this URL for a list of known bugs and (mis)features of IOCCC entries:
#
-# https://www.ioccc.org/bugs.md
+# https://www.ioccc.org/bugs.html
#
# GitHub pull requests are welcome! Please see the above URL for details.
#
diff --git a/README.html b/README.html
index 9b3b6b4da..9c4b2cee4 100644
--- a/README.html
+++ b/README.html
@@ -59,6 +59,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
@@ -153,8 +154,8 @@ obfuscations.
from obfuscare ‘to darken or obscure’ (see
obfuscate).
-
The original inspiration of the International Obfuscated C Code
Contest came from the Bourne Shell source and the finger(1)
@@ -207,7 +208,7 @@ some preprocessing such as:
having things such as includes and macros cluttering up the output. If
the entry requires or suggests the use of compile line options (such as
-Dindex=strchr) they should be added after the
--E flag. See the entry README.md and/or Makefile. For the
+-E flag. See the entry index.html and/or Makefile. For the
Makefiles look at the variable CDEFINE.
The next stage towards understanding is to use a C beautifier or C
indenting program on the source. Be warned that a number of these
@@ -231,13 +232,13 @@ required due to differing semantics between operating systems. If you
are able to successfully compile the program, experiment with it by
giving it different arguments or input. You may also use the Makefile
provided to compile the program. Look at the To build and
-Try sections at the top of the README.md for each entry as
+Try sections at the top of the index.html for each entry as
well. Keep in mind that C compilers often have bugs, or features which
result the program failing to compile. You may have to do some syntax
changing as we did to get old programs to compile on strict ANSI C
compilers.
Last, read the judges’ remarks/spoilers on the program. Hints for
-foo.c are given in README.md. Often they will
+foo.c are given in index.html. Often they will
contain suggested arguments or recommended data to use. Authors also
sometimes give spoilers.
If you do gain some understanding of how a program works, go back to
@@ -247,15 +248,14 @@ does.
Regarding the source archive:
Each sub-directory contains all the entries for a single year. Often
the file names match one of the last names of the author. Judges’ hints
-are given in files of the form README.md.
+are given in files of the form index.html.
You may need to tweak the Makefile to get everything to compile
-correctly. Read the README.md files for suggestions.
+correctly. Read the index.html files for suggestions.
The rules for a given year are given in the file named
rules.txt. Each archive contains a copy of the rules for
the upcoming contest.
The years.html web page the official archive
+of the winning entries.
Regarding the
distribution of sources:
All contest results are in the public domain. We do ask that you
@@ -264,9 +264,8 @@ observe the following request:
of doing the same. If some of these files and/or contest entries are
published in printed form, or if you use them in a business or classroom
setting, please let us know. We ask that you drop a line to the judges’
-email box. See https://www.ioccc.org/contact.html for instructions on
-how to send us a message.
+email box. See contact.html for instructions
+on how to send us a message.
Some final things to
remember:
While the idea for the contests has remained the same through the
@@ -290,9 +289,8 @@ of C compilers are used. See the contest rules for details.
sending any entries. The rules, and sometimes the contest email address
itself, change from time to time. A valid entry one year may be rejected
in a later year due to changes in the rules. See https://www.ioccc.org/index.html#enter for up to date
-information on how to enter.
+href="news.html">news.html for up to date information on how to
+enter.
Last, PLEASE don’t code in the style of these programs It is hoped
that you will gain an understanding that poor style destroys an
otherwise correct program. Real programmers don’t write obfuscated
@@ -305,18 +303,18 @@ entries GitHub repository are the official entries that won the
International Obfuscated C Code Contest (IOCCC), the
Internet’s oldest ongoing contest.
IMPORTANT NOTE: See contact.html for up to date contact details as
+href="contact.html">contact.html for up to date contact details as
well as details on how to provide fixes to any of the entries. See also
-the IOCCC FAQ for addition information on the
+the IOCCC FAQ for addition information on the
IOCCC.
+href="contact.html">send us a note about your use.
diff --git a/README.md b/README.md
index 0c3d0ac59..0ef2d4895 100644
--- a/README.md
+++ b/README.md
@@ -43,7 +43,7 @@ mealy-mouthed denials and obfuscations.
late Middle English: from late Latin **obfuscatio(n-)**, from **obfuscare**
'to darken or obscure' (see *obfuscate*).
-The official IOCCC web site is .
+The official IOCCC web site is [www.ioccc.org](https://www.ioccc.org).
## How it was started:
@@ -99,7 +99,7 @@ sed -e '/^#.*include/d' prog.c | cc -E
This strips away comments and expands the program's macros without having things
such as includes and macros cluttering up the output. If the entry requires or
suggests the use of compile line options (such as `-Dindex=strchr`) they should
-be added after the `-E` flag. See the entry README.md and/or Makefile. For the
+be added after the `-E` flag. See the entry index.html and/or Makefile. For the
Makefiles look at the variable `CDEFINE`.
The next stage towards understanding is to use a C beautifier or C indenting
@@ -124,13 +124,13 @@ compiler) or edit may be required due to differing semantics between operating
systems. If you are able to successfully compile the program, experiment with it
by giving it different arguments or input. You may also use the Makefile
provided to compile the program. Look at the `To build` and `Try` sections at
-the top of the README.md for each entry as well. Keep in mind that C compilers
+the top of the index.html for each entry as well. Keep in mind that C compilers
often have bugs, or features which result the program failing to compile. You
may have to do some syntax changing as we did to get old programs to compile on
strict ANSI C compilers.
Last, read the judges' remarks/spoilers on the program. Hints for `foo.c` are
-given in `README.md`. Often they will contain suggested arguments or
+given in `index.html`. Often they will contain suggested arguments or
recommended data to use. Authors also sometimes give spoilers.
If you do gain some understanding of how a program works, go back to the source
@@ -142,16 +142,15 @@ convince yourself of why the program does what it does.
Each sub-directory contains all the entries for a single year. Often the file
names match one of the last names of the author. Judges' hints are given in
-files of the form `README.md`.
+files of the form `index.html`.
You may need to tweak the Makefile to get everything to compile correctly. Read
-the README.md files for suggestions.
+the index.html files for suggestions.
The rules for a given year are given in the file named `rules.txt`. Each
archive contains a copy of the rules for the upcoming contest.
-The following URL is the official archive of the winning entries:
-.
+The [years.html](years.html) web page the official archive of the winning entries.
## Regarding the distribution of sources:
@@ -163,7 +162,7 @@ You may share these files with others, but please do not prevent them of
doing the same. If some of these files and/or contest entries are
published in printed form, or if you use them in a business or classroom
setting, please let us know. We ask that you drop a line to the
-judges' email box. See for instructions on
+judges' email box. See [contact.html](contact.html) for instructions on
how to send us a message.
@@ -189,7 +188,7 @@ details.
You are strongly encouraged to read the new contest rules before sending any
entries. The rules, and sometimes the contest email address itself, change from
time to time. A valid entry one year may be rejected in a later year due to
-changes in the rules. See for up to
+changes in the rules. See [news.html](news.html) for up to
date information on how to enter.
Last, PLEASE don't code in the style of these programs It is hoped that you will
@@ -206,9 +205,9 @@ The [official IOCCC entries GitHub repository](https://github.com/ioccc-src/winn
official entries that won the **International Obfuscated C Code Contest (IOCCC)**, the
Internet's oldest ongoing contest.
-**IMPORTANT NOTE**: See [contact.html](/contact.html) for up to date contact details
+**IMPORTANT NOTE**: See [contact.html](contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
-See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
+See also [the IOCCC FAQ](faq.html) for addition information on the IOCCC.
# Copyright and License
@@ -216,5 +215,5 @@ See also [the IOCCC FAQ](/faq.html) for addition information on the IOCCC.
Copyright (C) 2020,2023,2024 Landon Curt Noll. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
-If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
-(but do not require) if you were to [send us a note about your use](/contact.html).
+If you do use this work in some form, the [IOCCC judges](judges.html) would appreciate
+(but do not require) if you were to [send us a note about your use](contact.html).
diff --git a/archive/historic/README.md b/archive/historic/README.md
index f705f2e25..ed484440d 100644
--- a/archive/historic/README.md
+++ b/archive/historic/README.md
@@ -52,14 +52,14 @@ as modified by the IOCCC judges and winning authors
as of [2020 Dec 28](https://web.archive.org/web/20201228005211/https://www.ioccc.org/).
You might wish to note that the
-[archive/historic/archive-all.tar.bz2](/archive/historic/archive-all.tar.bz2) file
+[archive/historic/archive-all.tar.bz2](archive-all.tar.bz2) file
found in this archive produces a somewhat newer version of the
released IOCCC source for 1984, 1985, 1986 and 1987 in that the
-winners for those years were still found in single year directories. Thus the
-[archive/historic/archive-1984.tar.bz2](/archive/historic/archive-1984.tar.bz2),
-[archive/historic/archive-1985.tar.bz2](/archive/historic/archive-1985.tar.bz2),
-[archive/historic/archive-1986.tar.bz2](/archive/historic/archive-1986.tar.bz2),
-[archive/historic/archive-1987.tar.bz2](/archive/historic/archive-1987.tar.bz2),
+winning entries for those years were still found in single year directories. Thus the
+[archive/historic/archive-1984.tar.bz2](archive-1984.tar.bz2),
+[archive/historic/archive-1985.tar.bz2](archive-1985.tar.bz2),
+[archive/historic/archive-1986.tar.bz2](archive-1986.tar.bz2),
+[archive/historic/archive-1987.tar.bz2](archive-1987.tar.bz2),
zip2 compressed tarballs represent a somewhat earlier form of the
"_released_" IOCCC winning source for those years.
This a somewhat earlier set of IOCCC winning source may
diff --git a/archive/historic/index.html b/archive/historic/index.html
index 96bd17d78..a1e4fcb64 100644
--- a/archive/historic/index.html
+++ b/archive/historic/index.html
@@ -59,6 +59,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
-Derek Anderson Location: US - United
-States of America
+Derek Anderson
+author_handle: Derek_Anderson Location: US - United States of America
+(United States)
-Anonymous 1984 Location: US - United
-States of America
+Anonymous 1984
+author_handle: Anonymous_1984 Location: US - United States of America
+(United States)
-Anonymous 2001 Location: GB - United
-Kingdom of Great Britain and Northern Ireland (the)
+Anonymous 2001
+author_handle: Anonymous_2001 Location: GB - United Kingdom of Great Britain and
+Northern Ireland (United Kingdom)
-David Applegate Location: US - United
-States of America
+David Applegate
+author_handle: David_Applegate Location: US - United States of America
+(United States)
-Jack Applin Location: US - United States
-of America
+Jack Applin
+author_handle: Jack_Applin Location: US - United States of America
+(United States)
1985/applin - Best one
@@ -210,7 +232,9 @@ program
-Jari Arkko Location: SE - Sweden
+Jari Arkko author_handle:
+Jari_Arkko Location: SE -
+Kingdom of Sweden (Sweden)
1989/jar.1 - Strangest abuse of
@@ -220,16 +244,20 @@ the rules
Show
-Michael Ash Location: US - United States
-of America
+Michael Ash
+author_handle: Michael_Ash Location: US - United States of America
+(United States)
1991/buzzard - Best
@@ -278,14 +311,19 @@ Obfuscated Algorithm
Language Tool
-Doug Beardsley Location: US - United
-States of America
+Doug Beardsley
+author_handle: Doug_Beardsley Location: US - United States of America
+(United States)
-Daniel J. Bernstein Location: US -
-United States of America
+Daniel J.
+Bernstein author_handle: Daniel_J_Bernstein Location:
+US - United States of America
+(United States)
-Michael Birken Location: US - United
-States of America
+Michael Birken
+author_handle: Michael_Birken Location: US - United States of America
+(United States)
-Paul E. Black Location: US - United
-States of America
+Paul E. Black
+author_handle: Paul_E_Black Location: US - United States of America
+(United States)
-Philip Blakely Location: GB - United
-Kingdom of Great Britain and Northern Ireland (the)
+Philip Blakely
+author_handle: Philip_Blakely Location: GB - United Kingdom of Great Britain and
+Northern Ireland (United Kingdom)
2011/blakely - Most
@@ -350,8 +398,10 @@ devolving
expressions
-James Bonfield Location: GB - United
-Kingdom of Great Britain and Northern Ireland (the)
+James Bonfield
+author_handle: James_Bonfield Location: GB - United Kingdom of Great Britain and
+Northern Ireland (United Kingdom)
-Walter Bright Location: US - United
-States of America
+Walter Bright
+author_handle: Walter_Bright Location: US - United States of America
+(United States)
-Leonid A. Broukhis Location: US -
-United States of America
+Leonid A. Broukhis
+author_handle: Leonid_A_Broukhis Location: US - United States of America
+(United States)
-Brent Burley Location: US - United
-States of America
+Brent Burley
+author_handle: Brent_Burley Location: US - United States of America
+(United States)
-Dave Burton Location: US - United States
-of America
+Dave Burton
+author_handle: Dave_Burton Location: US - United States of America
+(United States)
2000/thadgavin - Most
@@ -463,8 +530,10 @@ Portable Output
C is for const
-Adrian Cable Location: US - United
-States of America
+Adrian Cable
+author_handle: Adrian_Cable Location: US - United States of America
+(United States)
2013/cable1 - Most partisan
@@ -474,16 +543,20 @@ States of America
system emulator
-Nicholas Carlini Location: US -
-United States of America
+Nicholas Carlini
+author_handle: Nicholas_Carlini Location: US - United States of America
+(United States)
-Raymond Cheong Location: US - United
-States of America
+Raymond Cheong
+author_handle: Raymond_Cheong Location: US - United States of America
+(United States)
2000/primenum - Best Abuse of
@@ -492,14 +565,19 @@ CPP
2018/ciura - Most likely to be
@@ -508,8 +586,10 @@ awarded
alphabetic
-Ian Collier Location: GB - United Kingdom
-of Great Britain and Northern Ireland (the)
+Ian Collier
+author_handle: Ian_Collier Location: GB - United Kingdom of Great Britain and
+Northern Ireland (United Kingdom)
2001/coupard - Most obfuscated
@@ -528,8 +609,10 @@ sound
D is for do
-John Dalbec Location: US - United States
-of America
+John Dalbec
+author_handle: John_Dalbec Location: US - United States of America
+(United States)
1996/dalbec - Best Numerical
@@ -538,45 +621,56 @@ Obfuscation
the Periodic Table
-Paul Dale Location: AU - Australia
+Paul Dale author_handle:
+Paul_Dale Location: AU -
+Commonwealth of Australia (Australia)
1991/cdupont - Most Useful
@@ -661,28 +767,35 @@ Label
E is for else
-Peter Eastman Location: US - United
-States of America
+Peter Eastman
+author_handle: Peter_Eastman Location: US - United States of America
+(United States)
-Yusuke Endoh Location: JP - Japan
+Yusuke Endoh
+author_handle: Yusuke_Endoh Location: JP - Japan
2012/endoh1 - Most complex
@@ -725,8 +838,10 @@ head-turning
F is for float
-Cody Boone Ferguson Location: US
-- United States of America
+Cody Boone
+Ferguson author_handle: Cody_Boone_Ferguson Location:
+US - United States of America
+(United States)
2018/ferguson - Best use of
@@ -737,46 +852,56 @@ on me award
enigmatic
-Tony Finch Location: GB - United Kingdom
-of Great Britain and Northern Ireland (the)
+Tony Finch author_handle:
+Tony_Finch Location: GB - United
+Kingdom of Great Britain and Northern Ireland (United
+Kingdom)
-Thomas A. Fine Location: US - United
-States of America
+Thomas A. Fine
+author_handle: Thomas_A_Fine Location: US - United States of America
+(United States)
-Thaddaeus Frogley Location: GB -
-United Kingdom of Great Britain and Northern Ireland (the)
+Thaddaeus Frogley
+author_handle: Thaddaeus_Frogley Location: GB - United Kingdom of Great Britain and
+Northern Ireland (United Kingdom)
2000/thadgavin - Most
@@ -786,22 +911,29 @@ Portable Output
G is for getc
-Anders Gavare Location: SE - Sweden
+Anders Gavare
+author_handle: Anders_Gavare Location: SE - Kingdom of Sweden
+(Sweden)
-Aaron Grothe Location: US - United
-States of America
+Aaron Grothe
+author_handle: Aaron_Grothe Location: US - United States of America
+(United States)
2006/grothe - Most Obfuscated
@@ -840,8 +980,10 @@ Audio
conspiratorial
-Andreas Gustafsson Location: FI -
-Finland
+Andreas
+Gustafsson author_handle: Andreas_Gustafsson
+Location: FI - Republic of Finland
+ (Finland)
1992/gson - Most Humorous
@@ -851,69 +993,88 @@ Output
H is for hypot
-Jim Hague Location: GB - United Kingdom of
-Great Britain and Northern Ireland (the)
+Jim Hague author_handle:
+Jim_Hague Location: GB - United
+Kingdom of Great Britain and Northern Ireland (United
+Kingdom)
-Paul Heckbert Location: US - United
-States of America
+Paul Heckbert
+author_handle: Paul_Heckbert Location: US - United States of America
+(United States)
-Robert Heckendorn Location: US -
-United States of America
+Robert Heckendorn
+author_handle: Robert_Heckendorn Location: US - United States of America
+(United States)
-Bruce Holloway Location: US - United
-States of America
+Bruce Holloway
+author_handle: Bruce_Holloway Location: US - United States of America
+(United States)
1986/holloway - Best simple
task performed in a complex way
-Jyrki Holopainen Location: FI -
-Finland
+Jyrki Holopainen
+author_handle: Jyrki_Holopainen Location: FI - Republic of Finland
+(Finland)
1993/lmfjyh - Most Versatile
@@ -947,22 +1113,28 @@ Source
Show
-Albert van der Horst Location:
-NL - Netherlands
+Albert van der
+Horst author_handle: Albert_van_der_Horst Location:
+NL - Kingdom of the Netherlands
+(Netherlands)
-Mary Ann Horton Location: US - United
-States of America
+Mary Ann Horton
+author_handle: Mary_Ann_Horton Location: US - United States of America
+(United States)
-Jonathan Hoyle Location: US - United
-States of America
+Jonathan Hoyle
+author_handle: Jonathan_Hoyle Location: US - United States of America
+(United States)
-Ken Huffman Location: US - United States
-of America
+Ken Huffman
+author_handle: Ken_Huffman Location: US - United States of America
+(United States)
1996/huffman - Best Obfuscated
@@ -1009,7 +1187,9 @@ Character Set Utility
-Joshua Karns Location: US - United
-States of America
+Joshua Karns
+author_handle: Joshua_Karns Location: US - United States of America
+(United States)
-Peter Klausler Location: US - United
-States of America
+Peter Klausler
+author_handle: Peter_Klausler Location: US - United States of America
+(United States)
-Ora Lassila Location: US - United States
-of America
+Ora Lassila
+author_handle: Ora_Lassila Location: US - United States of America
+(United States)
-Roemer B. Lievaart Location: NL -
-Netherlands
+Roemer B. Lievaart
+author_handle: Roemer_B_Lievaart Location: NL - Kingdom of the Netherlands
+(Netherlands)
-J. David Lowe Location: US - United
-States of America
+J. David Lowe
+author_handle: J_David_Lowe Location: US - United States of America
+(United States)
-Adrian Mariano Location: US - United
-States of America
+Adrian Mariano
+author_handle: Adrian_Mariano Location: US - United States of America
+(United States)
1990/theorem - Best of
@@ -1252,37 +1484,48 @@ Show
Educational
-Eric Marshall Location: US - United
-States of America
+Eric Marshall
+author_handle: Eric_Marshall Location: US - United States of America
+(United States)
-Ron McFarland Location: US - United
-States of America
+Ron McFarland
+author_handle: Ron_McFarland Location: US - United States of America
+(United States)
-Raphael Meyer Location: US - United
-States of America
+Raphael Meyer
+author_handle: Raphael_Meyer Location: US - United States of America
+(United States)
-Christopher Mills Location: US -
-United States of America
+Christopher Mills
+author_handle: Christopher_Mills Location: US - United States of America
+(United States)
-Christopher Night Location: US -
-United States of America
+Christopher Night
+author_handle: Christopher_Night Location: US - United States of America
+(United States)
-Jason Orendorff Location: US - United
-States of America
+Jason Orendorff
+author_handle: Jason_Orendorff Location: US - United States of America
+(United States)
-Nathan Otterness Location: US -
-United States of America
+Nathan Otterness
+author_handle: Nathan_Otterness Location: US - United States of America
+(United States)
2020/otterness - Most
@@ -1409,45 +1680,56 @@ percussive
P is for printf
-Michael H. Pawka Location: ZZ -
-Unknown location
+Michael H. Pawka
+author_handle: Michael_H_Pawka Location: ZZ - Unknown location
-Vern Paxson Location: US - United States
-of America
+Vern Paxson
+author_handle: Vern_Paxson Location: US - United States of America
+(United States)
-Timo Poikola Location: FI - Finland
+Timo Poikola
+author_handle: Timo_Poikola Location: FI - Republic of Finland
+(Finland)
2018/poikola - Most
@@ -1456,15 +1738,19 @@ stellar
calendrical
-Alexander Prishchepov Location:
-US - United States of America
+Alexander
+Prishchepov author_handle: Alexander_Prishchepov
+Location: US - United States of
+America (United States)
@@ -1476,44 +1762,57 @@ US - United States of America
R is for return
-Byron Rakitzis Location: US - United
-States of America
+Byron Rakitzis
+author_handle: Byron_Rakitzis Location: US - United States of America
+(United States)
-Robbert van Renesse Location: US
-- United States of America
+Robbert van
+Renesse author_handle: Robbert_van_Renesse Location:
+US - United States of America
+(United States)
-Gregor Richards Location: US - United
-States of America
+Gregor Richards
+author_handle: Gregor_Richards Location: US - United States of America
+(United States)
-Arch D. Robison Location: US - United
-States of America
+Arch D. Robison
+author_handle: Arch_D_Robison Location: US - United States of America
+(United States)
1988/robison - Best abuse of C
@@ -1525,24 +1824,30 @@ use of C
of strings
-Edward Rosten Location: GB - United
-Kingdom of Great Britain and Northern Ireland (the)
+Edward Rosten
+author_handle: Edward_Rosten Location: GB - United Kingdom of Great Britain and
+Northern Ireland (United Kingdom)
-Peter J Ruczynski Location: GB -
-United Kingdom of Great Britain and Northern Ireland (the)
+Peter J Ruczynski
+author_handle: Peter_J_Ruczynski Location: GB - United Kingdom of Great Britain and
+Northern Ireland (United Kingdom)
-Szymon Rusinkiewicz Location: US
-- United States of America
+Szymon
+Rusinkiewicz author_handle: Szymon_Rusinkiewicz
+Location: US - United States of
+America (United States)
1994/smr - Worst Abuse of the
@@ -1552,24 +1857,28 @@ Rules
-Craig Schneiderwent Location: US
-- United States of America
+Craig
+Schneiderwent author_handle: Craig_Schneiderwent
+Location: US - United States of
+America (United States)
-Carl Shapiro Location: US - United
-States of America
+Carl Shapiro
+author_handle: Carl_Shapiro Location: US - United States of America
+(United States)
1985/shapiro - Grand prize for
most well-rounded in confusion
-NATORI Shin Location: JP - Japan
+NATORI Shin
+author_handle: NATORI_Shin Location: JP - Japan
-Col. G. L. Sicherman Location: US -
-United States of America
+Col. G. L.
+Sicherman author_handle: Col_G_L_Sicherman Location:
+US - United States of America
+(United States)
-Nathan Sidwell Location: GB - United
-Kingdom of Great Britain and Northern Ireland (the)
+Nathan Sidwell
+author_handle: Nathan_Sidwell Location: GB - United Kingdom of Great Britain and
+Northern Ireland (United Kingdom)
-Andy Sloane Location: US - United States
-of America
+Andy Sloane
+author_handle: Andy_Sloane Location: US - United States of America
+(United States)
-Alan De Smet Location: US - United
-States of America
+Alan De Smet
+author_handle: Alan_De_Smet Location: US - United States of America
+(United States)
-Thomas Stewart Location: US - United
-States of America
+Thomas Stewart
+author_handle: Thomas_Stewart Location: US - United States of America
+(United States)
-Aidan Thornton Location: GB - United
-Kingdom of Great Britain and Northern Ireland (the)
+Aidan Thornton
+author_handle: Aidan_Thornton Location: GB - United Kingdom of Great Britain and
+Northern Ireland (United Kingdom)
-Scott Vokes Location: US - United States
-of America
+Scott Vokes
+author_handle: Scott_Vokes Location: US - United States of America
+(United States)
-Jay Vosburgh Location: US - United
-States of America
+Jay Vosburgh
+author_handle: Jay_Vosburgh Location: US - United States of America
+(United States)
1989/fubar - Best self-modifying
@@ -1811,8 +2165,9 @@ program
W is for while
-Larry Wall Location: US - United States of
-America
+Larry Wall author_handle:
+Larry_Wall Location: US - United
+States of America (United States)
1986/wall - Grand prize in most
@@ -1821,24 +2176,29 @@ well-rounded in confusion
Obfuscation
-Vincent Weaver Location: US - United
-States of America
+Vincent Weaver
+author_handle: Vincent_Weaver Location: US - United States of America
+(United States)
-Brian Westley Location: US - United
-States of America
+Brian Westley
+author_handle: Brian_Westley Location: US - United States of America
+(United States)
-Adar Zeitak Location: IL - Israel
+Adar Zeitak
+author_handle: Adar_Zeitak Location: IL - State of Israel
+(Israel)
2012/zeitak - Balanced use of
obfuscation - Gold award
-Matt Zucker Location: US - United States
-of America
+Matt Zucker
+author_handle: Matt_Zucker Location: US - United States of America
+(United States)
diff --git a/bin/README.md b/bin/README.md
index cdd180acc..75f406f45 100644
--- a/bin/README.md
+++ b/bin/README.md
@@ -1,11 +1,11 @@
# bin
-The directory holds [bin](README.md) directory
+The directory holds [bin](index.html) directory
holds tools that build files, such as HTML content, for the
[official IOCCC web site](https://www.ioccc.org).
-For HTML content, the [bin](README.md) directory tools
-makes use of HTML fragments from the [inc](../inc/README.md) directory
+For HTML content, the [bin](index.html) directory tools
+makes use of HTML fragments from the [inc](../inc/index.html) directory
as well as various JSON files and other content from the
[IOCCC GitHub repo](https://github.com/ioccc-src/temp-test-ioccc).
@@ -93,7 +93,7 @@ bin/gen-location.sh -v 1
### [gen-other-html.sh](gen-other-html.sh)
-Generate entry HTML files from markdown other than README.md to index.html HTML files.
+Generate entry HTML files from markdown other than index.html to index.html HTML files.
Usage:
@@ -124,12 +124,18 @@ bin/gen-top-html.sh -v 1
Examples of top level HTML pages built by this tool include:
-- [CODE_OF_CONDUCT.html](CODE_OF_CONDUCT.html)
-- [README.html](README.html)
-- [bugs.html](bugs.html)
-- [contact.html](contact.html)
-- [faq.html](faq.html)
-- [thanks-for-help.html](thanks-for-help.html)
+- [CODE_OF_CONDUCT.html](../CODE_OF_CONDUCT.html)
+- [archive/historic/index.html](../archive/historic/index.html)
+- [bin/index.html](../bin/index.html)
+- [bugs.html](../bugs.html)
+- [contact.html](../contact.html)
+- [faq.html](../faq.html)
+- [inc/index.html](../inc/index.html)
+- [index.html](../index.html)
+- [thanks-for-help.html](../thanks-for-help.html)
+- [judges.html](../judges.html)
+- [news.html](../news.html)
+- [thanks-for-help.html](../thanks-for-help.html)
### [gen-year-index.sh](gen-year-index.sh)
@@ -156,7 +162,7 @@ bin/gen-years.sh -v 1
### [ioccc-status.sh](ioccc-status)
-Updates the [status.json](/status.json) file.
+Updates the [status.json](../status.json) file.
### [manifest.entry.json.awk](manifest.entry.json.awk)
@@ -168,7 +174,7 @@ Output manifest table from a entry .entry.json file.
This is the primary tool that forms IOCCC generated HTML content from
markdown files (permanent markdown files or temporarily generated
-markdown files) and HTML fragments from the [inc](/inc) directory.
+markdown files) and HTML fragments from the [inc](../inc/index.html) directory.
The [../inc/md2html.cfg](../inc/md2html.cfg) configuration file is
used by [md2html.sh](md2html.sh) to drive the generation process.
@@ -198,11 +204,11 @@ Wrapper tool to run pandoc.
Runs [readme2index.sh](readme2index.sh) if the entry directory
does not have a non-empty `index.hmtl` file, or if either
-`.entry.json` or `README.md` is newer than the `index.hmtl` file.
+`.entry.json` or `index.html` is newer than the `index.hmtl` file.
This is useful when only a few entries have been
modified (resulting in an updated `.entry.json` file)
-or if the `README.md` of a few entries have been changed.
+or if the `index.html` of a few entries have been changed.
While the [readme2index.sh](readme2index.sh) take a few
seconds to run, when applied to 300+ entries,
@@ -218,7 +224,7 @@ bin/all-run.sh -v 3 bin/quick-readme2index.sh -v 1
**NOTE**: This command assumes that the relative
modification times for `index.hmtl`, .entry.json`,
-and `README.md` are correct. If in doubt, use:
+and `index.html` are correct. If in doubt, use:
```sh
bin/all-run.sh -v 3 bin/readme2index.sh -v 1
@@ -227,7 +233,7 @@ bin/all-run.sh -v 3 bin/readme2index.sh -v 1
### [readme2index.sh](readme2index.sh)
-Convert a entry README.md into entry directory index.html.
+Convert a entry index.html into entry directory index.html.
### [sgi.sh](sgi.sh)
@@ -337,15 +343,15 @@ site](https://www.ioccc.org).
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](../inc/README.md) directory.
+as well as HTML fragments from the [inc](../inc/index.html) directory.
-Most HTML content is built from permanant markdown files, such as a `README.md`
+Most HTML content is built from permanant markdown files, such as a `index.html`
markdown file found in each entry directory. Some HTML content are generated
from temporary markdown files. These temporary markdown files are produced by
-tools in the [bin](README.md) directory and exist only while the tool is running.
+tools in the [bin](index.html) directory and exist only while the tool is running.
In addition to converting markdown to HTML, the canonical way that HTML content is
-built uses, by default, files from the [inc](../inc/README.md) directory, of the form:
+built uses, by default, files from the [inc](../inc/index.html) directory, of the form:
```
*.default.html
@@ -522,17 +528,17 @@ and except 'after tool' output), or command will exit non-zero, unless -S is giv
only a warning about un-substituted tokens will be written to stderr.
-The command line of tools in the [bin](README.md) directory,
+The command line of tools in the [bin](index.html) directory,
and perhaps modified via [md2html config file](../inc/md2html.cfg) file may change
to using a different filename for a given phase.
-For example when forming the HTML from `2020/ferguson2/chocolate-cake.md`,
+For example when forming the HTML from `2020/ferguson2/chocolate-cake.html`,
a different "topnav" 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](../inc/md2html.cfg) file
-that refers to `2020/ferguson1/chocolate-cake.md` may specify use
+that refers to `2020/ferguson1/chocolate-cake.html` may specify use
of `topnav.up2index.html` instead of using the `topnav.default.html` default.
The HTML phase may be skipped resulting in no HTML output during a given phase.
@@ -551,7 +557,7 @@ on the [official IOCCC web site](https://www.ioccc.org).
These files are used to form **MOST** of the HTML content
on the [experimental web site](https://ioccc-src.github.io/temp-test-ioccc/).
-... and in particular files under [inc](../inc/README.md) that are of the form (called default HTML files) ...:
+... and in particular files under [inc](../inc/index.html) that are of the form (called default HTML files) ...:
```
*.default.html
@@ -567,7 +573,7 @@ not impact **MOST** of the HTML content.
# Why do we do not use certain well-known HTML technologies
You may wonder why we need these files in the first place.
-You may wonder why we even need the tools in the [bin](README.md) directory
+You may wonder why we even need the tools in the [bin](index.html) directory
when there other solutions available to form web pages.
@@ -724,7 +730,7 @@ The latter form is in case there are more than one anonymous author in a given
year.
NOTE: even if the directory name is not `anonymous` the above rules apply as in
-in the case of [2005/anon](/2005/anon/anon.c).
+in the case of [2005/anon](../2005/anon/anon.c).
Anonymous `author_handle`'s match this regexp:
@@ -775,7 +781,7 @@ Each `year` will have a file directory under it named:
```
The contents of the `.year` file is the year string of the directory. For
-instance, [2020/.year](/2020/.year) has the string: `2020`.
+instance, [2020/.year](,,/2020/.year) has the string: `2020`.
## `dir`
diff --git a/bin/gen-authors.sh b/bin/gen-authors.sh
index eb5d68980..b7fd235a3 100755
--- a/bin/gen-authors.sh
+++ b/bin/gen-authors.sh
@@ -49,7 +49,7 @@ shopt -s globstar # enable ** to match all files and zero or more directories an
# set variables referenced in the usage message
#
-export VERSION="1.1 2024-02-25"
+export VERSION="1.3 2024-03-04"
NAME=$(basename "$0")
export NAME
export V_FLAG=0
@@ -813,23 +813,44 @@ EOF
LOCATION_NAME=$("$LOCATION_TOOL" "$LOCATION_CODE" 2>/dev/null)
status="$?"
if [[ $status -ne 0 ]]; then
- echo "$0: ERROR: cannot determine location name for location ISO 3166 code: $LOCATION_CODE" 1>&2
+ echo "$0: ERROR: cannot determine location name" \
+ "for location ISO 3166 code: $LOCATION_CODE" 1>&2
exit 18
fi
if [[ -z $LOCATION_NAME ]]; then
- echo "$0: ERROR: location name for location ISO 3166 code: $LOCATION_CODE is empty: $LOCATION_NAME" 1>&2
+ echo "$0: ERROR: location name" \
+ "for location ISO 3166 code: $LOCATION_CODE is empty: $LOCATION_NAME" 1>&2
exit 19
fi
+ LOCATION_COMMON_NAME=$("$LOCATION_TOOL" -c "$LOCATION_CODE" 2>/dev/null)
+ status="$?"
+ if [[ $status -ne 0 ]]; then
+ echo "$0: ERROR: cannot determine location common name" \
+ "for location ISO 3166 code: $LOCATION_CODE" 1>&2
+ exit 20
+ fi
+ if [[ -z $LOCATION_COMMON_NAME ]]; then
+ echo "$0: ERROR: location common name" \
+ "for location ISO 3166 code: $LOCATION_CODE is empty: $LOCATION_COMMON_NAME" 1>&2
+ exit 21
+ fi
AUTHOR_HANDLE=$(output_author_handle "$filename")
if [[ -z $AUTHOR_HANDLE ]]; then
echo "$0: ERROR: author handle is empty in: $filename" 1>&2
- exit 20
+ exit 22
fi
# output author information
#
- echo "
"
+ else
+ echo "Location: [$LOCATION_CODE](location.html#$LOCATION_CODE) -" \
+ "_${LOCATION_NAME}_ (_${LOCATION_COMMON_NAME}_)"
+ fi
# output YYYY/dir set made bu this author
#
@@ -843,12 +864,12 @@ EOF
fi
else
echo "$0: ERROR: entry_id is not in YYYY_dir formmat: $entry_id" 1>&2
- exit 21
+ exit 23
fi
YYYY_DIR=$(echo "$ENTRY_ID" | tr _ /)
if [[ ! -d $YYYY_DIR ]]; then
echo "$0: ERROR: YYYY/dir is not a directory" 1>&2
- exit 22
+ exit 24
fi
# verify that the .entry.json file is a non-empty readable file
@@ -856,19 +877,19 @@ EOF
ENTRY_JSON="$YYYY_DIR/.entry.json"
if [[ ! -e $ENTRY_JSON ]]; then
echo "$0: ERROR: .entry.json does not exist: $ENTRY_JSON" 1>&2
- exit 23
+ exit 25
fi
if [[ ! -f $ENTRY_JSON ]]; then
echo "$0: ERROR: .entry.json is not a file: $ENTRY_JSON" 1>&2
- exit 24
+ exit 26
fi
if [[ ! -r $ENTRY_JSON ]]; then
echo "$0: ERROR: .entry.json is not a readable file: $ENTRY_JSON" 1>&2
- exit 24
+ exit 27
fi
if [[ ! -s $ENTRY_JSON ]]; then
echo "$0: ERROR: .entry.json is not a non-empty readable file: $ENTRY_JSON" 1>&2
- exit 25
+ exit 28
fi
if [[ $V_FLAG -ge 7 ]]; then
echo "$0: debug[7]: .entry.json: $ENTRY_JSON" 1>&2
@@ -879,7 +900,7 @@ EOF
AWARD=$(output_award "$ENTRY_JSON")
if [[ -z $AWARD ]]; then
echo "$0: ERROR: award not found in .entry.json: $ENTRY_JSON" 1>&2
- exit 27
+ exit 29
fi
# output the YYYY/dir entry for this author
diff --git a/bin/gen-location.sh b/bin/gen-location.sh
index 798952c3c..d90c9ccd2 100755
--- a/bin/gen-location.sh
+++ b/bin/gen-location.sh
@@ -49,7 +49,7 @@ shopt -s globstar # enable ** to match all files and zero or more directories an
# set variables referenced in the usage message
#
-export VERSION="1.0.1 2024-02-23"
+export VERSION="1.1 2024-03-04"
NAME=$(basename "$0")
export NAME
export V_FLAG=0
@@ -434,6 +434,16 @@ fi
exit 12
fi
+ # use the location tool to obtain the location common name
+ #
+ LOCATION_COMMON_NAME=$("$LOCATION_TOOL" -c "$LOCATION_CODE" 2>/dev/null)
+ status="$?"
+ if [[ $status -ne 0 ]]; then
+ echo "$0: ERROR: cannot determine location common name" \
+ "for location ISO 3166 code: $LOCATION_CODE" 1>&2
+ exit 13
+ fi
+
# found the number of authors at this location
#
AUTHOR_COUNT=$(find "$AUTHOR_DIR" -mindepth 1 -maxdepth 1 -type f -name '*.json' -print0 |
@@ -442,14 +452,18 @@ fi
sed -e 's/[[:space:]]*//')
if [[ -z $AUTHOR_COUNT || $AUTHOR_COUNT -le 0 ]]; then
echo "$0: ERROR: author count was zero for location: $LOCATION_CODE" 1>&2
- exit 13
+ exit 14
fi
# output markdown entry for this location
#
- echo "* $LOCATION_CODE - $LOCATION_NAME"
+ if [[ $LOCATION_NAME == $LOCATION_COMMON_NAME ]]; then
+ echo "* **$LOCATION_CODE** - _${LOCATION_NAME}_"
+ else
+ echo "* **$LOCATION_CODE** - _${LOCATION_NAME}_ (_${LOCATION_COMMON_NAME}_)"
+ fi
echo
- echo " Author count: $AUTHOR_COUNT"
+ echo " Author count: **$AUTHOR_COUNT**"
echo
# process each author_handle JSON files with this location in sort_word order
diff --git a/bin/index.html b/bin/index.html
index 9c12c4df2..c6b4116ab 100644
--- a/bin/index.html
+++ b/bin/index.html
@@ -59,6 +59,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
@@ -103,11 +104,11 @@
bin
-
The directory holds bin directory holds tools
-that build files, such as HTML content, for the The directory holds bin directory holds
+tools that build files, such as HTML content, for the official IOCCC web site.
-
For HTML content, the bin directory tools
-makes use of HTML fragments from the inc
+
For HTML content, the bin directory tools
+makes use of HTML fragments from the inc
directory as well as various JSON files and other content from the IOCCC GitHub
repo.
This is the primary tool that forms IOCCC generated HTML content from
markdown files (permanent markdown files or temporarily generated
-markdown files) and HTML fragments from the inc
-directory.
+markdown files) and HTML fragments from the inc directory.
Runs readme2index.sh if the entry
directory does not have a non-empty index.hmtl file, or if
-either .entry.json or README.md is newer than
+either .entry.json or index.html is newer than
the index.hmtl file.
This is useful when only a few entries have been modified (resulting
in an updated .entry.json file) or if the
-README.md of a few entries have been changed.
+index.html of a few entries have been changed.
While the readme2index.sh take a few
seconds to run, when applied to 300+ entries, the extra time can add
up.
NOTE: This command assumes that the relative
modification times for index.hmtl,
-.entry.json, andREADME.md` are correct. If in doubt,
+.entry.json, andindex.html` are correct. If in doubt,
use:
We sort with lines starting with # first. We sort with lines starting
@@ -295,16 +303,16 @@ href="https://www.ioccc.org">official IOCCC web site.
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.
+href="../inc/index.html">inc directory.
Most HTML content is built from permanant markdown files, such as a
-README.md markdown file found in each entry directory. Some
-HTML content are generated from temporary markdown files. These
+index.html markdown file found in each entry directory.
+Some HTML content are generated from temporary markdown files. These
temporary markdown files are produced by tools in the bin directory and exist only while the tool is
+href="index.html">bin directory and exist only while the tool is
running.
In addition to converting markdown to HTML, the canonical way that
HTML content is built uses, by default, files from the inc directory, of the form:
+href="../inc/index.html">inc directory, of the form:
The command line of tools in the bin
directory, and perhaps modified via md2html
config file file may change to using a different filename for a
given phase.
For example when forming the HTML from
-2020/ferguson2/chocolate-cake.md, a different “topnav”
+2020/ferguson2/chocolate-cake.html, a different “topnav”
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 file that refers to
-2020/ferguson1/chocolate-cake.md may specify use of
+2020/ferguson1/chocolate-cake.html may specify use of
topnav.up2index.html instead of using the
topnav.default.html default.
The HTML phase may be skipped resulting in no HTML output during a
@@ -465,7 +473,7 @@ href="https://www.ioccc.org">official IOCCC web site.
… 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
@@ -478,7 +486,7 @@ instead. That way your special case situation will not impact
Why
do we do not use certain well-known HTML technologies
You may wonder why we need these files in the first place. You may
-wonder why we even need the tools in the bin
+wonder why we even need the tools in the bin
directory when there other solutions available to form web pages.
Static web
pages only
@@ -606,7 +614,7 @@ forms:
in a given year.
NOTE: even if the directory name is not anonymous the
above rules apply as in in the case of 2005/anon.
+href="../2005/anon/anon.c">2005/anon.
Anonymous author_handle’s match this regexp:
Anonymous_[0-9][0-9][0-9][0-9][.0-9]*$
entry
@@ -635,7 +643,7 @@ directory.
Each year will have a file directory under it named:
.year
The contents of the .year file is the year string of the
-directory. For instance, 2020/.year has the
+directory. For instance, 2020/.year has the
string: 2020.
dir
A dir is a POSIX safe string that holds an entry.
diff --git a/bin/output-index-author.sh b/bin/output-index-author.sh
index 1c7a3be97..84762129c 100755
--- a/bin/output-index-author.sh
+++ b/bin/output-index-author.sh
@@ -55,7 +55,7 @@ shopt -s globstar # enable ** to match all files and zero or more directories an
# set variables referenced in the usage message
#
-export VERSION="1.4.1 2024-02-23"
+export VERSION="1.5 2024-03-04"
NAME=$(basename "$0")
export NAME
export V_FLAG=0
@@ -561,6 +561,20 @@ if [[ ! -x $PANDOC_WRAPPER ]]; then
exit 5
fi
+# find the location tool
+#
+LOCATION_TOOL=$(type -P location)
+if [[ -z $LOCATION_TOOL ]]; then
+ # guess we have a location tool in bin
+ #
+ LOCATION_TOOL="$BIN_DIR/location"
+fi
+if [[ ! -x $LOCATION_TOOL ]]; then
+ echo "$0: ERROR: cannot find the location executable" 1>&2
+ echo "$0: notice: location tool comes from this repo: https://github.com/ioccc-src/mkiocccentry" 1>&2
+ exit 5
+fi
+
# parameter debugging
#
if [[ $V_FLAG -ge 3 ]]; then
@@ -590,6 +604,7 @@ if [[ $V_FLAG -ge 3 ]]; then
echo "$0: debug[3]: DOT_YEAR=$DOT_YEAR" 1>&2
echo "$0: debug[3]: DOT_PATH=$DOT_PATH" 1>&2
echo "$0: debug[3]: ENTRY_JSON=$ENTRY_JSON" 1>&2
+ echo "$0: debug[3]: LOCATION_TOOL=$LOCATION_TOOL" 1>&2
fi
# Set AUTHOR_HANDLE_SET with author handles from .entry.json
@@ -745,14 +760,39 @@ for author_handle in $AUTHOR_HANDLE_SET; do
exit 13
fi
+ # use the location tool to obtain the location_name
+ #
+ LOCATION_NAME=$("$LOCATION_TOOL" "$LOCATION_CODE" 2>/dev/null)
+ status="$?"
+ if [[ $status -ne 0 ]]; then
+ echo "$0: ERROR: cannot determine location name for location ISO 3166 code: $LOCATION_CODE" 1>&2
+ exit 14
+ fi
+
+ # use the location tool to obtain the location common name
+ #
+ LOCATION_COMMON_NAME=$("$LOCATION_TOOL" -c "$LOCATION_CODE" 2>/dev/null)
+ status="$?"
+ if [[ $status -ne 0 ]]; then
+ echo "$0: ERROR: cannot determine location common name" \
+ "for location ISO 3166 code: $LOCATION_CODE" 1>&2
+ exit 15
+ fi
+
# write this author's information
#
{
echo "* Name: [$FULL_NAME](${DOCROOT_SLASH}authors.html#$author_handle) "
if [[ $LOCATION_CODE == null ]]; then
- echo "Location: [unknown](${DOCROOT_SLASH}location.html#$LOCATION_CODE)"
+ echo "Location: [unknown](${DOCROOT_SLASH}location.html#$LOCATION_CODE) - _${LOCATION_NAME}_"
else
- echo "Location: [$LOCATION_CODE](${DOCROOT_SLASH}location.html#$LOCATION_CODE)"
+ if [[ $LOCATION_NAME == $LOCATION_COMMON_NAME ]]; then
+ echo "Location: [$LOCATION_CODE](${DOCROOT_SLASH}location.html#$LOCATION_CODE) -" \
+ "_${LOCATION_NAME}_"
+ else
+ echo "Location: [$LOCATION_CODE](${DOCROOT_SLASH}location.html#$LOCATION_CODE) -" \
+ "_${LOCATION_NAME}_ (_${LOCATION_COMMON_NAME}_)"
+ fi
fi
echo "
"
} | if [[ -z $NOOP ]]; then
diff --git a/bin/subst.entry-index.sh b/bin/subst.entry-index.sh
index e755b7d43..1cc7cd09c 100755
--- a/bin/subst.entry-index.sh
+++ b/bin/subst.entry-index.sh
@@ -58,7 +58,7 @@ shopt -s globstar # enable ** to match all files and zero or more directories an
# set variables referenced in the usage message
#
-export VERSION="1.2.2 2024-02-25"
+export VERSION="1.3 2024-03-02"
NAME=$(basename "$0")
export NAME
export V_FLAG=0
@@ -477,7 +477,7 @@ echo "KEYWORDS=IOCCC, $YEAR_DIR, IOCCC $YEAR_DIR, IOCCC entry, $ENTRY_DIR, $AWAR
echo "-s"
echo "HEADER_2=$YYYY_DIR - $AWARD"
-# output topnav links
+# output topnav left hand side links
#
awk -v entry_path="$YYYY_DIR" -f "$ENTRY_NAVBAR_AWK" "$DOT_YEAR"
status="$?"
@@ -486,6 +486,28 @@ if [[ $status -ne 0 ]]; then
exit 1
fi
+# output topnav right hand side links
+#
+echo "-s"
+if [[ -f $YYYY_DIR/$ENTRY_DIR.c ]]; then
+ echo "PROG_LINK=$REPO_URL/$YYYY_DIR/$ENTRY_DIR.c"
+elif [[ -f $YYYY_DIR/prog.c ]]; then
+ echo "PROG_LINK=$REPO_URL/$YYYY_DIR/prog.c"
+else
+ echo "$0: ERROR: cannot determine source code file for: $YYYY_DIR" 1>&2
+ exit 7
+fi
+echo "-s"
+echo "PROG_TEXT=C code"
+echo "-s"
+echo "MAKEFILE_LINK=$REPO_URL/$YYYY_DIR/Makefile"
+echo "-s"
+echo "MAKEFILE_TEXT=Makefile"
+echo "-s"
+echo "INVENTORY_LINK=#inventory"
+echo "-s"
+echo "INVENTORY_TEXT=Inventory"
+
# All Done!!! -- Jessica Noll, Age 2
#
exit 0
diff --git a/bin/subst.entry-navbar.awk b/bin/subst.entry-navbar.awk
index 961a92733..69cbe7184 100755
--- a/bin/subst.entry-navbar.awk
+++ b/bin/subst.entry-navbar.awk
@@ -22,7 +22,7 @@ BEGIN {
# setup
#
- VERSION="1.1 2024-01-29"
+ VERSION="1.2 2024-03-02"
process_next_line = 0; # 1 ==> we found our entry_path, now process the next line
found_entry_path = 0; # 1 ==> we found our entry_path
prev_line = ""; # the previous YYYY/dir line
@@ -149,13 +149,6 @@ END {
exit 210; # use 210 to match length(entry_path) == 0 error in the BEGIN section
}
- # output inventory link information
- #
- print "-s";
- print "INVENTORY_LINK=#inventory";
- print "-s";
- print "INVENTORY_TEXT=Inventory";
-
# case: we did not find our entry_path
#
if (!found_entry_path) {
diff --git a/bin/subst.year-index.sh b/bin/subst.year-index.sh
index b66982860..de3d218e0 100755
--- a/bin/subst.year-index.sh
+++ b/bin/subst.year-index.sh
@@ -58,7 +58,7 @@ shopt -s globstar # enable ** to match all files and zero or more directories an
# set variables referenced in the usage message
#
-export VERSION="1.0.1 2024-02-23"
+export VERSION="1.1 2024-03-02"
NAME=$(basename "$0")
export NAME
export V_FLAG=0
@@ -460,7 +460,7 @@ echo "KEYWORDS=IOCCC, $YEAR_DIR, IOCCC $YEAR_DIR, IOCCC entry, The $ORDINAL IOCC
echo "-s"
echo "HEADER_2=$YEAR_DIR - The $ORDINAL IOCCC"
-# output topnav links
+# output topnav left hand side links
#
awk -v year_arg="$YEAR_DIR" -f "$YEAR_NAVBAR_AWK" "$TOP_FILE"
status="$?"
@@ -469,6 +469,13 @@ if [[ $status -ne 0 ]]; then
exit 1
fi
+# output topnav right hand side links
+#
+echo "-s"
+echo "INVENTORY_LINK=#inventory"
+echo "-s"
+echo "INVENTORY_TEXT=Inventory"
+
# All Done!!! -- Jessica Noll, Age 2
#
exit 0
diff --git a/bin/subst.year-navbar.awk b/bin/subst.year-navbar.awk
index c67d19647..094a9bec0 100755
--- a/bin/subst.year-navbar.awk
+++ b/bin/subst.year-navbar.awk
@@ -21,7 +21,7 @@ BEGIN {
# setup
#
- VERSION="1.0 2024-02-11"
+ VERSION="1.1 2024-03-02"
process_next_line = 0; # 1 ==> we found our year_arg, now process the next line
found_year_arg = 0; # 1 ==> we found our year_arg
prev_line = ""; # the previous YYYY line
@@ -108,13 +108,6 @@ END {
exit 210; # use 210 to match length(year_arg) == 0 error in the BEGIN section
}
- # output inventory link information
- #
- print "-s";
- print "INVENTORY_LINK=#inventory";
- print "-s";
- print "INVENTORY_TEXT=Inventory";
-
# case: we did not find our year_arg
#
if (!found_year_arg) {
diff --git a/bugs.html b/bugs.html
index 0211b7388..899c15b93 100644
--- a/bugs.html
+++ b/bugs.html
@@ -59,6 +59,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
@@ -113,16 +114,12 @@ bugs.
(mis)FEATURES in IOCCC entries.
Can you fix/improve entries not under the INABIAF (it’s not a bug
it’s a feature)? You are VERY WELCOME to try.
-
NOTE: currently this file is mostly for us. We are not yet ready for
-help except for dead links and missing files. We will remove this notice
-when this changes. We will note this below for each status we’re not yet
-ready for help with.
As far as how to help: please submit your fixes in a GitHub pull
request (with ONE PULL REQUEST PER FIX, please)!
We will be happy to credit anyone who submits successful GitHub pull
-requests in the thanks
+requests in the thanks
file. If you’re the author of an entry that win the IOCCC, we will add a
link to your winning entries in the file (if you’re not an author, we
can add a link to your GitHub page or personal website if you have one,
@@ -135,11 +132,11 @@ sure the format is consistent and clean.
If you’re the author of an entry that has been fixed and you find it
against your liking PLEASE let us know and we’ll be
happy to undo any fixes even if it takes away some instructional value
-or even usability. _In this case we’re VERY SORRY_
-about it: it’s a fine line, we know, and we tried to use careful
-judgement but invariably some might have been the wrong decision. Thank
-you for understanding!
I (Cody Boone
Ferguson) accept the blame in some cases; when working on getting
entries to compile sometimes I got carried away with it and there might
be that I fixed some things that should not have been fixed. I am
@@ -156,13 +153,13 @@ happened to us. Sometimes it is okay: some entries are known to not work
but they can still have improvements (rarer situation but it’s
happened). Some might have slightly different output but which is not a
problem for instance a newline after output in Cody Boone Ferguson’s
+href="authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson’s
changing it to 1994/ldb use
fgets() from gets().
-
Make ABSOLUTE CERTAIN that you read the README.md
+
Make ABSOLUTE CERTAIN that you read the index.html
file BEFORE your changes as it’s important to see that the code
is doing what it is supposed to. In the case that it’s not obvious (some
-README.md files do not even have commands to try or even explain how to
+index.html files do not even have commands to try or even explain how to
use it!) then you should either skip the entry OR ask someone who will
know e.g. us.
Make ABSOLUTE CERTAIN that you read the next
@@ -179,28 +176,12 @@ more than fine (and it has been done numerous times).
id="list-of-statuses---please-read-before-fixing-you-may-skip-if-youre-only-interested-in-knowing-about-entries-with-known-issues">LIST
OF STATUSES - PLEASE READ BEFORE FIXING (you may skip if you’re only
interested in knowing about entries with known issues)
-
NOTE: when going through the entries you can skip to the next entry
-(some are detailed explanations) by searching for
-^## STATUS: in your editor (or searching for it - probably
-without the ^ in your browser). For a specific year try
-^# YYYY where YYYY is the year as a
-number.
Entries below have one or more of the following
STATUS values. Please see the text below for
more information. If an entry has more than one status it means that
either they all apply or they compliment each other. For instance 2004/gavin crashes but it also doesn’t
even compile with some platforms/architectures.
-
Cody Boone Ferguson
-has been working on resolving these issues and has fixed many but you’re
-welcome to have a go at it too (though he’ll be very sad if he doesn’t
-have a chance to at first fix it :-( so you might want to hold off for
-now :-) .. or not :-) ). He hopes to have most of the remaining entries
-resolved in the near future but nevertheless if you’re okay making
-people very sad you may have a go at the entries :-) Yusuke Endoh has also fixed a
-number of entries though at this point he does not know it. :-) Cody
-will remove this part later on.
General notes
about the statuses and making fixes
Compiler warnings
@@ -218,7 +199,7 @@ different data 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 when Cody Boone Ferguson fixed
+href="authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson fixed
the segfault in macOS of 1989/paul:
changing the int * to a long * was required
and it works just as well with linux.
@@ -260,16 +241,13 @@ Thank you!
CLOSE TO THE ORIGINAL AS POSSIBLE. This might not always be
possible and if you have an editor that does formatting it can cause
problems. Sometimes formatters can even break code! Cody Boone Ferguson has
+href="authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson has
experienced this many times with vim so he tends to disable all format
options when formatting code. In vim you should be able to do that
with:
:set formatoptions=
STATUS: known bug -
please help us fix
-
NOTE: we’re still locating entries and working on fixes with this
-status so we’re not yet ready for help. We will remove this when we
-are.
Entries with this status have one or more bugs that need to be fixed.
Are you able to fix it? We welcome your help!
An important point to note is that there is a very fine line when
@@ -281,9 +259,6 @@ please!
id="status-possible-bug-possibly-depending-on-system---please-help-test-and-if-necessary-fix">STATUS:
possible bug (possibly depending on system) - please help test and if
necessary fix
-
NOTE: we’re still locating entries and working on fixes with this
-status so we’re not yet ready for help. We will remove this when we
-are.
Entries with this status might or might not have a bug possibly
depending on the system. In these entries it’s unknown if there is a bug
and sometimes it’s because we do not remember and sometimes we don’t
@@ -292,9 +267,6 @@ problems.
STATUS:
might not be completely functional - can you confirm?
-
NOTE: we’re still locating entries and working on fixes with this
-status so we’re not yet ready for help. We will remove this when we
-are.
Although these entries appear to work for one or more
reasons we’re unsure if they are completely functional. Can you confirm
this? Please let us know so we can fix it!
@@ -302,27 +274,18 @@ this? Please let us know so we can fix it!
id="status-probable-bug-possibly-depending-on-system---please-help-test-and-if-necessary-fix">STATUS:
probable bug (possibly depending on system) - please help test and if
necessary fix
-
NOTE: we’re still locating entries and working on fixes with this
-status so we’re not yet ready for help. We will remove this when we
-are.
Entries with this status almost certainly have a bug or some other
problem. The issue or issues might depend on the system much like the
above STATUS: possible bug (possibly depending on system).
STATUS:
doesn’t work with some platforms - please help us fix
-
NOTE: we’re still locating entries and working on fixes with this
-status so we’re not yet ready for help. We will remove this when we
-are.
Entries with this status do not work under some OSes and/or
architectures (and/or something else?). Please help us to fix it!
STATUS:
doesn’t work with some compilers - please provide alternative code or
fix for more compilers
-
NOTE: we’re still locating entries and working on fixes with this
-status so we’re not yet ready for help. We will remove this when we
-are.
Some entries do not work with some compilers. A good example is 1992/lush which uses error messages from the
compiler to generate its output.
@@ -350,7 +313,7 @@ allowed in earlier C. Some compilers like clang have a defect where they
do not allow this and some versions have an additional defect where they
only allow 0, 2 or 3 args, the latter of which affected
1989/westley, so these entries do not work with clang.
-
Cody Boone Ferguson
looked at the source code of clang and reported that there is no way to
override the requirement of arg types so these entries will fail to
compile with clang. That’s why in some entries he fixed he did it by
@@ -387,9 +350,6 @@ possible that not all were checked) that has this problem but it’s not
as simple as the others to fix without breaking it.
STATUS:
compiled executable crashes - please help us fix
-
NOTE: we’re still locating entries and working on fixes with this
-status so we’re not yet ready for help. We will remove this when we
-are.
While such entries can compile, the resulting executable sometimes or
always crashes.
NOTE: this does NOT apply to entries under the INABIAF status (though
@@ -399,12 +359,9 @@ they’re not mutually exclusive in some cases).
that will help with debugging symbols.
STATUS: uses
gets() - change to fgets() if possible
-
NOTE: we’re still locating entries and working on fixes with this
-status so we’re not yet ready for help. We will remove this when we
-are.
Entries with this status use gets() which is unsafe
because it has no limit on the length of the string. Cody Boone Ferguson has
+href="authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson has
fixed several of these and he’s working on others in between fixing
other things.
There’s a very good reason for this even though it is bordering on
@@ -456,7 +413,7 @@ author (unless you are the author! :-) ).
make rules - please provide them
In these entries one or more make rules noted by the author and/or
judges is/are missing. You might consider looking at the archive as a good place to find them.
+href="archive">archive as a good place to find them.
STATUS:
missing or dead link - please provide them
This is as they sound: a link is either missing or it’s no longer
@@ -491,7 +448,7 @@ 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
-and the FAQ for a version that works in modern
+and the FAQ 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 might be
@@ -500,7 +457,7 @@ Landon Curt Noll. Run the alternate code to understand why this might be
href="2019/endoh/endoh.c">2019/endoh is supposed to crash. There are
others that are also supposed to crash or that are known to segfault but
are considered features.
-
An important note is that if the README.md of the entry has a bug
+
An important note is that if the index.html of the entry has a bug
status that says it can be fixed it can be. Otherwise it should not
be.
Nonetheless we challenge you to fix these entries for
@@ -521,33 +478,33 @@ prefer your own fix or suggest that they’re fixed!
List
of entries by year, sorted in alphabetical order per year
Although there is an alt version and supplementary program added by
Cody 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 README.md for details on the
-alternate versions.
+original entry on it will not work. See the index.html for details on
+the alternate versions.
Cody added and fixed the gentab.c which is from the author’s
(or one of them, Mullender) remarks found by Cody. Cody fixed this to
@@ -555,64 +512,64 @@ compile and work (as best as he can determine: he has no VAX-11 or
PDP-11 or emulator to test it) but running the code on the binary itself
produces a short[] that can compile in modern systems
though it’ll not work.
-
1985
+
1985
There are no known bugs and (Mis)features for entries in 1985.
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 and does not crash.
If you use either fubar or ouroboros.c
-(it’s executable, see README.md for details) with a number < 0 or
+(it’s executable, see index.html for details) with a number < 0 or
larger than, say 20, it’s very likely that the program will turn into an
infinite loop trying to compile code with syntax errors.
If you want to try and fix this (mis)feature, you are welcome to
try.
This program will very likely crash or break into tiny bits :-) if
you feed it numbers with non-binary digits.
There are also other cases where this can happen for instance using
unsupported operators like /. To see what operators are
supported check the source code.
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 be compiled with clang. An example invocation
@@ -622,7 +579,7 @@ is:
changing/fixing this program
It should be noted that in additional to rot13 names there is code
that is the reverse of other code (also wrt names). See the source file
-and the README.md (in the author’s remarks) for more details.
+and the index.html (in the author’s remarks) for more details.
Fixing the (Mis)feature is likely to be a very difficult challenge
especially without breaking something else which is far more likely (see
below in tips from Cody). You are welcome to try and fix it if you
@@ -655,13 +612,13 @@ expect.
The comments are processed too. Furthermore it happens that the last
line becomes the first and the first line becomes the last! Now if you
look at the code you’ll see on the first line:
Observe that the ROT13 of pain is cnva and
the ROT13 of main is znva. The ROT13 of
NOON is ABBA. vag is ROT13 of
@@ -684,7 +641,7 @@ not!
comments!
main() is in there somewhere and that had to be changed
to call pain() (see the thanks file (see the
+href="thanks-for-help.html#1989_westley">thanks file (see the
1989/westley section for details on how as this was not as
straight forward as it is for other entries) as well. Now if you notice
on that line you have in a comment niam. If you were to
@@ -711,14 +668,14 @@ versions with clang but I then carried it over to gcc in another system
and it had syntax errors.
That’s about all I can say for how it works as other things have to
be done too. Enjoy! :-)
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 more time and resources to run as well. For
@@ -778,18 +735,18 @@ instance:
1812655721857./baruch 37496.97s user 58.50s system 99% cpu 10:27:48.29 total
Cody
-Boone Ferguson fixed some issues in this program and Yusuke Endoh
-provided the btoa script but it appears there is a bug in
-this entry. The judges wrote that to test the entry one can do:
Cody Boone Ferguson
+fixed some issues in this program and Yusuke Endoh provided the
+btoa script but it appears there is a bug in this entry.
+The judges wrote that to test the entry one can do:
which should apply the identity transformation to a minimal
@@ -812,55 +769,55 @@ class="sourceCode sh">shark.sh has some issues
+
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 defeat the purpose. This would ideally be fixed.
Cody Boone Ferguson
fixed many bugs that prevented this from working properly (including
segfaults) but one thing to note is that if you pass two zeroes to
theorem_bkp or fibonacci the program will
enter an infinite loop, printing 0 over and over again; another
condition where this occurred was fixed but this one should not be
fixed. Thank you.
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) file does not exist in the directory, this program
will very likely crash.
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 you’re caught’. :-)
@@ -868,14 +825,14 @@ cheating unless you’re caught’. :-)
documented as a possibility. Can you find out how? There’s also a way to
make it so that even when you’re cheating it ends up winning! Can you
figure that out as well?
-
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. However this was instead fixed by Cody as part of another problem
@@ -897,13 +854,13 @@ at all! So this code should not be changed either even if it appears to
be wrong. Notice too a curious thing: if you did change it to fprintf,
even if you have the right number of args, you’d have to remove the
outer () pair.
Leo Broukhis, before he was an IOCCC judge, sent the IOCCC judges an
email:
From: leo _at_ zycad -dot- com (Leo Broukhis)
@@ -917,7 +874,7 @@ albert.c (even in its fixed form) still has a bug. Although I don't
remember the number that exposed the bug (afair, resulting in coredump)
in albert.orig.c that has been fixed in albert.c,
-I've found a number exposing another bug: 10000000001 (that's 9 0's).
+ 've found a number exposing another bug: 10000000001 (that's 9 0's).
Both albert and albert.orig loop without printing anything, although
the first factor is 101 and is usually found in an instant.
A quick debugging session from Cody suggests that the problem with
@@ -944,13 +901,13 @@ code:
The alt version does fix the problem but it is not obfuscated and not
like the entry itself. Can you fix the actual entry? You are welcome to
try and do so.
-
1992 gson
+
1992/gson
STATUS: uses
gets() - change to fgets() if possible
Cody changed it so that the buffer size is ARG_MAX+1 to
try and get past the problem of gets() being used in a more
complex way.
@@ -970,29 +927,29 @@ especially since the command expects redirecting a dictionary file as
part of the command line. This also makes it possible for longer strings
to be read (in case the gets(3) was not used in a
loop).
-
When you start the program everything starts to move over to the
-right side and then ends. Yusuke
+right side and then ends. Yusuke
Endoh pointed out that if you click the mouse it takes it back
towards the centre.
If you want to try and fix this (mis)feature, you are welcome to
try.
-
1992 lush
+
1992/lush
STATUS:
doesn’t work with some compilers - please provide alternative code or
fix for more compilers
We used a patch from Yusuke
Endoh to get this to work but it only works with gcc. Cody removed
the warnings of gets() and provided a script to run the
entry properly.
@@ -1054,24 +1011,24 @@ different.
The entry is supposed to show warnings and then print:
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 it yourself through ctrl-c or killing it
in some other fashion.
Cody improved the usability of this program by making it so that as
long as the terminal columns is >= 80 it will display properly,
rather than having to wrap at 80 columns. However due to the nature of
@@ -1093,13 +1050,13 @@ before any changes. This might be a misunderstanding or it might be that
having 80 columns (resized) does not count (though the output before the
fix of the 80 column requirement showed was correct when at 80-columns
so it seems like this could be a bug if not a misunderstanding).
When you initiate shooting via the s command you
immediately lose an arrow before you choose where to shoot.
When you shoot it will move you to that room so if you end up
shooting into a pit room you will end up dying even though you didn’t
explicitly move there.
Cody Boone Ferguson
fixed this to compile with modern systems (see the thanks file for what had to change) but
+href="thanks-for-help.html">thanks file for what had to change) but
the entry also used gets() which in some systems would
print out a warning along with the output of the program. Naturally it
could also overflow long lines. Cody changed it to fgets()
@@ -1221,16 +1180,16 @@ namely that newlines can be printed if the line length < 231.
although it would be ideal for it to never print a newline unless that’s
the line itself it might be tampering too much with the entry as it’s
not a real problem and as a one liner it’s already quite long.
-
1994 schnitzi
+
1994/schnitzi
STATUS: uses
gets() - change to fgets() if possible
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
-README.md for details. Increasing the buffer size and having it, when
+index.html for details. Increasing the buffer size and having it, when
fed its own source code, generate code that will compile with the same
buffer size is difficult: it just uses the original size. Cody explains
this further down.
@@ -1241,12 +1200,12 @@ own code it will generate code that cannot even compile let alone use
fgets(3), will cause compilation errors without other
adjustments.
See the below magic for details. Along with the author’s remarks in
-the README.md file it might prove possible to get it to use
+the index.html file it might prove possible to get it to use
fgets(3). Cody, writing this on 02 November 2023, only just
noticed the author’s remarks and will later on look at this if nobody
takes up the challenge. More important work like getting to a place that
the next contest can run must be done first.
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.
STATUS: missing file
- please provide it
-
Cody Boone Ferguson
-noted that the README.md file refers to an alternative version of the
+
Cody Boone Ferguson
+noted that the index.html file refers to an alternative version of the
code that is not obfuscated but it is missing from the entry directory
and the archive. Do you have this file?
We would be grateful if you could provide it to us. If you can
@@ -1347,7 +1306,7 @@ as well but if not we’ll take care of it.
id="important-reminder-and-a-note-about-the--1-value-check-for-getc">Important
reminder and a note about the -1 value check for
getc():
-
Cody Boone Ferguson
fixed the code to not use -1 for the return value of
getc(); this is important because EOF is
NOT guaranteed to be -1 but rather any
@@ -1370,31 +1329,30 @@ error and it functions correctly it will address the systems where
!= EOF.
Since it works there is no need to fix this except for a challenge to
yourself.
The fractally minded may be able to detect that mode 0 does not calculate
Mandelbrot/Julian sets correctly. Can you find the bug? Better still, can you
fix it without breaking something else?
You are welcome to try and fix it and open a pull request, providing
that it doesn’t break something else.
It should be noted however that there is a condition where the
program will prompt you to press return again. This was thought to be a
bug but looking at the code it can clearly be seen that if
@@ -1402,13 +1360,13 @@ bug but looking at the code it can clearly be seen that if
and one is supposed to press a key as at that point it calls
getchar() via the pointer m. So this is a
feature not a bug.
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?
We would appreciate anyone who has it or even just knows the name!
Thank you.
-
1996
-
1996 gandalf
+
1996
+
1996/gandalf
STATUS:
missing or dead link - please provide them
If X is not running this program will very likely crash or do
something funny. This should NOT be fixed.
NOTE: the two boards will be on top of each other so you will have to
@@ -1510,37 +1468,37 @@ missing or dead link - please provide them
As well: the link which was http://www.uio.no/~jonth is no longer
valid and there’s no archive on the Internet Wayback Machine. Do you
know of a proper URL? We greatly appreciate your help here!
-
1997
+
1997
There was no IOCCC in 1997.
-
1998
-
1998 dlowe
+
1998
+
1998/dlowe
STATUS:
missing or dead link - please provide them
The domain http://pootpoot.com no longer exists as it once did. The
judges have given a script that can be used to make a similar page
(warning: not checked for security in modern days!). Do
you have a server with enough bandwidth and would like to set it up?
-We’ll gladly thank you in the README.md file and link to the page as
+We’ll gladly thank you in the index.html file and link to the page as
well! You’ll have IOCCC fame for reviving a pootifier! :-)
-
1998 dloweneil
+
1998/dloweneil
STATUS:
missing or dead link - please provide them
A point worth considering is that as the number passed into the
program gets bigger the number of lines of output gets substantially
larger. For instance:
@@ -1553,19 +1511,19 @@ becoming gigabytes in size. The range is checked for
including a segfault.
If you use the generated program and do not give enough numbers in
input something funny will happen, very possibly with different results
-per run. This is in the README.md file as something to try and
+per run. This is in the index.html file as something to try and
ponder.
-
1999
+
1999
There was no IOCCC in 1999.
-
2000
-
2000 dlowe
+
2000
+
2000/dlowe
STATUS:
doesn’t work with some platforms - please help us fix
This MIGHT be better described as doesn’t work with
some versions of perl: the author states that in perl < 5.6.0 there
is a bug with a core dump in what they said is in
@@ -1763,19 +1721,19 @@ class="sourceCode sh">2000 primenum
+
This program does not do what you might think it does! Running it
like:
./primenum 13
will seemingly wait for input exactly because it is waiting for
-input. See the README.md file or look at the source.
+input. See the index.html file or look at the source.
Although the name of the program suggests it prints prime numbers
this is not the case. This is by design. See the author’s comments for
more details or better yet look at the code and if necessary try it out.
@@ -1784,27 +1742,27 @@ Please do not try and fix this.
Please do not try to fix the crashing of this code except to challenge
yourself (if you think that it’ll be worth your two second fix :-) ). If
you do fix it please do not make a pull request.
-
If DISPLAY is not set the program will very likely
crash, do something strange (or if you’re very unlucky your computer
might halt
and catch fire! :-) ).
The two statuses might seem contradictory but that is a complicated
question. The author stated that it only works with i386 linux so on the
one hand the fact it doesn’t work in modern systems is considered a
feature and not a bug. But on the other hand it would be nice if there
was an alternate version which worked for modern systems. This does seem
quite unlikely but some fixes, described next, were made.
Cody Boone Ferguson
fixed an initial segfault (trying to open the file) and he also fixed
the supplementary program
bellard.otccex.c but this still crashes in systems not i386 linux
@@ -1864,7 +1822,7 @@ program it is explicitly stated that it requires i386 linux.
There I found what should be a more portable version which is
included as otccelf.c (after adding
some #includes and the modification by Yusuke noted in the
-thanks file) but it appears this
+thanks file) but it appears this
also requires i386 linux; indeed looking at the code it hard
codes paths that are i386 specific to linux.
Another point of interest is that the author provided de-obfuscated
@@ -1888,22 +1846,22 @@ there.
Also the supplementary program, which did not work at all, was fixed
(by Cody) and it can be run by itself for fun in modern systems, which
was not possible before the fixes there.
This function uses gets(3) but it would be ideal if it
used fgets(3). This one is rather complicated and will be
looked at later (some progress was made by Cody but it is less important
@@ -1975,23 +1933,23 @@ breaks things. If memory serves changing it to two will, for instance,
break the punch card code output. It might be that that is for
fgets(3), however, but the point remains: in order to test
any fixes you must determine if the extra files generated (some from
-sort(1)) - see the README.md file - generate correct output
-as well as that the main entry does too. You might try running the
-try.sh script and redirect it to a file first so that you
-can compare the output. Make sure to recreate the extra files as
+sort(1)) - see the index.html file - generate correct
+output as well as that the main entry does too. You might try running
+the try.sh script and redirect it to a file first so that
+you can compare the output. Make sure to recreate the extra files as
described by the author if you do fix this. This might be looked at
later if nobody else takes up the challenge.
STATUS: missing
files - please provide them
The author referred to a file card.gif but this file is
missing. Do you have it? Please provide it!
There seem to be a couple bugs at least in this entry. The first one
is that when it does reach a certain point it crashes. This is in the
function J() (or one it calls?). But sometimes it seems to
@@ -2026,12 +1984,12 @@ crash. It appears not to be the case (though this was not tried as many
times) if you start shooting when the missiles come down. The fact you
can shoot after it starts that sleeping in a loop does suggest that it’s
not stuck only showing those lines and sleeping.
-
2002
+
2002
There was no IOCCC in 2002.
-
2003
+
2003
There was no IOCCC in 2003.
-
2004
-
2004 gavin
+
2004
+
2004/gavin
STATUS:
compiled executable crashes - please help us fix
@@ -2040,8 +1998,8 @@ id="status-doesnt-work-with-some-platforms---please-help-us-fix-3">STATUS:
doesn’t work with some platforms - please help us fix
Arguments matching `/[^2]22$/` cause the program to segfault
after rapidly exhausting the available stack space. I could
@@ -2156,51 +2114,51 @@ Arguments matching `/(?:.){257,}/` may produce mathematically
incorrect results (e.g., generation 1 starting from a string
of 257 `1`s will be calculated as `11`); the remark from the
previous paragraph applies here also.
The generated code will very likely segfault or do something not
-intended if not given the right args. See the README.md file for the
+intended if not given the right args. See the index.html file for the
correct syntax.
This program sometimes will create unsolvable puzzles :-) just to
hook you. As a protection against this - and to prevent you from
spending too much time on such puzzles (or too big puzzles if you insist
on doing this) - it deliberately destroys its runtime stack. See the README.md for more details on this.
+href="2005/anon/index.html">index.html for more details on this.
If you specify more than three args the program might also crash or
do something strange. This might also happen if you specify excessively
large board dimensions. Try 100 100 100 for instance and
see what happens!
Cody Boone Ferguson
notes that, though probably obvious, this entry will not work with
https. He added an alt version that scans for https in case someone
wants to set up a pipeline or other workaround (perhaps with stunnel) or
@@ -2254,13 +2212,13 @@ problem otherwise is a secure connection has to first be set up in order
to give http commands. This is not a bug but it’s worth pointing out as
it won’t work on as many websites as it used to including the IOCCC website itself.
The machine emulated is an older 40 column one so 80 column programs
will not show up correctly.
@@ -2283,14 +2241,14 @@ href="https://en.wikipedia.org/wiki/MOS_Technology_6502#Technical_description">6
emulation does not
include the seldom used decimal mode, or any of the “undocumented”
instructions.
-
2006
-
2006 birken
+
2006
+
2006/birken
STATUS: uses
gets() - change to fgets() if possible
This entry uses gets(3) which is unsafe and provides
annoying warnings, most obnoxious in macOS as it shows it at runtime
(redirecting stderr to /dev/null will silence
@@ -2299,24 +2257,24 @@ it). The following diff will almost work but it crashes with at least
The string specified must be <= 42 characters and may only consist
of the characters in the regex a-z_A-Z0-9@.-. Breaking
these constraints will end up with possibly corrupt GIF files.
-
2006 monge
+
2006/monge
STATUS:
doesn’t work with some platforms - please help us fix
If you pick a number higher than 19186, the program will return a
solution but it will be a rotation of one of the first 19186. This is
@@ -2348,43 +2306,43 @@ unique solutions.
If you pick a number higher than 460464 (24x19186) the program will
return without outputting a solution. If you can wait that long.
Cody Boone Ferguson
fixed this program to not crash in macOS (it appeared to work fine in
fedora linux on an x86_64 architecture but he does not know
if it crashed in macOS Ventura due to the fact it is an
arm64 CPU - the Apple silicon chip). This fix, BTW, is a
-mix of a fix by Yusuke Endoh
-and Cody’s. Nevertheless there are two features that are not bugs. Later
-the author made some slight changes to make it not crash in x86_64
+mix of a fix by Yusuke Endoh and
+Cody’s. Nevertheless there are two features that are not bugs. Later the
+author made some slight changes to make it not crash in x86_64
macOS.
By design this program is supposed to crash on termination. This
actually no longer seems to happen but we don’t need this to be added
even if it might be called a bug :-)
You must type in caps (except in strings) and this program is indeed
case-sensitive.
The author’s website, http://www.pootpoot.net, no longer exists as it
once did, instead being something else entirely. The Internet Wayback
Machine, although it archived it, did not load scripts. Do you know if
@@ -2423,26 +2381,28 @@ files.
If you want to try and fix this (mis)feature, you are welcome to
try.
This does not appear to work with macOS, resulting in a segfault (and
sometimes a bus error).
We’re not sure if this is to do with the Apple silicon chip or not
@@ -2450,7 +2410,7 @@ but it seems like it might (see Apple resources below) be but
it could also be a wider problem with macOS. It appears that Apple does
not allow certain combinations of memory protections with the arm64
processor.
Cody Boone Ferguson
tried some of the workarounds but at this time he could not get it to
work. He offers some earlier debugging sessions below as well as a
resource from the author as well as some resources on Apple’s website
@@ -2589,7 +2549,7 @@ f *lib2[] = { T, ld, lp, lx, l1 } ;
matter in this case.
Testing fixes
It might be helpful to use the try.alt.sh script to test that it
+href="2011/richards/try.alt.sh">try.alt.sh script to test that it
does not crash and functions properly.
Resources
More from the author
@@ -2612,35 +2572,35 @@ has the VM_PROT_TRUSTED set it might allow overriding the
problem but this is unconfirmed and it’s not known when
CONFIG_DYNAMIC_CODE_SIGNING would be defined.
The author stated that the program will crash if no argument is
passed to the program though we note that your computer might also halt
and catch fire :-)
The memory locations of `argv` are used for various purposes. Therefore, the
program name (default `deckmyn`) must be *at least 4 characters long*, including
@@ -2651,7 +2611,7 @@ string.
The code is quite sensitive. Errors in the input can lead to strange results.
The code does not read beyond the end of the music input, but that is about the
only error checking available. Any input that is not according to the rules in
-the deckmyn.md, may cause errors.
+the deckmyn.html, may cause errors.
The program has no special hardware limitations or requirements, other than 8bit
`char` (`signed` or `unsigned`) and two's complement negatives.
@@ -2668,14 +2628,14 @@ randomly wrong way. Notice that in a file, the newline is also a character!
Therefore, when preparing music in a file, care should be taken that the last
musical element of a line is only 2 characters!
If the input doesn't start with a valid program, that is,
if the interpreter reaches end-of-file during program parsing,
@@ -2710,27 +2670,27 @@ looking into a null-pointer environment:
will likely dump core.
The author stated that the program will crash if no argument is
passed to the program or if invalid arguments (e.g. file does not exist)
or images of mismatching sizes or unsupported pixel formats though we
note that your computer might also halt
and catch fire :-)
This program will possibly crash or draw something strange with 0
args. Then again it might not. :-) This is easy to fix but would add
bytes and since the author noted it is a feature and not a bug. You of
@@ -2770,13 +2730,13 @@ nothing?
Only works if your terminal is UTF-8 and your font supports the 8
glyphs used.
This program supports only “Combinator-calculus style notation” of
@@ -2787,15 +2747,15 @@ Lazy K. “Unlambda style” and “Iota and Jot” style are not supported.
Huge memory may be required to compile the program (about 300 MB on
my machine).
In addition, there are some limitations (and workarounds) mentioned
-in Spoiler section.
The author reminds us that if you kill the program you will have to
wait a short bit of time before you can start it again if you want it to
be able to bind to the socket (which obviously you do). The source is
@@ -2835,14 +2795,14 @@ out the scope of this document but the author does mention the well
known (at least to those of us who have experience with socket
programming :-) ) fix. However as the author pointed it out as a known
limitation it is not a bug but a feature.
The author noted that in macOS the colours might be wrong. They gave
a solution. However Cody didn’t see any problem with it and he beat the
series many times. Of course the game here is small and he’s practically
@@ -2864,33 +2824,33 @@ stay away from blocks!
–
but since it’s documented it’s considered a feature, not a bug to
fix.
Cody Boone Ferguson
discovered a bug to do with translating sound to text that shows itself
in some cases (it works in others) when working on his winning 2020 Enigma machine (‘Most enigmatic’)
-entry. See his README.md for
+entry. See his index.html for
details (search for vik in the file). This one might be
more of a limitation but this is not known.
He provides a tip in testing the problem: it might help to use his
Enigma machine to find problems as it will allow you to verify what is
-correct and what is not. Again see his README.md for details. However it
-is also possible to not rely on the entry as the below shows. One should
-be able to do:
+correct and what is not. Again see his index.html for details. However
+it is also possible to not rely on the entry as the below shows. One
+should be able to do:
@@ -2933,23 +2893,24 @@ program takes care to warn about this issue after printing an incorrect
big-endian result. Error messages become garbled, though.
The program assumes that EOF is -1. This
can be fixed but at this time it is uncertain if it should be.
The author also stated:
@@ -2961,18 +2922,18 @@ where sizeof(typ) is 1 even for int and so on.
On such systems, it will only use 8 * sizeof(typ) bits per
place. It does not work when CHAR_BIT <= 7.
There is no error checking done when opening files, so expect
@@ -2988,13 +2949,13 @@ result in odd behavior. Some erroneous arguments cause segfaults
(negative number of channels, channel id outside valid range). One
argument in particular causes an infinite loop printing whitespace.
When you run it on a JSON file you will see something like:
$ ./prog < ioccc.json > ioccc.html
@@ -3007,13 +2968,13 @@ be generated properly.
seemingly infinitely increase the size of the output file. This can
happen if you try fixing the syntax error in the generated
ioccc.json file.
-
After exiting the program (with ctrl-e) if you try running it again
you will likely see:
>bootT5pw
@@ -3037,13 +2998,13 @@ likely no typo involved.
sync prior to exiting the program or else the next time you
run it the file will not exist (or in the case of compiled code it won’t
be executable).
-
Cody Boone Ferguson
fixed the scripts so that they can work but it might end up that the
scripts don’t show any output anyway as they use the full alphabet. To
test that it works one can have a script like:
@@ -3130,22 +3091,22 @@ German alphabet, Cody noted in the de.sh/de.alt.sh scripts:
# if it's not impossible. Nevertheless, we do include the other characters
# whether or not they are in your view considered part of the alphabet for the
# reason that so many words have them.
-
2019 dogon
+
2019/dogon
STATUS: uses
gets() - change to fgets() if possible
There are two things to be aware of with this entry.
If the file being used (to draw) is deleted it might lock any session
still in use. These will have to be killed from another shell session or
@@ -3153,7 +3114,7 @@ by closing the terminal tab. This will also happen if the file cannot be
opened in the beginning.
This program will also very likely leave sockets lying about in the
current working directory. For instance Cody Boone Ferguson showed
+href="authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson showed
us this:
The author wrote that there are a number of differences from what one
might expect. Rather than duplicate the information we refer you to the
author’s remarks in the sections Syntax and Caveats.
-
2019 mills
+href="2019/lynn/index.html#syntax">Syntax and Caveats.
+
The author wrote that if you decide to change networks or use a
different input file you should delete all the checkpoint files because
the format depends on both the network and the input – using the wrong
@@ -3247,49 +3208,49 @@ can view the hard limit with limit -h stacksize and set it
with limit stacksize 65532 (replacing 65532
with the actual hard limit).
The author noted that if the program runs out of memory it is likely
to crash.
The author also stated that ‘if input contains CR-LF end of line
sequences, those CRs are silently dropped. In fact, most
control codes are silently ignored except line feeds (preserved) and
tabs (expanded to 8 spaces).’
This entry is known to crash if no arg is specified. Although easy to
fix it is documented and should not be fixed (of course you may fix it
to see if you can but it shouldn’t be made into a pull request).
It will also show funny output with more than one arg. This should
not be fixed either. But can you figure out why this happens?
The author stated that bad things happen if the entered move is
outside of the range [1..9]. We observed a crash but we also observed a
tie and other things besides (say with the input -1,
@@ -3300,35 +3261,35 @@ automatically lose.
forfeit their move.
If you have audible bells enabled the program will beep at every
turn.
There are some things that might appear to be bugs but are actually
features or things that are misinterpreted as bugs. See the bugs.md and troubleshooting.md files
-for details.
-
2020 giles
+href="2020/ferguson1/bugs.html">bugs.html and troubleshooting.html
+files for details.
+
The author noted that the program only supports WAV files that have
exactly 16 bits per sample, but it allows any sample rate and any number
of audio channels.
The program does not support MIDI files over 4 MB (specifically,
@@ -3345,16 +3306,16 @@ largest cause of program failures, in my experience, has been Limitation
2.
We hope to run the IOCCCMOCK this year, 2024, and hopefully the next
IOCCC, but for now we wish everyone a happy new year!
Final words
@@ -3364,7 +3325,7 @@ that are not bugs and so on. We also thank you for going through this
document and, if you propose any fixes] via a GitHub pull
request or otherwise, we thank you as well for the help! We will
-happily add you to the thanks file as
+happily add you to the thanks file as
well.
diff --git a/bugs.md b/bugs.md
index b16af4e58..0c462e611 100644
--- a/bugs.md
+++ b/bugs.md
@@ -11,17 +11,13 @@ The following is a known list of **BUGS and (mis)FEATURES** in IOCCC entries.
Can you fix/improve entries not under the INABIAF (it's not a bug it's a
feature)? You are **VERY WELCOME** to try.
-NOTE: currently this file is mostly for us. We are not yet ready for help except
-for dead links and missing files. We will remove this notice when this changes.
-We will note this below for each status we're not yet ready for help with.
-
As far as how to help: please submit your fixes in a [GitHub pull
request](https://github.com/ioccc-src/temp-test-ioccc/pulls) (with ONE PULL
REQUEST *PER* FIX, please)!
We will be **happy to credit anyone who submits successful [GitHub pull
requests](https://github.com/ioccc-src/temp-test-ioccc/pulls)** in the
-[thanks](/thanks-for-help.md) file. If you're the author of an entry
+[thanks](thanks-for-help.html) file. If you're the author of an entry
that win the IOCCC, we will add a link to your winning entries in the file
(if you're not an author, we can add a link to your GitHub page or personal
website if you have one, should you wish).
@@ -38,11 +34,11 @@ THANK YOU!
If you're the author of an entry that has been fixed and you find it against
your liking **PLEASE** let us know and we'll be happy to undo any fixes even if
it takes away some instructional value or even usability. _In this case we're
-**VERY SORRY_** about it: it's a fine line, we know, and we tried to use careful
+**VERY SORRY** about it: it's a fine line, we know, and we tried to use careful
judgement but invariably some might have been the wrong decision. Thank you for
understanding!
-I ([Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson))
+I ([Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson))
accept the blame in some cases; when working on getting entries to compile
sometimes I got carried away with it and there might be that I fixed some things
that should not have been fixed. I am correcting these mistakes as I come across
@@ -58,12 +54,12 @@ to happen (if it's not yet fixed). This has actually already happened to us.
Sometimes it is okay: some entries are known to not work but they can still have
improvements (rarer situation but it's happened). Some might have slightly
different output but which is not a problem for instance a newline after output
-in [Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson)'s changing it to
+in [Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson)'s changing it to
[1994/ldb](1994/ldb/ldb.c) use `fgets()` from `gets()`.
-Make **ABSOLUTE CERTAIN** that you read the README.md file _BEFORE_ your changes
+Make **ABSOLUTE CERTAIN** that you read the index.html file _BEFORE_ your changes
as it's important to see that the code is doing what it is supposed to. In the
-case that it's not obvious (some README.md files do not even have commands to
+case that it's not obvious (some index.html files do not even have commands to
try or even explain how to use it!) then you should either skip the entry OR ask
someone who will know e.g. us.
@@ -81,26 +77,12 @@ Again, THANK YOU!
# LIST OF STATUSES - PLEASE READ BEFORE FIXING (you may skip if you're only interested in knowing about entries with known issues)
-NOTE: when going through the entries you can skip to the next entry (some are
-detailed explanations) by searching for `^## STATUS:` in your editor (or
-searching for it - probably without the `^` in your browser). For a specific
-year try `^# YYYY` where `YYYY` is the year as a number.
-
Entries below have one or more of the following _**STATUS**_ values. Please see
the text below for more information. If an entry has more than one status it
means that either they all apply or they compliment each other. For instance
[2004/gavin](2004/gavin/gavin.c) crashes but it also doesn't even compile with
some platforms/architectures.
-[Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) has been working on
-resolving these issues and has fixed many but you're welcome to have a go at it
-too (though he'll be very sad if he doesn't have a chance to at first fix it :-(
-so you might want to hold off for now :-) .. or not :-) ). He hopes to have most
-of the remaining entries resolved in the near future but nevertheless if you're
-okay making people very sad you may have a go at the entries :-) [Yusuke
-Endoh](/authors.html#Yusuke_Endoh) has also fixed a number of entries though at
-this point he does not know it. :-) Cody will remove this part later on.
-
## General notes about the statuses and making fixes
@@ -121,7 +103,7 @@ Another type of warning that would be hard to keep track of is different data
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 when [Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) fixed the
+is when [Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) fixed the
segfault in macOS of [1989/paul](1994/paul/paul.c): changing the `int *` to a
`long *` was required and it works just as well with linux.
@@ -169,7 +151,7 @@ consider a one-liner. Thank you!
If you make changes _PLEASE TRY AND KEEP THE SOURCE CODE LAYOUT AS CLOSE TO THE
ORIGINAL AS POSSIBLE_. This might not always be possible and if you have an
editor that does formatting it can cause problems. Sometimes formatters can even
-break code! [Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) has
+break code! [Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) has
experienced this many times with vim so he tends to disable all format options
when formatting code. In vim you should be able to do that with:
@@ -180,9 +162,6 @@ when formatting code. In vim you should be able to do that with:
## STATUS: known bug - please help us fix
-NOTE: we're still locating entries and working on fixes with this status so we're not yet
-ready for help. We will remove this when we are.
-
Entries with this status have one or more bugs that need to be fixed. Are you
able to fix it? We welcome your help!
@@ -194,9 +173,6 @@ careful judgement when fixing bugs please!
## STATUS: possible bug (possibly depending on system) - please help test and if necessary fix
-NOTE: we're still locating entries and working on fixes with this status so we're not yet
-ready for help. We will remove this when we are.
-
Entries with this status might or might not have a bug possibly depending on the
system. In these entries it's unknown if there is a bug and sometimes it's
because we do not remember and sometimes we don't have the appropriate system or
@@ -205,9 +181,6 @@ environment to test and fix any possible problems.
## STATUS: might not be completely functional - can you confirm?
-NOTE: we're still locating entries and working on fixes with this status so we're not yet
-ready for help. We will remove this when we are.
-
Although these entries _appear_ to work for one or more reasons we're unsure if
they are completely functional. Can you confirm this? Please let us know so we
can fix it!
@@ -215,9 +188,6 @@ can fix it!
## STATUS: probable bug (possibly depending on system) - please help test and if necessary fix
-NOTE: we're still locating entries and working on fixes with this status so we're not yet
-ready for help. We will remove this when we are.
-
Entries with this status almost certainly have a bug or some other problem. The
issue or issues might depend on the system much like the above _STATUS: possible
bug (possibly depending on system)_.
@@ -225,18 +195,12 @@ bug (possibly depending on system)_.
## STATUS: doesn't work with some platforms - please help us fix
-NOTE: we're still locating entries and working on fixes with this status so we're not yet
-ready for help. We will remove this when we are.
-
Entries with this status do not work under some OSes and/or architectures (and/or
something else?). Please help us to fix it!
## STATUS: doesn't work with some compilers - please provide alternative code or fix for more compilers
-NOTE: we're still locating entries and working on fixes with this status so we're not yet
-ready for help. We will remove this when we are.
-
Some entries do not work with some compilers. A good example is
[1992/lush](1992/lush/lush.c) which uses error messages from the compiler to
generate its output.
@@ -269,7 +233,7 @@ versions have an additional defect where they only allow 0, 2 or 3 args, the
latter of which affected `1989/westley`, so these entries do not work with
clang.
-[Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) looked at the source
+[Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) looked at the source
code of clang and reported that there is no way to override the requirement of
arg types so these entries will fail to compile with clang. That's why in some
entries he fixed he did it by adding a function called `pain()`. :-) He did not
@@ -305,9 +269,6 @@ without breaking it.
## STATUS: compiled executable crashes - please help us fix
-NOTE: we're still locating entries and working on fixes with this status so we're not yet
-ready for help. We will remove this when we are.
-
While such entries can compile, the resulting executable sometimes or always
crashes.
@@ -320,12 +281,9 @@ or if you can `-ggdb3` when compiling as that will help with debugging symbols.
## STATUS: uses gets() - change to fgets() if possible
-NOTE: we're still locating entries and working on fixes with this status so we're not yet
-ready for help. We will remove this when we are.
-
Entries with this status use `gets()` which is unsafe because it has no limit on
the length of the string. [Cody Boone
-Ferguson](/authors.html#Cody_Boone_Ferguson) has fixed several of these and he's
+Ferguson](authors.html#Cody_Boone_Ferguson) has fixed several of these and he's
working on others in between fixing other things.
There's a very good reason for this even though it is bordering on tampering
@@ -379,7 +337,7 @@ contact the author (unless you are the author! :-) ).
## STATUS: missing make rules - please provide them
In these entries one or more make rules noted by the author and/or judges is/are
-missing. You might consider looking at the [archive](/archive) as a good place
+missing. You might consider looking at the [archive](archive) as a good place
to find them.
@@ -415,7 +373,7 @@ 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](1984/mullender/mullender.c) (see below and the [FAQ](/faq.md)
+[1984/mullender](1984/mullender/mullender.c) (see below and the [FAQ](faq.html)
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
@@ -425,7 +383,7 @@ An example where a crash is not a bug: [2019/endoh](2019/endoh/endoh.c) is
supposed to crash. There are others that are also supposed to crash or that are
known to segfault but are considered features.
-An important note is that if the README.md of the entry has a bug status that
+An important note is that if the index.html of the entry has a bug status that
says it can be fixed it can be. Otherwise it should not be.
Nonetheless we challenge you to fix these entries for educational/instructional
@@ -451,14 +409,14 @@ own fix or suggest that they're fixed!
# List of entries by year, sorted in alphabetical order per year
-# 1984
+# 1984
-## 1984 decot
+## 1984/decot
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1984/decot/dedot.c](1984/decot/decot.c)
-### Information: [1984/decot/README.md](1984/decot/README.md)
+### Information: [1984/decot/index.html](1984/decot/index.html)
The purpose of this program is to print out a string of rubbish. In particular
you should see something like:
@@ -472,17 +430,17 @@ $ ./decot
without a newline after the `\`. This is not a bug.
-## 1984 mullender
+## 1984/mullender
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1984/mullender/mullender.c](1984/mullender/mullender.c)
-### Information: [1984/mullender/README.md](1984/mullender/README.md)
+### Information: [1984/mullender/index.html](1984/mullender/index.html)
Although there is an alt version and supplementary program added by Cody that
will work in modern systems, if you do not have a
[VAX-11](https://en.wikipedia.org/wiki/VAX-11) or
[PDP-11](https://en.wikipedia.org/wiki/PDP-11) to run the original entry on it
-will not work. See the README.md for details on the alternate versions.
+will not work. See the index.html for details on the alternate versions.
Cody added and fixed the [gentab.c](1984/mullender/gentab.c) which is from the
author's (or one of them, Mullender) remarks found by Cody. Cody fixed this to
@@ -491,54 +449,54 @@ emulator to test it) but running the code on the binary itself produces a
`short[]` that can compile in modern systems though it'll not work.
-# 1985
+# 1985
There are no known bugs and (Mis)features for entries in 1985.
-# 1986
+# 1986
-## 1986 august
+## 1986/august
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1986/august/august.c](1986/august/august.c)
-### Information: [1986/august/README.md](1986/august/README.md)
+### Information: [1986/august/index.html](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.
-# 1987
+# 1987
There are no known bugs and (Mis)features for entries in 1987.
-# 1988
+# 1988
-## 1988 dale
+## 1988/dale
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1988/dale/dale.c](1988/dale/dale.c)
-### Information: [1988/dale/README.md](1988/dale/README.md)
+### Information: [1988/dale/index.html](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
and does not crash.
-# 1989
+# 1989
-## 1989 fubar
+## 1989/fubar
### STATUS: known bug - please help us fix
### Source code: [1989/fubar/fubar.c](1989/fubar/fubar.c)
-### Information: [1989/fubar/README.md](1989/fubar/README.md)
+### Information: [1989/fubar/index.html](1989/fubar/index.html)
-If you use either `fubar` or `ouroboros.c` (it's executable, see README.md for
+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
program will turn into an infinite loop trying to compile code with syntax
errors.
@@ -546,11 +504,11 @@ errors.
If you want to try and fix this (mis)feature, you are welcome to try.
-## 1989 robison
+## 1989/robison
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1989/robison/robison.c](1989/robison/robison.c)
-### Information: [1989/robison/README.md](1989/robison/README.md)
+### Information: [1989/robison/index.html](1989/robison/index.html)
This program will very likely crash or break into tiny bits :-) if you feed it
numbers with non-binary digits.
@@ -559,11 +517,11 @@ There are also other cases where this can happen for instance using unsupported
operators like `/`. To see what operators are supported check the source code.
-## 1989 westley
+## 1989/westley
### STATUS: known bug - please help us fix
### Source code: [1989/westley/westley.c](1989/westley/westley.c)
-### Information: [1989/westley/README.md](1989/westley/README.md)
+### Information: [1989/westley/index.html](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
@@ -576,7 +534,7 @@ be compiled with clang. An example invocation is:
### A useful note on changing/fixing this program
It should be noted that in additional to rot13 names there is code that is the
-reverse of other code (also wrt names). See the source file and the README.md
+reverse of other code (also wrt names). See the source file and the index.html
(in the author's remarks) for more details.
Fixing the (Mis)feature is likely to be a very difficult challenge especially
@@ -618,7 +576,7 @@ becomes the first and the first line becomes the last! Now if you look at the
code you'll see on the first line:
```c
-/**//*/};)/**/pain(/*//**/tang ,gnat/**//*/,ABBA~,0-0(avnz;)0-0,tang,raeN
+/**//*/};)/**/pain(*//**/tang ,gnat/**//*/,ABBA~,0-0(avnz;)0-0,tang,raeN
```
In `ver0` it'll be the same but the others are more interesting.
@@ -632,7 +590,7 @@ cnva((vag)NOON&2/*//*\\**/,gnat,tang ,NOON/**//*/(niam/**/);}/*//**/
and on the first line:
```c
-/**//*/};)/**/cnva(/*//**/gnat ,tang/**//*/,NOON~,0-0(niam;)0-0,gnat,enrA
+/**//*/};)/**/cnva(*//**/gnat ,tang/**//*/,NOON~,0-0(niam;)0-0,gnat,enrA
```
Observe that the ROT13 of `pain` is `cnva` and the ROT13 of `main` is `znva`.
@@ -652,7 +610,7 @@ Now notice how the `avnz` in the first line got changed to `niam`, its ROT13
value. Notice also how some of these are in comments!
`main()` is in there somewhere and that had to be changed to call
-`pain()` (see the [thanks](/thanks-for-help.md#1989_westley)
+`pain()` (see the [thanks](thanks-for-help.html#1989_westley)
file (see the _1989/westley_ section for details on how as this was
not as straight forward as it is for other entries) as well. Now
if you notice on that line you have in a comment `niam`. If you
@@ -682,14 +640,14 @@ That's about all I can say for how it works as other things have to be done too.
Enjoy! :-)
-# 1990
+# 1990
-## 1990 baruch
+## 1990/baruch
### STATUS: known bug - please help us fix
### Source code: [1990/baruch/baruch.c](1990/baruch/baruch.c)
-### Information: [1990/baruch/README.md](1990/baruch/README.md)
+### Information: [1990/baruch/index.html](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
@@ -754,15 +712,15 @@ $ for n in $(seq 1 18); do echo "$n"; echo "$n" | time "./baruch" | wc -l | sed
```
-## 1990 jaw
+## 1990/jaw
### STATUS: known bug - please help us fix
### Source code: [1990/jaw/jaw.c](1990/jaw/jaw.c)
-### Information: [1990/jaw/README.md](1990/jaw/README.md)
+### Information: [1990/jaw/index.html](1990/jaw/index.html)
-[Cody Boone Ferguson](https://www.ioccc.org/authors.html#Cody_Boone_Ferguson)
+[Cody Boone Ferguson](../authors.html#Cody_Boone_Ferguson)
fixed some issues in this program and [Yusuke
-Endoh](https://www.ioccc.org/authors.html#Yusuke_Endoh) provided the `btoa`
+Endoh](../authors.html#Yusuke_Endoh) provided the `btoa`
script but it appears there is a bug in this entry. The judges wrote that to
test the entry one can do:
@@ -801,43 +759,44 @@ oops
which seems to be an error message (one of the fixes was to make it not use
`perror(3)` - this fixed something else though it's no longer known what).
-The script [shark.sh](/1990/jaw/shark.sh) has some issues too in that due to
+The script [shark.sh](1990/jaw/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
defeat the purpose. This would ideally be fixed.
-## 1990 tbr
+## 1990/tbr
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1990/tbr/tbr.c](1990/tbr/tbr.c)
-### Information: [1990/tbr/README.md](1990/tbr/README.md)
+### Information: [1990/tbr/index.html](1990/tbr/index.html)
The authors provided a list of features in the
-[BUGS](/1990/tbr/README.md#bugs) section in their remarks.
+[BUGS](1990/tbr/index.html#bugs) section in their remarks.
-## 1990 theorem
+## 1990/theorem
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1990/theorem/theorem.c](1990/theorem/theorem.c)
-### Information: [1990/theorem/README.md](1990/theorem/README.md)
+### Information: [1990/theorem/index.html](1990/theorem/index.html)
-[Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) fixed many bugs that
+[Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) fixed many bugs that
prevented this from working properly (including segfaults) but one thing to note
is that if you pass two zeroes to `theorem_bkp` or `fibonacci` the program
will enter an infinite loop, printing 0 over and over again; another condition
where this occurred was fixed but this one should not be fixed. Thank you.
-# 1991
+# 1991
-## 1991 buzzard
+
+## 1991/buzzard
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1991/buzzard/buzzard.c](1991/buzzard/buzzard.c)
-### Information: [1991/buzzard/README.md](1991/buzzard/README.md)
+### Information: [1991/buzzard/index.html](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)
@@ -846,11 +805,11 @@ file does not exist in the directory, this program will very likely crash.
This is a feature, not a bug.
-## 1991 westley
+## 1991/westley
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1991/westley/westley.c](1991/westley/westley.c)
-### Information: [1991/westley/README.md](1991/westley/README.md)
+### Information: [1991/westley/index.html](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
@@ -861,15 +820,15 @@ possibility. Can you find out how? There's also a way to make it so that even
when you're cheating it ends up winning! Can you figure that out as well?
-# 1992
+# 1992
-## 1992 adrian
+## 1992/adrian
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1992/adrian/adrian.c](1992/adrian/adrian.c)
-### Information: [1992/adrian/README.md](1992/adrian/README.md)
+### Information: [1992/adrian/index.html](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. However this was
@@ -896,12 +855,12 @@ you did change it to fprintf, even if you have the right number of args, you'd
have to remove the outer `()` pair.
-## 1992 albert
+## 1992/albert
### STATUS: known bug - please help us fix
### Source code: [1992/albert/albert.c](1992/albert/albert.c)
-### Information: [1992/albert/README.md](1992/albert/README.md)
+### Information: [1992/albert/index.html](1992/albert/index.html)
Leo Broukhis, before he was an IOCCC judge, sent the IOCCC judges an email:
@@ -917,7 +876,7 @@ albert.c (even in its fixed form) still has a bug. Although I don't
remember the number that exposed the bug (afair, resulting in coredump)
in albert.orig.c that has been fixed in albert.c,
-I've found a number exposing another bug: 10000000001 (that's 9 0's).
+ 've found a number exposing another bug: 10000000001 (that's 9 0's).
Both albert and albert.orig loop without printing anything, although
the first factor is 101 and is usually found in an instant.
```
@@ -962,11 +921,11 @@ The alt version does fix the problem but it is not obfuscated and not like the
entry itself. Can you fix the actual entry? You are welcome to try and do so.
-## 1992 gson
+## 1992/gson
### STATUS: uses gets() - change to fgets() if possible
### Source code: [1992/gson/gson.c](1992/gson/gson.c)
-### Information: [1992/gson/README.md])(1992/gson/README.md)
+### Information: [1992/gson/index.html])(1992/gson/index.html)
Cody changed it so that the buffer size is `ARG_MAX+1` to try and get past the
problem of `gets()` being used in a more complex way.
@@ -987,26 +946,26 @@ to be read (in case the `gets(3)` was not used in a loop).
-## 1992 kivinen
+## 1992/kivinen
### STATUS: known bug - please help us fix
### Source code: [1992/kivinen/kivinen.c](1992/kivinen/kivinen.c)
-### Information: [1992/kivinen/README.md](1992/kivinen/README.md)
+### Information: [1992/kivinen/index.html](1992/kivinen/index.html)
When you start the program everything starts to move over to the right side and
-then ends. [Yusuke Endoh](/authors.html#Yusuke_Endoh) pointed out that if you
+then ends. [Yusuke Endoh](authors.html#Yusuke_Endoh) pointed out that if you
click the mouse it takes it back towards the centre.
If you want to try and fix this (mis)feature, you are welcome to try.
-## 1992 lush
+## 1992/lush
### STATUS: doesn't work with some compilers - please provide alternative code or fix for more compilers
### Source code: [1992/lush/lush.c](1992/lush/lush.c)
-### Information: [1992/lush/README.md](1992/lush/README.md)
+### Information: [1992/lush/index.html](1992/lush/index.html)
-We used a patch from [Yusuke Endoh](/authors.html#Yusuke_Endoh) to get this to
+We used a patch from [Yusuke Endoh](authors.html#Yusuke_Endoh) to get this to
work but it only works with gcc. Cody removed the warnings of `gets()` and
provided a script to run the entry properly.
@@ -1083,22 +1042,22 @@ Hello World.
Can you help us?
-## 1992 vern
+## 1992/vern
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1992/vern/vern.c](1992/vern/vern.c)
-### Information: [1992/vern/README.md](1992/vern/README.md)
+### Information: [1992/vern/index.html](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
it yourself through ctrl-c or killing it in some other fashion.
-## 1992 westley
+## 1992/westley
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1992/westley/westley.c](1992/westley/westley.c)
-### Information: [1992/westley/README.md](1992/westley/README.md)
+### Information: [1992/westley/index.html](1992/westley/index.html)
Cody improved the usability of this program by making it so that as long as the
terminal columns is >= 80 it will display properly, rather than having to wrap
@@ -1131,12 +1090,12 @@ showed was correct when at 80-columns so it seems like this could be a bug if
not a misunderstanding).
-# 1993
+# 1993
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1993/ant/ant.c](1993/ant/ant.c)
-### Information: [1993/ant/README.md](1993/ant/README.md)
+### Information: [1993/ant/index.html](1993/ant/index.html)
The author stated that:
@@ -1159,7 +1118,7 @@ not exist in the archive. Do you have it? Please provide it!
### STATUS: known bug - please help us fix
### Source code: [1993/cmills/cmills.c](1993/cmills/cmills.c)
-### Information: [1993/cmills/README.md](1993/cmills/README.md)
+### Information: [1993/cmills/index.html](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.
@@ -1167,22 +1126,24 @@ system), this entry just shows a blank screen.
Can you fix it? We welcome your help.
-## 1993 lmfjyh
+## 1993/lmfjyh
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1993/lmfjyh/lmfjyh.c](1993/lmfjyh/lmfjyh.c)
-### Information: [1993/lmfjyh/README.md](1993/lmfjyh/README.md)
+### Information: [1993/lmfjyh/index.html](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.
An alternate version that will work for modern systems, however, does exist. See
-the README.md file for details.
+the index.html file for details.
+## 1993/rince
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1993/rince/rince.c](1993/rince/rince.c)
-### Information: [1993/rince/README.md](1993/rince/README.md)
+### Information: [1993/rince/index.html](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.
@@ -1191,9 +1152,11 @@ There is no end of game checking method so you will have to quit the game
through ctrl-c or such.
+## 1993/schnitzi
+
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1993/schnitzi/schnitzi.c](1993/schnitzi/schnitzi.c)
-### Information: [1993/schnitzi/README.md](1993/schnitzi/README.md)
+### Information: [1993/schnitzi/index.html](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.
@@ -1236,7 +1199,7 @@ it will work fine.
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1993/vanb/vanb.c](1993/vanb/vanb.c)
-### Information: [1993/vanb/README.md](1993/vanb/README.md)
+### Information: [1993/vanb/index.html](1993/vanb/index.html)
No spaces are allowed in the expression.
@@ -1247,14 +1210,14 @@ The unary `-` is an operator so decimal `-46` should be entered as `-d46` and
not `d-46`.
-# 1994
+# 1994
-## 1994 dodsond2
+## 1994/dodsond2
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1994/dodsond2/dodsond2.c](1994/dodsond2/dodsond2.c)
-### Information: [1994/dodsond2/README.md](1994/dodsond2/README.md)
+### Information: [1994/dodsond2/index.html](1994/dodsond2/index.html)
When you initiate shooting via the `s` command you immediately lose an arrow
_before you choose where to shoot_.
@@ -1263,14 +1226,14 @@ When you shoot it will move you to that room so if you end up shooting into a
pit room you will end up dying even though you didn't explicitly move there.
-## 1994 ldb
+## 1994/ldb
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1994/ldb/ldb.c](1994/ldb/ldb.c)
-### Information: [1994/ldb/README.md](1994/ldb/README.md)
+### Information: [1994/ldb/index.html](1994/ldb/index.html)
-[Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) fixed this to compile
-with modern systems (see the [thanks](/thanks-for-help.md) file for
+[Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) fixed this to compile
+with modern systems (see the [thanks](thanks-for-help.html) file for
what had to change) but the entry also used `gets()` which in some systems would
print out a warning along with the output of the program. Naturally it could
also overflow long lines. Cody changed it to `fgets()` to prevent the display
@@ -1283,14 +1246,14 @@ might be tampering too much with the entry as it's not a real problem and as a
one liner it's already quite long.
-## 1994 schnitzi
+## 1994/schnitzi
### STATUS: uses gets() - change to fgets() if possible
### Source code: [1994/schnitzi/schnitzi.c](1994/schnitzi/schnitzi.c)
-### Information: [1994/schnitzi/README.md](1994/schnitzi/README.md)
+### Information: [1994/schnitzi/index.html](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 README.md for details.
+even when it works. See the author's remarks in the index.html for details.
Increasing the buffer size and having it, when fed its own source code,
generate code that will compile with the same buffer size is difficult: it just
uses the original size. Cody explains this further down.
@@ -1302,12 +1265,12 @@ In both cases, changing the buffer size and changing it to use `fgets(3)`, will
cause compilation errors without other adjustments.
See the below magic for details. Along with the author's remarks in the
-README.md file it might prove possible to get it to use `fgets(3)`. Cody,
+index.html file it might prove possible to get it to use `fgets(3)`. Cody,
writing this on 02 November 2023, only just noticed the author's remarks and
will later on look at this if nobody takes up the challenge. More important work
like getting to a place that the next contest can run must be done first.
-[Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) explains the magic of
+[Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) explains the magic of
how this entry works, which will be necessary if this entry is to be fixed,
below.
@@ -1408,11 +1371,11 @@ can be compiled and the output of that new program when fed itself can also be
compiled!
-## 1994 shapiro
+## 1994/shapiro
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1994/shapiro/shapiro.c](1994/shapiro/shapiro.c)
-### Information: [1994/shapiro/README.md](1994/shapiro/README.md)
+### Information: [1994/shapiro/index.html](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.
@@ -1420,8 +1383,8 @@ that's compiled) cannot be opened in the directory it is run from.
### STATUS: missing file - please provide it
-[Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) noted that the
-README.md file refers to an alternative version of the code that is not
+[Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) noted that the
+index.html file refers to an alternative version of the code that is not
obfuscated but it is missing from the entry directory and the archive. Do you
have this file?
@@ -1431,7 +1394,7 @@ we'll take care of it.
### Important reminder and a note about the `-1` value check for `getc()`:
-[Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) fixed the code to not
+[Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) fixed the code to not
use `-1` for the return value of `getc()`; this is important because `EOF` is
**NOT** guaranteed to be `-1` but rather any negative value. On systems where
`EOF != -1` the program would enter an infinite loop until the program crashed,
@@ -1451,11 +1414,11 @@ if it checked for `!= EOF`.
Since it works there is no need to fix this except for a challenge to yourself.
-## 1994 tvr
+## 1994/tvr
### STATUS: known bug - please help us fix
### Source code: [1994/tvr/tvr.c](1994/tvr/tvr.c)
-### Information: [1994/tvr/README.md](1994/tvr/README.md)
+### Information: [1994/tvr/index.html](1994/tvr/index.html)
@@ -1471,17 +1434,17 @@ You are welcome to try and fix it and open a pull request, providing that it
doesn't break something else.
-# 1995
+# 1995
-## 1995 cdua
+## 1995/cdua
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1995/cdua/cdua.c](1995/cdua/cdua.c)
-### Information: [1995/cdua/README.md](1995/cdua/README.md)
+### Information: [1995/cdua/index.html](1995/cdua/index.html)
This did not originally compile under macOS and after it did compile under
-macOS, it crashed. [Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson)
+macOS, it crashed. [Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson)
fixed these problems.
It should be noted however that there is a condition where the program will
@@ -1491,11 +1454,11 @@ supposed to be printed again and one is supposed to press a key as at that point
it calls `getchar()` via the pointer `m`. So this is a feature not a bug.
-## 1995 leo
+## 1995/leo
### STATUS: known bug - please help us fix
### Source code: [1995/leo/leo.c](1995/leo/leo.c)
-### Information: [1995/leo/README.md](1995/leo/README.md)
+### Information: [1995/leo/index.html](1995/leo/index.html)
The judges suggested that the following commands should result in output:
@@ -1521,21 +1484,21 @@ It is not known if this is platform specific but this was observed in macOS and
it would be good if it was fixed.
-## 1995 savastio
+## 1995/savastio
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1995/savastio/savastio.c](1995/savastio/savastio.c)
-### Information: [1995/savastio/README.md](1995/savastio/README.md)
+### Information: [1995/savastio/index.html](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.
-## 1995 vanschnitz
+## 1995/vanschnitz
### STATUS: missing file - please provide it
### Source code: [1995/vanschnitz/vanschnitz.c](1995/vanschnitz/vanschnitz.c)
-### Information: [1995/vanschnitz/README.md](1995/vanschnitz/README.md)
+### Information: [1995/vanschnitz/index.html](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?
@@ -1543,14 +1506,14 @@ compilers to use the program but this file is missing. Can you provide it?
We would appreciate anyone who has it or even just knows the name! Thank you.
-# 1996
+# 1996
-## 1996 gandalf
+## 1996/gandalf
### STATUS: missing or dead link - please provide them
### Source code: [1996/gandalf/gandalf.c](1996/gandalf/gandalf.c)
-### Information: [1996/gandalf/README.md](1996/gandalf/README.md)
+### Information: [1996/gandalf/index.html](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.
@@ -1558,11 +1521,11 @@ it was instead requiring a login / password.
Do you have an updated link? We welcome your help!
-## 1996 huffman
+## 1996/huffman
### STATUS: uses gets() - change to fgets() if possible
### Source code: [1996/huffman/huffman.c](1996/huffman/huffman.c)
-### Information: [1996/huffman/README.md](1996/huffman/README.md)
+### Information: [1996/huffman/index.html](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
@@ -1599,11 +1562,11 @@ But since it does not for the time being it is advisable to just redirect
`stderr` to `/dev/null` (`2>/dev/null`).
-## 1996 jonth
+## 1996/jonth
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1996/jonth/jonth.c](1996/jonth/jonth.c)
-### Information: [1996/jonth/README.md](1996/jonth/README.md)
+### Information: [1996/jonth/index.html](1996/jonth/index.html)
If X is not running this program will very likely crash or do something funny.
This should NOT be fixed.
@@ -1619,41 +1582,41 @@ there's no archive on the Internet Wayback Machine. Do you know of a proper URL?
We greatly appreciate your help here!
-# 1997
+# 1997
There was no IOCCC in 1997.
-# 1998
+# 1998
-## 1998 dlowe
+## 1998/dlowe
### STATUS: missing or dead link - please provide them
### Source code: [1998/dlowe/dlowe.c](1998/dlowe/dlowe.c)
-### Information: [1998/dlowe/README.md](1998/dlowe/README.md)
+### Information: [1998/dlowe/index.html](1998/dlowe/index.html)
The domain http://pootpoot.com no longer exists as it once did. The judges have
given a script that can be used to make a similar page (**warning: not checked
for security in modern days!**). Do you have a server with enough bandwidth and
-would like to set it up? We'll gladly thank you in the README.md file and link
+would like to set it up? We'll gladly thank you in the index.html file and link
to the page as well! You'll have IOCCC fame for reviving a pootifier! :-)
-## 1998 dloweneil
+## 1998/dloweneil
### STATUS: missing or dead link - please provide them
### Source code: [1998/dloweneil/dloweneil.c](1998/dloweneil/dloweneil.c)
-### Information: [1998/dloweneil/README.md](1998/dloweneil/README.md)
+### Information: [1998/dloweneil/index.html](1998/dloweneil/index.html)
See above entry [1998/dlowe](1998/dlowe/dlowe.c).
-## 1998 schnitzi
+## 1998/schnitzi
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [1998/schnitzi/schnitzi.c](1998/schnitzi/schnitzi.c)
-### Information: [1998/schnitzi/README.md](1998/schnitzi/README.md)
+### Information: [1998/schnitzi/index.html](1998/schnitzi/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. For instance:
@@ -1669,22 +1632,22 @@ be a problem including a segfault.
If you use the generated program and do not give enough numbers in input
something funny will happen, very possibly with different results per run. This
-is in the README.md file as something to try and ponder.
+is in the index.html file as something to try and ponder.
-# 1999
+# 1999
There was no IOCCC in 1999.
-# 2000
+# 2000
-## 2000 dlowe
+## 2000/dlowe
### STATUS: doesn't work with some platforms - please help us fix
### Source code: [2000/dlowe/dlowe.c](2000/dlowe/dlowe.c)
-### Information: [2000/dlowe/README.md](2000/dlowe/README.md)
+### Information: [2000/dlowe/index.html](2000/dlowe/index.html)
This **MIGHT** be better described as doesn't work with some versions of perl:
the author states that in perl < 5.6.0 there is a bug with a core dump in what
@@ -1949,11 +1912,11 @@ which might (?) suggest that the `+` operator is unimplemented. Unfortunately it
has been many years since I have used perl and I was never a guru either.
-## 2000 primenum
+## 2000/primenum
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2000/primenum/primenum.c](2000/primenum/primenum.c)
-### Information: [2000/primenum/README.md](2000/primenum/README.md)
+### Information: [2000/primenum/index.html](2000/primenum/index.html)
This program does not do what you might think it does! Running it like:
@@ -1962,7 +1925,7 @@ This program does not do what you might think it does! Running it like:
```
will seemingly wait for input exactly because it is waiting for input. See the
-README.md file or look at the source.
+index.html file or look at the source.
Although the name of the program suggests it prints prime numbers this is not
the case. This is by design. See the author's comments for more details or
@@ -1975,27 +1938,27 @@ that it'll be worth your two second fix :-) ). If you do fix it please do not
make a pull request.
-## 2000 rince
+## 2000/rince
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2000/rince/rince.c](2000/rince/rince.c)
-### Information: [2000/rince/README.md](2000/rince/README.md)
+### Information: [2000/rince/index.html](2000/rince/index.html)
If `DISPLAY` is not set the program will very likely crash, do something strange
(or if you're very unlucky your computer might [halt and catch
fire](https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_(computing))! :-) ).
-# 2001
+# 2001
-## 2001 anonymous
+## 2001/anonymous
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2001/anonymous/anonymous.c](2001/anonymous/anonymous.c)
-### Information: [2001/anonymous/README.md](2001/anonymous/README.md)
+### Information: [2001/anonymous/index.html](2001/anonymous/index.html)
-[Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) fixed this so that it
+[Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) fixed this so that it
doesn't segfault and then also fixed the functionality of it (but see below).
Cody also fixed the [anonymous.ten.c](2001/anonymous/anonymous.ten.c) program
@@ -2018,12 +1981,12 @@ this program will very likely crash or do something strange like slaughter the
elves of Imladris :-(
-## 2001 bellard
+## 2001/bellard
### STATUS: INABIAF - please **DO NOT** fix
### STATUS: doesn't work with some platforms - please help us fix
### Source code: [2001/bellard/bellard.c](2001/bellard/bellard.c)
-### Information: [2001/bellard/README.md](2001/bellard/README.md)
+### Information: [2001/bellard/index.html](2001/bellard/index.html)
The two statuses might seem contradictory but that is a complicated question.
The author stated that it only works with i386 linux so on the one hand the fact
@@ -2032,7 +1995,7 @@ the other hand it would be nice if there was an alternate version which worked
for modern systems. This does seem quite unlikely but some fixes, described
next, were made.
-[Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) fixed an initial
+[Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) fixed an initial
segfault (trying to open the file) and he also fixed the [supplementary program
bellard.otccex.c](2001/bellard/bellard.otccex.c) but this still crashes in
systems not i386 linux which is what the author stated.
@@ -2055,7 +2018,7 @@ explicitly stated that it requires i386 linux.
There I found what should be a more portable version which is included as
[otccelf.c](2001/bellard/otccelf.c) (after adding some `#include`s and the
-modification by Yusuke noted in the [thanks](/thanks-for-help.md)
+modification by Yusuke noted in the [thanks](thanks-for-help.html)
file) but it appears this *also* requires i386 linux; indeed looking at the code
it hard codes paths that are i386 specific to linux.
@@ -2082,20 +2045,20 @@ and it can be run by itself for fun in modern systems, which was not possible
before the fixes there.
-## 2001 dgbeards
+## 2001/dgbeards
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2001/dgbeards/dgbeards.c](2001/dgbeards/dgbeards.c)
-### Information: [2001/dgbeards/README.md](2001/dgbeards/README.md)
+### Information: [2001/dgbeards/index.html](2001/dgbeards/index.html)
This program deliberately crashes if it loses (which is what it aims to do).
-## 2001 herrmann1
+## 2001/herrmann1
### STATUS: missing files - please provide them
### Source code: [2001/herrmann1/herrmann1.c](2001/herrmann1/herrmann1.c)
-### Information: [2001/herrmann1/README.md](2001/herrmann1/README.md)
+### Information: [2001/herrmann1/index.html](2001/herrmann1/index.html)
The author referred to the file `herrmann1.turing` but it does not exist not even
in the archive. Do you have a copy? Please provide it!
@@ -2111,11 +2074,11 @@ appreciate your help!
If you want to try and fix this (mis)feature, you are welcome to try.
-## 2001 kev
+## 2001/kev
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2001/kev/kev.c](2001/kev/kev.c)
-### Information: [2001/kev/README.md](2001/kev/README.md)
+### Information: [2001/kev/index.html](2001/kev/index.html)
Sometimes when one player presses `q` it will result in broken pipe on the other
end.
@@ -2136,23 +2099,23 @@ Although it is independent of endianness both systems need the same character
set. In other words both have to be ASCII or EBCDIC - not one of each.
-## 2001 rosten
+## 2001/rosten
### STATUS: missing files - please provide them
### Source code: [2001/rosten/rosten.c](2001/rosten/rosten.c)
-### Information: [2001/rosten/README.md](2001/rosten/README.md)
+### Information: [2001/rosten/index.html](2001/rosten/index.html)
The author stated that there is a cat man page for this program in case one
wanted to install it as a tool but this is missing.
-## 2001 schweikh
+## 2001/schweikh
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2001/schweikh/schweikh.c](2001/schweikh/schweikh.c)
-### Information: [2001/schweikh/README.md](2001/schweikh/README.md)
+### Information: [2001/schweikh/index.html](2001/schweikh/index.html)
The glob pattern must match the whole string. See the author's comments for
details and a workaround.
@@ -2160,12 +2123,12 @@ details and a workaround.
There's also no way to escape meta characters.
-## 2001 westley
+## 2001/westley
### STATUS: uses gets() - change to fgets() if possible
### Source code: [2001/westley/westley.c](2001/westley/westley.c)
-### Information: [2001/westley/README.md](2001/westley/README.md)
+### Information: [2001/westley/index.html](2001/westley/index.html)
This function uses `gets(3)` but it would be ideal if it used `fgets(3)`. This
one is rather complicated and will be looked at later (some progress was made by
@@ -2180,7 +2143,7 @@ as simple as it might seem. Doing this breaks things. If memory serves changing
it to two will, for instance, break the punch card code output. It might be that
that is for `fgets(3)`, however, but the point remains: in order to test any
fixes you must determine if the extra files generated (some from `sort(1)`) -
-see the README.md file - generate correct output as well as that the main entry
+see the index.html file - generate correct output as well as that the main entry
does too. You might try running the `try.sh` script and redirect it to a file
first so that you can compare the output. Make sure to recreate the extra files
as described by the author if you do fix this. This might be looked at later if
@@ -2193,12 +2156,12 @@ The author referred to a file `card.gif` but this file is missing. Do you have
it? Please provide it!
-## 2001 williams
+## 2001/williams
### STATUS: known bug - please help us fix
### Source code: [2001/williams/williams.c](2001/williams/williams.c)
-### Information: [2001/williams/README.md](2001/williams/README.md)
+### Information: [2001/williams/index.html](2001/williams/index.html)
There seem to be a couple bugs at least in this entry. The first one is that
when it does reach a certain point it crashes. This is in the function `J()` (or
@@ -2256,25 +2219,25 @@ sleeping in a loop does suggest that it's not stuck only showing those lines and
sleeping.
-# 2002
+# 2002
There was no IOCCC in 2002.
-# 2003
+# 2003
There was no IOCCC in 2003.
-# 2004
+# 2004
-## 2004 gavin
+## 2004/gavin
### STATUS: compiled executable crashes - please help us fix
### STATUS: doesn't work with some platforms - please help us fix
### Source code: [2004/gavin/gavin.c](2004/gavin/gavin.c)
-### Information: [2004/gavin//README.md](2004/gavin//README.md)
+### Information: [2004/gavin//index.html](2004/gavin//index.html)
Segmentation fault will occur in some systems. For instance on macOS with the
arm64 chip:
@@ -2360,7 +2323,7 @@ gavin: gavin.c
${RM} -f vi
${CP} sh vi
${RM} -f fs.tar
- ${TAR} -cvf fs.tar sh vi gavin.c README.md prim
+ ${TAR} -cvf fs.tar sh vi gavin.c index.html prim
gavin_clean:
${RM} -f sh vi kernel gavin.o
@@ -2377,15 +2340,15 @@ fit into the current IOCCC build environment.
### STATUS: INABIAF - please **DO NOT** fix
-See [known features in the README.md](2004/gavin/README.md#known-features) for
+See [known features in the index.html](2004/gavin/index.html#known-features) for
things that are not bugs but documented (mis)features.
-## 2004 jdalbec
+## 2004/jdalbec
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2004/jdalbec/jdalbec.c](2004/jdalbec/jdalbec.c)
-### Information: [2004/jdalbec/README.md](2004/jdalbec/README.md)
+### Information: [2004/jdalbec/index.html](2004/jdalbec/index.html)
The author stated that:
@@ -2411,29 +2374,29 @@ previous paragraph applies here also.
```
-## 2004 sds
+## 2004/sds
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2004/sds/sds.c](2004/sds/sds.c)
-### Information: [2004/sds/README.md](2004/sds/README.md)
+### Information: [2004/sds/index.html](2004/sds/index.html)
The generated code will very likely segfault or do something not intended if not
-given the right args. See the README.md file for the correct syntax.
+given the right args. See the index.html file for the correct syntax.
-# 2005
+# 2005
-## 2005 anon
+## 2005/anon
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2005/anon/anon.c](2005/anon/anon.c)
-### Information: [2005/anon/README.md](2005/anon/README.md)
+### Information: [2005/anon/index.html](2005/anon/index.html)
This program sometimes will create unsolvable puzzles :-) just to hook you.
As a protection against this - and to prevent you from spending too much time on
such puzzles (or too big puzzles if you insist on doing this) - it deliberately
-destroys its runtime stack. See the [README.md](2005/anon/README.md) for more
+destroys its runtime stack. See the [index.html](2005/anon/index.html) for more
details on this.
If you specify more than three args the program might also crash or do something
@@ -2441,11 +2404,11 @@ strange. This might also happen if you specify excessively large board
dimensions. Try `100 100 100` for instance and see what happens!
-## 2005 giljade
+## 2005/giljade
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2005/giljade/giljade.c](2005/giljade/giljade.c)
-### Information: [2005/giljade/README.md](2005/giljade/README.md)
+### Information: [2005/giljade/index.html](2005/giljade/index.html)
This entry will very likely segfault or do something strange if the source code
does not exist.
@@ -2453,11 +2416,11 @@ does not exist.
This entry requires that `sed` and `make` are in the path.
-## 2005 mikeash
+## 2005/mikeash
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2005/mikeash/mikeash.c](2005/mikeash/mikeash.c)
-### Information: [2005/mikeash/README.md](2005/mikeash/README.md)
+### Information: [2005/mikeash/index.html](2005/mikeash/index.html)
The author states:
@@ -2498,13 +2461,13 @@ Basically, the [LISP][] interpreter is good for some basic math operations, and
for running itself.
-## 2005 mynx
+## 2005/mynx
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2005/mynx/mynx.c](2005/mynx/mynx.c)
-### Information: [2005/mynx/README.md](2005/mynx/README.md)
+### Information: [2005/mynx/index.html](2005/mynx/index.html)
-[Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) notes that, though
+[Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) notes that, though
probably obvious, this entry will not work with https. He added an alt version
that scans for https in case someone wants to set up a pipeline or other
workaround (perhaps with stunnel) or even add additional code to it to make it
@@ -2514,11 +2477,11 @@ out as it won't work on as many websites as it used to including the [IOCCC
website](https://www.ioccc.org) itself.
-## 2005 sykes
+## 2005/sykes
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2005/sykes/sykes.c](2005/sykes/sykes.c)
-### Information: [2005/sykes/README.md](2005/sykes/README.md)
+### Information: [2005/sykes/index.html](2005/sykes/index.html)
The author stated the below points of interest.
@@ -2546,14 +2509,14 @@ The
used decimal mode, or any of the "undocumented" instructions.
-# 2006
+# 2006
-## 2006 birken
+## 2006/birken
### STATUS: uses gets() - change to fgets() if possible
### Source code: [2006/birken/birken.c](2006/birken/birken.c)
-### Information: [2006/birken/README.md](2006/birken/README.md)
+### Information: [2006/birken/index.html](2006/birken/index.html)
This entry uses `gets(3)` which is unsafe and provides annoying warnings, most
obnoxious in macOS as it shows it at runtime (redirecting `stderr` to
@@ -2566,22 +2529,22 @@ with at least `computer.tofu` input file:
```
-## 2006 borsanyi
+## 2006/borsanyi
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2006/borsanyi/borsanyi.c](2006/borsanyi/borsanyi.c)
-### Information: [2006/borsanyi/README.md](2006/borsanyi/README.md)
+### Information: [2006/borsanyi/index.html](2006/borsanyi/index.html)
The string specified must be <= 42 characters and may only consist of the
characters in the regex `a-z_A-Z0-9@.-`. Breaking these constraints will end up
with possibly corrupt GIF files.
-## 2006 monge
+## 2006/monge
### STATUS: doesn't work with some platforms - please help us fix
### Source code: [2006/monge/monge.c](2006/monge/monge.c)
-### Information: [2006/monge/README.md](2006/monge/README.md)
+### Information: [2006/monge/index.html](2006/monge/index.html)
This program requires x86 (with an x87 FPU) or x86_64 machine and it requires
the SDL1 library.
@@ -2603,11 +2566,11 @@ welcome to try and fix it if you wish to!
Incorrect formulas will ungracefully crash the program.
-## 2006 sykes1
+## 2006/sykes1
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2006/sykes1/sykes1.c](2006/sykes1/sykes1.c)
-### Information: [2006/sykes1/README.md](2006/sykes1/README.md)
+### Information: [2006/sykes1/index.html](2006/sykes1/index.html)
The author stated:
@@ -2626,18 +2589,18 @@ return without outputting a solution. If you can wait that long.
-## 2006 toledo2
+## 2006/toledo2
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2006/toledo2/toledo2.c](2006/toledo2/toledo2.c)
-### Information: [2006/toledo2/README.md](2006/toledo2/README.md)
+### Information: [2006/toledo2/index.html](2006/toledo2/index.html)
-[Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) fixed this program to
+[Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) fixed this program to
not crash in macOS (it appeared to work fine in fedora linux on an `x86_64`
architecture but he does not know if it crashed in macOS Ventura due to the fact
it is an `arm64` CPU - the Apple silicon chip). This fix, BTW, is a mix of a fix
-by [Yusuke Endoh](/authors.html#Yusuke_Endoh) and Cody's. Nevertheless there are
+by [Yusuke Endoh](authors.html#Yusuke_Endoh) and Cody's. Nevertheless there are
two features that are not bugs. Later the author made some slight changes to
make it not crash in x86_64 macOS.
@@ -2649,34 +2612,34 @@ You must type in caps (except in strings) and this program is indeed
case-sensitive.
-# 2007
+# 2007
There was no IOCCC in 2007.
-# 2008
+# 2008
There was no IOCCC in 2008.
-# 2009
+# 2009
There was no IOCCC in 2009.
-# 2010
+# 2010
There was no IOCCC in 2010.
-# 2011
+# 2011
-## 2011 borsanyi
+## 2011/borsanyi
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2011/borsanyi/borsanyi.c](2011/borsanyi/borsanyi.c)
-### Information: [2011/borsanyi/README.md](2011/borsanyi/README.md)
+### Information: [2011/borsanyi/index.html](2011/borsanyi/index.html)
For a great amount of data points the program will crash, depending on your
available stack space.
@@ -2697,11 +2660,11 @@ Rounding errors might cause an omission in the highest bin. There might be empty
bins at the edges.
-## 2011 dlowe
+## 2011/dlowe
### STATUS: missing or dead link - please provide them
### Source code: [2011/dlowe/dlowe.c](2011/dlowe/dlowe.c)
-### Information: [2011/dlowe/README.md](2011/dlowe/README.md)
+### Information: [2011/dlowe/index.html](2011/dlowe/index.html)
The author's website, http://www.pootpoot.net, no longer exists as it once did,
instead being something else entirely. The Internet Wayback Machine, although it
@@ -2725,23 +2688,23 @@ tends to result in empty output.
If you want to try and fix this (mis)feature, you are welcome to try.
-## 2011 fredriksson
+## 2011/fredriksson
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2011/fredriksson/fredriksson.c](2011/fredriksson/fredriksson.c)
-### Information: [2011/fredriksson/README.md](2011/fredriksson/README.md)
+### Information: [2011/fredriksson/index.html](2011/fredriksson/index.html)
The author stated that there are a number of features and limitations. As the
list is rather long see [other
-features](2011/fredriksson/README.md#other-features) and [limitations and
-remarks](2011/fredriksson/README.md#limitations-and-remarks) instead.
+features](2011/fredriksson/index.html#other-features) and [limitations and
+remarks](2011/fredriksson/index.html#limitations-and-remarks) instead.
-## 2011 richards
+## 2011/richards
### STATUS: doesn't work with some platforms - please help us fix
### Source code: [2011/richards/richards.c](2011/richards/richards.c)
-### Information: [2011/richards/README.md](2011/richards/README.md)
+### Information: [2011/richards/index.html](2011/richards/index.html)
This does not appear to work with macOS, resulting in a segfault (and sometimes
a bus error).
@@ -2751,7 +2714,7 @@ like it _might_ (see Apple resources below) be but it could also be a wider
problem with macOS. It appears that Apple does not allow certain combinations of
memory protections with the arm64 processor.
-[Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) tried some of the
+[Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) tried some of the
workarounds but at this time he could not get it to work. He offers some earlier
debugging sessions below as well as a resource from the author as well as some
resources on Apple's website should anyone wish to take a crack at it. He might
@@ -2928,7 +2891,7 @@ case.
### Testing fixes
-It might be helpful to use the [try.alt.sh](/2011/richards/try.alt.sh) script to
+It might be helpful to use the [try.alt.sh](2011/richards/try.alt.sh) script to
test that it does not crash and functions properly.
@@ -2958,25 +2921,25 @@ defined.
Do you have a fix? We welcome it!
-## 2011 vik
+## 2011/vik
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2011/vik/vik.c](2011/vik/vik.c)
-### Information: [2011/vik/README.md](2011/vik/README.md)
+### Information: [2011/vik/index.html](2011/vik/index.html)
The author stated that the program will crash if no argument is passed to the
program though we note that your computer might also [halt and catch
fire](https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_(computing)) :-)
-# 2012
+# 2012
-## 2012 blakely
+## 2012/blakely
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2012/blakely/blakely.c](2012/blakely/blakely.c)
-### Information: [2012/blakely/README.md](2012/blakely/README.md)
+### Information: [2012/blakely/index.html](2012/blakely/index.html)
The author stated:
@@ -2986,11 +2949,11 @@ operation, then the results are undefined.
```
-## 2012 deckmyn
+## 2012/deckmyn
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2012/deckmyn/deckmyn.c](2012/deckmyn/deckmyn.c)
-### Information: [2012/deckmyn/README.md](2012/deckmyn/README.md)
+### Information: [2012/deckmyn/index.html](2012/deckmyn/index.html)
The author stated:
@@ -3004,7 +2967,7 @@ string.
The code is quite sensitive. Errors in the input can lead to strange results.
The code does not read beyond the end of the music input, but that is about the
only error checking available. Any input that is not according to the rules in
-the deckmyn.md, may cause errors.
+the deckmyn.html, may cause errors.
The program has no special hardware limitations or requirements, other than 8bit
`char` (`signed` or `unsigned`) and two's complement negatives.
@@ -3024,14 +2987,14 @@ musical element of a line is only 2 characters!
-The manual referred to is [here](2012/deckmyn/deckmyn.md).
+The manual referred to is [here](2012/deckmyn/deckmyn.html).
-## 2012 dlowe
+## 2012/dlowe
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2012/dlowe/dlowe.c](2012/dlowe/dlowe.c)
-### Information: [2012/dlowe/README.md](2012/dlowe/README.md)
+### Information: [2012/dlowe/index.html](2012/dlowe/index.html)
The author stated:
@@ -3042,11 +3005,11 @@ The author stated:
* Cannot build or run without X11 (or an X11 compatibility layer).
-## 2012 tromp
+## 2012/tromp
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2012/tromp/tromp.c](2012/tromp/tromp.c)
-### Information: [2012/tromp/README.md](2012/tromp/README.md)
+### Information: [2012/tromp/index.html](2012/tromp/index.html)
The author stated:
@@ -3069,11 +3032,11 @@ will likely dump core.
```
-## 2012 vik
+## 2012/vik
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2012/vik/vik.c](2012/vik/vik.c)
-### Information: [2012/vik/README.md](2012/vik/README.md)
+### Information: [2012/vik/index.html](2012/vik/index.html)
The author stated that the program will crash if no argument is passed to the
program or if invalid arguments (e.g. file does not exist) or images of
@@ -3082,13 +3045,13 @@ might also [halt and catch
fire](https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_(computing)) :-)
-# 2013
+# 2013
-## 2013 cable2
+## 2013/cable2
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2013/cable2/cable2.c](2013/cable2/cable2.c)
-### Information: [2013/cable2/README.md](2013/cable2/README.md)
+### Information: [2013/cable2/index.html](2013/cable2/index.html)
The author stated:
@@ -3105,11 +3068,11 @@ antialiasing interferes with color detection in "color" mode.
and endianness conversion would make the source too large for IOCCC rule 2).
-## 2013 dlowe
+## 2013/dlowe
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2013/dlowe/dlowe.c](2013/dlowe/dlowe.c)
-### Information: [2013/dlowe/README.md](2013/dlowe/README.md)
+### Information: [2013/dlowe/index.html](2013/dlowe/index.html)
This program will possibly crash or draw something strange with 0 args. Then
again it might not. :-) This is easy to fix but would add bytes and since the
@@ -3127,11 +3090,11 @@ The author also stated:
used.
-## 2013 endoh1
+## 2013/endoh1
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2013/endoh1/endoh1.c](2013/endoh1/endoh1.c)
-### Information: [2013/endoh1/README.md](2013/endoh1/README.md)
+### Information: [2013/endoh1/index.html](2013/endoh1/index.html)
From the author:
@@ -3146,16 +3109,16 @@ Also, it requires a space between identifiers. In short, use `(S K)` instead of
Huge memory may be required to compile the program (about 300 MB on my machine).
In addition, there are some limitations (and workarounds) mentioned in [Spoiler
-section](2013/endoh1/README.md#spoiler).
+section](2013/endoh1/index.html#spoiler).
--
-## 2013 endoh3
+## 2013/endoh3
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2013/endoh3/endoh3.c](2013/endoh3/endoh3.c)
-### Information: [2013/endoh3/README.md](2013/endoh3/README.md)
+### Information: [2013/endoh3/index.html](2013/endoh3/index.html)
From the author:
@@ -3171,31 +3134,31 @@ A workaround is inserting a whitespace: `C2 E2`.
--
-## 2013 endoh4
+## 2013/endoh4
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2013/endoh4/endoh4.c](2013/endoh4/endoh4.c)
-### Information: [2013/endoh4/README.md](2013/endoh4/README.md)
+### Information: [2013/endoh4/index.html](2013/endoh4/index.html)
Invalid input files will very likely crash the program.
-## 2013 hou
+## 2013/hou
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2013/hou/hou.c](2013/hou/hou.c)
-### Information: [2013/hou/README.md](2013/hou/README.md)
+### Information: [2013/hou/index.html](2013/hou/index.html)
This program will not terminate on its own; you must kill `hou` (but not Qiming
Hou :-) ) yourself. This should not be fixed.
-## 2013 mills
+## 2013/mills
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2013/mills/mills.c](2013/mills/mills.c)
-### Information: [2013/mills/README.md](2013/mills/README.md)
+### Information: [2013/mills/index.html](2013/mills/index.html)
The author reminds us that if you kill the program you will have to wait a short
bit of time before you can start it again if you want it to be able to bind to
@@ -3205,14 +3168,14 @@ have experience with socket programming :-) ) fix. However as the author pointed
it out as a known limitation it is not a bug but a feature.
-# 2014
+# 2014
-## 2014 maffiodo1
+## 2014/maffiodo1
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2014/maffiodo1/prog.c](2014/maffiodo1/prog.c)
-### Information: [2014/maffiodo1/README.md](2014/maffiodo1/README.md)
+### Information: [2014/maffiodo1/index.html](2014/maffiodo1/index.html)
The author noted that in macOS the colours might be wrong. They gave a solution.
However Cody didn't see any problem with it and he beat the series many times.
@@ -3241,31 +3204,31 @@ player become bigger, stay away from blocks!
but since it's documented it's considered a feature, not a bug to fix.
-## 2014 maffiodo2
+## 2014/maffiodo2
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2014/maffiodo2/prog.c](2014/maffiodo2/prog.c)
-### Information: [2014/maffiodo2/README.md](2014/maffiodo2/README.md)
+### Information: [2014/maffiodo2/index.html](2014/maffiodo2/index.html)
This program will very likely crash if no arg is given.
-## 2014 vik
+## 2014/vik
### STATUS: known bug - please help us fix
### Source code: [2014/vik/prog.c](2014/vik/prog.c)
-### Information: [2014/vik/README.md](2014/vik/README.md)
+### Information: [2014/vik/index.html](2014/vik/index.html)
-[Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) discovered a bug to do
+[Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) discovered a bug to do
with translating sound to text that shows itself in some cases (it works in
others) when working on his winning [2020 Enigma machine](2020/ferguson2/prog.c)
-('Most enigmatic') entry. See his [README.md](2020/ferguson2/README.md) for
+('Most enigmatic') entry. See his [index.html](2020/ferguson2/index.html) for
details (search for `vik` in the file). This one might be more of a limitation
but this is not known.
He provides a tip in testing the problem: it might help to use his Enigma
machine to find problems as it will allow you to verify what is correct and what
-is not. Again see his README.md for details. However it is also possible to not
+is not. Again see his index.html for details. However it is also possible to not
rely on the entry as the below shows. One should be able to do:
@@ -3302,14 +3265,14 @@ IOCCC
```
-# 2015
+# 2015
-## 2015 hou
+## 2015/hou
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2015/hou/prog.c](2015/hou/prog.c)
-### Information: [2015/hou/README.md](2015/hou/README.md)
+### Information: [2015/hou/index.html](2015/hou/index.html)
The author stated:
@@ -3336,11 +3299,11 @@ result. Error messages become garbled, though.
--
-## 2015 mills2
+## 2015/mills2
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2015/mills2/prog.c](2015/mills2/prog.c)
-### Information: [2015/mills2/README.md](2015/mills2/README.md)
+### Information: [2015/mills2/index.html](2015/mills2/index.html)
The program doesn't look at the header of files so if it's passed something hat
is not compressed data it's likely to crash.
@@ -3348,11 +3311,11 @@ is not compressed data it's likely to crash.
The program depends on little endian systems.
-## 2015 schweikhardt
+## 2015/schweikhardt
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2015/schweikhardt/prog.c](2015/schweikhardt/prog.c)
-### Information: [2015/schweikhardt/README.md](2015/schweikhardt/README.md)
+### Information: [2015/schweikhardt/index.html](2015/schweikhardt/index.html)
The program assumes that `EOF` is `-1`. This can be fixed but at this time it is
uncertain if it should be.
@@ -3370,24 +3333,24 @@ use `8 * sizeof(typ)` bits per place. It does not work when `CHAR_BIT <= 7`.
--
-# 2016
+# 2016
There was no IOCCC in 2016.
-# 2017
+# 2017
There was no IOCCC in 2017.
-# 2018
+# 2018
-## 2018 algmyr
+## 2018/algmyr
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2018/algmyr/algmyr.c](2018/algmyr/algmyr.c)
-### Information: [2018/algmyr/README.md](2018/algmyr/README.md)
+### Information: [2018/algmyr/index.html](2018/algmyr/index.html)
The author wrote:
@@ -3404,11 +3367,11 @@ loop printing whitespace.
-## 2018 hou
+## 2018/hou
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2018/hou/prog.c](2018/hou/prog.c)
-### Information: [2018/hou/README.md](2018/hou/README.md)
+### Information: [2018/hou/index.html](2018/hou/index.html)
When you run it on a JSON file you will see something like:
@@ -3426,11 +3389,11 @@ infinitely increase the size of the output file. This can happen if you try
fixing the syntax error in the generated `ioccc.json` file.
-## 2018 mills
+## 2018/mills
### STATUS: known bug - please help us fix
### Source code: [2018/mills/prog.c](2018/mills/prog.c)
-### Information: [2018/mills/README.md](2018/mills/README.md)
+### Information: [2018/mills/index.html](2018/mills/index.html)
After exiting the program (with ctrl-e) if you try running it again you will
likely see:
@@ -3463,11 +3426,11 @@ exiting the program or else the next time you run it the file will not exist (or
in the case of compiled code it won't be executable).
-## 2018 vokes
+## 2018/vokes
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2018/vokes/vokes.c](2018/vokes/vokes.c)
-### Information: [2018/vokes/README.md](2018/vokes/README.md)
+### Information: [2018/vokes/index.html](2018/vokes/index.html)
The author wrote the following:
@@ -3516,36 +3479,36 @@ The author wrote the following:
this program has nothing to do with a hand.
-# 2019
+# 2019
-## 2019 adamovsky
+## 2019/adamovsky
### STATUS: INABIAF - please **DO NOT** fix
-### Source code: [2019/adamovsky/prog.c](/2019/adamovsky/prog.c)
-### Information: [2019/adamovsky/README.md](/2019/adamovsky/README.md)
+### Source code: [2019/adamovsky/prog.c](2019/adamovsky/prog.c)
+### Information: [2019/adamovsky/index.html](2019/adamovsky/index.html)
Certain input can crash this program. The file
-[crash.unl](/2019/adamovsky/crash.unl) is an example file.
+[crash.unl](2019/adamovsky/crash.unl) is an example file.
-## 2019 burton
+## 2019/burton
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/burton/prog.c](2019/burton/prog.c)
-### Information: [2019/burton/README.md](2019/burton/README.md)
+### Information: [2019/burton/index.html](2019/burton/index.html)
The author pointed out that some implementations of `wc(1)` show different
values but his implementation matches that of macOS and FreeBSD.
-## 2019 ciura
+## 2019/ciura
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/ciura/prog.c](2019/ciura/prog.c)
-### Information: [2019/ciura/README.md](2019/ciura/README.md)
+### Information: [2019/ciura/index.html](2019/ciura/index.html)
-[Cody Boone Ferguson](/authors.html#Cody_Boone_Ferguson) fixed the scripts so
+[Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) fixed the scripts so
that they can work but it might end up that the scripts don't show any output
anyway as they use the full alphabet. To test that it works one can have a
script like:
@@ -3575,21 +3538,21 @@ in the de.sh/de.alt.sh scripts:
# reason that so many words have them.
```
-## 2019 dogon
+## 2019/dogon
### STATUS: uses gets() - change to fgets() if possible
### Source code: [2019/dogon/prog.c](2019/dogon/prog.c)
-### Information: [2019/dogon/README.md](2019/dogon/README.md)
+### Information: [2019/dogon/index.html](2019/dogon/index.html)
The author does not it uses `gets()` and one will get warnings but it would be
ideal if this was not the case.
-## 2019 duble
+## 2019/duble
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/duble/prog.c](2019/duble/prog.c)
-### Information: [2019/duble/README.md](2019/duble/README.md)
+### Information: [2019/duble/index.html](2019/duble/index.html)
There are two things to be aware of with this entry.
@@ -3600,7 +3563,7 @@ beginning.
This program will also very likely leave sockets lying about in the current
working directory. For instance [Cody Boone
-Ferguson](/authors.html#Cody_Boone_Ferguson) showed us this:
+Ferguson](authors.html#Cody_Boone_Ferguson) showed us this:
```sh
$ ls -al |grep '^s'
@@ -3631,21 +3594,21 @@ find . -exec file '{}' \;|grep socket|cut -f 1 -d: | xargs rm -f
though one might want to check that the program is not currently running. :-)
-## 2019 endoh
+## 2019/endoh
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/endoh/prog.c](2019/endoh/prog.c)
-### Information: [2019/endoh/README.md](2019/endoh/README.md)
+### Information: [2019/endoh/index.html](2019/endoh/index.html)
As a backtrace quine this entry is **SUPPOSED to segfault** so this should not be
touched either.
-## 2019 karns
+## 2019/karns
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/karns/prog.c](2019/karns/prog.c)
-### Information: [2019/karns/README.md](2019/karns/README.md)
+### Information: [2019/karns/index.html](2019/karns/index.html)
The author stated the following:
@@ -3667,23 +3630,23 @@ not encountered this myself).
- The program contains some unused code and data.
-## 2019 lynn
+## 2019/lynn
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/lynn/prog.c](2019/lynn/prog.c)
-### Information: [2019/lynn/README.md](2019/lynn/README.md)
+### Information: [2019/lynn/index.html](2019/lynn/index.html)
The author wrote that there are a number of differences from what one might
expect. Rather than duplicate the information we refer you to the author's
-remarks in the sections [Syntax](/2019/lynn/README.md#syntax) and
-[Caveats](/2019/lynn/README.md#caveats).
+remarks in the sections [Syntax](2019/lynn/index.html#syntax) and
+[Caveats](2019/lynn/index.html#caveats).
-## 2019 mills
+## 2019/mills
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/mills/prog.c](2019/mills/prog.c)
-### Information: [2019/mills/README.md](2019/mills/README.md)
+### Information: [2019/mills/index.html](2019/mills/index.html)
The author wrote that if you decide to change networks or use a different input
file you should delete all the checkpoint files because the format depends on
@@ -3707,22 +3670,22 @@ the hard limit with `limit -h stacksize` and set it with
---
-## 2019 poikola
+## 2019/poikola
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/poikola/prog.c](2019/poikola/prog.c)
-### Information: [2019/poikola/README.md](2019/poikola/README.md)
+### Information: [2019/poikola/index.html](2019/poikola/index.html)
This program will not validate input so it might fail or get stuck if invoked
erroneously.
Also, the maximum file size is 1GB.
-## 2019 yang
+## 2019/yang
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2019/yang/prog.c](2019/yang/prog.c)
-### Information: [2019/yang/README.md](2019/yang/README.md)
+### Information: [2019/yang/index.html](2019/yang/index.html)
The author noted that if the program runs out of memory it is likely to crash.
@@ -3733,14 +3696,14 @@ ignored except line feeds (preserved) and tabs (expanded to 8 spaces).'
-# 2020
+# 2020
-## 2020 burton
+## 2020/burton
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2020/burton/prog.c](2020/burton/prog.c)
-### Information: [2020/burton/README.md](2020/burton/README.md)
+### Information: [2020/burton/index.html](2020/burton/index.html)
This entry is known to crash if no arg is specified. Although easy to fix it is
documented and should not be fixed (of course you may fix it to see if you can
@@ -3750,11 +3713,11 @@ It will also show funny output with more than one arg. This should not be fixed
either. But can you figure out why this happens?
-## 2020 carlini
+## 2020/carlini
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2020/carlini/prog.c](2020/carlini/prog.c)
-### Information: [2020/carlini/README.md](2020/carlini/README.md)
+### Information: [2020/carlini/index.html](2020/carlini/index.html)
The author stated that bad things happen if the entered move is outside of the
range [1..9]. We observed a crash but we also observed a tie and other things
@@ -3769,34 +3732,34 @@ move.
If you have audible bells enabled the program will beep at every turn.
-## 2020 ferguson1
+## 2020/ferguson1
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2020/ferguson1/prog.c](2020/ferguson1/prog.c)
-### Information: [2020/ferguson1/README.md](2020/ferguson1/README.md)
+### Information: [2020/ferguson1/index.html](2020/ferguson1/index.html)
There are some things that might appear to be bugs but are actually features or
things that are misinterpreted as bugs. See the
-[bugs.md](2020/ferguson1/bugs.md) and
-[troubleshooting.md](2020/ferguson1/troubleshooting.md) files for details.
+[bugs.html](2020/ferguson1/bugs.html) and
+[troubleshooting.html](2020/ferguson1/troubleshooting.html) files for details.
-## 2020 giles
+## 2020/giles
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2020/giles/prog.c](2020/giles/prog.c)
-### Information: [2020/giles/README.md](2020/giles/README.md)
+### Information: [2020/giles/index.html](2020/giles/index.html)
The author noted that the program only supports WAV files that have
exactly 16 bits per sample, but it allows any sample rate and any number of
audio channels.
-## 2020 otterness
+## 2020/otterness
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2020/otterness/prog.c](2020/otterness/prog.c)
-### Information: [2020/otterness/README.md](2020/otterness/README.md)
+### Information: [2020/otterness/index.html](2020/otterness/index.html)
The author listed the following limitations:
@@ -3814,26 +3777,26 @@ correctly parse, but I have rarely seen this in practice. The largest
cause of program failures, in my experience, has been Limitation 2.
See also the [Program error
-codes](/2020/otterness/README.md#program-error-codes) written by the author
+codes](2020/otterness/index.html#program-error-codes) written by the author
which lists some other conditions which should be considered features, not bugs.
-# 2021
+# 2021
There was no IOCCC in 2021.
-# 2022
+# 2022
There was no IOCCC in 2022.
-# 2023
+# 2023
There was no IOCCC in 2023.
-# 2024
+# 2024
We hope to run the IOCCCMOCK this year, 2024, and hopefully the next IOCCC, but
for now we wish everyone a happy new year!
@@ -3847,4 +3810,4 @@ so on. We also thank you for going through this document and, if you propose an
fixes] via a [GitHub pull
request](https://github.com/ioccc-src/temp-test-ioccc/pulls) or otherwise, we
thank you as well for the help! We will happily add you to the
-[thanks](/thanks-for-help.md) file as well.
+[thanks](thanks-for-help.html) file as well.
diff --git a/contact.html b/contact.html
index fe44f7280..5e37c7acf 100644
--- a/contact.html
+++ b/contact.html
@@ -59,6 +59,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
Instead first look at the IOCCC issues to
see if the problem has already been reported. If it has been reported,
feel free to add a comment to the issue. If you do not find an it has
been reported, then fee free to open a new IOCCC issue.
You may wish to follow us IOCCC on Mastodon as we use that
+platform to announce things such as the opening of a new IOCCC as well
+as winning entries of the IOCCC.
+
We no longer tweet (or whatever someone with poor impulse control
+calls posting messages on their platform), preferring to reside in the
+fediverse instead.
diff --git a/contact.md b/contact.md
index 88b1e271b..dcbd13306 100644
--- a/contact.md
+++ b/contact.md
@@ -2,9 +2,9 @@
If you are trying to:
-* Fix a winning IOCCC entry - (see [FAQ 5.2](/faq.md#fix_an_entry))
-* Update winning author information - (see [FAQ 5.5](/faq.md#fix_author))
-* Correct a web site problem - (see [FAQ 5.4](/faw.md#fix_web_site) or [FAQ 5.6](/faq.md#fix_link))
+* Fix a winning IOCCC entry - (see [FAQ 5.2](faq.html#fix_an_entry))
+* Update winning author information - (see [FAQ 5.5](faq.html#fix_author))
+* Correct a web site problem - (see [FAQ 5.4](faq.html#fix_web_site) or [FAQ 5.6](faq.html#fix_link))
Instead of sending us Email, **Please** consider using the [GitHub
pull request](https://github.com/ioccc-src/winner/pulls) process
@@ -13,19 +13,40 @@ of the [ioccc-src/winner repo](https://github.com/ioccc-src/winner).
If you are trying to:
-* Report a bug in an IOCCC winning entry - (see [FAQ 5.1](/faq.md#report_bug))
-* Report an IOCCC web site problem - (see [FAQ 5.3](/faq.md#report_web_problem))
-* Report a broken or wrong web link - (see [FAQ 5.6](/faq.md#fix_link))
+* Report a bug in an IOCCC winning entry - (see [FAQ 5.1](faq.html#report_bug))
+* Report an IOCCC web site problem - (see [FAQ 5.3](faq.html#report_web_problem))
+* Report a broken or wrong web link - (see [FAQ 5.6](faq.html#fix_link))
Instead first look at the [IOCCC
issues](https://github.com/ioccc-src/winner/issues) to see if the
problem has already been reported. If it has been reported, feel
free to add a comment to the issue. If you do not find an it has
been reported, then fee free to open a [new IOCCC
-issue](//github.com/ioccc-src/winner/issues).
+issue](https://github.com/ioccc-src/winner/issues).
See the above FAQ entries for more details.
+
+# Try mastodon
+
+You may wish to follow us [IOCCC on Mastodon](https://fosstodon.org/@ioccc)
+as we use that platform to announce things such as the opening of a new IOCCC
+as well as winning entries of the IOCCC.
+
+We no longer tweet (or whatever someone with poor impulse control calls
+posting messages on their platform), preferring to reside in the [fediverse](https://fediverse.info) instead.
+
+There is [help with Mastodon](https://mastodon.help) available for
+those who might wish to [get started with Mastodon](https://fosstodon.org/deck/getting-started).
+
+While there are many fine Mastodon server instances out there, the [IOCCC judges](../judges.html)
+use [fosstodon.org](https://fosstodon.org/about) where lots of fun folk hang out,
+and topics like science, technology, [free and open source](https://en.wikipedia.org/wiki/Free_and_open-source_software)
+have a good home. The [fosstodon.oeg](https://fosstodon.org/@fosstodon) folk made the IOCCC feel welcome.
+And while using Mastodon is free, the [IOCCC judges](../judges.html) are pleased to
+[support the Fosstodon Hub](https://hub.fosstodon.org/support/).
+
+
# If you really need to send Email the IOCCC judges
Did you look at the above section?
diff --git a/faq.html b/faq.html
index 675c0e87d..dcb99ac09 100644
--- a/faq.html
+++ b/faq.html
@@ -59,6 +59,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
You are also highly encouraged to review the official IOCCC guidelines as they contain
+href="guidelines.html">official IOCCC guidelines
as they contain
important suggestions, useful hints, and IOCCC humor. :-)
Register for the IOCCC
XXX - instructions TBD - XXX
@@ -291,11 +292,11 @@ as you can run the tools from the top of the mkiocccentry repo
directory just fine.
If mkiocccentry tool indicates that there is a problem
with your entry, especially if it identifies a rule 2 related problem, you are
+href="rules.html#2">rule 2 related problem, you are
strongly encouraged to revise and correct your entry
and then re-run the mkiocccentry tool.
If you choose to risk violating rules, be sure an explain your reason
-for doing so in your remarks.md file.
+for doing so in your _remarks.md file.
Upload your entry to the IOCCC submit server
XXX - instructions TBD - XXX
@@ -310,7 +311,7 @@ of the IOCCC, like variety.
competition from previous IOCCC entries make it more challenging to be
successful.
It is also important to note that the guidelines often state something along the
+href="guidelines.html">guidelines often state something along the
lines of:
We tend to dislike programs that: are similar to previous winning
@@ -318,82 +319,82 @@ entries
HINT: It is not fatal to send in those types of entries, it is just
@@ -470,12 +471,13 @@ UNIX (e.g. Linux or Solaris). To improve chances to win, it should work
under both BSD and SysV style UNIX (think stty cbreak),
and should not depend on “Endianness”. If it can compile and run on
Windows and/or Mac (see 2000/thadgavin for one example,
+href="years.html#2000_thadgavin">2000/thadgavin for one example,
amongst others), even better. Being able to compile with other compilers
like clang is also a good thing.
Section 1:
History of the IOCCC
-
FAQ
+
FAQ
1.0: How did the IOCCC get started?
One day (1984 March 23 to be exact), Larry Bassel and I (Landon Curt
Noll) were working for National Semiconductor’s Genix porting group, we
@@ -504,7 +506,7 @@ rules and guidelines … to make them more obfuscated of course! :-)
BTW: This posting was made back in the days when AT&T was the
evil giant. Now, Microsoft makes AT&T look mild and kind in
comparison. :-( (IMHO) ).
We (Larry and I) received a number of entries by email. When we began
@@ -535,22 +537,22 @@ wish to remain anonymous.
anonymous. They said: ‘Yes, I want to keep my anonymity. But you can
tell them that I am well known for my connection to the C
language’. It was not until 2001 that another anonymous entry received an
+href="years.html#2001_anonymous">anonymous entry received an
award.
-
BTW: The 1984 winner remains
-one of my (Landon Curt Noll) all time favorites.
+
BTW: The 1984/mullender
+remains one of my (Landon Curt Noll) all time favorites.
The name used in the posting of the 1st
-IOCCC winner posting was International
+winning IOCCC entry posting was International
Obfuscated CCode
Contest or IOCCC for short.
The posting said ‘1st annual’, so in 1985 we held the 2nd IOCCC contest and the tradition
-continues as the longest running contest on the Internet.
+href="years.html#1985">2nd IOCCC contest and the tradition continues
+as the longest running contest on the Internet.
FAQ
@@ -586,15 +588,15 @@ web site.
compressed tarball archive
Furthermore, a bzip2 compressed tarball containing the released IOCCC
entry source code may be found under the archive/historic directory. The file archive-all.tar.bz2
+href="archive/histroic">archive/historic directory. The file archive-all.tar.bz2
contains all years and the individual years are in the form
archive/historic/archive-YYYY.tar.bz2.
XXX: Change the references to
temp-test-ioccc to winners when these fixes are
@@ -615,7 +617,7 @@ be compiled and work on modern systems
Reworking the Makefiles to use a consistent set of rules
Reworking the Makefiles specific to the gcc and clang C
compilers
-
Replacing the various hint files with a README.md markdown that is
+
Replacing the various hint files with a index.html markdown that is
more consistent across IOCCC years
Setting up a system whereby authors of IOCCC entries may update
their own contact information via a GitHub pull request
@@ -702,7 +704,7 @@ any input or actions if applicable.
obfuscated.
For those entries that win the IOCCC, we often use much of text from
the remarks.md file in the Author’s remarks
-section of the README.md file. For this reason, a well
+section of the index.html file. For this reason, a well
written remarks.md file is considered a plus.
While not required, consider adding bit of humor to your
remarks.md as most people who are not humor impaired, as
@@ -723,7 +725,7 @@ and/or input data
contest is called the IOCCC, not the
INVOCCC :-) ); but even if you do not admit it, not
very obfuscated entries have a minuscule chance to win (although 2000/tomx is a notable
+href="years.html#2000_tomx">2000/tomx is a notable
counterexample).
mentioning your name or any identifying information in the remark
section (or in the C code for that matter) - we like to be unbiased
@@ -732,7 +734,7 @@ wins. See the guidelines if this is not clear!
leaving the remark section empty.
FAQ
+id="faq-2.2-why-dont-you-publish-entries-that-do-not-win">FAQ
2.2: Why don’t you publish entries that do not win?
Because the publication on the IOCCC site
IS the award! Anyone is free to put their
@@ -773,35 +775,36 @@ award?
that stands out among all of the other IOCCC entries received that year.
For such an IOCCC entry, the IOCCC judges award a “Grand Prize” or “Best
of Show award.
-
In 1984-1987, the grand prize winners are:
+
In 1984-1987, the grand prize winning entries are:
In 1993, 1994 and 1995 the judges were unable to select a clear
-overall winner. So to give a nod to the entry that had the highest
-approval ranking from the judges, they used the following awards:
+overall winning entry. So to give a nod to the entry that had the
+highest approval ranking from the judges, they used the following
+awards:
Once the IOCCC closes, the judges
+will select the winning entries announce
them on the @IOCCC mastodon feed,
notify the authors of entries that won the IOCCC via email using their
previously registered email address, and upload the winning code to the
-winner repo which in
-turn will cause them to be displayed on the IOCCC winning entries
-page.
Please see the other FAQs in this section as they might offer helpful
hints, especially in cases were something else needs to be
installed.
-
Please see the bugs.md file for details about
-known problems with IOCCC entries. In some cases you may be dealing with
-a problematic entry. In a few fun cases, the IOCCC does not compile by
-design!
+
Please see the bugs.html file for details
+about known problems with IOCCC entries. In some cases you may be
+dealing with a problematic entry. In a few fun cases, the IOCCC does not
+compile by design!
FAQ
@@ -901,20 +902,20 @@ support or 32-bit binaries. A problem system here is macOS Catalina
(10.15) as as of that version macOS no longer supports 32-bit binaries.
If the entry acts on a certain type of binary, say ELF, then that will
also be a problem depending on the entry. For example 2001/anonymous requires 32-bit ELF
+href="2001/anonymous/index.html">2001/anonymous requires 32-bit ELF
binaries.
There are numerous example entries that require 32-bit binaries. We
-have tried to note these in both the respective Makefiles and README.md
+have tried to note these in both the respective Makefiles and index.html
files but it is possible that some were missed. These entries are very
-likely in the bugs.md file and we welcome any
+likely in the bugs.html file and we welcome any
help in making an alternate version for 64-bit systems. Many were fixed
to work with modern systems but some are supposed to only work with
32-bit systems so any updated version of these entries should be an
alternate version.
Other entries like 2001/herrmann2 now work
+href="thanks-for-help.html#2001_herrmann2">2001/herrmann2 now work
with 32-bit AND 64-bit systems.
Please see the bugs.html file for the
problematic entry in question to see if the problem is known, and if a
fix is wanted, consider trying to port the code to a 64-bit system and
submitting a pull request with that change. Pull requests that fix such
@@ -930,7 +931,7 @@ macOS you will not be able to run or use these entries. This is because
macOS gcc is actually clang, even /usr/bin/gcc.
That being said many (if not most) of these entries have been fixed
and some others will be looked at, when found.
In some cases the bugs.html file may note a
known macOS problem with an entry. Should you manage to port the entry,
and assuming your changes also attempt to preserve the original intent
of the IOCCC entry, we would encourage you to submit a pull request with
@@ -953,8 +954,8 @@ function of the original main() type.
There might be alternate code added at some point but as above this
depends on free time and other things that have to be done plus
remembering to do it.
-
See if the problem is mentioned in bugs.md. If
-you have a change that fixes the problem (even if it just a change to
+
See if the problem is mentioned in bugs.html.
+If you have a change that fixes the problem (even if it just a change to
the Makefile) that doesn’t negatively impact the entry too
much, consider submitting that change in the form of a pull request.
Please see FAQ 5.2 “How may I submit a fix to an
@@ -1035,7 +1036,7 @@ FAQ for more information.
If your system uses Wayland and not X11, you might
give the IOCCC entries that use X11 a try. They might work but again we
do not know.
IMPORTANT NOTE: The IOCCC
judgesdo not support IOCCC entries. So if
an IOCCC entry that uses X11 fails under Wayland, and
you wish to provide a fix to the IOCCC entry so that it will run under
@@ -1045,7 +1046,7 @@ href="#fix_an_entry">submitting a fix
so that it will run under
Basically: if you discover an entry does not work in Wayland you are
welcome to provide alternate code that works for
Wayland. We will happily credit you in the thanks-for-help.md file.
If you haven’t already, install MacPorts. Then run:
@@ -1208,10 +1209,10 @@ possible.
might be extra SDL packages required
In the case that some entries do not work even with SDL1/SDL2
installed it might be that you need additional SDL libraries. See the
-entry’s README.md for details. If something is not noted you’re welcome
+entry’s index.html for details. If something is not noted you’re welcome
to report it as an issue or fix it and make a new pull request.
FAQ
+id="faq-3.9-how-do-i-compile-an-ioccc-entry-that-requires-ncurses">FAQ
3.9: How do I compile an IOCCC entry that requires (n)curses?
This depends on your operating system but below are instructions for
Linux and macOS with alternative methods for macOS and different package
@@ -1267,23 +1268,23 @@ href="https://brew.sh">Homebrew
.
Then to install SoX, execute the following command:
If you haven’t already, install MacPorts. Then run:
sudo port install sox
Debian based Linux
-
Usually the README.md file will explain how to use it under Debian so
-we do not include this here, at least for now.
+
Usually the index.html file will explain how to use it under Debian
+so we do not include this here, at least for now.
package website
Not applicable, see above.
Other Linux distributions
-
Usually the README.md file will explain how to use it under Linux so
+
Usually the index.html file will explain how to use it under Linux so
we do not include this here, at least for now.
FAQ
-3.10: Why do Makefiles use -Weverything with clang?
+id="faq-3.11-why-do-makefiles-use--weverything-with-clang">FAQ
+3.11: Why do Makefiles use -Weverything with clang?
While we know that use of -Weverything is generally not
recommended by clang C compiler developers, we do use the
-Weverything option in a certain case in IOCCC entry
@@ -1358,12 +1359,11 @@ entries that recursively called main() caused a crash or
otherwise broke the entry in modern systems). Some entries do not work
in clang (or at least do not work completely) due to these
defects, for instance 1989/westley; Cody Boone
-Ferguson was able to get much of it to work and looking at that
-entry might be of value to your submissions, at least if you can figure
-the code out :-). To see the differences, try from
-1989/westley:
+href="1989/westley/index.html">1989/westley; Cody Boone Ferguson was
+able to get much of it to work and looking at that entry might be of
+value to your submissions, at least if you can figure the code out :-).
+To see the differences, try from 1989/westley:
make diff_orig_prog
If you have colordiff try:
@@ -1425,19 +1425,19 @@ require operating system services that may not be present on your
system.
In some cases the IOCCC entry simply has bugs or (Mis)features.
If you are having problems compiling or running an IOCCC entry, we
-recommend that you look in bugs.md to see if
+recommend that you look in bugs.html to see if
there is a known bugs or (Mis)feature. In some cases what you may think
is a bug is actually an feature that was intentionally written by the
authors. In some cases the problem is well known and we are looking for
someone to attempt to fix it.
In some cases there is an alternate version of the IOCCC entry that
you may wish to try.
+request. Please see FAQ 5.2 for how to
+submit a fix to an IOCCC entry.
FAQ
3.14 - How do I compile and install tcpserver for entries that require
@@ -1659,32 +1659,14 @@ IOCCC code?
It is very likely in this case that the code was fixed to work for
modern systems as part of the reworking of the website. If you have this
problem in some entries you should look at the original code as in
-winner.orig.c or prog.orig.c.
-winner is the directory name. For instance, one of Landon’s
-favourite entries of all time is 1984/mullender and the winner there
-would be mullender. Sometimes the original is in an alt
-version like winner.alt.c or prog.alt.c. In
-fact it is advisable to look at the original code when reading the
-author’s (and sometimes authors’) remarks.
-
Section
-4: Changes made to IOCCC entries
-
FAQ
-4.0: Why are some winning entry remarks incongruent with the winning
-IOCCC code?
-
It is very likely in this case that the code was fixed to work for
-modern systems as part of the reworking of the website. If you have this
-problem in some entries you should look at the original code as in
-winner.orig.c or prog.orig.c.
-winner is the directory name. For instance, one of Landon’s
-favourite entries of all time is 1984/mullender and the winner there
-would be mullender. Sometimes the original is in an alt
-version like winner.alt.c or prog.alt.c. In
-fact it is advisable to look at the original code when reading the
-author’s (and sometimes authors’) remarks.
+dirname.orig.c or prog.orig.c.
+dirname is the directory name. For instance, one of
+Landon’s favourite entries of all time is 1984/mullender and the entry’s
+dirname there would be mullender. Sometimes the original is
+in an alt version like dirname.alt.c or
+prog.alt.c. In fact it is advisable to look at the original
+code when reading the author’s (and sometimes authors’) remarks.
FAQ
4.1: Why were some calls to the libc function gets(3)
@@ -1694,7 +1676,7 @@ changed to use fgets(3)?
worth it because of alarming warnings that can be displayed, in some
systems at runtime interspersed with the output of the program.
For instance in macOS the entry 1990/tbr would output the warning in such
+href="1990/tbr/index.html">1990/tbr would output the warning in such
a way that caused confusing output for the entry, looking like:
$ ./tbr
@@ -1711,7 +1693,7 @@ not possible to change to fgets() though this has not been
done).
Some entries can be made to look almost identical to the original
entry. For instance the fix to 1988/reddy required only a single
+href="1988/reddy/index.html">1988/reddy required only a single
#define be added.
In the future we, the judges, would prefer that entries use
fgets() to prevent these problems.
@@ -1726,10 +1708,10 @@ name of backward compatibility.
a problem and it is this that has complicated most of the fixes though
again some can look almost identical.
FAQ
+id="faq-4.2-what-was-changed-in-an-ioccc-entry-source-code">FAQ
4.2: What was changed in an IOCCC entry source code?
We have set up make rules to easily do see what was changed in the
-IOCCC winner source. Using the Makefile in the winner
+winning IOCCC entry source. Using the Makefile in the entry
directory, use one of the following make(1) rules:
The following make rules exist to make a difference:
@@ -1767,7 +1749,7 @@ is entry.c to entry.orig.c).
For instance one of Landon’s all time favourite entries is 1984/mullender so the file names
+href="1984/mullender/index.html">1984/mullender so the file names
would be: mullender.orig.c, mullender.alt.c
and mullender.c. For later years, it would be instead
prog.orig.c, prog.alt.c and
@@ -1777,17 +1759,17 @@ and mullender.c. For later years, it would be instead
at the end of the output but this is completely normal if there are
differences.
If the alt code is the same as the original, say with 1984/anonymous, then naturally
+href="1984/anonymous/index.html">1984/anonymous, then naturally
there is no point in running the rule and the same applies for all the
other rules but this system allows for easily seeing the diffs.
As some examples we’ll first look at one that has really long lines
which will make it harder to see what is different, 2001/anonymous. What you would do
+href="2001/anonymous/index.html">2001/anonymous. What you would do
is cd 2001/anonymous and then do:
But for an entry like 1991/dds, you
can see the differences much more easily. 1991/dds is a
good example where it’s very simple to see what is different as it’s
just a couple lines.
@@ -1796,14 +1778,14 @@ changed and at the same time how much other entries had to be changed,
often with quite complex differences! In some cases if the line is
rather long, like the above mentioned one, it will be harder to see what
changed but in other cases like 1984/decot or 1986/wall it’s a lot easier.
+href="1984/decot/index.html">1984/decot or 1986/wall it’s a lot easier.
Well, at least it’s easier see the differences on a line-by-line
basis but maybe not what actually changed, especially since it’s easier
to know what was fixed when you have compiler errors :-) (though there
are, as noted, some examples where it’s quite easy to see the
differences).
1991/dds is also a good example to
see the alt difference very easily. To do that cd 1991/dds
and then do:
the judges’ remarks and always the author’s or authors’ remarks, you
look at the original code. When the entry source code is called
prog.c the original code is in prog.orig.c;
-otherwise it is winner.orig.c. For instance one of Landon’s
-all time favourite entries is 1984/mullender and the original
+otherwise it is dirname.orig.c. For instance one of
+Landon’s all time favourite entries is 1984/mullender and the original
code is in mullender.orig.c. In some
+href="1984/mullender/mullender.orig.c">mullender.orig.c. In some
cases, such as 1984/mullender, the original code is the
same as the code as no changes were made (there is an alt version for
systems that are not VAX-11/PDP-11, however).
-
The known bugs file, order by IOCCC years,
contains a list of known bugs & (mis)features. If you are looking
for an IOCCC entry to try and fix, this file is a good place to
start.
-
See FAQ 5.2 for information on how to submit a
-fix to an IOCCC entry. Before you consider trying to fix an IOCCC
-winner, please check the known bugs file for the
-IOCCC entry in question. Note that in several cases what you may have
-discovered, while a (mis)feature is not considered a bug and should
-not be fixed. In cases where the bug is known, the
-entry’s known bugs file section may offer you
-important fixing clues.
+
See FAQ 5.2 for information on how to
+submit a fix to an IOCCC entry. Before you consider trying to fix an
+IOCCC winning entry, please check the known bugs
+file for the IOCCC entry in question. Note that in several cases what
+you may have discovered, while a (mis)feature is not considered a bug
+and should not be fixed. In cases where the bug is
+known, the entry’s known bugs file section may
+offer you important fixing clues.
We welcome
your help on fixing the IOCCC web site
accepted. This might be because the author objects or it doesn’t fit in
some way or another. Of course if the entry does not work we’ll
certainly be more inclined to accept the fix. If it is accepted we’ll be
-happy to credit you in the thanks
-file. If you’re a previous winner we will happily link to your entries;
-if you’re not we can link to your website if you wish.
-
See FAQ 5.2 for information on how to submit a
-fix to an IOCCC entry.
+happy to credit you in the thanks
+file. If you’re a previous author of a winning IOCCC entry we will
+happily link to your entries; if you’re not we can link to your website
+if you wish.
+
See FAQ 5.2 for information on how to
+submit a fix to an IOCCC entry.
FAQ
5.2: How may I submit a fix to an IOCCC entry?
If you see a problem with an IOCCC entry, first check the known bugs file. In some cases what you might think
+href="bugs.html">known bugs file. In some cases what you might think
of as a bug is instead a known feature. In some cases the bug is known,
but no fix has ever been submitted. In other cases you may have found a
new problem.
If you do have a fix, and the known bugs file
does not recommend against fixing it, then please
consider opening a GitHub pull request
@@ -1910,7 +1893,7 @@ href="https://github.com/ioccc-src/winner/branches">branch of the ioccc-src/winner
repo.
BTW: A problem is not limited to the code itself.
-Fixing typos in files such as “README.md” files, fixing issues
+Fixing typos in files such as “index.html” files, fixing issues
in a “Makefile”, or otherwise correcting an IOCCC entry is
VERY MUCH WELCOME! Please use the same GitHub pull request
@@ -1918,12 +1901,12 @@ process against the master branch of the ioccc-src/winner
repo.
-
NOTE: some of the issues in the bugs.md file
-includes just missing files and we welcome these too!
+
NOTE: some of the issues in the bugs.html
+file includes just missing files and we welcome these too!
Please also help us fix typos and / or otherwise improve the
write-up of how IOCCC winning entries are presented!
In any event we will happily add you to the thanks file for your help!
+href="thanks-for-help.html">thanks file for your help!
And of course, an IOCCC entry may update their own entries (metadata
as well as source code and any extra files) by opening a GitHub pull request
@@ -1937,29 +1920,30 @@ the judges have the final say in the matter.
id="faq-5.3-how-may-i-report-an-ioccc-web-site-problem">FAQ
5.3: How may I report an IOCCC web site problem?
If you discover a problem with the IOCCC web site that is related to
-a particular IOCCC entry, please see FAQ 5.1 for
-information about reporting a bug in an IOCCC entry, and see FAQ 5.2 for information on how to submit a fix to an
-IOCCC entry.
+a particular IOCCC entry, please see FAQ 5.1
+for information about reporting a bug in an IOCCC entry, and see FAQ 5.2 for information on how to submit a fix
+to an IOCCC entry.
If you discover a problem with the IOCCC web site (such as a broken
link, which may or may not be specific to a particular IOCCC entry) that
is not related to a particular IOCCC entry, the best
way you can help is to submit a fix to the IOCCC web site. See FAQ 5.4 for information on submitting fixes to the
-IOCCC web site.
+href="#fix_web_site">FAQ 5.4 for information on submitting fixes to
+the IOCCC web site.
If you do not have a IOCCC web site fix, and just wish to report a
general IOCCC web site problem, we ask that you first look at the IOCCC issues to
see if the problem has already been reported. If it has been reported,
feel free to add a comment to the issue. If you do not find an it has
been reported, then fee free to open a new IOCCC issue.
This means that the file is generated by a tool from a bin directory tool.
XXX - the text below for this FAQ entry needs to be updated - XXX XXX
- the text needs to be synced with what tools be written will do -
XXX
@@ -1996,8 +1977,8 @@ clue to the content that is used by the tool to generate the DO
NOT MODIFY THIS FILE HTML file.
When in doubt, consider opening up an IOCCC issue. See
-FAQ 5.3 for information on opening up an IOCCC
-issue.
+FAQ 5.3 for information on opening up
+an IOCCC issue.
FAQ
5.5: How may I correct or update IOCCC author information?
@@ -2005,11 +1986,11 @@ id="faq-5.5-how-may-i-correct-or-update-ioccc-author-information">FAQ 6.5 for more information about an author
+href="#author_handle">FAQ 6.5 for more information about an author
handles.
The contents of these JSON files contain the best known information
-about authors of IOCCC entries. See FAQ 6.6 for
-information about the contents of these JSON file and how they are
+about authors of IOCCC entries. See FAQ 6.6
+for information about the contents of these JSON file and how they are
used.
You may update IOCCC author information in a
author_handle.json file by opening a FAQ 5.4. In
-the case of dead links or invalid links it doesn’t matter if it’s a
+GitHub pull request as described in FAQ 5.4.
+In the case of dead links or invalid links it doesn’t matter if it’s a
specific winner or not; the procedure is the same: open a pull request
to fix the problem.
As far as how to find the updated link you can try using the
See the [author's description of the program](https://example.com) for more information.
Assuming that the author’s description cannot be found in the Internet Wayback Machine archive,
then replace that text with:
See the **author's description of the program** (sorry the content is no longer available) for more information.
If you just wish to report the bad link issue, see FAQ 5.3.
+href="#report_web_problem">FAQ 5.3.
Section 6:
Miscellaneous IOCCC
The winner.orig.c file contains the original source code
that was subjected to rule 2 of the given IOCCC. You may also wish to
-see the /archive directory where you can find all
+see the /archive directory where you can find all
the original winning entries as compressed tar files for a given
year.
In some cases the entry may have abused rule 2 and declared an “abuse
@@ -2076,7 +2057,7 @@ rule 2 size limits is discouraged).
id="faq-6.1-is-there-a-list-of-known-bugs-and-misfeatures-of-ioccc-entries">FAQ
6.1: Is there a list of known bugs and misfeatures of IOCCC
entries?
-
Yes! Please see bugs.html for a list of known
bugs and/or issues of a variety of kinds.
Note that just because an entry is not in the bugs file does not mean
there is not an issue and note that some issues are simply missing
@@ -2093,10 +2074,10 @@ id="faq-6.3-may-i-use-parts-of-the-ioccc-in-an-article-book-newsletter-or-instru
6.3: May I use parts of the IOCCC in an article, book, newsletter, or
instructional material?
+href="contact.html">contacting the IOCCC Judges page.
FAQ
6.4: Why do you sometimes use the first person plural?
@@ -2110,16 +2091,15 @@ href="https://en.wikipedia.org/wiki/F._D._C._Willard">F. D. C.
Willard as well as the APS
New Open Access Initiative.
-
The number of IOCCC
-judges has always been “> 1” such that IOCCC judges often prefer
-to themselves in the plural, sometimes in the common plural,
-sometimes in the first
-person plural, there may be some who reject such a practice.
-Therefore please consider that when you believe that just one of the IOCCC judges is in action,
-you may consider that F. D. C.
+
The number of IOCCC judges has always
+been “> 1” such that IOCCC judges often prefer to themselves in the
+plural, sometimes in the
+common plural, sometimes in the first person plural,
+there may be some who reject such a practice. Therefore please consider
+that when you believe that just one of the IOCCC judges is in action, you may consider
+that F. D. C.
Willard has been consulted, agreed, and has authorized the statement
thus allowing the in the
common plural to be used without offense.
@@ -2141,8 +2121,8 @@ and is unique to the IOCCC. Each author has exactly one
For each author_handle, there will be a JSON file of the
form:
author/author_handle.json
-
See FAQ 6.6 for information about the contents
-of these JSON file and how they are used.
+
See FAQ 6.6 for information about the
+contents of these JSON file and how they are used.
Because the author_handle is used to form a JSON
filename, the string must be POSIX safe string. Furthermore, the
author_handle must be an ASCII string that matches this
@@ -2171,39 +2151,39 @@ forms:
in a given year.
NOTE: even if the directory name is not anonymous the
above rules apply as in in the case of 2005/anon.
+href="2005/anon/anon.c">2005/anon.
Anonymous author_handle’s match this regexp:
Anonymous_[0-9][0-9][0-9][0-9][.0-9]*$
-
See FAQ 5.5 for information about how to update
-and/or correct IOCCC author information.
+
See FAQ 5.5 for information about how to
+update and/or correct IOCCC author information.
FAQ
6.6: What is a author_handle.json file and how are they used?
TL:DR: The contents of these JSON files contain the
best known information about authors of IOCCC entries and is used to
help form HTML files as well to contact an author.
-
The content of these JSON files are used by tools from the build-ioccc repo to
-help build HTML content for the official
-IOCCC web site. For example, the index.html file for
-each IOCCC entry contains selected information about the authors. Tools
-from the build-ioccc
-repo use the content of these JSON files to generate the
-index.html files for each IOCCC winning entry.
The content of these JSON files are used by tools from a bin directory tool to help build HTML content
+for the official IOCCC web site. For
+example, the index.html file for each IOCCC entry contains
+selected information about the authors. Tools from the bin directory use the content of these JSON
+files to generate the index.html files for each IOCCC
+winning entry.
+
Moreover, should the IOCCC judges need to
contact an authors of a IOCCC entry, they will consult the contents of
the author’s JSON file for ways to contact them.
Each author of an IOCCC winning entry has their own
author_handle.json file of the form:
author/author_handle.json
where author_handle is an author handle. See FAQ 6.5 for more information about an author
+href="#author_handle">FAQ 6.5 for more information about an author
handles.
author_handle.json JSON
file contents
The syntax of a author_handle.json follows the
So-called JSON spec. See json_README.md
+href="https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/json_index.html#so_called_json_spec">json_index.html
for information on the So-called JSON spec.
A good way to understand the JSON file contents of a
author_handle.json file is to look at an example, the
@@ -2219,36 +2199,35 @@ class="sourceCode json">"full_name":"Yusuke Endoh","sort_word":"endoh","location_code":"JP",
-"location_name":"Japan",
-"email":"mame@ruby-lang.org",
-"url":"https://mametter.hatenablog.com",
-"alt_url":null,
-"deprecated_twitter_handle":null,
-"mastodon":"@mame@ruby.social",
-"mastodon_url":"https://ruby.social/@mame",
-"github":"@mame",
-"affiliation":null,
-"winning_entry_set":[
-{"entry_id":"2012_endoh1"},
-{"entry_id":"2012_endoh2"},
-{"entry_id":"2013_endoh1"},
-{"entry_id":"2013_endoh2"},
-{"entry_id":"2013_endoh3"},
-{"entry_id":"2013_endoh4"},
-{"entry_id":"2014_endoh1"},
-{"entry_id":"2014_endoh2"},
-{"entry_id":"2015_endoh1"},
-{"entry_id":"2015_endoh2"},
-{"entry_id":"2015_endoh3"},
-{"entry_id":"2015_endoh4"},
-{"entry_id":"2018_endoh1"},
-{"entry_id":"2018_endoh2"},
-{"entry_id":"2019_endoh"},
-{"entry_id":"2020_endoh1"},
-{"entry_id":"2020_endoh2"},
-{"entry_id":"2020_endoh3"}
-]
-}
We now will walk thru the above JSON document looking at various JSON
members:
no_comment
@@ -2278,9 +2257,8 @@ MODIFY author_JSON_format_version! As of Thu Nov 30
The author_JSON_format_version would only changed when the
overall format of the these files is modified: and then only those who
maintain the official IOCCC web site
-would be the one to do this in conjunction with changes to the build-ioccc
-repo.
+would be the one to do this in conjunction with changes to bin directory tools.
author_handle
"author_handle":"Yusuke_Endoh",
@@ -2289,8 +2267,8 @@ class="sourceCode json">author_handleJSON member and the JSON
valueMUST be a JSON string that is also
a value author handle.
-
See FAQ 6.5 for more information about an
-author handles.
+
See FAQ 6.5 for more information about
+an author handles.
Normally the author_handleJSON value should
NOT be changed unless there is a strong reason
to do so. If the JSON value changes, then all of the
@@ -2351,39 +2329,9 @@ ISO 3166-1 alpha-2 codes belong to locations that are not technically a
country, such as “Antarctica” or a User-assigned code.
If the author wishes to not specify a location, they should select
XX.
-
location_name
-
"location_name":"Japan",
-
This JSON member holds the string that is the canonical
-location name as reported by the soup/location tool from
-the mkiocccentry
-repo, when given the location code as
-specified above.
-
There MUST be one and only one
-location_codeJSON member and the JSON
-valueMUST be a JSON string. Moreover the
-string MUST be what the soup/location tool
-prints when given the location_code as an argument.
-
We use the term “location” (and not “country”) because some of the
-ISO 3166-1 alpha-2 codes belong to locations that are not technically a
-country, such as “Antarctica” or a User-assigned code.
-
Often a given location may have a long official name, and multiple
-common names. For names associated with the location DE
-might be:
-
Germany
-Federal Republic of Germany
-Bundesrepublik Deutschland
-Deutschland
-...
-
The “location_name” printed by the soup/location tool is
-often a short, common string that is sometimes called the formal
-location name for the given ISO 3166 code. Thus in the above example for
-DE, the location name of Germany is used.
-
If the author wishes to not specify a location, they should select
-Anonymous location.
email
-
"email":"mame@ruby-lang.org",
+
"email":"mame@ruby-lang.org",
This JSON member holds the email address of the author, or
is the value null.
There MUST be one and only one email
@@ -2393,13 +2341,13 @@ null
.
If the author wishes to not specify an email address, or if the email
address is unknown, they should use the JSON null as the
JSON value of this JSON member. For example:
-
"email":null,
+
"email":null,
NOTE: The JSON null is NOT enclosed in
quotes!
url
-
"url":"https://mametter.hatenablog.com",
+
"url":"https://mametter.hatenablog.com",
This JSON member holds the URL of the author’s home
page.
There MUST be one and only one url
@@ -2409,13 +2357,13 @@ null.
If the author wishes to not specify an email address, or if the URL
is unknown, they should use the JSON null as the JSON
value of this JSON member. For example:
-
"url":null,
+
"url":null,
NOTE: The JSON null is NOT enclosed in
quotes!
alt_url
-
"alt_url":null,
+
"alt_url":null,
This JSON member holds an alternate or 2nd URL a home page
for the author.
There MUST be one and only one url
@@ -2426,13 +2374,13 @@ null.
IOCCC entry, or a 2nd URL such as a work or school or personal home
page. For example, Cody as of Thu Nov 30 23:51:12 UTC 2023
used:
-
"alt_url":"https://ioccc.xexyl.net",
+
"alt_url":"https://ioccc.xexyl.net",
If the author wishes to not specify an email address, or if the
alternate URL is unknown, they should use the JSON null as the
JSON value of this JSON member. For example:
-
"url":null,
+
"url":null,
NOTE: The JSON null is NOT enclosed in
quotes!
deprecated_twitter_handle
@@ -2447,18 +2395,18 @@ chooses to call it), and so the deprecated_twitter_handle
is no longer used. A JSON value that is not a
JSON null is kept for only historic reasons. For example,
Anthony C. Howe once used:
-
"deprecated_twitter_handle":"@SirWumpus",
+
"deprecated_twitter_handle":"@SirWumpus",
If the author wishes to not specify an twitter handle, or if the
twitter handle is unknown, they should use the JSON null as the
JSON value of this JSON member. For example:
@@ -2474,8 +2422,8 @@ by the author.
href="https://mastodon.help">Mastodon help guide. See the “Mastodon
Address” section of that page in particular.
The IOCCC Mastodon handle is:
-
@ioccc@fosstodon.org
+
@ioccc@fosstodon.org
The IOCCC uses the Mastodon social network for announcements such as
the opening and closing of a new IOCCC, changes to the IOCCC web site,
updates during the judging process, and when new IOCCC entries are
@@ -2483,13 +2431,13 @@ selected. We recommend you follow us on Mastodon.
If the author wishes to not specify an Mastodon handle, or if the
Mastodon handle is unknown, they should use the JSON null as
the JSON value of this JSON member. For example:
-
"mastodon":null,
+
"mastodon":null,
NOTE: The JSON null is NOT enclosed in
quotes!
mastodon_url
-
"mastodon_url":"https://ruby.social/@mame",
+
"mastodon_url":"https://ruby.social/@mame",
This JSON member holds the URL of the author’s Mastodon
page.
There MUST be one and only one
@@ -2510,13 +2458,13 @@ Mastodon handle is:
If the author wishes to not specify an Mastodon URL, or if the
Mastodon URL is unknown, they should use the JSON null as the
JSON value of this JSON member. For example:
-
"mastodon_url":null,
+
"mastodon_url":null,
NOTE: The JSON null is NOT enclosed in
quotes!
github
-
"github":"@mame",
+
"github":"@mame",
This JSON member holds the GitHub handle of the author.
There MUST be one and only one github
@@ -2535,13 +2483,13 @@ site on GitHub pages.
If the author wishes to not specify an GitHub handle, or if the
GitHub handle is unknown, they should use the JSON null as the
JSON value of this JSON member. For example:
-
"github":null,
+
"github":null,
NOTE: The JSON null is NOT enclosed in
quotes!
affiliation
-
"affiliation":null,
+
"affiliation":null,
This JSON member holds the affiliation of the author.
There MUST be one and only one
affiliationJSON member and the JSON
@@ -2555,22 +2503,22 @@ for the IOCCC would be:
If the author wishes to not specify an affiliation, or if the
affiliation is unknown, they should use the JSON null as the
JSON value of this JSON member. For example:
The winning_entry_setJSON member holds
JSON array containing one or more entry_id _JSON
member_s.
@@ -2579,15 +2527,15 @@ member_s.
MUST be a non-empty JSON array. Each value in
that JSON arrayMUST must contain a JSON
member whose JSON nameMUST be
-“entry_id” and those JSON value is a valid winner
+“entry_id” and those JSON value is a valid entry
ID.
Due to the nature of the So-called JSON spec, the last value
of the winning_entry_setJSON array cannot end in
a comma (,).
See FAQ 5.5 for information about how to update
-and/or correct IOCCC author information.
+
See FAQ 5.5 for information about how to
+update and/or correct IOCCC author information.
FAQ
6.7: What is a entry_id?
@@ -2604,20 +2552,19 @@ directory:
FAQ
6.8: What is the purpose of the .top, .year and .path files?
-
The .top file resides at the top directory. This
+
The .top file resides at the top directory. This
file contains the complete list of IOCCC years.
Under each IOCCC year. one will find a .year file. These
files contain directory paths from the top directory, of the IOCCC entry
directories for a given year. For example, see the 1984/.year file.
+href=".1984/.year">1984/.year file.
Under each IOCCC entry directory, you will find a .path
file. These files contain the directory path from the top directory. For
-example see 1984/anonymous/.path.
The .top, .year and .path files are generated from the top level
Makefile, by:
-
make genpath
+
make genpath
FAQ
6.9: What is the current meaning of the IOCCC terms Author, Entry, and
@@ -2713,8 +2660,8 @@ GitHub
Assuming you do not have an ssh key you should go to the command
prompt and type (if you already have one and are okay using it for
GitHub you can use that one):
-
ssh-keygen-t rsa -b 4096 -C"luser@example.com"
+
ssh-keygen-t rsa -b 4096 -C"luser@example.com"
where luser@example.com is the email you want associated
with your key. Follow the instructions. It will tell you the key
files.
@@ -2748,19 +2695,19 @@ repo
Once you have forked the repo you are ready to clone it to your
system. For instance Cody Boone Ferguson has the GitHub handle
xexyl so he would type in:
Once that is completed you will need to change to that directory. The
default directory would be the name of the repo but if you specified a
target directory it will be that. For instance using the above example
you might do:
-
cd temp-test-ioccc
+
cd temp-test-ioccc
You’re ready to make your changes now!
Making changes, fixes etc.
Here you must use your wits, knowledge, creativity and whatever else
you have. Let’s say that Cody wants to update his file /2020/ferguson1/play.sh script. He
+href="2020/ferguson1/play.sh">/2020/ferguson1/play.sh script. He
would open it in his editor of choice (in his case vim) and make the
changes. He would then make sure (as there is a last updated date) to
update the last updated date. For instance he might add the
@@ -2776,8 +2723,8 @@ line that starts with # Last updated: to refer to
writing this), 15 April 2023.
But what if he wanted to add a file? He’d create the file and then
type:
-
git add foo
+
git add foo
where foo is the file to add.
When he’s ready to make a commit he would need to create a new branch
for the pull request.
@@ -2786,8 +2733,8 @@ for the pull request.
assume is if you’re reading this :-) ) you need to make sure that you
can push changes to GitHub with your ssh key. To do this you need to
do:
-
ssh-T git@github.com
+
ssh-T git@github.com
Cody would see:
Hi xexyl! You’ve successfully authenticated, but GitHub does not
@@ -2797,24 +2744,24 @@ provide shell access.
Before doing anything else, however, a new branch needs to be
created. Continuing the example above for 2020/ferguson1/play.sh, it might be
+href="2020/ferguson1/play.sh">2020/ferguson1/play.sh, it might be
that:
-
git checkout -B human-snakes
+
git checkout -B human-snakes
This would change the branch to the newly created branch
human-snakes branch. Now Cody could commit the changes:
-
git commit play.sh # if specifying specific files
-git commit -a# if committing everything
+
git commit play.sh # if specifying specific files
+git commit -a# if committing everything
He could also have done:
-
git add play.sh
-git commit
+
git add play.sh
+git commit
In any case this would open an editor (in his case vim) to write a
commit log. It is recommended that the first line is <=51 chars and
the next line is blank. Then if necessary add a description for the log.
@@ -2827,8 +2774,8 @@ script that discusses this and gives supposed examples.
Opening a pull request
To do this depends on the branch name. Assuming the branch from
above, human-snakes, you would type:
When the judges have merged the pull request you now need to make
sure your fork has the merge. To do this from the command line, assuming
the fork in the above example, you would type:
diff --git a/faq.md b/faq.md
index c557f80d3..44c0b6dc1 100644
--- a/faq.md
+++ b/faq.md
@@ -87,8 +87,8 @@ To submit your code to the IOCCC, you **MUST** follow these steps:
0. Verify that the IOCCC is open for submissions
- Check the [status.json](/status.json) URL and
- check the [IOCCC news](/news.html#news) to
+ Check the [status.json](status.json) URL and
+ check the [IOCCC news](news.html#news) to
see of the IOCCC is open.
You may only register for the IOCCC
@@ -96,10 +96,10 @@ To submit your code to the IOCCC, you **MUST** follow these steps:
1. Read the latest IOCCC rules and review the IOCCC guidelines
- Please pay close attention to the [official IOCCC rules](/rules.html).
+ Please pay close attention to the [official IOCCC rules](rules.html).
You are also **highly encouraged** to review the
- [official IOCCC guidelines](/guidelines.html) as they contain important
+ [official IOCCC guidelines](guidelines.html) as they contain important
suggestions, useful hints, and IOCCC humor. :-)
2. Register for the IOCCC
@@ -149,12 +149,12 @@ To submit your code to the IOCCC, you **MUST** follow these steps:
the tools from the top of the _mkiocccentry repo_ directory just fine.
If `mkiocccentry` tool indicates that there is a problem with your entry,
- especially if it identifies a [rule 2](/rules.html#2) related problem,
+ especially if it identifies a [rule 2](rules.html#2) related problem,
you are **strongly** encouraged to revise and correct your entry and
then re-run the `mkiocccentry` tool.
If you choose to risk violating rules, be sure an explain your reason
- for doing so in your _remarks.md_ file.
+ for doing so in your _remarks.md file.
6. Upload your entry to the IOCCC submit server
@@ -172,53 +172,53 @@ __over-submitted__ types of entries, level of the competition from
previous IOCCC entries make it more challenging to be successful.
-It is also important to note that the [guidelines](/guidelines.html) often
+It is also important to note that the [guidelines](guidelines.html) often
state something along the lines of:
> _We tend to dislike programs that: are similar to previous winning entries_
#### maze generator
-- [1985/shapiro](/years.html#1985_shapiro)
+- [1985/shapiro](years.html#1985_shapiro)
-- [1991/buzzard](/years.html#1991_buzzard)
+- [1991/buzzard](years.html#1991_buzzard)
-- [1995/cdua](/years.html#1995_cdua)
+- [1995/cdua](years.html#1995_cdua)
- [1995/dodsond2](years.html#1995_dodsond2)
-- [1998/bas1](/years.html#1998_bas1)
+- [1998/bas1](years.html#1998_bas1)
#### tic-tac-toe/noughts and crosses/Xs and Os game
-- [1991/westley](/years.html#1991_westley)
+- [1991/westley](years.html#1991_westley)
-- [1996/jonth](/years.html#1996_jonth)
+- [1996/jonth](years.html#1996_jonth)
-- [2020/carlini](/years.html#2020_carlini)
+- [2020/carlini](years.html#2020_carlini)
#### solitaire/Othello game
-- [1987/lievaart](/years.html#1987_lievaart)
+- [1987/lievaart](years.html#1987_lievaart)
-- [1994/dodsond1](/years.html#1994_dodsond1)
+- [1994/dodsond1](years.html#1994_dodsond1)
#### generating small primes (below is the list of all prime related winning entries)
-- [1985/august](/years.html#1985_august)
+- [1985/august](years.html#1985_august)
-- [1988/applin](/years.html#1988_applin)
+- [1988/applin](years.html#1988_applin)
-- [1994/weisberg](/years.html#1994_weisberg)
+- [1994/weisberg](years.html#1994_weisberg)
-- [1995/makarios](/years.html#1995_makarios)
+- [1995/makarios](years.html#1995_makarios)
-- [1996/dalbec](/years.html#1996_dalbec)
+- [1996/dalbec](years.html#1996_dalbec)
-- [2000/bellard](/years.html#2000_bellard)
+- [2000/bellard](years.html#2000_bellard)
_As you can see, just a list of primes (let alone small primes) does not cut it
anymore._
@@ -226,63 +226,63 @@ anymore._
#### self reproducing program
-- [1990/scjones](/years.html#1990_scjones)
+- [1990/scjones](years.html#1990_scjones)
-- [1994/smr](/years.html#1994_smr) - _do not claim your program is the smallest one without seeing this!
+- [1994/smr](years.html#1994_smr) - _do not claim your program is the smallest one without seeing this!
-- [2000/dhyang](/years.html#2000_dhyang) - _unless you beat this one, your chances are slim_
+- [2000/dhyang](years.html#2000_dhyang) - _unless you beat this one, your chances are slim_
#### entries that just print "Hello, world!"
-- [1984/anonymous](/years.html#1984_anonymous)
+- [1984/anonymous](years.html#1984_anonymous)
-- [1985/applin](/years.html#1985_applin)
+- [1985/applin](years.html#1985_applin)
-- [1986/applin](/years.html#1986_applin)
+- [1986/applin](years.html#1986_applin)
-- [1986/holloway](/years.html#1986_holloway)
+- [1986/holloway](years.html#1986_holloway)
-- [1989/jar.1](/years.html#1989_jar.1)
+- [1989/jar.1](years.html#1989_jar.1)
-- [1992/lush](/years.html#1992_lush)
+- [1992/lush](years.html#1992_lush)
-- [2000/tomx](/years.html#2000_tomx)
+- [2000/tomx](years.html#2000_tomx)
_**...it's so 20th century...**_
#### entries that use some complex state machine/table to print something
-- [1988/isaak](/years.html#1988_isaak)
+- [1988/isaak](years.html#1988_isaak)
-- [1988/phillipps](/years.html#1988_phillipps)
+- [1988/phillipps](years.html#1988_phillipps)
-- [2018/ciura](/years.html#2018_ciura)
+- [2018/ciura](years.html#2018_ciura)
-- [2018/giles](/years.html#2018_giles)
+- [2018/giles](years.html#2018_giles)
#### rot13
-- [1985/sicherman](/years.html#1985_sicherman)
+- [1985/sicherman](years.html#1985_sicherman)
-- [1989/westley](/years.html#1989_westley)
+- [1989/westley](years.html#1989_westley)
-- [1990/dg](/years.html#1990_dg)
+- [1990/dg](years.html#1990_dg)
-- [1991/fine](/years.html#1991_fine)
+- [1991/fine](years.html#1991_fine)
#### **pi** or **e** computation
-- [1986/august](/years.html#1986_august)
+- [1986/august](years.html#1986_august)
-- [1988/robison](/years.html#1988_robison)
+- [1988/robison](years.html#1988_robison)
-- [1988/westley](/years.html#1988_westley)
+- [1988/westley](years.html#1988_westley)
-- [1989/roemer](/years.html#1989_roemer)
+- [1989/roemer](years.html#1989_roemer)
#### Hints on overused themes
@@ -365,7 +365,7 @@ Your entry must compile with GCC and run under at least one flavor of UNIX (e.g.
Linux or Solaris). To improve chances to win, it should work under both BSD and
SysV style UNIX (think **stty cbreak**), and should not depend on "Endianness".
If it can compile and run on Windows and/or Mac (see
-[2000/thadgavin](/years.html#2000_thadgavin) for one example, amongst others),
+[2000/thadgavin](years.html#2000_thadgavin) for one example, amongst others),
even better. Being able to compile with other compilers like clang is also a
good thing.
@@ -373,7 +373,7 @@ good thing.
## Section 1: History of the IOCCC
-### FAQ 1.0: How did the IOCCC get started?
+### FAQ 1.0: How did the IOCCC get started?
One day (1984 March 23 to be exact), Larry Bassel and I (Landon Curt
Noll) were working for National Semiconductor's Genix porting group, we
@@ -407,7 +407,7 @@ Thus began the tradition of putting typos in the contest rules and guidelines
BTW: This posting was made back in the days when AT&T was the evil giant.
Now, Microsoft makes AT&T look mild and kind in comparison. :-( (IMHO) ).
-BTW: See the story about the '[Bill Gates](/1993/mills/README.md)' award. :-)
+BTW: See the story about the '[Bill Gates](1993/mills/index.html)' award. :-)
OK, back to the story.
@@ -433,22 +433,22 @@ author's wish to remain anonymous.
A few years ago, we asked the author if they still wanted to remain anonymous.
They said: '_Yes, I want to keep my anonymity. But you can tell them that I am well known for my connection to the
C language_'. It was not until 2001 that another [anonymous
-entry](/years.html#2001_anonymous) received an award.
+entry](years.html#2001_anonymous) received an award.
-BTW: The [1984 winner](/years.html#1984_mullender) remains one of my (Landon Curt Noll) all time favorites.
+BTW: The [1984/mullender](years.html#1984_mullender) remains one of my (Landon Curt Noll) all time favorites.
-The name used in the posting of the [1st IOCCC
-winner](http://groups.google.com/groups?q=Obfuscated&hl=en&lr=&ie=UTF-8&as_drrb=b&as_mind=1&as_minm=1&as_miny=1983&as_maxd=18&as_maxm=4&as_maxy=1984&selm=837%40nsc.UUCP&rnum=2&filter=0)
+The name used in the posting of the [1st winning IOCCC
+entry](http://groups.google.com/groups?q=Obfuscated&hl=en&lr=&ie=UTF-8&as_drrb=b&as_mind=1&as_minm=1&as_miny=1983&as_maxd=18&as_maxm=4&as_maxy=1984&selm=837%40nsc.UUCP&rnum=2&filter=0)
posting was **I**nternational **O**bfuscated **C** **C**ode **C**ontest or
**IOCCC** for short.
-The posting said '_1st annual_', so in 1985 we held the [2nd IOCCC contest](/years.html#1985)
+The posting said '_1st annual_', so in 1985 we held the [2nd IOCCC contest](years.html#1985)
and the tradition continues as the longest running contest on the Internet.
P.S. Part of the inspiration for making the IOCCC a contest goes to the
[Bulwer-Lytton fiction contest](http://www.bulwer-lytton.com/).
-P^2.S. See the [overall README](/all/README.md) for more details.
+P^2.S. See the [overall README](all/index.html) for more details.
### FAQ 1.1: Why are some years missing IOCCC entries?
@@ -484,8 +484,8 @@ web site.
Furthermore, a bzip2 compressed tarball containing the released
IOCCC entry source code may be found under the
-[archive/historic](/archive/histroic) directory. The file
-[archive-all.tar.bz2](/archive/historic/archive-all.tar.bz2) contains
+[archive/historic](archive/histroic) directory. The file
+[archive-all.tar.bz2](archive/historic/archive-all.tar.bz2) contains
all years and the individual years are in the form
_archive/historic/archive-YYYY.tar.bz2_.
@@ -493,7 +493,7 @@ These files were obtained from the [Internet Wayback
Machine](https://web.archive.org) from the [snapshot of the website
on 2020 Dec
28](https://web.archive.org/web/20201228005211/https://www.ioccc.org/).
-See [archive/historic/README.md](/archive/historic/README.md) for
+See [archive/historic/index.html](archive/historic/index.html) for
details about these bzip2 compressed tarballs.
**XXX**: Change the references to _temp-test-ioccc_ to _winners_
@@ -513,7 +513,7 @@ changes and important improvements such as:
work on modern systems
* Reworking the Makefiles to use a consistent set of rules
* Reworking the Makefiles specific to the gcc and clang C compilers
-* Replacing the various hint files with a README.md markdown that is more consistent across IOCCC years
+* Replacing the various hint files with a index.html markdown that is more consistent across IOCCC years
* Setting up a system whereby authors of IOCCC entries may update their own contact information via a GitHub pull request
* Setting up to generate the top level years.html file via a tool
* Setting up to generate the top level authors.html file via a tool
@@ -602,7 +602,7 @@ We highly recommend that you explain why you think your entry is
well obfuscated.
For those entries that win the IOCCC, we often use much of text from the
-`remarks.md` file in the _Author's remarks_ section of the `README.md` file.
+`remarks.md` file in the _Author's remarks_ section of the `index.html` file.
For this reason, a well written `remarks.md` file is considered a plus.
While not required, consider adding bit of humor to your `remarks.md`
@@ -628,7 +628,7 @@ appreciate the opportunity for a fun read as well as a chuckle or two.
- admitting that your entry is not very obfuscated (you see, the contest is
called the **IOCCC**, not the **INVOCCC** :-) ); but even if you do not admit
it, not very obfuscated entries have a minuscule chance to win (although
-[2000/tomx](/years.html#2000_tomx) is a notable counterexample).
+[2000/tomx](years.html#2000_tomx) is a notable counterexample).
- mentioning your name or any identifying information in the remark section (or
in the C code for that matter) - we like to be unbiased during the judging
@@ -638,7 +638,7 @@ this is not clear!
- leaving the remark section empty.
-### FAQ 2.2: Why don't you publish entries that do not win?
+### FAQ 2.2: Why don't you publish entries that do not win?
Because the publication on the IOCCC site **_IS_** the award!
Anyone is free to put their IOCCC hopefuls, lookalikes and/or
@@ -680,47 +680,47 @@ stands out among all of the other IOCCC entries received that year.
For such an IOCCC entry, the IOCCC judges award a "Grand Prize"
or "Best of Show award.
-In 1984-1987, the grand prize winners are:
+In 1984-1987, the grand prize winning entries are:
-- [1984/mullender](/years.html#1984_mullender)
+- [1984/mullender](years.html#1984_mullender)
-- [1985/shapiro](/years.html#1985_shapiro)
+- [1985/shapiro](years.html#1985_shapiro)
-- [1986/wall](/years.html#1986_wall)
+- [1986/wall](years.html#1986_wall)
-- [1987/lievaart](/years.html#1987_lievaart)
+- [1987/lievaart](years.html#1987_lievaart)
Starting from 1988, the entry we liked the most in that year is called
"Best of Show". Here are the "Best of Show" entries:
-- [1988/applin](/years.html#1988_applin)
+- [1988/applin](years.html#1988_applin)
-- [1989/jar.2](/years.html#1989_jar.2)
+- [1989/jar.2](years.html#1989_jar.2)
-- [1990/theorem](/years.html#1990_theorem)
+- [1990/theorem](years.html#1990_theorem)
-- [1991/brnstnd](/years.html#1991_brnstnd)
+- [1991/brnstnd](years.html#1991_brnstnd)
-- [1992/vern](/years.html#1992_vern)
+- [1992/vern](years.html#1992_vern)
-- [1996/august](/years.html#1996_august)
+- [1996/august](years.html#1996_august)
-- [1998/banks](/years.html#1998_banks)
+- [1998/banks](years.html#1998_banks)
-- [2000/jarijyrki](/years.html#2000_jarijyrki)
+- [2000/jarijyrki](years.html#2000_jarijyrki)
-- [2020/carlini](/years.html#2020_carlini)
+- [2020/carlini](years.html#2020_carlini)
In 1993, 1994 and 1995 the judges were unable to select a clear overall
-winner. So to give a nod to the entry that had the highest approval ranking
+winning entry. So to give a nod to the entry that had the highest approval ranking
from the judges, they used the following awards:
-- [1993/rince](/years.html#1993_rince) - Most Well Rounded
+- [1993/rince](years.html#1993_rince) - Most Well Rounded
-- [1994/shapiro](/years.html#1994_shapiro) - Most Well Rounded
+- [1994/shapiro](years.html#1994_shapiro) - Most Well Rounded
-- [1995/leo](/years.html#1995_leo) - Best Use of Obfuscation
+- [1995/leo](years.html#1995_leo) - Best Use of Obfuscation
These could be considered the 'best entry' for those years with 1 or
more other entries that came in close behind.
@@ -728,13 +728,13 @@ more other entries that came in close behind.
### FAQ 2.6: How are IOCCC entries announced?
-Once the [IOCCC](https://www.ioccc.org/index.html#enter) closes, the judges
-will select the [winning entries](https://www.ioccc.org/years.html) announce them
+Once the [IOCCC](../index.html#enter) closes, the judges
+will select the [winning entries](../years.html) announce them
on the [@IOCCC mastodon feed](https://fosstodon.org/@ioccc), notify the authors
of entries that won the IOCCC via email using their previously registered email address,
-and upload the winning code to the [winner repo](https://github.com/ioccc-src/winner)
+and upload the winning code to the [IOCCC winner repo](https://github.com/ioccc-src/winner)
which in turn will cause them to be displayed on the [IOCCC winning entries
-page](https://www.ioccc.org/years.html).
+page](../years.html).
## Section 3: Compiling and running IOCCC entries
@@ -803,7 +803,7 @@ but are different/missing today.
Please see the other FAQs in this section as they might offer helpful
hints, especially in cases were something else needs to be installed.
-Please see the [bugs.md](/bugs.md) file for details about known problems with IOCCC entries. In some cases you may be dealing with a problematic entry. In a few fun cases, the IOCCC does not compile by design!
+Please see the [bugs.html](bugs.html) file for details about known problems with IOCCC entries. In some cases you may be dealing with a problematic entry. In a few fun cases, the IOCCC does not compile by design!
If you have a fix that makes a minimal impact to the entry, then please consider submitting that change in the form of a pull request. Please
see FAQ 5.2 "How may I submit a fix to an IOCCC entry" for details.
@@ -811,7 +811,7 @@ see FAQ 5.2 "How may I submit a fix to an IOCCC entry"
In some cases alternative code has been added that does compile on some or most systems. Check the write up for the entry for "alt" code and possible ways to compile and run that code. In some cases we replaced the original code (but not the `.orig.c` file!) with code
that works for modern systems but one can view the original code in the
`.orig.c` files (sometimes the original code is also in the directory as a
-`winner.alt.c` or `prog.alt.c`).
+`dirname.alt.c` or `prog.alt.c`).
### FAQ 3.2: Why does a IOCCC entry fail on my 64-bit system?
@@ -820,21 +820,21 @@ Unfortunately some older entries are non-portable and require 32-bit support or
32-bit binaries. A problem system here is macOS Catalina (10.15) as as of that
version macOS no longer supports 32-bit binaries. If the entry acts on a certain
type of binary, say ELF, then that will also be a problem depending on the
-entry. For example [2001/anonymous](/2001/anonymous/README.md) requires 32-bit
+entry. For example [2001/anonymous](2001/anonymous/index.html) requires 32-bit
ELF binaries.
There are numerous example entries that require 32-bit binaries. We have tried
-to note these in both the respective Makefiles and README.md files but it is
+to note these in both the respective Makefiles and index.html files but it is
possible that some were missed. These entries are very likely in the
-[bugs.md](/bugs.md) file and we welcome any help in making an alternate version
+[bugs.html](bugs.html) file and we welcome any help in making an alternate version
for 64-bit systems. Many were fixed to work with modern systems but some are
supposed to only work with 32-bit systems so any updated version of these
entries should be an alternate version.
-Other entries like [2001/herrmann2](/thanks-for-help.md#2001_herrmann2)
+Other entries like [2001/herrmann2](thanks-for-help.html#2001_herrmann2)
now work with 32-bit AND 64-bit systems.
-Please see the [bugs.md](/bugs.md) file for the problematic entry in question to see if the problem is known, and if a fix is wanted, consider trying to port the code to a 64-bit system and submitting a pull request with that change. Pull requests that fix such code while trying to minimize the impact of any changes and preserving the spirit of the original code are very welcome!
+Please see the [bugs.html](bugs.html) file for the problematic entry in question to see if the problem is known, and if a fix is wanted, consider trying to port the code to a 64-bit system and submitting a pull request with that change. Pull requests that fix such code while trying to minimize the impact of any changes and preserving the spirit of the original code are very welcome!
Please
see FAQ 5.2 "How may I submit a fix to an IOCCC entry" for details.
@@ -848,7 +848,7 @@ actually clang, even `/usr/bin/gcc`.
That being said many (if not most) of these entries have been fixed and some
others will be looked at, when found.
-In some cases the [bugs.md](/bugs.md) file may note a known macOS problem with an entry. Should you manage to port the entry, and assuming your changes also attempt to preserve the original intent of the IOCCC entry, we would encourage you to submit a pull request with your ported code.
+In some cases the [bugs.html](bugs.html) file may note a known macOS problem with an entry. Should you manage to port the entry, and assuming your changes also attempt to preserve the original intent of the IOCCC entry, we would encourage you to submit a pull request with your ported code.
Please
see FAQ 5.2 "How may I submit a fix to an IOCCC entry" for details.
@@ -869,7 +869,7 @@ At the same time some entries are not designed to work with clang. There might
be alternate code added at some point but as above this depends on free time and
other things that have to be done plus remembering to do it.
-See if the problem is mentioned in [bugs.md](/bugs.md). If you have a change that fixes the problem (even if it just a change to the `Makefile`) that doesn't negatively impact the entry too much, consider submitting that change in the form of a pull request.
+See if the problem is mentioned in [bugs.html](bugs.html). If you have a change that fixes the problem (even if it just a change to the `Makefile`) that doesn't negatively impact the entry too much, consider submitting that change in the form of a pull request.
Please
see FAQ 5.2 "How may I submit a fix to an IOCCC entry" for details.
@@ -948,14 +948,14 @@ information.
If your system uses **Wayland** and not X11, you might give the IOCCC entries
that use X11 a try. They might work but again we do not know.
-**IMPORTANT NOTE**: The [IOCCC judges](/judges.html) [do not support IOCCC entries](#no_support).
+**IMPORTANT NOTE**: The [IOCCC judges](judges.html) [do not support IOCCC entries](#no_support).
So if an IOCCC entry that uses X11 fails under **Wayland**, and you wish to
provide a fix to the IOCCC entry so that it will run under **Wayland**,
then consider [submitting a fix](#fix_an_entry) so that it will run under **Wayland**.
Basically: if you discover an entry does not work in Wayland you are welcome to
provide **alternate code** that works for Wayland. We will happily credit you in
-the [thanks-for-help.md](/thanks-for-help.md) file.
+the [thanks-for-help.html](thanks-for-help.html) file.
#### Red Hat based Linux
@@ -984,7 +984,7 @@ the [most recent XQuartz](https://www.xquartz.org) application
and then run the IOCCC entry from the [Xterm window
shell](https://en.wikipedia.org/wiki/Xterm).
-As an example we will use [1993/jonth](/1993/jonth/README.md) which works
+As an example we will use [1993/jonth](1993/jonth/index.html) which works
with macOS 14.2.1 (macOS Sonoma).
First of all you will need to install the [most recent
@@ -1007,7 +1007,7 @@ At this point you need to cd to the winning directory and compile it. For exampl
-And then run the program as directed by the `README.md` file. For example with
+And then run the program as directed by the `index.html` file. For example with
`1993/jonth`:
@@ -1127,7 +1127,7 @@ Then to install SDL and SDL2, execute the following command:
```sh
brew install sdl2 sdl12-compat
-eval "$(/opt/homebrew/bin/brew shellenv)"
+eval "$(opt/homebrew/bin/brew shellenv)"
```
@@ -1187,12 +1187,12 @@ We recommend trying a method suitable for your environment first, if possible.
#### NOTE: there might be extra SDL packages required
In the case that some entries do not work even with SDL1/SDL2 installed it might
-be that you need additional SDL libraries. See the entry's README.md for
+be that you need additional SDL libraries. See the entry's index.html for
details. If something is not noted you're welcome to report it as an issue or
fix it and make a new pull request.
-### FAQ 3.9: How do I compile an IOCCC entry that requires (n)curses?
+### FAQ 3.9: How do I compile an IOCCC entry that requires (n)curses?
This depends on your operating system but below are instructions for Linux and
macOS with alternative methods for macOS and different package managers with Linux.
@@ -1281,7 +1281,7 @@ Then to install SoX, execute the following command:
```sh
brew install sox
-eval "$(/opt/homebrew/bin/brew shellenv)"
+eval "$(opt/homebrew/bin/brew shellenv)"
```
@@ -1298,7 +1298,7 @@ sudo port install sox
#### Debian based Linux
-Usually the README.md file will explain how to use it under Debian so we do not
+Usually the index.html file will explain how to use it under Debian so we do not
include this here, at least for now.
@@ -1309,11 +1309,11 @@ Not applicable, see above.
#### Other Linux distributions
-Usually the README.md file will explain how to use it under Linux so we do not
+Usually the index.html file will explain how to use it under Linux so we do not
include this here, at least for now.
-### FAQ 3.10: Why do Makefiles use -Weverything with clang?
+### FAQ 3.11: Why do Makefiles use -Weverything with clang?
While we know that use of `-Weverything` is generally not recommended
by `clang` C compiler developers, we do use the `-Weverything`
@@ -1390,8 +1390,8 @@ another function instead of doing it all in `main()` (another reason was that
some entries that recursively called `main()` caused a crash or otherwise broke
the entry in modern systems). Some entries do not work in `clang` (or at least do
not work completely) due to these defects, for instance
-[1989/westley](/1989/westley/README.md); [Cody Boone
-Ferguson](https://www.ioccc.org/authors.html#Cody_Boone_Ferguson) was able to
+[1989/westley](1989/westley/index.html); [Cody Boone
+Ferguson](../authors.html#Cody_Boone_Ferguson) was able to
get much of it to work and looking at that entry might be of value to your
submissions, at least if you can figure the code out :-). To see the
differences, try from `1989/westley`:
@@ -1471,7 +1471,7 @@ may not be present on your system.
In some cases the IOCCC entry simply has bugs or (Mis)features.
If you are having problems compiling or running an IOCCC entry,
-we recommend that you look in [bugs.md](/bugs.md) to see if
+we recommend that you look in [bugs.html](bugs.html) to see if
there is a known bugs or (Mis)feature. In some cases what you
may think is a bug is actually an feature that was intentionally
written by the authors. In some cases the problem is well
@@ -1480,11 +1480,11 @@ known and we are looking for someone to attempt to fix it.
In some cases there is an alternate version of the IOCCC entry
that you may wish to try.
-It also possible that you may have discovered a bug in an IOCCC
-winner. If so, you are invited to try an fix the IOCCC entry and
+It also possible that you may have discovered a bug in an winning IOCCC
+entry. If so, you are invited to try an fix the IOCCC entry and
submit that fix by way of a [GitHub pull
request](https://github.com/ioccc-src/temp-test-ioccc/pulls).
-Please see [FAQ 5.2](#faq5_2) for how to submit a fix to an IOCCC entry.
+Please see [FAQ 5.2](#fix_an_entry) for how to submit a fix to an IOCCC entry.
### FAQ 3.14 - How do I compile and install tcpserver for entries that require it?
@@ -1811,7 +1811,6 @@ for downloading, installing and using OpenGL.
We recommend trying a method suitable for your environment first, if possible.
-
## Section 4: Changes made to IOCCC entries
@@ -1819,27 +1818,11 @@ We recommend trying a method suitable for your environment first, if possible.
It is very likely in this case that the code was fixed to work for modern
systems as part of the reworking of the website. If you have this problem in
-some entries you should look at the original code as in `winner.orig.c` or
-`prog.orig.c`. `winner` is the directory name. For instance, one of Landon's
-favourite entries of all time is [1984/mullender](/1984/mullender/README.md) and
-the winner there would be `mullender`. Sometimes the original is in an alt
-version like `winner.alt.c` or `prog.alt.c`. In fact it is advisable to look at
-the original code when reading the author's (and sometimes authors') remarks.
-
-
-
-## Section 4: Changes made to IOCCC entries
-
-
-### FAQ 4.0: Why are some winning entry remarks incongruent with the winning IOCCC code?
-
-It is very likely in this case that the code was fixed to work for modern
-systems as part of the reworking of the website. If you have this problem in
-some entries you should look at the original code as in `winner.orig.c` or
-`prog.orig.c`. `winner` is the directory name. For instance, one of Landon's
-favourite entries of all time is [1984/mullender](/1984/mullender/README.md) and
-the winner there would be `mullender`. Sometimes the original is in an alt
-version like `winner.alt.c` or `prog.alt.c`. In fact it is advisable to look at
+some entries you should look at the original code as in `dirname.orig.c` or
+`prog.orig.c`. `dirname` is the directory name. For instance, one of Landon's
+favourite entries of all time is [1984/mullender](1984/mullender/index.html) and
+the entry's dirname there would be `mullender`. Sometimes the original is in an alt
+version like `dirname.alt.c` or `prog.alt.c`. In fact it is advisable to look at
the original code when reading the author's (and sometimes authors') remarks.
@@ -1851,7 +1834,7 @@ A fine line indeed has to be drawn here but it was decided that it is worth it
because of alarming warnings that can be displayed, in some systems at runtime
interspersed with the output of the program.
-For instance in macOS the entry [1990/tbr](/1990/tbr/README.md) would output the
+For instance in macOS the entry [1990/tbr](1990/tbr/index.html) would output the
warning in such a way that caused confusing output for the entry, looking like:
```sh
@@ -1871,7 +1854,7 @@ increased (which could be done for others that are not possible to change to
`fgets()` though this has not been done).
Some entries can be made to look almost identical to the original entry. For
-instance the fix to [1988/reddy](/1988/reddy/README.md) required only a single
+instance the fix to [1988/reddy](1988/reddy/index.html) required only a single
`#define` be added.
In the future we, the judges, would prefer that entries use `fgets()` to prevent
@@ -1893,10 +1876,10 @@ can look almost identical.
-### FAQ 4.2: What was changed in an IOCCC entry source code?
+### FAQ 4.2: What was changed in an IOCCC entry source code?
-We have set up make rules to easily do see what was changed in the IOCCC
-winner source. Using the `Makefile` in the winner directory, use
+We have set up make rules to easily do see what was changed in the winning IOCCC
+entry source. Using the `Makefile` in the entry directory, use
one of the following _make(1)_ rules:
The following `make` rules exist to make a difference:
@@ -1922,7 +1905,7 @@ The following `make` rules exist to make a difference:
`entry.c` to `entry.orig.c`).
For instance one of Landon's all time favourite entries is
-[1984/mullender](/1984/mullender/README.md) so the file names would be:
+[1984/mullender](1984/mullender/index.html) so the file names would be:
`mullender.orig.c`, `mullender.alt.c` and `mullender.c`. For later years, it
would be instead `prog.orig.c`, `prog.alt.c` and `prog.c`.
@@ -1935,13 +1918,13 @@ make: [Makefile:170: diff_orig_prog] Error 1 (ignored)
at the end of the output but this is completely normal if there are differences.
If the alt code is the same as the original, say with
-[1984/anonymous](/1984/anonymous/README.md), then naturally there is no point in
+[1984/anonymous](1984/anonymous/index.html), then naturally there is no point in
running the rule and the same applies for all the other rules but this system
allows for easily seeing the diffs.
As some examples we'll first look at one that has really long lines which
will make it harder to see what is different,
-[2001/anonymous](/2001/anonymous/README.md). What you would do is `cd
+[2001/anonymous](2001/anonymous/index.html). What you would do is `cd
2001/anonymous` and then do:
```sh
@@ -1950,7 +1933,7 @@ make diff_orig_prog
and then be really confused! :-)
-But for an entry like [1991/dds](/1991/dds/README.md), you can see the
+But for an entry like [1991/dds](1991/dds/index.html), you can see the
differences much more easily. `1991/dds` is a good example where it's very
simple to see what is different as it's just a couple lines.
@@ -1958,7 +1941,7 @@ You might be quite surprised how little some entries had to be changed and at
the same time how much other entries had to be changed, often with quite complex
differences! In some cases if the line is rather long, like the above mentioned
one, it will be harder to see what changed but in other cases like
-[1984/decot](/1984/decot/README.md) or [1986/wall](/1986/wall/README.md) it's a
+[1984/decot](1984/decot/index.html) or [1986/wall](1986/wall/index.html) it's a
lot easier.
Well, at least it's easier see the differences on a line-by-line basis but maybe
@@ -1966,7 +1949,7 @@ not what actually changed, especially since it's easier to know what was fixed
when you have compiler errors :-) (though there are, as noted, some examples
where it's quite easy to see the differences).
-[1991/dds](/1991/dds/README.md) is also a good example to see the alt difference
+[1991/dds](1991/dds/index.html) is also a good example to see the alt difference
very easily. To do that `cd 1991/dds` and then do:
```sh
@@ -2001,14 +1984,14 @@ be there.
This is why we recommend that when you read the remarks, sometimes the judges'
remarks and always the author's or authors' remarks, you look at the original
code. When the entry source code is called `prog.c` the original code is in
-`prog.orig.c`; otherwise it is `winner.orig.c`. For instance one of Landon's all
-time favourite entries is [1984/mullender](/1984/mullender/README.md) and the
-original code is in [mullender.orig.c](/1984/mullender/mullender.orig.c). In
+`prog.orig.c`; otherwise it is `dirname.orig.c`. For instance one of Landon's all
+time favourite entries is [1984/mullender](1984/mullender/index.html) and the
+original code is in [mullender.orig.c](1984/mullender/mullender.orig.c). In
some cases, such as `1984/mullender`, the original code is the same as the code
as no changes were made (there is an alt version for systems that are not
VAX-11/PDP-11, however).
-See also [FAQ 4.2: What was changed in an IOCCC entry source code?](#faq4_2)
+See also [FAQ 4.2: What was changed in an IOCCC entry source code?](#what_changed)
### FAQ 4.4: What is the meaning of the file ending in .orig.c in IOCCC entries?
@@ -2025,16 +2008,16 @@ we can find.
### We welcome your help in fixing IOCCC entries
-The [known bugs](/bugs.md) file, order by IOCCC years, contains a
+The [known bugs](bugs.html) file, order by IOCCC years, contains a
list of known bugs & (mis)features. If you are looking for an IOCCC entry
to try and fix, this file is a good place to start.
-See [FAQ 5.2](#faq5_2) for information on how to submit a fix to
-an IOCCC entry. Before you consider trying to fix an IOCCC winner,
-please check the [known bugs](/bugs.md) file for the IOCCC entry
+See [FAQ 5.2](#fix_an_entry) for information on how to submit a fix to
+an IOCCC entry. Before you consider trying to fix an IOCCC winning entry,
+please check the [known bugs](bugs.html) file for the IOCCC entry
in question. Note that in several cases what you may have discovered,
while a (mis)feature is not considered a bug and should **not be fixed**.
-In cases where the bug is known, the entry's [known bugs](/bugs.md) file
+In cases where the bug is known, the entry's [known bugs](bugs.html) file
section may offer you important fixing clues.
### We welcome your help on fixing the IOCCC web site
@@ -2053,40 +2036,40 @@ Note that just because you have a fix does not mean it'll be accepted. This
might be because the author objects or it doesn't fit in some way or another. Of
course if the entry does not work we'll certainly be more inclined to accept the
fix. If it is accepted we'll be happy to credit you in the
-[thanks](/thanks-for-help.md) file. If you're a previous winner we will happily
+[thanks](thanks-for-help.html) file. If you're a previous author of a winning IOCCC entry we will happily
link to your entries; if you're not we can link to your website if you wish.
-See [FAQ 5.2](#faq5_2) for information on how to submit a fix to an IOCCC entry.
+See [FAQ 5.2](#fix_an_entry) for information on how to submit a fix to an IOCCC entry.
### FAQ 5.2: How may I submit a fix to an IOCCC entry?
-If you see a problem with an IOCCC entry, first check the [known bugs](/bugs.md)
+If you see a problem with an IOCCC entry, first check the [known bugs](bugs.html)
file. In some cases what you might think of as a bug is instead a known
feature. In some cases the bug is known, but no fix has ever been submitted.
In other cases you may have found a new problem.
-If you do have a fix, and the [known bugs](/bugs.md) file **does not recommend
+If you do have a fix, and the [known bugs](bugs.html) file **does not recommend
against fixing it**, then please consider opening a [GitHub pull
request](https://github.com/ioccc-src/winner/pulls) against the master
[branch](https://github.com/ioccc-src/winner/branches) of the [ioccc-src/winner
repo](https://github.com/ioccc-src/winner).
BTW: A **problem** is not limited to the code itself. Fixing typos in files
-such as "_README.md_" files, fixing issues in a "_Makefile_", or otherwise
+such as "_index.html_" files, fixing issues in a "_Makefile_", or otherwise
correcting an IOCCC entry is **VERY MUCH WELCOME**! Please use the same
[GitHub pull request](https://github.com/ioccc-src/winner/pulls) process against
the master [branch](https://github.com/ioccc-src/winner/branches) of the
[ioccc-src/winner repo](https://github.com/ioccc-src/winner).
-NOTE: some of the issues in the [bugs.md](/bugs.md) file includes just missing
+NOTE: some of the issues in the [bugs.html](bugs.html) file includes just missing
files and we welcome these too!
**Please also help us fix typos and / or otherwise improve the write-up** of how
IOCCC winning entries are presented!
In any event we will happily add you to the
-[thanks](/thanks-for-help.md) file for your help!
+[thanks](thanks-for-help.html) file for your help!
And of course, an IOCCC entry may update their own entries
(metadata as well as source code and any extra files) by opening a
@@ -2101,14 +2084,14 @@ have the final say in the matter.
### FAQ 5.3: How may I report an IOCCC web site problem?
If you discover a problem with the IOCCC web site that is related
-to a particular IOCCC entry, please see [FAQ 5.1](#faq5_1) for
+to a particular IOCCC entry, please see [FAQ 5.1](#report_bug) for
information about reporting a bug in an IOCCC entry, and see [FAQ
-5.2](#faq5_2) for information on how to submit a fix to an IOCCC entry.
+5.2](#fix_an_entry) for information on how to submit a fix to an IOCCC entry.
If you discover a problem with the IOCCC web site (such as a broken link, which
may or may not be specific to a particular IOCCC entry) that is **not related
to a particular IOCCC entry**, the best way you can help is to submit a fix to
-the IOCCC web site. See [FAQ 5.4](#faq5_4) for information on submitting fixes
+the IOCCC web site. See [FAQ 5.4](#fix_web_site) for information on submitting fixes
to the IOCCC web site.
If you do not have a IOCCC web site fix, and just wish to report a
@@ -2117,13 +2100,13 @@ general IOCCC web site problem, we ask that you first look at the
if the problem has already been reported. If it has been reported,
feel free to add a comment to the issue. If you do not find an it
has been reported, then fee free to open a [new IOCCC
-issue](//github.com/ioccc-src/winner/issues).
+issue](https://github.com/ioccc-src/winner/issues).
### FAQ 5.4: How may I submit a fix to the IOCCC web site?
For IOCCC web site problems that relate to a particular IOCCC entry, please
-see [FAQ 5.2](#faq5_2) for information on how submit a fix to an IOCCC entry.
+see [FAQ 5.2](#fix_an_entry) for information on how submit a fix to an IOCCC entry.
You may open a [GitHub pull request](https://github.com/ioccc-src/winner/pulls)
against the master [branch](https://github.com/ioccc-src/winner/branches)
@@ -2142,10 +2125,7 @@ If you see lines containing:
!!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!!
```
-This means that the file is generated by a tool from the
-[build-ioccc repo](https://github.com/ioccc-src/build-ioccc)
-using files found in the
-[ioccc-src/winner repo](https://github.com/ioccc-src/winner).
+This means that the file is generated by a tool from a [bin directory tool](bin/index.html).
XXX - the text below for this FAQ entry needs to be updated - XXX
XXX - the text needs to be synced with what tools be written will do - XXX
@@ -2170,7 +2150,7 @@ Those **content source:** comment lines will give you a clue to the content that
is used by the tool to generate the **DO NOT MODIFY THIS FILE** HTML file.
When in doubt, consider opening up an [IOCCC issue](https://github.com/ioccc-src/winner/issues).
-See [FAQ 5.3](#faq5_3) for information on opening up an IOCCC issue.
+See [FAQ 5.3](#report_web_problem) for information on opening up an IOCCC issue.
## FAQ 5.5: How may I correct or update IOCCC author information?
@@ -2181,11 +2161,11 @@ Authors of IOCCC winning entries are kept in JSON files of the form:
author/author_handle.json
```
-where _author_handle_ is an author handle. See [FAQ 6.5](#faq6_5) for more
+where _author_handle_ is an author handle. See [FAQ 6.5](#author_handle) for more
information about an author handles.
The contents of these JSON files contain the best known information
-about authors of IOCCC entries. See [FAQ 6.6](#faq6_6) for information
+about authors of IOCCC entries. See [FAQ 6.6](#author_json) for information
about the contents of these JSON file and how they are used.
You may update IOCCC author information in a `author_handle.json` file
@@ -2199,7 +2179,7 @@ of the [ioccc-src/winner repo](https://github.com/ioccc-src/winner).
We would appreciate if you try to fix the broken (the link goes nowhere) or wrong
(the link goes to something that clearly is not the original intent) web link.
If wish to fix such links, you may open a GitHub pull request as described in
-[FAQ 5.4](#faq5_4). In the case of dead links or invalid links it doesn't matter
+[FAQ 5.4](#fix_web_site). In the case of dead links or invalid links it doesn't matter
if it's a specific winner or not; the procedure is the same: open a pull request
to fix the problem.
@@ -2224,7 +2204,7 @@ please consider submitting a change to replace the link accordingly.
If there is no alternative that you can find you might want to remove the link
instead by replacing the link with just phrase of text. For example,
-if the text in some `README.md` file was:
+if the text in some `index.html` file was:
```
See the [author's description of the program](https://example.com) for more information.
@@ -2238,7 +2218,7 @@ replace that text with:
See the **author's description of the program** (sorry the content is no longer available) for more information.
```
-If you just wish to report the bad link issue, see [FAQ 5.3](#faq5_3).
+If you just wish to report the bad link issue, see [FAQ 5.3](#report_web_problem).
## Section 6: Miscellaneous IOCCC
@@ -2252,7 +2232,7 @@ and/or number of rows have also changed.
The `winner.orig.c` file contains the original source code that was
subjected to rule 2 of the given IOCCC. You may also wish to see
-the [/archive](/archive) directory where you can find all the
+the [/archive](archive) directory where you can find all the
original winning entries as compressed tar files for a given year.
In some cases the entry may have abused rule 2 and declared an
@@ -2262,7 +2242,7 @@ get around rule 2 size limits is discouraged).
### FAQ 6.1: Is there a list of known bugs and misfeatures of IOCCC entries?
-Yes! Please see [bugs.md](/bugs.md) for a list of known bugs and/or issues of a
+Yes! Please see [bugs.html](bugs.html) for a list of known bugs and/or issues of a
variety of kinds.
Note that just because an entry is not in the bugs file does not mean there is
@@ -2278,10 +2258,10 @@ We are not accepting mirror requests at this time, sorry. However you are free
### FAQ 6.3: May I use parts of the IOCCC in an article, book, newsletter, or instructional material?
While IOCCC judges look favorably on most requests to use IOCCC material,
-we request that you ask the [IOCCC judges](/judges.html) first.
+we request that you ask the [IOCCC judges](judges.html) first.
Please send your request using the instructions on the [contacting
-the IOCCC Judges](/contact.html) page.
+the IOCCC Judges](contact.html) page.
### FAQ 6.4: Why do you sometimes use the first person plural?
@@ -2295,14 +2275,14 @@ Willard](https://en.wikipedia.org/wiki/F._D._C._Willard) as well
as the [APS New Open Access
Initiative](https://journals.aps.org/2014/04/01/aps-announces-a-new-open-access-initiative).
-The number of [IOCCC judges](https://www.ioccc.org/judges.html) has
+The number of [IOCCC judges](../judges.html) has
always been "> 1" such that IOCCC judges often prefer to themselves
in the plural, sometimes [in the common
plural](https://en.wikipedia.org/wiki/Plural), sometimes in the
[first person plural](https://en.wikipedia.org/wiki/Nosism), there
may be some who reject such a practice. Therefore please consider
that when you believe that just one of the [IOCCC
-judges](https://www.ioccc.org/judges.html) is in action, you may
+judges](../judges.html) is in action, you may
consider that [F. D. C.
Willard](https://en.wikipedia.org/wiki/F._D._C._Willard) has been
consulted, agreed, and has authorized the statement thus allowing
@@ -2318,7 +2298,7 @@ exaggeration](https://books.google.com/books?id=ms3tce7BgJsC&lpg=PA134&vq=%22the
p.s. Here is an image of F. D. C. Willard:
-[F D C Willard](/png/F.D.C.Willard.png)
+[F D C Willard](png/F.D.C.Willard.png)
### FAQ 6.5: What is an author handle?
@@ -2332,7 +2312,7 @@ For each `author_handle`, there will be a JSON file of the form:
author/author_handle.json
```
-See [FAQ 6.6](#faq6_6) for information about the contents of these JSON file and
+See [FAQ 6.6](#author_json) for information about the contents of these JSON file and
how they are used.
Because the `author_handle` is used to form a JSON filename, the string must be
@@ -2374,7 +2354,7 @@ The latter form is in case there are more than one anonymous author in a given
year.
NOTE: even if the directory name is not `anonymous` the above rules apply as in
-in the case of [2005/anon](/2005/anon/anon.c).
+in the case of [2005/anon](2005/anon/anon.c).
Anonymous `author_handle`'s match this regexp:
@@ -2382,7 +2362,7 @@ Anonymous `author_handle`'s match this regexp:
Anonymous_[0-9][0-9][0-9][0-9][.0-9]*$
```
-See [FAQ 5.5](#faq5_5) for information about how to update
+See [FAQ 5.5](#fix_author) for information about how to update
and/or correct IOCCC author information.
@@ -2392,16 +2372,14 @@ and/or correct IOCCC author information.
information about authors of IOCCC entries and is used to help form
HTML files as well to contact an author.
-The content of these JSON files are used by tools from the [build-ioccc
-repo](https://github.com/ioccc-src/build-ioccc) to help build HTML
-content for the [official IOCCC web site](https://www.ioccc.org).
+The content of these JSON files are used by tools from a [bin directory tool](bin/index.html)
+to help build HTML content for the [official IOCCC web site](https://www.ioccc.org).
For example, the `index.html` file for each IOCCC entry contains
-selected information about the authors. Tools from the [build-ioccc
-repo](https://github.com/ioccc-src/build-ioccc) use the content of
-these JSON files to generate the `index.html` files for each IOCCC
+selected information about the authors. Tools from the [bin directory](bin/index.html)
+use the content of these JSON files to generate the `index.html` files for each IOCCC
winning entry.
-Moreover, should the [IOCCC judges](/judges.html) need to
+Moreover, should the [IOCCC judges](judges.html) need to
contact an authors of a IOCCC entry, they will consult the contents
of the author's JSON file for ways to contact them.
@@ -2412,13 +2390,13 @@ of the form:
author/author_handle.json
```
-where _author_handle_ is an author handle. See [FAQ 6.5](#faq6_5) for more
+where _author_handle_ is an author handle. See [FAQ 6.5](#author_handle) for more
information about an author handles.
#### author_handle.json JSON file contents
The syntax of a `author_handle.json` follows the _So-called JSON spec_.
-See [json_README.md](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/json_README.md#so_called_json_spec)
+See [json_index.html](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/json_index.html#so_called_json_spec)
for information on the _So-called JSON spec_.
A good way to understand the JSON file contents of a `author_handle.json` file
@@ -2438,7 +2416,6 @@ As of _Thu Nov 30 23:51:12 UTC 2023_, the contents was as follows:
"full_name" : "Yusuke Endoh",
"sort_word" : "endoh",
"location_code" : "JP",
- "location_name" : "Japan",
"email" : "mame@ruby-lang.org",
"url" : "https://mametter.hatenablog.com",
"alt_url" : null,
@@ -2505,8 +2482,7 @@ As of _Thu Nov 30 23:51:12 UTC 2023_, the _JSON value_ **MUST** be _"1.0 2023-06
The _author_JSON_format_version_ would only changed when the overall format
of the these files is modified: and then only those who maintain the
[official IOCCC web site](https://www.ioccc.org) would be the one to do this
-in conjunction with changes to the [build-ioccc
-repo](https://github.com/ioccc-src/build-ioccc).
+in conjunction with changes to [bin directory tools](bin/index.html).
##### author_handle
@@ -2520,7 +2496,7 @@ This _JSON member_ holds the author handle of the author.
There **MUST** be one and only one `author_handle` _JSON member_
and the _JSON value_ **MUST** be a _JSON string_ that is also a value author handle.
-See [FAQ 6.5](#faq6_5) for more information about an author handles.
+See [FAQ 6.5](#author_handle) for more information about an author handles.
Normally the _author_handle_ _JSON value_ should **NOT** be changed
**unless there is a strong reason to do so**. If the _JSON value_
@@ -2597,43 +2573,6 @@ a country, such as "Antarctica" or a User-assigned code.
If the author wishes to not specify a location, they should select **XX**.
-##### location_name
-
-```json
- "location_name" : "Japan",
-```
-
-This _JSON member_ holds the string that is the canonical location name as reported by the
-`soup/location` tool from the [mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry),
-when given the [location code](#location_code) as specified above.
-
-There **MUST** be one and only one `location_code` _JSON member_ and the _JSON value_ **MUST**
-be a _JSON string_. Moreover the string **MUST** be what the `soup/location` tool prints
-when given the `location_code` as an argument.
-
-We use the term "location" (and not "country") because some of the
-ISO 3166-1 alpha-2 codes belong to locations that are not technically
-a country, such as "Antarctica" or a User-assigned code.
-
-Often a given location may have a long official name, and multiple common names.
-For names associated with the location **DE** might be:
-
-```
-Germany
-Federal Republic of Germany
-Bundesrepublik Deutschland
-Deutschland
-...
-```
-
-The "location_name" printed by the `soup/location` tool is often a
-short, common string that is sometimes called the formal location
-name for the given ISO 3166 code. Thus in the above example for _DE_,
-the location name of _Germany_ is used.
-
-If the author wishes to not specify a location, they should select **Anonymous location**.
-
-
##### email
```json
@@ -2895,14 +2834,14 @@ The `winning_entry_set` _JSON member_ holds _JSON array_ containing one or more
There **MUST** be one and only one `winning_entry_set` and the _JSON value_ **MUST**
be a non-empty _JSON array_. Each value in that _JSON array_ **MUST** must contain
a _JSON member_ whose _JSON name_ **MUST** be "_entry_id_" and those _JSON value_
-is a valid winner ID.
+is a valid entry ID.
Due to the nature of the _So-called JSON spec_, the last value of the `winning_entry_set`
_JSON array_ cannot end in a comma (_,_).
-See [FAQ 6.7](#faq6_7) for information about winner ids.
+See [FAQ 6.7](#author_json) for information about entry ids.
-See [FAQ 5.5](#faq5_5) for information about how to update
+See [FAQ 5.5](#fix_author) for information about how to update
and/or correct IOCCC author information.
@@ -2928,15 +2867,15 @@ The `entry_id` for that winning entry is:
### FAQ 6.8: What is the purpose of the .top, .year and .path files?
-The [.top](/.top) file resides at the top directory. This file contains the complete list
+The [.top](.top) file resides at the top directory. This file contains the complete list
of IOCCC years.
Under each IOCCC year. one will find a `.year` file. These files contain directory paths from the top directory,
-of the IOCCC entry directories for a given year. For example, see the [1984/.year](/.1984/.year) file.
+of the IOCCC entry directories for a given year. For example, see the [1984/.year](.1984/.year) file.
Under each IOCCC entry directory, you will find a `.path` file.
These files contain the directory path from the top directory.
-For example see [1984/anonymous/.path](/1984/anonymous/.path).
+For example see [1984/anonymous/.path](1984/anonymous/.path).
The .top, .year and .path files are generated from the top level Makefile, by:
@@ -3090,7 +3029,7 @@ You're ready to make your changes now!
Here you must use your wits, knowledge, creativity and whatever else you have.
Let's say that Cody wants to update his file
-[/2020/ferguson1/play.sh](/2020/ferguson1/play.sh) script. He would open it in
+[/2020/ferguson1/play.sh](2020/ferguson1/play.sh) script. He would open it in
his editor of choice (in his case vim) and make the changes. He would then make
sure (as there is a last updated date) to update the last updated date. For
instance he might add the following:
@@ -3140,7 +3079,7 @@ Now you'd be ready to make your commits.
Before doing anything else, however, a new branch needs to be created.
Continuing the example above for
-[2020/ferguson1/play.sh](/2020/ferguson1/play.sh), it might be that:
+[2020/ferguson1/play.sh](2020/ferguson1/play.sh), it might be that:
```sh
diff --git a/inc/README.md b/inc/README.md
index b808500a9..a30af59e6 100644
--- a/inc/README.md
+++ b/inc/README.md
@@ -1,14 +1,14 @@
# inc
-The [inc](README.md) directory holds content that is used by the
-tools in the [bin](../bin/README.md) directory.
+The [inc](index.html) directory holds content that is used by the
+tools in the [bin](../bin/index.html) directory.
## Why the name inc?
We use inc because "include" would be misleading for both C and because
-the contents of HTML files under [inc](README.md) are not really included
+the contents of HTML files under [inc](index.html) are not really included
by the web server or the browser. Content of HTML files is
-processed by tools the [bin](../bin/README.md) directory.
+processed by tools the [bin](../bin/index.html) directory.
Processing can include substitution of strings of the form _%%CURDS%%_ with some command
line supplied value by the tool in question.
diff --git a/inc/index.html b/inc/index.html
index 4784ffa50..aa9abe40b 100644
--- a/inc/index.html
+++ b/inc/index.html
@@ -59,6 +59,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
@@ -103,13 +104,13 @@
inc
-
The inc directory holds content that is used
-by the tools in the bin directory.
+
The inc directory holds content that is used
+by the tools in the bin directory.
Why the name inc?
We use inc because “include” would be misleading for both C and
-because the contents of HTML files under inc are
-not really included by the web server or the browser. Content of HTML
-files is processed by tools the bin
+because the contents of HTML files under inc
+are not really included by the web server or the browser. Content of
+HTML files is processed by tools the bin
directory. Processing can include substitution of strings of the form
%%CURDS%% with some command line supplied value by the tool in
question.
Right now, you CANNOT register as a contestant with
-the IOCCC, nor can you submit an entry because the
-IOCCC is yet NOT open. Please see
-the watch the IOCCC news below for
-information on the next IOCCC. You may also check
-on the status.json for the current status of
-the IOCCC.
+the IOCCC, nor can you send us a submission, because the
+IOCCC is yet NOT open. You may
+wish to follow IOCCC on
+Mastodon as we announce the start of an new IOCCC there.
+Speaking of IOCCC news, you may wish to visit IOCCC news for information on the next
+IOCCC. You may also check on the status.json for the current status of the
+IOCCC.
diff --git a/index.md b/index.md
index 1e44a0461..f060ea6cc 100644
--- a/index.md
+++ b/index.md
@@ -46,8 +46,11 @@ The goals of the IOCCC:
# The IOCCC is currently **CLOSED**.
Right now, you **CANNOT register** as a contestant with the IOCCC,
-nor can you submit an entry because the **IOCCC** is yet **NOT open**.
+nor can you send us a submission, because the **IOCCC** is yet **NOT open**.
-Please see the watch the [IOCCC news](news.html#news) below for information on the next **IOCCC**.
+You may wish to follow [IOCCC on Mastodon](https://fosstodon.org/@ioccc) as we announce
+the start of an new IOCCC there.
+
+Speaking of IOCCC news, you may wish to visit [IOCCC news](news.html#news) for information on the next **IOCCC**.
You may also check on the [status.json](status.json) for the current status of the **IOCCC**.
diff --git a/judges.html b/judges.html
index 144f599f5..2be9d3126 100644
--- a/judges.html
+++ b/judges.html
@@ -59,6 +59,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors
We plan to update our IOCCC on
+Mastodon feed a bit more open than this web page. We recommend you
+check that feed for possibly newer news than what is posted here.
+
We tend to only post major news updates to this web page.
Moving IOCCC entries into their own separate directories
Fixing lots and lots of typos
-
Fixing Makefiles and code to allow for nearly all winners to be
-compiled on modern systems
+
Fixing Makefiles and code to allow for nearly all winning IOCCC
+entries to be compiled on modern systems
Reworking the Makefiles to use a consistent set of rules
Reworking the Makefiles to compile under gcc and clang
-
Replacing the various hint files with a README.md markdown that is
+
Replacing the various hint files with a index.html markdown that is
more consistent across IOCCC years
Setting up a system whereby authors of IOCCC entries may update
their own contact information via a GitHub pull request
@@ -156,15 +177,15 @@ a tool that will package submissions to the IOCCC.
that will allow those who submit entires to be informed about the status
of their submission. This IOCCC submit server will be
beta tested in the IOCCCMOCK.
-
We are working on a method to rapidly post the winners of an IOCCC.
-No longer will winners be subject to a long delay between announcing
-that they have won and their code being made available. No longer will
-procrastination delay the public seeing the winning code. Instead the
-announcement of the winners of an IOCCC will be done by posting
-the winning code via a GitHub commit. Any corrections,
-improvement, typo fixes and other fixes will be applied to the winners
-via GitHub pull requests: by the authors and/or other interested 3rd
-parties.
+
We are working on a method to rapidly post the winning entries of an
+IOCCC. No longer will entries be subject to a long delay between
+announcing that they have won and their code being made available. No
+longer will procrastination delay the public seeing the winning code.
+Instead the announcement of the winning entries of an IOCCC will
+be done by posting the winning code via a GitHub commit. Any
+corrections, improvement, typo fixes and other fixes will be applied to
+the winning entries via GitHub pull requests: by the authors and/or
+other interested 3rd parties.
All the above represent one of the most significant (and useful)
changes to the IOCCC since it started back in 1984. While we are doing
lots of testing, we are sure that issues, mis-features and even bugs
@@ -286,7 +307,7 @@ a tool that is based on, and is containing, the official iocccsize tool,
will form a compressed tarball that a registered IOCCC contestant will
upload to the submit server (when the contest is open of course).
The Judges are re-tooling how we run the
IOCCC. Our goal is to build a smoother, more rapid process centered
around GitHub.
-
For example, when we announce the winners, we will do so by
-committing their code to the Winning entries
-of the IOCCC repo, so that people will be able immediately view the
-winning source.
+
For example, when we announce the winning entries of the IOCCC, we
+will do so by committing their code to the Winning
+entries of the IOCCC repo, so that people will be able immediately
+view the winning source.
To avoid having to change numerous “README.md” files to add
+
To avoid having to change numerous “index.html” files to add
thank you notes, we centralize them below.
-
The IOCCC judges wish
-to recognize the many important contributions to the IOCCC presentation
-of past IOCCC entries. We are pleased to note the many contributions,
-made since 2021 Jan 01, on a IOCCC entry by entry
-basis.
+
The IOCCC judges wish to recognize the
+many important contributions to the IOCCC presentation of past IOCCC
+entries. We are pleased to note the many contributions, made
+since 2021 Jan 01, on a IOCCC entry by entry basis.
The problem was to do with the way that the read(2)
function was redefined. With macOS the second arg needs to be a
@@ -159,19 +159,19 @@ lines which the author told us (Landon) that they liked. Thus now it is
like the original where the first line ends with "hell\ and
the second line starts with o, world!\n".
By request, the original code is provided as anonymous.alt.c so that one
+href="1984/anonymous/anonymous.alt.c">anonymous.alt.c so that one
can look at it and the famous tattoo which we also include here:
Cody fixed this to not require
-traditional-cpp which some compilers like clang do not
support. Fixing -traditional-cpp is, as noted later on,
@@ -230,32 +230,32 @@ entry would compile with gcc - but not clang - or at least some
versions.
Cody also fixed this to not crash when no arg is specified. Note that
if the arg is not a positive number it will not do anything useful or
anything at all. This was fixed on 30 October 2023 after the bug status
was changed from INABIAF (it’s not a bug it’s a feature) to bug.
Cody provided an alternate version, an
-improved version of the judges, so that everyone can enjoy it with
-systems that are not VAX/PDP. It moves at approximately the same speed
-as the original did. We also refer you to the FAQ
-as there are some winning entries that also let one enjoy it (which
-through trial and error was how the right speed was discovered) - with
-more to them of course! The difference between the original is that it
-will start over after it times out but that might not happen with the
+href="1984/mullender/mullender.alt.c">alternate version, an improved
+version of the judges, so that everyone can enjoy it with systems that
+are not VAX/PDP. It moves at approximately the same speed as the
+original did. We also refer you to the FAQ as
+there are some winning entries that also let one enjoy it (which through
+trial and error was how the right speed was discovered) - with more to
+them of course! The difference between the original is that it will
+start over after it times out but that might not happen with the
original (might need you to press a key though this is not known for
sure).
Cody also added the gentab.c
file, fixed to compile (and work, though see bugs.md) with modern systems and so
+href="#1984mullender-readmemd">bugs.html) with modern systems and so
that it would create the proper array (it had unbalanced ’}’s), which
the author noted in their remarks (which Cody also found). As this file
uses the old header file a.out.h that is not available in
@@ -264,9 +264,9 @@ been at the time, in the fabulous Unix
History Repo.
Both Cody and Yusuke fixed
this; Yusuke got this to not crash and Cody fixed it to work with
macOS.
@@ -279,18 +279,17 @@ memory.
The fix for macOS is that there was no prototype for
execlp() and macOS has problems with missing prototypes for
some functions (this was also seen when Cody fixed 1984/anonymous for macOS as
-well). As this is a one-liner the include of unistd.h was
-done in the Makefile. Ironically this fix was discovered through
-Linux!
+href="1984/anonymous/anonymous.c">1984/anonymous for macOS as well).
+As this is a one-liner the include of unistd.h was done in
+the Makefile. Ironically this fix was discovered through Linux!
NOTE: originally this entry did not print a newline prior to
returning to the shell, after the output (despite having \n
in the string - can you figure out why?) but to make it more friendly to
users Cody made it print a \n prior to returning to the
shell. The original version does not have this change.
Cody, out of abundance of caution, added a second
arg to main() because some versions of clang object to the
number of args of main(), saying that it must be 0, 2 or 3.
@@ -298,17 +297,17 @@ The version this has been observed in does not actually object to 1 arg
but it is entirely possible that this changes so a second arg (that’s
not needed and is unused) has been added just in case.
Cody also added the script primes.sh which allows one to check
-the output for the first N prime numbers of the output, where N is
-either the default or user specified. The inspiration was the previous
-‘try’ command he gave to have fun with finding primes that might seem
-unusual in a way.
-
Cody also added the try.sh script
+href="1985/august/primes.sh">primes.sh which allows one to check the
+output for the first N prime numbers of the output, where N is either
+the default or user specified. The inspiration was the previous ‘try’
+command he gave to have fun with finding primes that might seem unusual
+in a way.
+
Cody also added the try.sh script
(which calls primes.sh whether primes(6) is
installed or not but it only does it once with the default value).
Cody fixed this to compile with modern compilers.
In the past one could get away with defining some macro to
#define and then use #foo to have the same
@@ -317,33 +316,33 @@ systems so Cody changed the #o lines to
#define. Also unistd.h had to be
#included.
Yusuke provided some useful information that
-amounts to an alternate version that Cody added. See the README.md for
+amounts to an alternate version that Cody added. See the index.html for
details.
Cody added the alt code which allows one to
resize the maze and he also added the try.alt.sh script that randomly
+href="1985/shapiro/try.alt.sh">try.alt.sh script that randomly
selects sizes (five times) and compiles and runs it. After the five runs
it prompts you to enter a number, in an infinite loop, exiting if any
non-digits are in input (this includes negative numbers which in the
code actually sets it back to 39, the default).
Cody fixed this very twisted entry to
not require -traditional-cpp. Fixing
-traditional-cpp is, as noted later on, very complicated,
but Cody would like to refer you to the original file sicherman.orig.c and he
+href="1985/sicherman/sicherman.orig.c">sicherman.orig.c and he
suggests that you then compare it to sicherman.c for some good old
+href="1985/sicherman/sicherman.c">sicherman.c for some good old
C-fashioned fun (alternatively, see below explanation)!
Later on Cody improved the fix so that it looks much more like the original entry. He did this
+href="1985/sicherman/sicherman.c">original entry. He did this
several more times and it’s as close to the original as one can get
without causing compiler errors.
To get this to all work the following changes were made. If you
@@ -367,13 +366,13 @@ class="sourceCode c">’ part
in subr() would be better to be upper case as it talks
about the language. Also in the second alternate version (the first
+href="1985/sicherman/sicherman.alt2.c">alternate version (the first
being the original code) which is in case a new version of clang ever
objects to only one arg in main() (which is not out of the
realm of possibility), main() can have C as
argc to main() so it would read like it once
did: C manual albeit with a , separating the
-two. The second alternate
+two. The second alternate
version is compiled in case the first does not. Originally the macros
were kept the same and the C in subr() was
c. It feels better (in some ways) to make it so that the
@@ -425,33 +424,33 @@ This version will automatically be compiled if the entry fails to
compile for some reason but one can compile it manually as
make alt in which case it’ll be compiled as
sicherman.alt (if it’s done because sicherman.c fails to compile it
+href="1985/sicherman/sicherman.c">sicherman.c fails to compile it
will be built as sicherman as part of the
sicherman rule).
Cody fixed this to compile and work with clang
(it already worked with gcc). The problem was that clang is more strict
about the type of second arg to main(). However simply
@@ -460,55 +459,56 @@ to **s caused a segfault. By adding a new variable,
char *t, initialising it to s and then using
t instead of s it compiles and runs
successfully under clang and gcc.
Cody got this to compile and work with clang and
gcc. He noted that he tried to keep the ASCII art as close to the
original as possible. The line lengths are the same but some spaces had
to be changed to non-spaces.
This fix was very interesting and quite amusing, showing up problems
with two different compilers. This is a brief summary but much more is
-explained in the compilers.md
-file, giving which compilers had which problems in which systems: the
-optimiser being enabled in one compiler let it work but broke it in the
-other; and disabling it would let it work in the one that didn’t work
-but suddenly the one that worked wouldn’t work. And by ‘not working’ it
-did not work in more than one way and for different platforms it had
-other problems as well.
+explained in the compilers.html file, giving
+which compilers had which problems in which systems: the optimiser being
+enabled in one compiler let it work but broke it in the other; and
+disabling it would let it work in the one that didn’t work but suddenly
+the one that worked wouldn’t work. And by ‘not working’ it did not work
+in more than one way and for different platforms it had other problems
+as well.
This problem was only after getting clang to compile, of course. It
did not compile it because it is more strict about the second and third
args to main() and the third arg was an
int.
We encourage you to read the compilers.md file to see how odd
-this problem was and what Cody did to fix it, if nothing else but for
-entertainment!
+href="1986/marshall/compilers.html">compilers.html file to see how
+odd this problem was and what Cody did to fix it, if nothing else but
+for entertainment!
+
Cody noticed and fixed a funny mistake in the
Makefile where a -Wno-strict-prototypes was in the wrong
location, suggesting that there is a -D needed to compile
the entry.
Cody restored the original entry which was a
single line. The code being longer (in 1986 a one liner could be longer)
was split to three lines to avoid problems with news and mail but as it
was the ‘Best one liner’ it is now one line.
-
Cody also added the stein.sh
-script which runs the two commands that we suggest in order to get it to
-show clean output.
Cody fixed this so that it does not require
-traditional-cpp. This took a fair bit of tinkering as this
entry very twisted; fixing -traditional-cpp is, as
noted earlier, very complicated, but we encourage you to look at original code to see how different C
+href="1986/wall/wall.orig.c">original code to see how different C
was in 1986, as well as below.
Yusuke originally patched this to use
strdup() on two strings and this let it work with gcc but
@@ -564,14 +564,14 @@ it still required -traditional-cpp.
Cody made this look more like the original entry
by restoring the #define of define. It’s not
used but it now looks closer to the original.
@@ -583,18 +583,18 @@ requires the inclusion of strings.h and because it’s
identical in use to strchr(3) (and we noted that for System
V we had to do this) Cody added to the Makefile
-Dindex=strchr.
-
Cody added the try.sh script and the C file goto.c and the text file goto.txt for demonstration purposes.
Notice that the program is case sensitive which running the program on
the text file demonstrates.
Cody added back the documented checks for invalid
input which no longer worked and instead resulted in either accepting
the level, whether or not it was a number or out of range (see below on
@@ -638,18 +638,18 @@ the do..while loop will take care of things.
back the #define D define even though it’s unused. This was
done for both versions as well (the one with the board and the one
without, the entry itself with the size constraints of the contest).
-
Cody fixed this for modern systems. The problem
was
'assignment to cast is illegal, lvalue casts are not supported'.
-For the original file see the README.md file. Unfortunately this ruins
+For the original file see the index.html file. Unfortunately this ruins
some symmetry. To try and resolve this as much as possible at first code
was commented out but later on the commented out code was removed and
another part changed so that, although it has some code no longer there,
@@ -660,9 +660,9 @@ more symmetrical now.
nowadays very unlikely(?) but nevertheless suggested case that
putchar() is not available.
Cody fixed this twisted entry (as we called it
:-) ) for modern compilers, including making it no longer require
-traditional-cpp. Fixing -traditional-cpp is,
@@ -718,29 +718,29 @@ directives like:
/* ... */
However, to keep the entry as close to as possible in look, Cody kept
the _ macro in place it’s just no longer used.
-
See the README.md file for details on the original code, provided as
+
See the index.html file for details on the original code, provided as
an alt version in case you have an older compiler or wish to try
-traditional-cpp.
Cody fixed this to work for modern systems. The
problem was that the important function, a redefinition of
exit(), was not being called in main(). The
original version is in 1988/isaak/isaak.alt.c. See the
-README.md file for more details.
Cody fixed this for modern systems. It did not
compile with clang because it requires the second and third args of
main() to be char ** but even before that with
@@ -758,50 +758,50 @@ without the full body that cannot exist as it once did. The format of
the same code. Additionally, main() returns
!pain(...) like main() used to do to itself
and pain() does now.
Cody provided an alternate version so that
-this will work with compilers like clang. An alternate version had to be
+href="1988/spinellis/spinellis.alt.c">alternate version so that this
+will work with compilers like clang. An alternate version had to be
provided because not doing so would be tampering with the entry too
much. It would work but it would not show the same creativity and
cleverness.
The original entry exploits a fun mis-feature that works with gcc but
not clang. This resulted in a change of rules which is another reason to
-not modify the original. See the README.md file for details on the
+not modify the original. See the index.html file for details on the
alternate code.
Meanwhile Cody was twisted enough to point out (though to be fair he
felt sick doing this) that with a slight modification this entry can be
C++ instead. We don’t thank him for this ghastly point! :-)
The original version,
provided as alternate code, was fixed by Misha Dynin, based on the
judges’ remarks, so that this would work with modern C compilers. We
encourage you to try the alternate version to see what happens with
-current compilers! See the README.md files for details.
+current compilers! See the index.html files for details.
Cody added the try.sh script to show the magic of the
+href="1988/westley/try.sh">try.sh script to show the magic of the
entry as seeing the code with the result at once is far more
beautiful.
Cody also changed the ints to be float as
that’s what they are printed as: not strictly necessary but nonetheless
more correct, even if not warned against.
Cody got this to work with modern systems. The
main issues were that an #include had to be added along
with fixing the path (due to . not being in
$PATH) to files referred to in the code. The path problem
-was also fixed in fubar.sh.
A strange problem occurred where if one made modifications to the C
file it might end up failing to work even after changing it back. This
was resolved by:
To prevent annoying output to /dev/tty we changed the
code to simulate the output via strings(1) but Cody removed the ill-famed
@@ -845,9 +845,9 @@ script or alt code directly, to match that of the main entry. As we
simulate the functionality anyway, and since one may still run the code
or the script (for the original entry and the alt code) anyway, it works
out well.
Cody also provided the try.sh script
+and the supplementary files try.txt, fib.lisp and chocolate_cake.lisp. The
try.txt comes from the author and the fib.lisp
comes from Yusuke. Cody wrote the script and
-offered us some chocolate cake :-) See README.md for details on how to
+offered us some chocolate cake :-) See index.html for details on how to
use the script.
Cody fixed an infinite loop where the program
would print the same thing over and over again, flooding the screen. The
problem is that there was a for loop that by necessity had
to not have an increment stage but the pointer only got updated in the
if path (in the loop itself).
Cody also provided the try.sh
script which runs the program four times on three files to show the
different output. It doesn’t run the program on each file four times in
a row but rather does it on each file and starts over, doing it four
times, to help with hopefully allowing different output.
Cody also provided an alternate
version based on the author’s remarks and the try.alt.sh script that uses the alt
-code, allowing one to configure the alt build. See the README.md for
+href="1989/ovdluhe/try.alt.sh">try.alt.sh
script that uses the alt
+code, allowing one to configure the alt build. See the index.html for
details. The fix described above was fixed in this version too, after it
was discovered and fixed.
Cody fixed a segfault under macOS that prevented
it from working. The problem was that the int (from
#define f) should be a long. This became apparent when he
was using lldb and saw that the type of a pointer was too
long :-)
Cody and Yusuke fixed this
entry: Yusuke fixed this to compile with gcc and Cody fixed it for clang
and made some other fixes as well.
@@ -936,14 +936,14 @@ things, so that now the alt version, which is better, can be used.
to have an IOCCC Tetris working (this of
course was not his only reason :-) )
-
Cody fixed this for clang, except that two
versions generated by the program cannot be compiled by clang due to
inherent defects in the compiler and how the entry works. This is an
@@ -1005,21 +1005,21 @@ necessity. Comments might have been changed but it is no longer known if
that happened only in the working on version 2 and 3 or if in the fix
for clang as well as version 0 and 1.
To make use of this several scripts were added by Cody.
The compile.sh script that
removes the generated code, rebuilds the program and regenerates the
other code and then compiles it will work for compilers like gcc and one
-can then use the try.sh script to see
+can then use the try.sh script to see
example input and output.
The compile.sh script allows one to specify the compiler
-with the CC environmental variable; see the README.md for
+with the CC environmental variable; see the index.html for
details.
Cody also added an alternate
version which allows Turbo-C and MSC to compile this code, based on
the authors’ remarks, except that Cody did not change the
" #Q" string as that showed worse looking output instead of
@@ -1033,15 +1033,15 @@ href="https://www.ioccc.org">here will need it! :-)
int from the variables, adding instead
-Wno-implicit-int. The newline added by the judges was
retained.
-
Yusuke and Cody in
conjunction fixed this for modern systems (both fixed a different
compiler error but more fixes were also made).
@@ -1053,11 +1053,11 @@ comma operator itself.
Cody fixed another compiler error by removing the erroneous prototype
to fopen(). Cody also changed a char * used
for file I/O to be a proper FILE * and fixed a typo in LANDER.BAS.
Cody fixed the script to work properly in modern
environments including writing to and extracting from
stdout and relying on the exit code in the commands to
@@ -1083,30 +1083,30 @@ allow for && ....
He also changed the perror(3) call to
fprintf(3) because in macOS when errno is 0 it shows what
looks like an error.
-
He added the try.sh to run the
-commands that we suggested at the time.
+
He added the try.sh to run the commands
+that we suggested at the time.
NOTE: as btoa is not common we used a ruby script from
Yusuke but with a minor fix applied by Cody that
made the program just show oops twice from invalid input
but which now works.
Cody added the alt
code which was suggested by the judges in the case that your
compiler cannot compile X=g()... but it actually does
something else and is recommended by the author as well.
Cody fixed this to work with modern compilers;
exit(3) returns void but the function was used in a binary
expression so this wouldn’t even compile.
@@ -1120,11 +1120,11 @@ in the same way as the original entry, first the compile fix and then
later on making it look more like the original by redefining
exit and also redefining gets() to be
fgets() in the same way that the original entry is. This
-way the alt version is
+way the alt version is
equivalent in function, like the author intended, but more compact.
He also fixed some bugs that impacted the usability of this program
@@ -1150,44 +1150,44 @@ having and this is why it was done.
problem only with clang in Linux but which was defaulting to an error.
This way was the simplest way to deal with the problem in question due
to the way the entry works.
-
Cody also added the try.sh script
which shows the original program and some of the programs it
generates.
Yusuke pointed out that atof
nowadays needs #include <stdlib.h> which was used in
order to get this to work initially (prior to this output was there but
incomplete).
Cody fixed this for modern systems. It had
1s in places for a short int which was changed
to just 1. Since it’s instructional to see the differences
he has provided an alternate version, westley.alt.c, which is the
+href="1990/westley/westley.alt.c">westley.alt.c, which is the
original code.
He also changed the argc to be an int, not
a char, even though it might often be the same (for the
purpose of clang?).
He also fixed the code to not enter an infinite loop if arg is a
number not > 0 and to not crash if no arg is specified.
Cody fixed this for modern systems. There were
two invalid operands to binary expression (char * and
void and int and void) to resolve
@@ -1215,12 +1215,12 @@ operator.
Later on, Cody added back the macro #define D define to
make it look ever so slightly more like the original, even though it’s
unused.
-
Cody also added the try.sh script
-and try.txt which the script
+
Cody also added the try.sh script
+and try.txt which the script
uses.
Cody fixed this so that the coordinates being
specified would not crash the program. This happened because the
function that calls atoi(3) took an arg without any type
@@ -1229,23 +1229,23 @@ specified and as an implicit int it was not a
Cody also made the file name in the code (which is the default maze
file) not hard-coded but instead be __FILE__.
Finally Cody added the alternate version
+href="1991/buzzard/index.html#alternate-code">alternate version
which will possibly feel more at home with those familiar with vi(m) (it
certainly does feel more at home with him): k for forward,
h for left and l for right. This version also
has a more useful way to exit, just entering q followed by
enter, rather than completing or killing the program.
As some systems like macOS can be particular about not declaring
functions Cody added to the Makefile some
-include options. These appear to not be strictly necessary
but it was done due to other syscalls being a problem not being declared
first.
Cody fixed a segfault that prevented this entry
from working in any condition and he also made it work for clang. He
also added checks for NULL FILE *s. Furthermore he changed
@@ -1336,9 +1336,9 @@ writing it would not crash. The definition of whether that should be a
bug to fix or a feature to not fix was pondered and changed numerous
times and ultimately that problem with this entry was fixed. It has not
been done in all.
Cody made it look much more like the original
entry even after the fix that increased the count in characters from 80
to 106, getting it back down to just 85 (and later back down to 80, see
@@ -1355,13 +1355,13 @@ down to its original 80 which also resolved the warning described above.
This was by more clever use of the Makefile which now has a
-DB=(int)b so that B can be used in place
where (int)b used to be necessary.
Cody also added the try.sh script
which feeds the program some fun input for fun but mostly different
output. He added a great string from Brian Westley and Cody also added
several of his own (can you figure out exactly which ones? :-) )
Cody fixed it so that the messages that show if
you won or lost will be seen after the end of the game. The reason it
did not work before is curses was ended at the end of the program which
@@ -1370,14 +1370,14 @@ left the message before ending curses in and printed another message of
the same kind after endwin() was called with the exception
that he added a newline at the end of the screen to be more user
friendly.
Cody also added two
alt versions, one to remove the maximum number of moves you may make
and another to let you configure the maximum number of moves, even if
that is making it harder to win. Naturally the above fix was applied to
these versions too.
Cody fixed a segfault in this program which
prevented it from working. The problem was that the read-only char array
char *z[] was being written to. The fix was to change it to
@@ -1397,9 +1397,9 @@ remarks, a version that supposedly (:-) ) always wins.
Cody also fixed the make clobber rule where a file was left lying
about when it should have been removed.
Cody fixed the code so that it will try opening
the file the code was compiled from (__FILE__), not
adgrep.c, as the latter does not exist: adgrep
@@ -1458,13 +1458,13 @@ line that looks like:
there.
These fixes are complex changes due to the way the program and
Makefile generate the additional tools.
-
Cody finally added the try.sh
-script that shows the entry and some of the tools this entry generates.
-Unlike other scripts, it does not clear the screen after compilation so
-that one can see how the other files are generated.
Cody finally added the try.sh script
+that shows the entry and some of the tools this entry generates. Unlike
+other scripts, it does not clear the screen after compilation so that
+one can see how the other files are generated.
Cody fixed this to compile with modern systems.
Note that in 1996 a bug fix was applied to the code, provided as the alt
code as that version is not obfuscated. Thus Cody’s fix applies to the
@@ -1472,12 +1472,12 @@ original entry. The problems were that malloc.h is not the
correct header file now (at least in some systems?) and a non-void
(implicit int) function returning without a value. That
function was changed to return void.
-
Cody also added the try.sh and try.alt.sh scripts that correspond to
+
Cody also added the try.sh and try.alt.sh scripts that correspond to
the entry and the alt code.
Cody fixed the Makefile so that the program will
actually work with it (or at least the rule to clobber files and link
am to ant). The issue was that the variables
@@ -1497,37 +1497,36 @@ that the syntax for this program is to use $() rather than
The author stated that in some systems like DOS with Turbo C, it
might be necessary to include time.h so Cody did this as
well as this exists in other systems too.
Cody added a check for the right number of args,
exiting 1 if not enough (2) used. This was not originally done but at a
time it was changed to be considered a bug so it was fixed at that point
as it only took a few seconds and had to be verified that it was
-consistent with the bugs.md file.
-
He also added the try.sh script
+consistent with the bugs.html file.
+
He also added the try.sh script
to try out some commands that we suggested and some additional ones that
he provide for some fun.
Cody also added the mkdict.sh
+script that the author included in their remarks. See the index.html for
its purpose. It was NOT fixed for ShellCheck because the
author deliberately obfuscated it so PLEASE DO NOT FIX
@@ -1537,29 +1536,29 @@ THIS OR MODERNISE IT.
from the command line (though it can also read input from
stdin after starting the program). Ideally
fgets(3) would be used but this is a more problematic. See
-1992/gson in bugs.md for more details
-if you’re interested in trying to understand it (or fix?).
-
The original code, imc.orig.c,
+href="1992/imc/try.sh">try.sh script.
+
The original code, imc.orig.c,
assumed that exit(3) returned a value but this will cause
problems where exit(3) returns void. The source code was
modified to avoid this problem but like Cody did with other fixes he
made this more like the original by redefining exit to use
the comma operator so that it could be used in binary expressions.
It was observed that on modern systems this goes much too quick. Yusuke created a patch that calls
usleep(3) but Cody thought the value
was too slow so he made it a macro in the Makefile Z (which
can be redefined with make SLEEP=...), defaulting at 15000.
-This was made an alt version
-and it is recommended one use the alt version first. See the README.md
+This was made an alt version
+and it is recommended one use the alt version first. See the index.html
file to see how to reconfigure it.
Cody also made the fixed version (the code relied on
exit(3) returning to use in binary expressions) (and alt
@@ -1577,41 +1576,41 @@ changing this.
Yusuke also noted that there is a bug in the program where right
after starting it moves towards the right but if you click the mouse it
goes back.
Yusuke supplied a patch which makes this work
-with gcc. Due to how it works (see Judges’ remarks in the README.md
+with gcc. Due to how it works (see Judges’ remarks in the index.html
file) this will not work with clang.
Cody also provided the lush.sh script to demonstrate it as using
+href="1992/lush/lush.sh">lush.sh script to demonstrate it as using
make was problematic.
Cody made it use fgets() instead of
gets().
NOTE: this entry cannot work with clang due to different compiler
messages (it will compile fine but it won’t work). See bugs.md for details.
Cody added the original file back as it was
deemed that the export restrictions should no longer be a cause of
concern for this entry. Doing this did require a change to Cody’s 2020/ferguson2 entry as it’s
+href="2020/ferguson2/index.html">2020/ferguson2 entry as it’s
referenced.
Cody cynically noted that if he goes quiet, for instance if he no
longer participates in the IOCCC, that it must be our fault! :-)
Cody fixed an infinite loop if one were to input
numbers < 0 or > 077. The problem was
that it tried to use scanf(3) with the format specifier
@@ -1625,9 +1624,9 @@ beginning of the loop) and then using strtol(3) with a base
of 8 (as it’s octal), checking for
< 0 || > 077 on both numbers (using
"%o %o" does not solve the problem).
Cody fixed this to work for clang by changing the
third and fourth arg of main() to be char **
inside main(); clang requires args 2 - 4 to be
@@ -1649,11 +1648,11 @@ final loop it prints another newline. This fix has another bonus in that
resizing the terminal after running it should not mess up the display
either, unless of course it becomes too small.
Cody added the scripts whereami.sh and whereami.alt.sh which
-correspond to the entry and the alt code but first check that the number
-of columns is at least 80 and if not it is an error.
-
Cody added the try.sh script that
+href="1992/westley/whereami.sh">whereami.sh and whereami.alt.sh which correspond
+to the entry and the alt code but first check that the number of columns
+is at least 80 and if not it is an error.
+
Cody added the try.sh script that
shows the different cities that the author recommended one try as well
as the one recommended by the judges (approximate judging location),
labelling each city and printing a newline before the next city. The
@@ -1665,7 +1664,7 @@ scripts can be deceived by COLUMNS=80 ./try.sh (or
COLUMNS=80 ./whereami.sh etc.) but this is a feature, not a
bug.
Cody also added an arg check because the program and the alternate version might have
+href="1992/westley/westley.alt.c">alternate version might have
crashed or nuked the entire world or just the
@@ -1674,36 +1673,36 @@ respectively, without enough args (2). And not that we need the help or
anything for this :-) but we encourage you to try the original without
two args :-)
Yusuke suggested that with modern systems this
goes too fast so he added a call to usleep(3) in a patch he
made. Cody made it configurable at compilation by
using a macro. This is in the alt version which is the recommended one
to try first.
Both Cody and Yusuke fixed
this so that it will work with modern systems. Yusuke provided some
fixes of the X code and Cody fixed the C pre-processor directives so
@@ -1715,17 +1714,17 @@ like:
(though it’s now a long) and K to mean case
but that’s no longer the case so the offending lines had
#define prepended to them.
-
Cody added an alternate version which
-does what the program did with gcc < 2.3.3. See the README.md file
+href="1993/lmfjyh/index.html#alternate-code">alternate version which
+does what the program did with gcc < 2.3.3. See the index.html file
for details and for why this was made the alternate version, not the
actual entry. This alternate version will compile automatically (as
lmfjyh itself) in the very likely case (if you don’t have
@@ -1733,42 +1732,42 @@ gcc < 2.3.3) that the entry fails to compile.
Cody also made the Makefile delete the very unsafe filename that is
compiled (or would be compiled if gcc < 2.3.3) whether or not
compilation succeeds (which is highly unlikely).
Cody also added an alternate
version which uses usleep(3) so you can see what is
happening with faster systems. This version also checks for two args and
-it is the one we recommend one try first. See the README.md files for
+it is the one we recommend one try first. See the index.html files for
details.
-
Cody also added the try.sh and try.alt.sh scripts that correspond
-to the original entry and the alt version, both allowing one to change
-the args (and in the case of the alt one allowing one to change the
-amount to sleep).
Cody also added the try.sh and try.alt.sh scripts that correspond to
+the original entry and the alt version, both allowing one to change the
+args (and in the case of the alt one allowing one to change the amount
+to sleep).
Yusuke supplied a patch to get this to work in
modern systems. This fix also applies the compatibility issue of
-select(2) described in the README.md file.
+select(2) described in the index.html file.
Cody added a call to endwin() to
help with terminal sanity after the program ends.
Cody provided two alternate versions to simplify slowing the game
down and, for the second one, to make movement keys (of the default
game) more familiar to vi users. The slowing down was based on our
suggestion that it might be desired to slow down but Cody did it in such
-a way that makes it easy to configure at compile time. See the README.md
-for details.
Cody fixed this to work with clang. The problem
was that the third arg to main() was not a char **. Instead
O5() (which was main() via
@@ -1790,14 +1789,13 @@ augmented with comments showing where each state begins. N1 and N2 are
notes.
but fixed to work with clang as well.
NOTE: the N1 and N2 are provided as notes
-in the README.md file describing this code. Other code is also described
-there.
Cody fixed an infinite loop that could happen
when you shoot an arrow and end up having no arrows, thus making one
force quit the game. The problem was in a condition in the outer loop it
@@ -1825,9 +1823,9 @@ arrows back once even if the robber stole more. Now the counters are
reset. The way this bug was fixed is that there is now a counter for how
many you have found and how many you shot in addition to the two that
already existed, how many you had and how many were stolen.
Cody fixed this to check that four args were
specified. With the use of the C pre-processor macro and inclusion of
stdlib.h in the Makefile the layout of the source is
@@ -1836,30 +1834,30 @@ was done during one of the times where this was changed to bug to fix
status, for better or worse.
Cody also fixed the Makefile which was causing alt code to be
compiled when it shouldn’t be.
Cody also added inclusion of unistd.h for
getpid(2). While strictly speaking this was not necessary
(in multiple systems) it can sometimes be a problem and as it was
noticed it was changed (the only case this was done except in the
entries that actually did not work because of missing or incorrect
prototypes).
Cody fixed this so it would compile and work with
modern compilers. The problem was that srand() returns
void but it was used in a || expression. Thus
@@ -1880,33 +1878,33 @@ now it’s just a blank line rather than an annoying warning. A subtlety
about this fix: if a line is greater than 231 in length if the program
chooses that line it might print the first 231 characters or it might
print (up to) the next 231 characters and so on.
The purpose for these versions it both demonstrate how the magic
works behind it and to help others, should they wish, get the code to
work with fgets(3), with or without an increase in buffer
-size. Note that without this feeding longer files, say the README.md
+size. Note that without this feeding longer files, say the index.html
file, will crash the program. See 1994/schnitzi in bugs.md where Cody
+href="bugs.html#1994-schnitzi">1994/schnitzi in bugs.html where Cody
also explains the magic for more details. Later on, if nobody takes up
the task, Cody might resume it, but for now there is more important work
to do so that the next contest can run.
Cody fixed a bug on systems where
EOF != -1. The problem is that getc() and the
related functions do not return -1 on EOF or error but
@@ -1916,21 +1914,21 @@ rather EOF. However EOF is not required to be
EOF. On systems where EOF != -1 it could
result in an infinite loop.
For an interesting problem that occurred here and what was done to
-solve it, check the bugs.md file.
Cody added the try scripts, four total, colour
and black and white pairs for the original entry and the alt code. These
-scripts are try.color.sh, try.bw.sh, try.alt.color.sh and try.alt.bw.sh, respectively. The
+scripts are try.color.sh, try.bw.sh, try.alt.color.sh and try.alt.bw.sh, respectively. The
scripts go through each mode allowed with two sizes, 128 and 256,
allowing one to quit or skip each (given that there are a lot of
invocations this seemed like a good idea).
@@ -1941,44 +1939,43 @@ use fgets() and the inclusion of stdio.h had
to be added but to make it more like the original entry this was done in
the Makefile. The alt code was also changed to use
fgets(3).
-
Cody changed the Makefile to make this program
more user friendly and easier to use with other tools as well by making
the program output not a space after each number but rather a
newline.
Cody also added the scripts try.sh
+and primes.sh. The
primes.sh script is used by try.sh and if both
primes(1) and rev(1) are installed it will
reverse the lines of the weisberg, feeding it to
primes(1), showing those that are primes. It only does the
reversed output because the program actually prints primes.
Cody converted the spoiler compiler options
(provided by the author) to be compiler commands and added a script try.sh to automate the spoiler commands
+href="1994/westley/try.sh">try.sh to automate the spoiler commands
to make it easier to see the game in action from start to finish.
Cody also added the alternate version that will look fine on
terminals not set to 80 columns and the try.alt.sh script to automate the
-play along the lines of the try.sh
+href="1994/westley/try.alt.sh">try.alt.sh script to automate the
+play along the lines of the try.sh
script.
Cody also provided the Alternate
code for fun :-) ) (in particular to make it easier to see the
program do what it does in systems that are too fast … if there is such
-a thing anyway :-) ). See the README.md for details on this.
+a thing anyway :-) ). See the index.html for details on this.
Out of an abundance of caution with clang, Cody also added a second
arg to main() as some versions of clang whine about the
number of args on top of the type of args. In particular some versions
@@ -1986,79 +1983,79 @@ supposedly only allow 0, 2 or 3 args. It actually appears to allow 1 but
if you specify 4 it says 0, 2 or 3 and it is an error but it’s entirely
possible that they will eventually make the defect function as the error
message claims.
Cody fixed the alt code so that it will compile
with modern compilers. The problem was a missing int for
the f variable. He felt it was even more important that it
works because the layout does indeed look to him like a rat is dropping
core :-), something that the judges suggested.
Cody also renamed garry.test.sh to try.sh and improved it to to make sure the
+href="1995/garry/try.sh">try.sh and improved it to to make sure the
program is compiled before trying to use it as well as adding a few
enhancements. For the alt version he also added the try.alt.sh script to use the alt
+href="1995/garry/try.alt.sh">try.alt.sh script to use the alt
version, though the alt version is not as important as alt code in other
entries. In order to get the paging to work right for the
garry.data file leading blank lines had to be added.
Cody fixed this so that it will compile with
versions of clang that has a defect which only allows
main() to have 0, 2 or 3 args. This is done by a new
function (pain() as it’s annoying that clang is this way
:-) ) that main() calls which has the four args.
Cody added the authors’ spoiler as a C file as in
+href="1995/vanschnitz/vanschnitz.alt.c">spoiler as a C file as in
2023 we have decided that in most cases all the code should be available
for the wider audience, without having to extract it. The exception is
when the files are created by the entry or the entry decrypts the text
or something like that.
Cody fixed a segfault in this program that
prevented it from working right and also fixed an infinite loop in the
try commands.
@@ -2068,12 +2065,12 @@ removed and it was not being done. After this is done with say
sed(1) (like sed -i'' '/^#/d' august.oc which
has been added to both the remarks and the try.sh script
noted below) the code can proceed. This problem existed in macOS.
-
Cody proposed a fix for this to compile with
clang and Landon implemented it after some discussion (though Cody
changed the function name). The reason Cody did not do it is because he
@@ -2087,55 +2084,55 @@ think the fix was wrong.
that each number is printed on a line by itself rather than having a
long string of numbers on the same line. This was not put in an
alternate version but perhaps it should be.
-
Cody provided an alternate version which uses
+href="1996/eldby/eldby.alt.c">alternate version which uses
usleep() in between writing the output to make it easier to
see what is going on with faster systems and importantly also for those
who are sensitive to text flashing by rapidly (it affects him too but he
also thinks it moves too fast nowadays anyway). We recommend that you
try the alternate version first due to these reasons.
Cody fixed this to compile and work with modern
systems. As he loved the references in the code that could not compile
he just commented out as little as possible to get this to compile.
Cody also added the rather useful try.sh script to really demonstrate the
+href="1996/gandalf/try.sh">try.sh script to really demonstrate the
different ways of running the program ends up showing either different
output or the same output that we briefly pointed out.
BTW: it is perilous to try the patience of Gandalf. Go
ahead, try it! :-)
Cody fixed this to not segfault under macOS. The
problem was that the function pointer w, which points to
XCreateWindow(), did not specify the parameters of the
function in the pointer assignment.
NOTE: if there is no X server running this program will still
crash.
The author stated that -I/usr/include is needed by gcc
in Solaris because errno.h has two identical extern
declarations of errno. That leads to an error due to the
@@ -2145,24 +2142,24 @@ shouldn’t cause any problems on other systems (the other file is
gcc-lib/sparc-sun-solaris2.5/2.7.2/include/errno.h). Thus
Cody also added this to the Makefile despite the fact that very few
probably use Solaris nowadays.
Cody added the try.sh script with a few commands to
+href="1996/schweikh2/try.sh">try.sh script with a few commands to
try along with a shorter version of something the author suggested one
try (it is suggested that one try the longer version too but it will run
in an infinite loop so having it in a script is less desired).
Cody updated the Makefile so that if it fails to
compile it will try he method suggested for SunOS rather than having to
update the Makefile manually or running a more complicated command: now
one can just run make.
Cody fixed a segfault in this entry as well as it
displaying environmental variables. Although the scripts showed correct
output, it somewhat lessened the usability because they segfaulted and
@@ -2172,35 +2169,35 @@ program. With the fix they no longer have this problem. If
not do anything and it will not segfault either - this was caused by the
body of the for() loop which is now empty (it doesn’t appear to be
needed at all at least modernly). Note that you should check the westley.alt.c file when reading
-the author’s comments. To see how to use the original, see the README.md
-file.
+href="1996/westley/westley.alt.c">westley.alt.c file when reading
+the author’s comments. To see how to use the original, see the
+index.html file.
Cody also added the two scripts, try.sh and try.alt.sh to automate showing the
+href="1996/westley/try.sh">try.sh and try.alt.sh to automate showing the
different clocks, both with the fixed version and the original (alt)
version.
Also, to fix any potential problem with displaying in GitHub the
scripts provided by the author, Cody added ‘.sh’ to the
clock[1-3].sh scripts.
Cody improved the Makefile to allow for easier
redefining the control keys and time step that the author set up.
Cody also set up the Makefile to have an alt build (using the same
code) for those who do not have a page up or page down key and added the
-keysym.h header file as a reference
+keysym.h header file as a reference
for other keys one can use if they wish to modify the controls. One can
certainly do this even if they do have page up and page down but this
gives a default for those who don’t have them like with Macs. The alt
build hard codes the page up and page down alternatives because not
doing so would overly complicate both builds and since you can configure
them all in both builds it shouldn’t matter.
Cody, out of an abundance of caution, added a
second arg to main() as some versions of clang whine about
the number of args on top of what type they are In particular some
@@ -2208,27 +2205,27 @@ versions claim that they only allow 0, 2 or 3 args. It appears that they
do allow 1 but for instance 4 is not allowed. However as it’s quite
possible they will ‘fix’ this defect it would be better to have this not
be a problem at such a time.
-
Cody also added the bas1.sh script
-to simplify running the program.
Cody added the try.sh script which runs some default
+href="1998/bas2/try.sh">try.sh script which runs some default
actions as well as allowing one to pass in different file names or
strings.
Cody also added the try.sh script
that runs the program on all the data files, giving instructions on how
to rotate and zoom in and out, prior to each run.
Cody changed a int * used for
fopen(3) to be a FILE * to be more correct and
prevent any possible problems in some systems (which has happened).
@@ -2237,39 +2234,39 @@ version by using the old style of main() args so that it
reads i,love_unix more naturally, and by changing the
typedef int lint to be typedef int _int. See
the code for why this has to be done this way.
-
Cody also added the try.sh script which
runs the program in a loop until one hits q (or
Q) or sends intr/ctrl-c. He also proposed there’s a way to
cheat very easily. Can you figure out how?
Cody added alt code which has vi(m)
+href="1998/dloweneil/dloweneil.alt.c">alt code which has vi(m)
movement (in addition to the other keys except for dropping it’s not
d but j or space) keys as well as allowing one
to quit the game.
Cody fixed this to compile. The problem was the
intermediate steps to get to the final code that is compiled. The code
is now what it essentially becomes when processed completely. The
@@ -2284,11 +2281,11 @@ just through the C pre-processor Cody added a new macro to make the code
look like the original with just an extra arg.
In some versions of clang -Wno-int-conversion had to be
added to the CSILENCE variable of the Makefile.
Cody fixed invalid data types which prevented
this entry from working, causing a segfault. This showed itself in two
parts which required two fixes, one for Linux and further changes for
@@ -2305,12 +2302,12 @@ point since the author stated it has no while,
switch, ?: Cody removed the if statement by
doing:
Cody fixed this for modern systems (it did not
work at all) and added an alternate version that works with macOS. Cody
also made it ever so slightly more portable by removing the hard-coding
@@ -2320,9 +2317,9 @@ macOS it does exist but is actually clang) as
cc always should. Getting this entry to work was quite
complicated but is also very interesting.
To see how the macOS fixes works, see the macos.md file but do note that this
-includes spoilers for both versions! The fixes to get it to work at all
-are described next.
+href="1998/schweikh1/macos.html">macos.html file but do note that
+this includes spoilers for both versions! The fixes to get it to work at
+all are described next.
So what was wrong with the original?
The call to freopen(3) was incorrect with the second arg
(the mode) being 5+__FILE__; it is now "r".
@@ -2363,10 +2360,10 @@ assuming that compiler can run, of course.
Cody also added the perl script that the author provided that they
used to compute the character count in the code according to the contest
rules of 1998 in the file charcount.pl.
Cody fixed the code to not trigger an internal
compiler error in gcc:
:10:16: warning: type defaults to 'int' in declaration of 'zero' [-Wimplicit-int]
@@ -2374,20 +2371,20 @@ compiler error in gcc:
:12:1: warning: missing terminating " character
:12:19: internal compiler error: invalid built-in macro "__FILE__"
The string "01\015" had to be changed to
-ONE(O(/1,1,2,6,0,6)). For an interesting historical
+ONE(O(1,1,2,6,0,6)). For an interesting historical
explanation and further details and fun, see the historical
-remarks in the README.md.
+href="1998/schweikh2/index.html#historical-remarks">historical
+remarks in the index.html.
Cody also added an int after register in
main() in case clang decides to have a problem with that in
the future which is not entirely out of the question.
Cody added the alternate code which
+href="1998/schweikh3/index.html#alternate-code">alternate code which
allows one to reconfigure the size constant in the rare case that the
author wrote about occurs.
Cody made main() have two args out of an abundance of
@@ -2395,7 +2392,7 @@ caution as some versions of clang say that main() can only
have 0, 2 or 3 args. These versions accept 1 arg but it is entirely
possible that they fix this so this should prevent it from breaking if
that happens.
Cody added the try.sh script to
make it easier to try the commands that we suggested. One command was
not added, that of the to use command.
Cody also made the Makefile rule all symlink the entry
@@ -2407,13 +2404,13 @@ the same size (on systems where `sizeof (char *) == 4`, or `4096` when
31.
so Cody changed the constant to a macro in the Makefile called
SZ so one can more easily do this (though it indeed seems
-highly unlikely). See the README.md for more details.
+highly unlikely). See the index.html for more details.
There actually is a web page for the tool and this was added to the
author information for the entry. It has not been added to any JSON
file.
Cody fixed the assumption that EOF
is -1 (the author noted that it assumes it is
-1 and it’s indeed a valid concern as the standard only
@@ -2426,70 +2423,69 @@ redefining exit(3) to be
exit(a) return EXIT_FAILURE and 1 was passed
to it (return was used because the original program had
return 1).
Cody added the try.sh script with some improvements to
+href="2000/bmeyer/try.sh">try.sh script with some improvements to
the commands we recommended like not assuming the number of columns one
has in their terminal.
Cody fixed this to compile with more recent perl
versions; the symbol that’s now PL_na was once
na. He notes that this entry crashes under macOS but it
works under Linux after this change.
Cody fixed this for modern compilers. Depending
on the compiler it would either segfault when run or not compile at all
(gcc and clang respectively).
Cody also provided alternate code that supports the southern
hemisphere.
-
Cody also provided the try.sh and
-try.alt.sh scripts that show the
-Moon phase in artistic ways. It is recommended one try both a number of
-times in a row on different days (that is run ./try.sh
-several times in a row a few days apart, until you see all the Moon
-phases, and run ./try.alt.sh a few times in a row a few
-days apart, until you see all the Moon phases).
+
Cody also provided the try.sh and try.alt.sh scripts that show the Moon
+phase in artistic ways. It is recommended one try both a number of times
+in a row on different days (that is run ./try.sh several
+times in a row a few days apart, until you see all the Moon phases, and
+run ./try.alt.sh a few times in a row a few days apart,
+until you see all the Moon phases).
Later on Cody restored the #includes in the source code
which had been changed by us to make it a one-liner again but this was
an error as it was not a one-liner but rather a small program. At the
@@ -2500,21 +2496,21 @@ the two fixes.
options in the CDEFINE variable which although works it is
incongruent with the other Makefiles and is more confusing (even if not
confusing).
-
Cody fixed an infinite loop that occurred if
invalid input was entered, flooding the screen with:
Black position and direction: illegal
@@ -2523,14 +2519,14 @@ and then use atoi(3) on it to assign to the
ints, much like with 1987/lievaart. The
strings are char[5] and the % specifier is
%4s which is enough for the game.
-
Cody fixed the code and added an appropriate make
rule so that the SDL version works
independent from the curses version (using the same code).
@@ -2561,33 +2557,34 @@ This program had 'main()' so the error message was:
Thus main() was changed to 'int main(int argc, char **argv)'.
Cody also added an alternate version to help see what is going on in
more modern systems and in case you’re sensitive to rapidly moving
-swirling. See the README.md for details on that. Note that this
+swirling. See the index.html for details on that. Note that this
alternate version only will impact the curses and the SDL versions as
Cody does not have a DOS system to test the other version in.
Cody added the alt code based on the
+href="2000/tomx/index.html#alternate-code">alt code based on the
author’s remarks with a fix for modern systems and he also added the two
-scripts, try.sh and try.alt.sh for the main code and the
-alt code respectively.
+scripts, try.sh and try.alt.sh for the main code and the alt
+code respectively.
And although the scripts do chmod +x on the source code
-(see the README.md for details) the source code is now executable by
+(see the index.html for details) the source code is now executable by
default.
Cody fixed both the supplementary program and the
program itself (both of which segfaulted and once that was fixed only
the binary was modified; it was not run but according to the author’s
remarks it should be executed). He managed to do this with Linux but it
will not work with any system that does not allow one to compile 32-bit
-ELF binaries. See bugs.md
-for why this is; this is not a bug, it’s a
-feature inherent in what it does!
+ELF binaries. See bugs.html for why this is;
+this is not a bug, it’s a feature inherent in
+what it does!
The following had to be done to fix this:
#include <sys/mman.h> for mmap() and
@@ -2599,7 +2596,7 @@ infinite recursive loop.
Without these it would crash and prevent modification of the 32-bit
ELF
-(not elf :-) ) binary. But again see bugs.md
+(not elf :-) ) binary. But again see bugs.html
here.
These also had to be done:
@@ -2651,17 +2648,17 @@ href="https://en.wikipedia.org/wiki/Ten_Green_Bottles">Ten Green
Bottles but which sings Ten in the Bed
instead.
-
As well he added the try.sh so
that one can attempt to use the program as it was designed but if
compiling as 32-bit fails it will at least run the supplementary program
as a 64-bit program directly.
Cody fixed this to compile with clang but
according to the author this will not work without i386 Linux. It
generates i386 32-bit code (not bytecode) but unfortunately it will not
-work without i386 Linux. See bugs.md.
Cody fixed an earlier segfault so that it can at least now open the
file should you have an i386 Linux machine (it can open it in other
platforms too, of course, but it won’t work). This involved pointer
@@ -2671,7 +2668,7 @@ Where possible he left the macros as the same but in the case of
Yusuke added another change (see below) to make
it even more portable across compilers besides what Cody did.
Cody entirely fixed the supplementary bellard.otccex.c
+href="2001/bellard/bellard.otccex.c">supplementary bellard.otccex.c
so it does not segfault and works as well (it did not work at all). The
main problem was that some ints were being used as pointers. This
includes, for example, an int used as a char *, an int used
@@ -2696,21 +2693,21 @@ some versions of clang it is. With gcc we can
get away with -rdynamic -fno-pie -Wl,-z,execstack which
solves the problem of execution in memory but any compiler that does not
support this would not work. Thus we use the modification by Yusuke.
Cody fixed this to work with clang by adding
another function that is allowed to have a third arg as an int, not a
char **. He chose pain() because it’s a four
letter word that would match the format and because it’s pain that clang
forces this. :-) This fix makes a point of the author’s notes on
portability no longer valid, BTW.
Cody added a value to return in
main() to make it more portable.
Cody fixed this to compile with clang in Linux. The problem was C99
@@ -2729,12 +2726,12 @@ what was done later on to make it more like the original.
without /dev/audio or /dev/sound/dsp (which is
most everyone nowadays, it seems, and especially those with macOS) (to
do with sound; see his /2013/endoh3/README.md entry where he
+href="2013/endoh3/index.html">/2013/endoh3/index.html entry where he
also refers to sound devices in macOS).
-
The ANSI escape codes were no longer valid but Yusuke provided a patch to fix the ANSI escape codes.
This works with both Linux and macOS.
@@ -2743,40 +2740,40 @@ terminal sanity (echo enabled etc.) after exiting even if you don’t
press ‘q’, if you crash or if you kill the program prematurely. This was
done by adding an explicit call to e() at the end of
main().
-
The author provided two changes: one to speed it up and one to make
it not crash on losing. Cody provided an alternate
version which does the former but he felt that the idea of crashing on
-losing (see the README.md for details on why that might be) too good to
+losing (see the index.html for details on why that might be) too good to
get rid of so he kept that in.
He also points out that there is a way to get the computer to
automatically lose very quickly. Do you know what it is?
Cody fixed this so that the when compiling the
code the program is not executed itself by itself which just showed the
usage string and exited. The script herrmann1.sh is used to
+href="2001/herrmann1/herrmann1.sh">script herrmann1.sh
is used to
compile the program but it’s also how you invoke the program.
Cody provided the file plus1.turing based on the
+href="2001/herrmann1/plus1.turing">plus1.turing based on the
author’s remarks.
SC2086 (info): Double quote to prevent globbing and word splitting.
SC2248 (style): Prefer double quoting even when variables don't contain special characters.
Cody fixed this to work with both 64-bit and
32-bit compilers by changing most of the ints (all but that
in main(int ...)) to longs. He also fixed it
@@ -2785,15 +2782,15 @@ to compile with clang by changing the args of main to be
specific references to the argv arg, casting to
long (was int but the 64-bit fix requires
long) which was its old type.
-
Cody also added the try.sh
-script which might be more useful than any other place as the command to
-try is quite long with C code.
+
Cody also added the try.sh script
+which might be more useful than any other place as the command to try is
+quite long with C code.
For some reason the original code was missing (presumingly because it
had been added to .gitignore by accident) but Cody restored
it from the archive.
Cody improved the Makefile to allow one to more
easily set up the port, speed and socket(2) call that the
author had set up.
@@ -2801,7 +2798,7 @@ author had set up.
-D macro that was used in the code) as it went too fast for
the speed at which the paddles move even when holding down the movement
keys (but see below).
-
He updated both versions to have #ifndef..#endif pairs
@@ -2812,52 +2809,53 @@ unnecessary with an improvement on how it was done). The speed,
compiler line as 50 is what it used to be set to. This way it’s more to
the original but without having to sacrifice playability by running
make.
Cody also fixed it to not crash if not enough args, exiting 1
instead. This was done at a time where it was said to be a bug that
should be fixed, for better or worse.
Cody fixed this to not crash if not enough args
as this was not documented by the author. The other problems are
-documented so were not fixed. See README.md for details.
-
Cody also added the try.sh
+documented so were not fixed. See index.html for details.
Cody added the script try.sh to automate a heap of commands
that we, the IOCCC judges, suggested, as well as some additional ones
that he thought would be fun. He also provided the sort and punch card
-versions, described in the README.md, based on the author’s remarks.
+versions, described in the index.html, based on the author’s
+remarks.
Cody added an alternate version
+href="2004/arachnid/index.html#alternate-code">alternate version
which allows those like himself used to h, j,
k and l movement keys to not get lost. Non
rogue players, vi users and Dvorak typists are invited to get lost (or
use the original version)! :-)
Cody also renamed the arachnid.info file to arachnid.txt as it’s not really
-an informative file but a maze file. The extension .maz was
+href="2004/arachnid/arachnid.txt">arachnid.txt as it’s not really an
+informative file but a maze file. The extension .maz was
not chosen to help with (some?) browsers knowing what to do with it.
Cody fixed this to compile with clang and also
fixed it to work.
For clang the problem was that main() had one arg, a
@@ -2882,58 +2880,58 @@ now calls another function poke() which calls itself
instead (this is sometimes necessary nowadays).
Finally the optimiser cannot be enabled so the compiler flags were
changed for this.
Cody provided the alt code for those who
+href="2004/gavin/index.html#alternate-code">alt code for those who
want to use QEMU. The most important part of this is the macro
K has to be defined as 1, not
0.
Yusuke provided the kernel and
fs.tar files which can be used if you cannot normally use
this entry. Instead of generating the files just use the files provided,
-found under the img/ directory. Note that
+found under the img/ directory. Note that
the img/fs.tar extracts into fs/ so you will
have to fix the tarball; this is done this way to prevent extraction
from the entry directory overwriting the files and causing
make clobber to wipe some of them out.
Cody fixed a bunch of links in the index.html
provided with the entry (web server) that no longer exist or have
changed in some other way (https instead of
http for instance). In most cases a new link or change to
https was all that was necessary but at least one or two URLs required
the Internet Wayback Machine.
Cody fixed this to compile with gcc (it worked
with clang). The problem was the cpp being unable to parse the generated
-code (see the README.md for details) and this ended up with a number of
+code (see the index.html for details) and this ended up with a number of
errors like:
jdalbec.c:64:5: error: stray '##' in program64| B N##B (I); \
@@ -2950,61 +2948,61 @@ errors like:
|^~|;
Cody also added alt
code which allows one to control how many numbers after the
: to print before printing a newline, so that one can see
the output a bit better (though for lines that have a lot of numbers
this will be harder to see).
Cody reported that this entry cannot be optimised
by the compiler as otherwise it will not work.
Cody, out of an abundance of caution for clang, added a second arg to
main() as some versions complain about the number of args
and although they accept 1 it is entirely possible it will eventually be
that they don’t.
Cody also added the try.sh
script and various data files: kopczynski-a
to demonstrate what happens when art more like a letter is fed to the
program and the kopczynski*-rev files which are the data
files reversed with rev(1). One had to be modified
additionally to get it to work, that being
kopczynski-10-rev.
Cody also added the try.sh script
(with a hidden feature that the author referred to and was documented by
Yusuke though Cody chose the word
IOCCC instead of AAA).
Cody fixed this to compile in Linux. Although it
compiled cleanly in macOS (and BSD?) the code failed to compile at all
in Linux due to:
@@ -3045,61 +3043,61 @@ in Linux due to:
make:***[Makefile:133: vik2] Error 1
Unfortunately the fix required heavy modification to the original
file (see below) and also inclusion of what used to be generated by the
-Makefile but now it at least works for
+Makefile but now it at least works for
both Linux and macOS.
As for the fix itself it required changing the C pre-processor macros
that resulted in macros themselves like #ifdef,
#else etc. to be #ifdef, #else
etc. and also the inclusion of the file vik2_1.c (which actually includes itself,
+href="2004/vik2/vik2_1.c">vik2_1.c (which actually includes itself,
once directly and now by __FILE__) which used to be
generated by the Makefile via cc -E.
Cody also made it so that the FNAME is (for the entry
file itself and vik2_1.c: it shouldn’t be done for vik2.possible.cat.death.c!)
+href="2004/vik2/vik2.possible.cat.death.c">vik2.possible.cat.death.c!)
__FILE__ just to make it a bit easier to compile.
Cody fixed the test script, described by the
author in their remarks, to refer to the proper compiled program (it’s
hardcoded). This had never been done and so the script did not even work
(at least modernly?).
He also added the alt
code based on the author’s remarks which is a different approach
than the one used and which (according to the author) ‘is slower
(particularly in worst-case or nearly so scenarios), inelegant, and not
a good starting place for sudoku generation.’
-
Cody added the try.sh and try.alt.sh scripts that correspond to
+
Cody added the try.sh and try.alt.sh scripts that correspond to
the entry and alt code respectively.
Cody added the make test and make test-n0
rules for easier use of the test suite.
Cody fixed a problem where in some systems (like
macOS) the stty sane would not work and end up causing a
bus error. Instead of stty sane it uses
stty echo which is what it was trying to accomplish.
The author noted that one can define NO_STTY to not use
stty(1) at all (either to prevent having to hit enter or to
-turn echo off/on) which is explained in the README.md.
After Landon fixed the entry to compile with clang Cody noticed this does not work at all in modern
systems (see below). He fixed this to work and then he later fixed the
@@ -3139,7 +3137,7 @@ class="sourceCode diff">+(t(m),(0));; /*echo/Line/%d;sed/-n/-e/ %d,%dp/%s/|sed*/+/*-e/'s,intZ,int/ Z,g'>c.c;make/c;/ rm/-f/c*/+;;char*A=0,*_,*R,*Q, D[9999],*r,l[9999],T=42, M,V=32;int *E,k[9999],B[1 <<+21],*N=B+
-
Cody also added the try.sh script
which also lets one see the beauty of the entry without having to use
vi(m), should they be afraid of getting stuck in it (and for ease of
use). :-)
@@ -3150,21 +3148,21 @@ including the ‘Line’ lines. After that is done it uses
grep -c on the file to show that there are indeed as many
versions the program generates as the author states, 180. If it does not
find 180 it is an error; otherwise it is success. It uses test.sh.
-
Cody fixed this to work in Linux. The problem was
an unknown escape sequence, \N, which caused a funny
compiler error:
@@ -3188,11 +3186,11 @@ itself, showing no difference, which is what is supposed to happen. It
is not known, however, if having to change the \N to
\n ended up breaking any LISP. The other examples given by
the author also show correct output though.
-
Cody fixed this so that the configure script (which is not needed but
part of the entry) would work with compilers that have by default
@@ -3201,18 +3199,18 @@ part of the entry) would work with compilers that have by default
maybe, based on how https is set up, in which case just enjoy it for
what it was. But there might be some command line that will let it work
that way or perhaps someone wants to add the necessary code.
Cody added the (untested) alternate code which
+href="2005/persano/index.html#alternate-code">alternate code which
should work for Windows as it sets binary mode on stdout.
It is untested as Cody has no Windows system to test it on.
Cody added the script test.sh and
the make rule test to run the test suite. The program will
enter an infinite loop after it runs so you have to hit ctrl-c to end it
which the script tells you.
The scripts note every time that one will have to send ctrl-c or
whatever their interrupt is set to in order to exit the program.
Cody added try.sh. It only has one command as he
+href="2005/timwi/try.sh">try.sh. It only has one command as he
doesn’t want to knacker his brain any more than it might or might not
already be :-) and he doesn’t want to damage anyone else’s brain either.
:-)
Cody fixed this to compile with some versions of
clang which have an additional defect where main() can only
have 0, 2 or 3 args (it was 4). It now calls another function that takes
4 args and which is what used to be main().
Cody fixed this in the case that the program is
compiled or linked/copies to another file name: the code constructed the
source code file name in a clever and more obscure way by copying to the
@@ -3272,41 +3270,41 @@ extension so this might be called a bug fix as well though if one runs
it from another directory, specifying the directory, it’ll not catch
it.
Cody added the alternate code that lets
+href="2006/monge/index.html#alternate-code">alternate code that lets
one resize the image and redefine the number of iterations.
Cody also fixed the Makefile to use sdl-config (which is
what the author stated too though that was noticed later), not
sdl2-config as two functions that are used were removed
@@ -3316,21 +3314,21 @@ much more complicated and also makes the entry less like the original it
was simply made to link in SDL1.
Nevertheless this entry does require x86/x86_64 CPUS. This is a
documented feature but one which we will accept fixes to. See 2006/monge in bugs.md.
Cody fixed this entry to work with clang which
has a defect with the args to main(): it requires specific
types: int and char ** for the first and
latter args.
Curiously, although clang requires the types of args to be strictly
@@ -3351,45 +3349,45 @@ not all systems do this by default.
Since the author suggested that the lack of certain
#includes might break the program in some systems he also
added -include ... to the Makefile as well.
Cody also fixed it so that if the file cannot be opened it exits
rather than trying to read from the file. This was done at a time when
it was considered to be a bug to fix.
Cody also provided the bedlam-cubes.pdf file, obtained
+href="2006/sykes1/bedlam-cubes.pdf">bedlam-cubes.pdf file, obtained
from the Internet Wayback Machine, as the file was no longer available.
The video was also no longer available but Cody found an alternative and
added it to the repo as well.
Cody, out of an abundance of caution for
clang’s defects, made main() have to args
instead of 1 as some versions report that main() must have
0, 2 or 3 args, even though at least one of those versions allows 1 arg
only.
Cody fixed a segfault in this program which was
making it fail to work under macOS - it did not seem to be a problem
under Linux, at least not fedora. The problem was wrong variable types -
@@ -3399,16 +3397,16 @@ with both macOS and Linux.
remarks to port this to systems that have the non-standard
kbhit() and getch() (not the one from curses)
which is typically (always?) in conio.h.
-
The author, Oscar Toledo G.,
later went back over the program and modified the
fread(3)/fwrite(3) section to use the variable
FILE *e (that Cody changed) instead of int y,
making it to work on x86_64 (perhaps Cody’s fix was for arm64 only?).
Also, he added a note to clarify from where appears the
IMPORT.COM and HALT.COM files.
Cody fixed a crash and a display problem in this
entry so that it now works in modern (64-bit) systems. The crash appears
to only occur in macOS but the fix lets it work in both Linux and macOS.
@@ -3417,47 +3415,47 @@ changed to longs. The display problem might or might not
have been a problem in Linux with the old ints but this is
no longer known.
Cody also added the code that should work for Windows, toledo3.alt.c, based on the
+href="2006/toledo3/toledo3.alt.c">toledo3.alt.c, based on the
author’s remarks. We’re not able to test this.
Cody, out of an abundance of caution, added a
second arg to main() as some versions of clang complain
about not only the type of each arg to main() but the
number of args as well.
Cody fixed this for macOS. Before the fix it
segfaulted. It worked fine under Linux. After fixing it it was noticed
that the author stated it does not work for 64-bit so it was then tested
@@ -3465,111 +3463,111 @@ as a 32-bit binary (Linux) and 64-bit binary (Linux, macOS) and both
work. It was fixed by changing some ints to
longs and now it does work with 64-bit systems as well as
32-bit systems.
Cody fixed a minor problem that showed up in both
Linux and macOS. He notes however that as of this time this entry does
not work properly with macOS at least with the silicon chip (Intel has
not been tested) and it is quite possibly an inherent problem in macOS
to do with executing code in in memory/JIT and in particular with the
-silicon chip. See 2011/richards in
-bugs.md for more details and a document from Apple about how it
+silicon chip. See 2011/richards in
+bugs.html for more details and a document from Apple about how it
might be fixed if anyone is brave enough to try. If they do they might
want to look also at richards.alt.c, for whatever it
+href="2011/richards/richards.alt.c">richards.alt.c, for whatever it
might or might not be worth, as it is a possible starting point that
Cody added.
Cody also added the try.sh and the
+try.alt.sh scripts. The
try.alt.sh script will be helpful to test any fixes for
-Apple silicon chips (see 2011/richards
-in bugs.md for more details).
Cody added two alternate versions: one
+href="2011/toledo/index.html#alternate-code">alternate versions: one
that lets one reconfigure the controls and also the size of the game and
another version that should work in Windows, based on the author’s
remarks and support file, layer.c.
The Makefile was also modified by Cody to make it simpler to redefine
the controls, width and height.
Cody also added an alternate version for
+href="2011/vik/index.html#alternate-code">alternate version for
Windows based on the author’s comments (along with looking up the
function for the right header files). To build try the alt rule of the
Makefile.
Cody also added alt
code that should work on Windows, based on the author’s remarks that
if the system distinguishes binary and text then stdout
needs to be set to binary mode.
Cody also added the PDF file sphere-tracing.pdf in case
-the link eventually dies.
+href="2011/zucker/sphere-tracing.pdf">sphere-tracing.pdf in case the
+link eventually dies.
Cody added explicit linking of libm
(-lm) as not all systems do this implicitly (Linux doesn’t
seem to but macOS does).
Cody also added two alt versions that let
+href="2012/endoh1/index.html#alternate-code">alt versions that let
one control how fast the fluid moves (how long to sleep in between
writes) and also the gravity factor, the pressure factor and the
viscosity factor as well as an alarm that lets one run it in a loop
@@ -3579,38 +3577,37 @@ rather than redefining CDEFINE.
The two different alt versions is because there are two versions: the
original and the colour version added by the author, Yusuke, at the request of the judges.
Cody also added the try.alt.sh
script that compiles the alt code in two ways, one with setting the
gravity factor to I and another with the default, and which
is run on the source file and each of the text files supplied by the
author. This code has an alarm set at 10 seconds so that one need not
hit ctrl-c/intr in between .. say to make it more fluid :-)
Cody also added the try.alt.bw.sh which is the same as
+href="2012/endoh1/try.alt.bw.sh">try.alt.bw.sh which is the same as
the try.alt.sh except it does not use the coloured
version.
-
Finally Cody added the try.sh and
-try.bw.sh which correspond to the
-coloured version endoh1_color.c and the original
-submitted version without colour, endoh1.c.
Finally Cody added the try.sh and try.bw.sh which correspond to the
+coloured version endoh1_color.c
+and the original submitted version without colour, endoh1.c.
+
The endoh1.alt2.c was
provided by the author, Yusuke, at the time of the
contest as a de-obfuscated version.
Cody also changed argv to be not
const char ** but char **, mostly out of an
abundance of caution in case clang, which already imposes restrictions
@@ -3624,28 +3621,28 @@ stops redirecting to the more recent domain. For historical purposes the
old link was http://recipes.stevex.net/ but it redirects to
https://www.mealsteps.com which the recipe file now links
to.
Cody added the try.sh script and the helper Makefile
+href="2012/hamano/try.sh">try.sh script and the helper Makefile
rules hint.pdf, hint, hello.pdf
and hello to simplify the procedure for both
hint.pdf and hello.pdf as well as compiling
them as C.
Cody added the try.sh script and restored the original hint markdown file as the changes made when
-converting to a GitHub README.md made the generated html not look
+href="2012/hou/try.sh">try.sh script and restored the original hint markdown file as the changes made
+when converting to a GitHub index.html made the generated html not look
correct; it did not have a title, a stylesheet etc. due to the fact that
there is no # header (which specified title and stylesheet)
and other formatting changes.
Cody added alt code that fixes a problem where in
German ‘v’ sounds like ‘f’ which the program has as ‘f’: with the
original version it would translate ‘fier’ to ‘4’ when the word is
@@ -3657,63 +3654,63 @@ already there. It might also be considered a feature and not a bug so an
alt version is the better way to go about it. Using both, however,
allows one to experience different capabilities and also enjoy or
appreciate the entry even more, given how simple the difference is.
Cody also added six scripts: en.sh, de.sh, en.alt.sh and de.alt.sh which count from 0 through 13 in
English and German using the original entry and the alt version
respectively.
In the German scripts it uses the umlaut and also does it without the
umlaut (add an ‘e’). Notice how the program picks up on this! All
scripts can use either version but the .alt.sh versions
default to the alt version whereas the other defaults to
-the submitted entry. See the README.md for details.
-
The fifth and sixth scripts, try.sh
-and try.alt.sh, run a sequence of
+the submitted entry. See the index.html for details.
+
The fifth and sixth scripts, try.sh
+and try.alt.sh, run a sequence of
commands to show different languages and numbers with the submitted and
alternate version respectively. Notice how a single letter changes so
much!
Cody added the alternate versions
+href="2012/omoikane/index.html#alternate-code">alternate versions
which will, if no arg is specified, read in the program itself, rather
than /dev/urandom. This is mostly useful for those without
a /dev/urandom device file (the default for the entry). The
second alternate version is like the first except that it also sets
binary mode on stdin and stdout which should
theoretically make it work in Windows.
Based on the author’s description it should be able to get this entry
to work for Windows. With his instructions Cody also added the alternate
version that does this for the few who might use Windows.
Codytest.sh
script and the make test rule that uses the script along
with a number of files that will correctly be flagged as incorrect
(including a text file and a java file, with a joke, to show that it’s
not that it parses C but rather just matching pairs though that’s
probably obvious) and some correctly nested files were also added
-including 1984/anonymous (as the
+including 1984/anonymous (as the
author explicitly mentioned it) and a java file as well with another
joke.
A minor point is that the author noted that one should look at the
@@ -3722,9 +3719,9 @@ to do this in vim for those who use it, in the judges’ remarks, to make
it easier for those who do not know how, and to make it more obvious to
try it.
Cody changed the return 0; at the
end of the program to be return system("reset"); (via
redefining exit(3) so that the column ending would be the
@@ -3736,23 +3733,23 @@ messing with the entry too much so these were not done.
painting is done, based on the author’s recommendations, except that
Cody made it configurable at compile time. The Makefile was modified in
such a way as to make it very easy to redefine it at compile time.
-
Cody also added the try.sh script
-for the entry and the try.alt.sh
+
Cody also added the try.sh script
+for the entry and the try.alt.sh
script for the alt code.
Cody added the try.sh script which also has an joke
+href="2013/cable1/try.sh">try.sh script which also has an joke
Easter egg in it based on the judges’ remarks.
Cody also slightly improved the runme script (renamed to
-cable3.sh for consistency with
-other entries that have wrapper scripts) to not assume that the program
-has been compiled by running make clobber all || exit 1 and
-he also made it pass shellcheck (using
-[[ .. ]] over [ .. ]).
+cable3.sh for consistency with other
+entries that have wrapper scripts) to not assume that the program has
+been compiled by running make clobber all || exit 1 and he
+also made it pass shellcheck (using [[ .. ]]
+over [ .. ]).
As well, based on the author’s remarks, Cody added the alternate code which should be
+href="2013/cable3/cable3.alt.c">alternate code which should be
compilable for Windows/MS Visual Studio. This is done by in the compile
line undefining KB (-UKB) and then in the
source code defining KB to what the author suggested,
@@ -3783,27 +3780,26 @@ source code defining KB to what the author suggested,
hardly be mentioned that this will not link in Unix systems (including
macOS).
Clang required a -Wno- option as well.
-
Finally Cody provided the bios.asm that the author referred to,
-found at the Finally Cody provided the bios.asm
+that the author referred to, found at the GitHub repo
for the entry, and the ‘ready-made 40MB hard disk image containing a
whole bunch of software’ in hd.img that the author linked
to at https://bitly.com/1bU8URK.
Cody added the source code that we suggested one
should compile and run with different compilers as fun.c. He modified the Makefile so that
+href="2013/dlowe/fun.c">fun.c. He modified the Makefile so that
running make all will compile it, saving you the
effort.
He also provided the script slflen.sh which is based on the
-author’s remarks, fixing it for shellcheck and improving upon it (show
-what files will be processed). This script shows the sparkline of the
-file lengths (as in wc -c). The fixes (but not the
-improvements) were added to the author’s remarks.
+href="2013/dlowe/slflen.sh">slflen.sh which is based on the author’s
+remarks, fixing it for shellcheck and improving upon it (show what files
+will be processed). This script shows the sparkline of the file lengths
+(as in wc -c). The fixes (but not the improvements) were
+added to the author’s remarks.
Since the author called the program sparkl Cody modified
the Makefile so that running make all will create a symlink
to dlowe as sparkl. Running
@@ -3812,19 +3808,19 @@ to dlowe as sparkl. Running
The slflen.sh script also explicitly makes sure to create
the symlink as it uses it, even though it runs
make clobber all.
Cody added the endoh4.sh script which temporarily
+href="2013/endoh4/endoh4.sh">endoh4.sh script which temporarily
turns off the cursor as suggested by the author, with the addition that
if no file is specified it will feed the source code endoh4.c to the program rather than the
+href="2013/endoh4/endoh4.c">endoh4.c to the program rather than the
file specified. It does not try and detect if the file exists or can be
read as that will be handled by the shell/program. One may pass more
than one file to the script.
Cody also made it easier to redefine the size at compilation time
(see the author’s remarks for more details on what this means). The
endoh4.sh script allows one to redefine it as well.
Cody fixed the Makefile so that this would work
properly. Before this the use of the program just did what the judges’
remarks said as far as how it might violate rule 2: the program is
@@ -3891,12 +3887,13 @@ author suggested it uses the math.h library which not all
systems link in by default (Linux for instance does not).
Further, after the file 2013/hou/doc/example.markdown
was moved to 2013/hou/doc/example.md to match the
-rest of the repo this broke make which Cody also fixed.
Cody fixed this so that the server would not
refuse the connection after the first call to close(2). The
problem was that because the backlog to listen(2) was 1
@@ -3905,41 +3902,41 @@ backlog was changed to 10 and this solves the problem. It is not known
if this was specific to macOS but it was not specific to a browser as
Safari and Firefox both had the problem.
Cody provided the alternate code that
+href="2014/birken/index.html#alternate-code">alternate code that
lets one redefine the port to bind to in case there is a firewall issue
or there is some other reason to not have the default port. Remember
that ports < 1024 are privileged. It also lets you redefine the
timing constant STARDATE (see the author’s remarks for more
details on this macro). The Makefile was made to use variables so it’s
easier to redefine the port and timing constant.
Cody added alt code that lets one
+href="2014/deak/index.html#alternate-code">alt code that lets one
(via the Makefile) reconfigure the coordinates but instead of being a
modified version of the entry it is the version the author provided
which would be what the program would look like if, as the author put
@@ -3951,86 +3948,87 @@ the application source code is intentionally kept to a bare minimum.
.. was not true.
This alt version did not originally compile because a value was left
off the return statement (this might have been fixed in the
-README.md file too) so that was fixed and it also has
+index.html file too) so that was fixed and it also has
#include <stdio.h> for putchar(3). The
#ifndef..#define..#endif was not part of the original alt
code, of course.
Cody added the rake.sh script and
-make rake rule that runs the script. This script will check
-that rake is installed and if it is not it will report this
-and then check that gem is installed. It checks that
-gem is installed in this case because gem is
-how you install rake. If gem is not installed
-it tells you to get it along with how to install gem. Then
-it tells you how to install rake. If rake
-fails to run then it tells you to install a specific gem and then to try
-again. Finally if rake succeeds it will verify that
-prog is executable and if it is it will run it.
-
Cody also added the try.sh
+href="2014/endoh1/rake.sh">rake.sh script and make rake
+rule that runs the script. This script will check that rake
+is installed and if it is not it will report this and then check that
+gem is installed. It checks that gem is
+installed in this case because gem is how you install
+rake. If gem is not installed it tells you to
+get it along with how to install gem. Then it tells you how
+to install rake. If rake fails to run then it
+tells you to install a specific gem and then to try again. Finally if
+rake succeeds it will verify that prog is
+executable and if it is it will run it.
Barely worth noting but done nonetheless,
-Cody renamed the read_me.md file to spoilers.md to be clearer in its
-purpose as it is a file with spoilers (and too close to README.md?).
Cody fixed the code so that the game can play
automatically like it once did. The problem is that it expects a certain
file name which was sinon.c. The code now refers to
prog.c.
Cody also fixed the scripts glock.sh and hecate.sh which did not work after
+href="2014/sinon/glock.sh">glock.sh and hecate.sh which did not work after
running either once as they compile run.c and then do
./run | tee run.c which overwrites it with output that is
not code.
Cody also added the try.sh script
that will first (if perl is installed) run the demo mode and then after
that it will run the above noted scripts in a loop until the user says
they do not want to try again (or they kill it). This is done this way
-in case it jams (see README.md for details).
Cody fixed the Makefile to compile this entry in
modern systems. The problem was that the CDEFINE variable
in the Makefile was missing 's: the #define CC
@@ -4044,34 +4042,34 @@ have a chance to really look at the compiler error.
it seemed to work but since it uses dlsym() it was added
later to make it more portable.
The program creates files in the working directory as part of how it
-works (see the README.md file for details) so Cody made sure that
+works (see the index.html file for details) so Cody made sure that
make clobber (via make clean) removes those
files and so that they are ignored by .gitignore.
Cody added the try.sh script. Cody notes that there is a
-bug that will show itself as one of the features does not work right.
-The translation of the raw audio to text is buggy in some cases.
+href="2014/vik/try.sh">try.sh script. Cody notes that there is a bug
+that will show itself as one of the features does not work right. The
+translation of the raw audio to text is buggy in some cases.
Cody also added an alternate version that is based on the author’s
remarks that will theoretically work for Microsoft Windows compilers (if
anything works in Windows :-) ). We have no way of testing this and if
anything has changed since 2014 that would break it we do not know.
Cody added the try.sh script which is based on the
+href="2014/wiedijk/try.sh">try.sh script which is based on the
command to try in the ‘try’ section but improved so one can more easily
specify what ident tool they want to use and also change which sed to
use, should they want to. It also checks that both of these two tools
exist and are executable and it pipes it through less as it’s longer
than a page worth of output.
Cody fixed the code so one can make use of the
echo feature, where the first character of the filename starts with
e. The only way it would work before that is if one did
@@ -4085,8 +4083,8 @@ Makefile -include libgen.h and adding to
main() after the variable declaration (V*A;)
the code:
*K=basename(*K);
-
This was done for both the prog.c
-and prog.alt.c. The Makefile was
+
This was done for both the prog.c
+and prog.alt.c. The Makefile was
also updated to build eprog and eprog.alt to
make use of the feature more easily. Each is a new target (first in
TARGET and second in ALT_TARGET) which have a
@@ -4096,10 +4094,10 @@ respectively both of which also copy the progeprog (eprog or eprog.alt). With
these changes now one can easily use the echo feature the author
implemented.
Cody also added the try.sh script.
This involved adding a text file, try.this.txt.
-
Cody also added calc.1 in place of
+href="2015/burton/try.this.txt">try.this.txt.
+
Cody also added calc.1 in place of
calc.man to have proper formatting (in the style of
man(1)). The calc.man was removed so as to not
have to maintain two copies of the same text.
@@ -4108,90 +4106,90 @@ have to maintain two copies of the same text.
ecalc and ecalc.alt also work. This is because
the program is called calc and is in documentation
including the man page. Thus one only need add a ./ to the
-commands in the man page/README.md.
-
Cody improved the Makefile so that one can easily
change the dimensions at compilation time via make(1).
Cody also added alt code that is based on the author’s remarks,
suggesting that one change the value of q to a different
number, in order to see a bug that they avoided.
Cody fixed this to compile with Linux which was
having a problem with duplicate symbols of main(). The fix
is through the compiler option -fcommon which will let it
compile like it does with macOS.
Cody also added the try.sh script
which makes use of the make rule he added (to enjoy the theme of the
entry, Back
to the Future using this entry by simply typing
make back_to or make mullender) and then runs
the famous 1984/mullender.c.
Cody also added the try.sh script and
the large file large which the try.sh script
uses.
Cody also added the RFC 1321 text file, rfc1321.txt to the directory, to make
-it so one need not download it, and which the README.md file now links
+href="2015/hou/rfc1321.txt">rfc1321.txt to the directory, to make it
+so one need not download it, and which the index.html file now links
to.
Cody added the try.sh script, downloaded the War and Peace
-text file, fixed the avgtime.sh
+href="2015/howe/try.sh">try.sh script, downloaded the War and Peace
+text file, fixed the avgtime.sh
script (it resulted in standard input errors in piping to
-bc(1)) and added the cc.1 man
+bc(1)) and added the cc.1 man
page as not all systems have it (in fact it’s gcc(1) from
Rocky Linux).
Cody added the try.sh script which changes the
-parameters to what we had in the judges’ remarks to make it easier (he
-only died when he tried to mark a reminder complete on the other side of
-the screen at the same time and he almost survived that, scoring at that
+href="2015/mills1/try.sh">try.sh script which changes the parameters
+to what we had in the judges’ remarks to make it easier (he only died
+when he tried to mark a reminder complete on the other side of the
+screen at the same time and he almost survived that, scoring at that
point over 90 - but this also involves good eye-hand coordination and
playing games like this in the past).
Cody fixed the build so that EOF
will be -1 as the program assumes this. It was decided by
Cody to do -UEOF -DEOF=-1 so as to not have to modify the
@@ -4199,32 +4197,32 @@ code any with C preprocessor directives (the preferred way) or changing
EOF to -1.
Cody fixed an unfortunate typo in the Makefile
that was preventing some of the files from compiling properly, trying
instead to compile already compiled code.
He also added explicit linking of libm (-lm) for systems
that do not do this (Linux seems to not but macOS does).
Cody also, out of abundance of caution, added a second arg to
main() because some versions of clang object to the number
of args of main(), saying that it must be 0, 2 or 3. The
@@ -4233,23 +4231,23 @@ it is entirely possible that this changes so a second arg (that’s not
needed and is unused) has been added just in case.
Cody also added explicit linking of libm (-lm) for
systems that do not do this (Linux doesn’t seem to but macOS does).
Cody also added alt
code that should work for Windows, based on the author’s remarks.
The same thing with the number of args to main() that was
done in the original entry was done with this version as well.
Cody fixed the scripthd script
(referred to prog not ./prog) and renamed it
-to scripthd.sh to help browsers
+to scripthd.sh to help browsers
and GitHub as far as downloading/displaying goes.
Cody fixed the make test rule: it
tried to run tac(1) (in systems that have that command)
rather than the entry itself which is called tac and the
@@ -4265,25 +4263,25 @@ to tokenfix.sh as well as spotcheck to
Cody also made the man page properly formatted for
man(1) and renamed it the file tac.1.
Cody also renamed discrepancies to
-discrepancies.md and made it markdown format.
-
Cody added the tokcount.sh
+discrepancies.html and made it markdown format.
+
Cody added the tokcount.sh
script which was included in the remarks of the author but not an
included file.
Cody added the try.sh script which shows the input files
+href="2018/endoh1/try.sh">try.sh script which shows the input files
one at a time and after each one is shown, it feeds it to the program,
redirecting the output to the respective GIF file. It then will inform
the user they should open it in a GIF viewer that can show animation in
@@ -4291,42 +4289,42 @@ animated GIF files. It offers an example command for macOS like the
judges did in their remarks. The input files offered includes the prog.c
as the author, Yusuke, suggested that it too has a
secret.
Cody fixed the run.sh script (had commands that didn’t
+href="2018/endoh2/run.sh">run.sh script (had commands that didn’t
exist and also didn’t work even after that was addressed) and added the
-try.sh, python.sh and python3.sh scripts. The
+try.sh, python.sh and python3.sh scripts. The
try.sh script runs all three of the other scripts but each
allows one to send an interrupt in the loops and still continue to the
next script (if one does it when not in a loop it will exit the script).
The make python and make python3 rules in the
Makefile now run the respective scripts.
Cody, with irony well intended :-), fixed the test.sh script for portability,
+href="2018/ferguson/test.sh">test.sh script for portability,
shellcheck, making it executable and other things, fixed dead links in
the man page, updated the test-strings.txt file and other things as well
-(like adding the try.sh and try.alt.sh scripts).
Landon notes that Cody will probably never finish changes in his
entries and that’s probably true: let’s just say that for the IOCCC I’m
(Cody) a weasel! :-) (but isn’t that kind of the point ? :-) )
Cody, based on the author’s remarks, made it
possible to save state between runs of the program so that one can
resume where they left off. It should be noted that there is a bug in
@@ -4335,190 +4333,190 @@ the entry (irrespective of save state option) where running
run) enter and then exit and then start the program again. Also if you
do add a file you should run sync prior to exiting or else
the file might not exist or it might be corrupt. See 2018/mills in bugs.md for more details on
-the bug.
+href="bugs.html#2018-mills">2018/mills in bugs.html for more details
+on the bug.
Dave Burton, during the
preview period, noticed a problem where the macOS
Terminal.app does not work properly for this program. We
added some additional notes on what might happen (it varies depending on
configuration).
Cody added the try.sh script. This script will ask if the
+href="2018/yang/try.sh">try.sh script. This script will ask if the
user wants to see some of the spoilers and only show them if they type
y or Y.
Cody added the try.sh script and the Unlambda file crash.unl which is in the judges’
+href="2019/adamovsky/try.sh">try.sh script and the Unlambda file crash.unl which is in the judges’
remarks as to what can crash it - but it’s not a bug, it’s a
feature.
Cody also added the try.sh script
which shows a side-by-side comparison on several files of the entry and
wc(1) as well as running make test.
Cody also fixed the script check.sh (renamed from
+href="2019/burton/check.sh">check.sh (renamed from
check) in case x is specified and is not
executable and also made it satisfy ShellCheck. He also made ShellCheck
not be a cow and/or (to use Bart Simpson’s advice :-) ) ‘not have a cow’
about certain things (including one thing it was wrong about) in cow.sh (which was renamed from
+href="2019/burton/cow.sh">cow.sh (which was renamed from
cow) mootoo.
Cody also renamed the file on.one.liners to on.one.liners.txt to help with
+href="2019/burton/on.one.liners.txt">on.one.liners.txt to help with
browsers/GitHub.
Cody fixed an invalid bytes error in
tr in the scripts. This does not mean that they will
produce any output, though, as they provide expect all letters and that
makes it harder to form perfect pangrams. On the subject of German
-umlauts and Eszett (ß) see the entry in
-bugs.md.
Cody also fixed the Makefile so that the alt code would be built when
running make alt.
Cody converted the PS file linked to by the author to a PDF (fasc5c.pdf) and added it to the
+href="2019/ciura/fasc5c.pdf">fasc5c.pdf) and added it to the
website.
Finally he added the scripts for the different languages that use the
alt version but with the caveat that only English appears to work. See
-the entry in bugs.md for more
+the entry in bugs.html for more
details.
Cody also added the file Shakespeare.txt from 2019/mills (after running
+href="2019/diels-grabsch1/Shakespeare.txt">Shakespeare.txt from 2019/mills (after running
make) so that one can not worry about having the entire
IOCCC winning entry tree (or at least the 2019 tree each entry in a
subdirectory). This is more important as there is discussion of having
tarballs for each individual entry as a convenience.
Cody added the try.sh script. This script will
+href="2019/diels-grabsch2/try.sh">try.sh script. This script will
try and show the difference (i.e. the same output) between the program
and the result of sha512sum or shasum -a 512
if either of those tools can be found but otherwise it’ll just run the
program itself, showing its own sha512sum value.
He also made it possible to easily redefine the memory macro
Z at compilation time by modifying the Makefile.
He fixed a link in the spoiler source code. As a spoiler it felt more
important that this was done (some typos were fixed as well but only
some - the purpose was to only correct spelling and only some, not to
change wording or anything else).
Cody made the make fullscreen more
portable by not relying on stty(1) and sed(1)
but rather it just uses tput(1). He also made it so that if
tput(1) is not found it tells the user an easier way to
compile the full screen size rather than having to modify the Makefile.
This done with a script, fullscreen.sh, to simplify the
+href="2019/duble/fullscreen.sh">fullscreen.sh, to simplify the
Makefile and provide an easy way to tell the user how to compile it,
assuming that the environmental variables LINES and
COLUMNS are set. But even if they’re not set it explains
how to easily compile the program to a specific size. Note that
LINES and COLUMNS is not available to scripts
so it can’t make use of them that way.
As this is a backtrace quine having the optimiser enabled is not a
good idea so Cody disabled it. For this same reason
he also added the -g flag to the compilation as debugging
symbols might just be useful for an entry that’s supposed to segfault
:-)
Cody also added the simple ascii.c
that (while it has an arg) prints out the character of the ASCII value
(uses isascii(3) first). This combined with the try.sh script that he added allows one to
+href="2019/endoh/try.sh">try.sh script that he added allows one to
easily reconstruct the source code through GDB by the fact it’s a
backtrace quine.
Cody reported that with -O level
> 0 this program segfaults (sometimes?). He’s not sure why as it
worked fine before on the same systems tested but -O0
appears to fix the problem in both macOS and Linux. Perhaps this is the
problem that the author reported where it sometimes segfaults but Cody
did not try debugging it since it works with -O0.
Cody also added the example-1.txt and example-2.txt text files from 2018/vokes so that the entry does not
+href="2019/lynn/example-1.txt">example-1.txt and example-2.txt text files from 2018/vokes so that the entry does not
rely on any other entry existing.
Cody also disabled the optimiser because the author stated that for
clang the levels [0123s] work okay but with GCC (6) they only said level
0 works, suggesting that with some versions of GCC it might not be
@@ -4526,50 +4524,49 @@ correct with levels != 0 and since 0 works with clang that’s okay.
Similarly, the same for C standards tested: gnu17 was not
tested but gnu11 was so the standard was set to
gnu11.
Cody added the try.sh script which also involved slightly
-updating the sample_input.txt
+href="2019/yang/try.sh">try.sh script which also involved slightly
+updating the sample_input.txt
file (removed trailing newlines as it resulted in diff
showing differences when it shouldn’t) and adding the ioccc.txt file.
Cody fixed the script check_be.sh: it assumed that
+href="2020/burton/check_be.sh">check_be.sh: it assumed that
prog_be was in PATH which is unlikely so it
was changed to ./prog_be.
Cody also improved the make test rule (which uses
check_be.sh and the Little Endian counterpart) so that it
shows that the files are identical rather than showing nothing at
all.
Cody added the try.sh script which although at first
+href="2020/carlini/try.sh">try.sh script which although at first
glance might not appear to have a point, it actually does, namely
showing how you can automate play and then reminding you to actually
play for real, with a friend, whether that’s real or imagined.
Cody copied the files from the spoiler.zip file
(from his copy during the preview period) that was password protected
with a password that was no longer known.
Cody fixed the script run_clock.sh which gave a funny
+href="2020/endoh3/run_clock.sh">run_clock.sh which gave a funny
error when running it:
$ ./run_clock.sh
@@ -4587,7 +4584,7 @@ could not compile so it now runs make clock first.
systems (at some point?) like macOS the use of make clock
would not work due possibly to a timing issue so Yusuke changed it to compile the clock.c file directly (this might have
+href="2020/endoh3/clock.c">clock.c file directly (this might have
been fixed in the Makefile later on but it doesn’t hurt to keep it in
and this way it isn’t a problem in any system). How Cody remembers this
minor detail more than three years ago is something that many people
@@ -4595,59 +4592,59 @@ might wonder but he also once told us that if someone moves something of
his even a millimetre from where it was he knows it so he might be
called unusual (and he argues, with pride, eccentric :-) ) :-)
Cody also added the run_clock.alt.sh script which
-is analogous to the run_clock.sh
-but for the alt code provided by the author, Yusuke.
+href="2020/endoh3/run_clock.alt.sh">run_clock.alt.sh script which is
+analogous to the run_clock.sh but
+for the alt code provided by the author, Yusuke.
+
He improved the termcaps.c test
+utility, bug fixed play.sh,
fixed other scripts and the Makefile, changed some files to be markdown
(and fixed problems that he caused in doing so :-) ), fixed typos and
formatting and he also fixed some issues that occurred when files were
-renamed to .md from .markdown.
Yes the irony here is as rich as the chocolate cake: the question is
do you know how rich it is? If not and you like chocolate I (that is
Cody :-) ) highly recommend you give it a go! :-) You’re welcome to ask
me questions if you wish and I encourage you to do so as the cake is
quite picky!
+href="2020/ferguson2/index.html#alternate-code">alt code and the try.alt.sh script.
The try scripts involved the addition of a text file, key.txt which has the key of the file
+href="2020/ferguson2/key.txt">key.txt which has the key of the file
the judges added in try.this.txt which itself was
+href="2020/ferguson2/try.this.txt">try.this.txt which itself was
based on something the author (Cody :-) ) submitted in the first
place.
He also fixed some issues that occurred when files were renamed to
-.md from .markdown.
Yes the irony here is as rich as the chocolate cake: the question is
do you know how rich it is? If not and you like chocolate I (that is
Cody :-) ) highly recommend you give it a go! :-) You’re welcome to ask
me questions if you wish and I encourage you to do so as the cake is
quite picky!
Cody added the try.sh script. This script does the
+href="2020/giles/try.sh">try.sh script. This script does the
conversion of pi.wav (showing the digits) and also converts
the number for jenny.wav and a number Cody ‘came up with’:
one that resembles IOCCC 28: 10666-28. The
@@ -4658,16 +4655,16 @@ for aplay(1). If neither are installed it warns the user
about this, linking to the FAQ about it, and tells them they will have
to play the WAV files manually. Otherwise it’ll use the program to play
the WAV files (and in one case stdout).
Cody also added -L/-I paths to the Makefile
to let this compile more easily if the user has installed the
appropriate library with MacPorts
@@ -4679,22 +4676,22 @@ specify which compiler to use with
CC=foo ./makegif.sh ...), checking that
convert(1) is found and that it worked properly (linking to
the proper FAQ entry if not installed or it fails).
He also added a link that has much more details about this phenomenon
-to the README.md. Naturally he’s one of the ones who can read text even
+to the index.html. Naturally he’s one of the ones who can read text even
if it’s even more jumbled but we know of others too.
Cody also added from 2019/mills
+href="2020/kurdyukov4/try.sh">try.sh script.
+
Cody also added from 2019/mills
the text file Shakespeare.txt as we are
+href="2020/kurdyukov4/Shakespeare.txt">Shakespeare.txt as we are
considering to have each entry have a tarball with the entry by
itself.
Also, to explain the confusing to most people award, Cody gave a
@@ -4702,31 +4699,31 @@ quick translation of lámatyávë, which comes from History of
Middle-earth [HoMe], volume X, Morgoth’s Ring, which he also has (and
which is part of the 12 volume set by the late Christopher Tolkien, son
and literary executor and heir to J.R.R. Tolkien).
Cody added the MIDI files cvikl.mid and entertainer.mid from the URLs
+href="2020/otterness/cvikl.mid">cvikl.mid and entertainer.mid from the URLs
we suggested so that one need not download them and to make sure they
can always be obtained even if the domain or link goes dead.
Cody added alternate code that will
+href="2020/tsoj/index.html#alternate-code">alternate code that will
feel more at home for vi users. One might still end up cursing (see the
-README.md file) but probably a lot less :-)
Cody also added a make rule (make cppp) for the author’s
provided C++ code that can preprocess the generated output to make them
-more acceptable to typical compilers. See the README.md for more
+more acceptable to typical compilers. See the index.html for more
details.
General thanks
1986/marshall (see the compilers.md for the amusing
+href="1986/marshall/compilers.html">compilers.html for the amusing
details and all that had to be done to fix it).
There was a ‘problem’ where ${MAKE} was
$(MAKE): this doesn’t break anything but it is inconsistent
with the rest of the ${foo} tools even if by tradition it
is $(MAKE).
Cody also added missing variables like BASH and
-PDFLATEX to the var.mk file and
+PDFLATEX to the var.mk file and
removed another that was deemed problematic or undesired. Other variable
names had typos in them.
A comment was missing for the diff_alt_orig rule in all
@@ -4789,10 +4786,10 @@ id="consistency-improvements">Consistency
improvements
Cody, being the IOCCC’s resident corrections
officer :-) (and a fine one at that, we think :-) ), made many, many
-typ0 (… :-) ) fixes throughout the README.md files, scripts, other data
+typ0 (… :-) ) fixes throughout the index.html files, scripts, other data
files, Makefiles (see above) etc.
-
He also updated the formatting of the README.md files (after renaming
-the old files to README.md) to proper markdown.
+
He also updated the formatting of the index.html files (after
+renaming the old files to index.html) to proper markdown.
Where possible he made the presentation of the entries much more
consistent across the entries of all the years as well as other files.
This is not possible for everything (the remarks of authors, for
@@ -4807,36 +4804,36 @@ you honor roll
changes, fixes and important improvements and one who has literally (or
numerically :-) ) contributed thousands, that we wish to thank.
A good number of the wining entries of the
IOCCC tested, identified and helped correct and/or improve the
write-ups of fellow IOCCC entries for the year that they won. The list
of those entries is too long to mention: nevertheless the IOCCC judgesVERY
-MUCH APPRECIATE those who helped improve the presentation of
-their fellow IOCCC entries.
+href="../judges.html">IOCCC judgesVERY MUCH
+APPRECIATE those who helped improve the presentation of their
+fellow IOCCC entries.
Cody Boone Ferguson
We call out the extensive contributions of Cody Boone
-Ferguson who is responsible for most of the improvements and fixes
-including many EXTREMELY HARD bug fixes like 1988/phillipps, 1992/vern, 2001/anonymous, 2004/burley and 2005/giljade, making entries
-like 1985/sicherman and
-1986/wall not need
+href="../authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson who
+is responsible for most of the improvements and fixes including many
+EXTREMELY HARD bug fixes like 1988/phillipps, 1992/vern, 2001/anonymous, 2004/burley and 2005/giljade, making
+entries like 1985/sicherman and 1986/wall not need
-traditional-cpp (all EXTREMELY HARD),
fixing entries to work with clang (some EXTREMELY HARD
-like 1991/dds) or as much as
-possible (1989/westley, a
-true masterpiece that is INCREDIBLY HARD, MUCH MORE SO
-than any other fix!), porting entries to macOS (some
+like 1991/dds) or as much as
+possible (1989/westley,
+a true masterpiece that is INCREDIBLY HARD, MUCH MORE
+SO than any other fix!), porting entries to macOS (some
EXTREMELY HARD like 1998/schweikh1, fixing
+href="thanks-for-help.html#1998_schweikh1">1998/schweikh1, fixing
code like 2001/herrmann2 to work in
+href="thanks-for-help.html#2001_herrmann2">2001/herrmann2 to work in
both 32-bit/64-bit which can beEXTREMELY
HARD, providing alternate code where useful/necessary,
improving ALL Makefiles, writing scripts to
@@ -4858,15 +4855,14 @@ the SQL file).
helping improve the IOCCC presentation of past IOCCC entries and fixing
almost all past entries for modern systems!
Yusuke Endoh
-
Yusuke
-Endoh supplied a number of important bug fixes to a number of past
-IOCCC entries. Some of those fixes were EXTREMELY TECHNICALLY
-CHALLENGING such as 1989/robison, 1990/cmills, 1992/lush and 2001/ctk. THANK YOU VERY
-MUCH for your help!
+
Yusuke Endoh supplied a
+number of important bug fixes to a number of past IOCCC entries. Some of
+those fixes were EXTREMELY TECHNICALLY CHALLENGING such
+as 1989/robison, 1990/cmills, 1992/lush and 2001/ctk. THANK YOU
+VERY MUCH for your help!
Did we
neglect to credit you?
If you submitted a fix to an entry for which you are not the author,
diff --git a/thanks-for-help.md b/thanks-for-help.md
index 0669b552a..3f1b26a89 100644
--- a/thanks-for-help.md
+++ b/thanks-for-help.md
@@ -3,10 +3,10 @@
## .. and thanks for all the fish. :-)
-To avoid having to change numerous "_README.md_" files to add thank you notes,
+To avoid having to change numerous "_index.html_" files to add thank you notes,
we centralize them below.
-The [IOCCC judges](https://www.ioccc.org/judges.html) wish to recognize the many
+The [IOCCC judges](../judges.html) wish to recognize the many
important contributions to the IOCCC presentation of past IOCCC entries.
We are pleased to note the many contributions, **made since 2021 Jan 01**,
on a IOCCC entry by entry basis.
@@ -31,7 +31,7 @@ on a IOCCC entry by entry basis.
# 1984
-## [1984/anonymous](/1984/anonymous/anonymous.c) ([README.md](/1984/anonymous/README.md))
+## [1984/anonymous](1984/anonymous/anonymous.c) ([index.html](1984/anonymous/index.html))
[Cody](#cody) fixed this to work for macOS.
@@ -45,16 +45,16 @@ Thus now it is like the original where the first line ends with `"hell\` and
the second line starts with `o, world!\n"`.
By request, the original code is provided as
-[anonymous.alt.c](/1984/anonymous/anonymous.alt.c) so that one can look at it and
+[anonymous.alt.c](1984/anonymous/anonymous.alt.c) so that one can look at it and
the famous tattoo which we also include here:
-
+
...which was done in 2005 by [Thomas
Scovell](https://web.archive.org/web/20070120220721/https://thomasscovell.com/tattoo.php).
-## [1984/decot](/1984/decot/decot.c) ([README.md](/1984/decot/README.md]))
+## [1984/decot](1984/decot/decot.c) ([index.html](1984/decot/index.html]))
[Cody](#cody) fixed this to not require `-traditional-cpp` which some compilers like
clang do not support. Fixing `-traditional-cpp` is, as noted later on, very
@@ -119,7 +119,7 @@ cd 1984/decot ; make diff_orig_prog
```
-## [1984/laman](/1984/laman/laman.c) ([README.md](/1984/laman/README.md]))
+## [1984/laman](1984/laman/laman.c) ([index.html](1984/laman/index.html]))
[Cody](#cody) added the [try.sh](1984/laman/try.sh) script.
@@ -129,20 +129,20 @@ This was fixed on 30 October 2023 after the bug status was changed from INABIAF
(it's not a bug it's a feature) to bug.
-## [1984/mullender](/1984/mullender/mullender.c) ([README.md](/1984/mullender/README.md]))
+## [1984/mullender](1984/mullender/mullender.c) ([index.html](1984/mullender/index.html]))
-[Cody](#cody) provided an [alternate version](/1984/mullender/mullender.alt.c),
+[Cody](#cody) provided an [alternate version](1984/mullender/mullender.alt.c),
an improved version of the judges, so that everyone can enjoy it with systems
that are not VAX/PDP. It moves at approximately the same speed as the original
-did. We also refer you to the [FAQ](faq.md) as there are some winning entries
+did. We also refer you to the [FAQ](faq.html) as there are some winning entries
that also let one enjoy it (which through trial and error was how the right
speed was discovered) - with more to them of course! The difference between the
original is that it will start over after it times out but that might not happen
with the original (might need you to press a key though this is not known for
sure).
-Cody also added the [gentab.c](/1984/mullender/gentab.c) file, fixed to compile
-(and work, though see [bugs.md](#1984mullender-readmemd)) with modern systems
+Cody also added the [gentab.c](1984/mullender/gentab.c) file, fixed to compile
+(and work, though see [bugs.html](#1984mullender-readmemd)) with modern systems
and so that it would create the proper array (it had unbalanced '}'s), which the
author noted in their remarks (which Cody also found). As this file uses the old
header file `a.out.h` that is not available in all modern systems, Cody found a
@@ -154,7 +154,7 @@ Repo](https://github.com/dspinellis/unix-history-repo/tree/Research-Release).
# 1985
-## [1985/applin](/1985/applin/applin.c) ([README.md](/1985/applin/README.md]))
+## [1985/applin](1985/applin/applin.c) ([index.html](1985/applin/index.html]))
Both [Cody](#cody) and [Yusuke](#yusuke) fixed this; Yusuke got this to not crash and Cody fixed it
to work with macOS.
@@ -168,7 +168,7 @@ have until it runs out of memory.
The fix for macOS is that there was no prototype for `execlp()` and macOS has
problems with missing prototypes for some functions (this was also seen when
-Cody fixed [1984/anonymous](/1984/anonymous/anonymous.c) for macOS as well). As
+Cody fixed [1984/anonymous](1984/anonymous/anonymous.c) for macOS as well). As
this is a one-liner the include of `unistd.h` was done in the Makefile.
Ironically this fix was discovered through Linux!
@@ -178,7 +178,7 @@ why?) but to make it more friendly to users Cody made it print a `\n` prior to
returning to the shell. The original version does not have this change.
-## [1985/august](/1985/august/august.c) ([README.md](/1985/august/README.md))
+## [1985/august](1985/august/august.c) ([index.html](1985/august/index.html))
[Cody](#cody), out of abundance of caution, added a second arg to `main()` because some
versions of clang object to the number of args of `main()`, saying that it must
@@ -186,18 +186,18 @@ be 0, 2 or 3. The version this has been observed in does not actually object to
1 arg but it is entirely possible that this changes so a second arg (that's not
needed and is unused) has been added just in case.
-Cody also added the script [primes.sh](/1985/august/primes.sh) which allows one
+Cody also added the script [primes.sh](1985/august/primes.sh) which allows one
to check the output for the first N prime numbers of the output, where N is
either the default or user specified. The inspiration was the previous 'try'
command he gave to have fun with finding primes that might seem unusual in a
way.
-Cody also added the [try.sh](/1985/august/try.sh) script (which calls
+Cody also added the [try.sh](1985/august/try.sh) script (which calls
`primes.sh` whether `primes(6)` is installed or not but it only does it once
with the default value).
-## [1985/lycklama](/1985/lycklama/lycklama.c) ([README.md](/1985/lycklama/README.md]))
+## [1985/lycklama](1985/lycklama/lycklama.c) ([index.html](1985/lycklama/index.html]))
[Cody](#cody) fixed this to compile with modern compilers. In the past one could get away
with defining some macro to `#define` and then use `#foo` to have the same
@@ -205,32 +205,32 @@ effect as using `#define` but this does not work in modern systems so Cody
changed the `#o` lines to `#define`. Also `unistd.h` had to be `#include`d.
[Yusuke](#yusuke) provided some useful information that amounts to an alternate version
-that Cody added. See the README.md for details.
+that Cody added. See the index.html for details.
-Cody also provided the [try.alt.sh](/1985/lycklama/try.alt.sh) script.
+Cody also provided the [try.alt.sh](1985/lycklama/try.alt.sh) script.
-## [1985/shapiro](/1985/shapiro/shapiro.c) ([README.md](/1985/shapiro/README.md]))
+## [1985/shapiro](1985/shapiro/shapiro.c) ([index.html](1985/shapiro/index.html]))
[Cody](#cody) added the alt code which allows one to resize the maze and he also added
-the [try.alt.sh](/1985/shapiro/try.alt.sh) script that randomly selects sizes
+the [try.alt.sh](1985/shapiro/try.alt.sh) script that randomly selects sizes
(five times) and compiles and runs it. After the five runs it prompts you to
enter a number, in an infinite loop, exiting if any non-digits are in input
(this includes negative numbers which in the code actually sets it back to 39,
the default).
-## [1985/sicherman](/1985/sicherman/sicherman.c) ([README.md](/1985/sicherman/README.md]))
+## [1985/sicherman](1985/sicherman/sicherman.c) ([index.html](1985/sicherman/index.html]))
[Cody](#cody) fixed this _very twisted entry_ to not require `-traditional-cpp`. Fixing
`-traditional-cpp` is, as noted later on, very complicated, but Cody would like
to refer you to the original file
-[sicherman.orig.c](/1985/sicherman/sicherman.orig.c) and he suggests that you
-then compare it to [sicherman.c](/1985/sicherman/sicherman.c) for some good old
+[sicherman.orig.c](1985/sicherman/sicherman.orig.c) and he suggests that you
+then compare it to [sicherman.c](1985/sicherman/sicherman.c) for some good old
C-fashioned fun (alternatively, see below explanation)!
Later on Cody improved the fix so that it looks much more like the [original
-entry](/1985/sicherman/sicherman.c). He did this several more times and it's
+entry](1985/sicherman/sicherman.c). He did this several more times and it's
as close to the original as one can get without causing compiler errors.
To get this to all work the following changes were made. If you really want to
@@ -259,12 +259,12 @@ were actually not what they appear: the only arg that existed in `main()` was
- The macros `C` and `V` were changed to lower case. This is because it felt
like the `C=" ..`' part in `subr()` would be better to be upper case as it talks
about the language. Also in the second [alternate
-version](/1985/sicherman/sicherman.alt2.c) (the first being the
+version](1985/sicherman/sicherman.alt2.c) (the first being the
original code) which is in case a new version of clang ever objects to only one
arg in `main()` (which is not out of the realm of possibility), `main()` can
have `C` as `argc` to `main()` so it would read like it once did: `C manual`
albeit with a `,` separating the two. The [second
-alternate](/1985/sicherman/sicherman.alt2.c) version is compiled
+alternate](1985/sicherman/sicherman.alt2.c) version is compiled
in case the first does not. Originally the macros were kept the same and the
`C` in `subr()` was `c`. It feels better (in some ways) to make it so that the
`C` for the language is upper case though, and since it actually translated to
@@ -329,29 +329,29 @@ Additional code was added in case the fix cannot be compiled by some compilers
should they object to `main()` having only one arg. This version will
automatically be compiled if the entry fails to compile for some reason but one
can compile it manually as `make alt` in which case it'll be compiled as
-`sicherman.alt` (if it's done because [sicherman.c](/1985/sicherman/sicherman.c)
+`sicherman.alt` (if it's done because [sicherman.c](1985/sicherman/sicherman.c)
fails to compile it will be built as `sicherman` as part of the `sicherman`
rule).
-Cody also added the [try.sh](/1985/sicherman/try.sh) and
-[try.alt.sh](/1985/sicherman/try.alt.sh) scripts.
+Cody also added the [try.sh](1985/sicherman/try.sh) and
+[try.alt.sh](1985/sicherman/try.alt.sh) scripts.
# 1986
-## [1986/applin](/1986/applin/applin.c) ([README.md](/1986/applin/README.md]))
+## [1986/applin](1986/applin/applin.c) ([index.html](1986/applin/index.html]))
[Cody](#cody) made the C file executable so one does not have to do `sh
./applin.c` or `./applin`; they can do either `./applin.c` or `./applin`.
-## [1986/bright](/1986/bright/bright.c) ([README.md](/1986/bright/README.md]))
+## [1986/bright](1986/bright/bright.c) ([index.html](1986/bright/index.html]))
[Cody](#cody) added the [try.sh](1986/bright/try.sh) script.
-## [1986/hague](/1986/hague/hague.c) ([README.md](/1986/hague/README.md]))
+## [1986/hague](1986/hague/hague.c) ([index.html](1986/hague/index.html]))
[Cody](#cody) made this use `fgets()`.
@@ -359,7 +359,7 @@ Cody also added the [try.sh](1986/hague/try.sh) script which also feeds to the
program the added `input.txt` file.
-## [1986/holloway](/1986/holloway/holloway.c) ([README.md](/1986/holloway/README.md]))
+## [1986/holloway](1986/holloway/holloway.c) ([index.html](1986/holloway/index.html]))
[Cody](#cody) fixed this to compile and work with clang (it already worked with gcc).
The problem was that clang is more strict about the type of second arg to
@@ -369,7 +369,7 @@ and then using `t` instead of `s` it compiles and runs successfully under clang
and gcc.
-## [1986/marshall](/1986/marshall/marshall.c) ([README.md](/1986/marshall/README.md]))
+## [1986/marshall](1986/marshall/marshall.c) ([index.html](1986/marshall/index.html]))
[Cody](#cody) got this to compile and work with clang and gcc. He noted that he tried to
keep the ASCII art as close to the original as possible. The line lengths are
@@ -377,7 +377,7 @@ the same but some spaces had to be changed to non-spaces.
This fix was very interesting and quite amusing, showing up problems with two
different compilers. This is a brief summary but much more is explained in the
-[compilers.md](/1986/marshall/compilers.md) file, giving which compilers had
+[compilers.html](1986/marshall/compilers.html) file, giving which compilers had
which problems in which systems: the optimiser being enabled in one compiler let
it work but broke it in the other; and disabling it would let it work in the one
that didn't work but suddenly the one that worked wouldn't work. And by 'not
@@ -388,35 +388,35 @@ This problem was only after getting clang to compile, of course. It did not
compile it because it is more strict about the second and third args to `main()`
and the third arg was an `int`.
-We encourage you to read the [compilers.md](/1986/marshall/compilers.md) file to
+We encourage you to read the [compilers.html](1986/marshall/compilers.html) file to
see how odd this problem was and what Cody did to fix it, if nothing else but
for entertainment!
-## [1986/pawka](/1986/pawka/pawka.c) ([README.md](/1986/pawka/README.md))
+## [1986/pawka](1986/pawka/pawka.c) ([index.html](1986/pawka/index.html))
[Cody](#cody) noticed and fixed a funny mistake in the Makefile where a
`-Wno-strict-prototypes` was in the wrong location, suggesting that there is a
`-D` needed to compile the entry.
-## [1986/stein](/1986/stein/stein.c) ([README.md](/1986/stein/README.md]))
+## [1986/stein](1986/stein/stein.c) ([index.html](1986/stein/index.html]))
[Cody](#cody) restored the original entry which was a single line. The code
being longer (in 1986 a one liner could be longer) was split to three lines to
avoid problems with news and mail but as it was the 'Best one liner' it is now
one line.
-Cody also added the [stein.sh](/1986/stein/stein.sh) script which runs the two
+Cody also added the [stein.sh](1986/stein/stein.sh) script which runs the two
commands that we suggest in order to get it to show clean output.
-## [1986/wall](/1986/wall/wall.c) ([README.md](/1986/wall/README.md]))
+## [1986/wall](1986/wall/wall.c) ([index.html](1986/wall/index.html]))
[Cody](#cody) fixed this so that it does not require `-traditional-cpp`. This took a fair
bit of tinkering as this entry *very twisted*; fixing `-traditional-cpp` is, as
noted earlier, very complicated, but we encourage you to look at [original
-code](/1986/wall/wall.orig.c) to see how different C was in 1986, as well as
+code](1986/wall/wall.orig.c) to see how different C was in 1986, as well as
below.
[Yusuke](#yusuke) originally patched this to use `strdup()` on two strings and this let it
@@ -501,12 +501,12 @@ There might have been other changes as well.
# 1987
-## [1987/biggar](/1987/biggar/biggar.c) ([README.md](/1987/biggar/README.md))
+## [1987/biggar](1987/biggar/biggar.c) ([index.html](1987/biggar/index.html))
[Cody](#cody) added the [try.sh](1987/biggar/try.sh) script.
-## [1987/heckbert](/1987/heckbert/heckbert.c) ([README.md](/1987/heckbert/README.md))
+## [1987/heckbert](1987/heckbert/heckbert.c) ([index.html](1987/heckbert/index.html))
[Cody](#cody) made this look more like the original entry by restoring the `#define` of
`define`. It's not used but it now looks closer to the original.
@@ -520,7 +520,7 @@ that for System V we had to do this) Cody added to the Makefile
`-Dindex=strchr`.
-## [1987/hines](/1987/hines/hines.c) ([README.md](/1987/hines/README.md))
+## [1987/hines](1987/hines/hines.c) ([index.html](1987/hines/index.html))
[Cody](#cody) added the [try.sh](1987/hines/try.sh) script and the C file
[goto.c](1987/hines/goto.c) and the text file [goto.txt](1987/hines/goto.txt)
@@ -528,7 +528,7 @@ for demonstration purposes. Notice that the program is case sensitive which
running the program on the text file demonstrates.
-## [1987/lievaart](/1987/lievaart/lievaart.c) ([README.md](/1987/lievaart/README.md))
+## [1987/lievaart](1987/lievaart/lievaart.c) ([index.html](1987/lievaart/index.html))
[Cody](#cody) added back the documented checks for invalid input which no longer worked
and instead resulted in either accepting the level, whether or not it was a
@@ -573,18 +573,18 @@ well (the one with the board and the one without, the entry itself with the
size constraints of the contest).
-## [1987/wall](/1987/wall/wall.c) ([README.md](/1987/wall/README.md]))
+## [1987/wall](1987/wall/wall.c) ([index.html](1987/wall/index.html]))
[Cody](#cody) made this use `fgets(3)`.
Cody also added the [try.sh](1987/wall/try.sh) script.
-## [1987/westley](/1987/westley/westley.c) ([README.md](/1987/westley/README.md]))
+## [1987/westley](1987/westley/westley.c) ([index.html](1987/westley/index.html]))
[Cody](#cody) fixed this for modern systems. The problem was `'assignment to cast is
illegal, lvalue casts are not supported'`. For the original file see the
-README.md file. Unfortunately this ruins some symmetry. To try and resolve this
+index.html file. Unfortunately this ruins some symmetry. To try and resolve this
as much as possible at first code was commented out but later on the commented
out code was removed and another part changed so that, although it has some code
no longer there, it has a closer match in symmetry and since the code was
@@ -598,7 +598,7 @@ unlikely(?) but nevertheless suggested case that `putchar()` is not available.
# 1988
-## [1988/dale](/1988/dale/dale.c) ([README.md](/1988/dale/README.md]))
+## [1988/dale](1988/dale/dale.c) ([index.html](1988/dale/index.html]))
[Cody](#cody) fixed this twisted entry (as we called it :-) ) for modern compilers,
including making it no longer require `-traditional-cpp`. Fixing
@@ -672,27 +672,27 @@ so Cody changed the lines to be in the form of:
However, to keep the entry as close to as possible in look, Cody kept the `_`
macro in place it's just no longer used.
-See the README.md file for details on the original code, provided as an alt
+See the index.html file for details on the original code, provided as an alt
version in case you have an older compiler or wish to try `-traditional-cpp`.
-Cody also provided the [try.sh](/1988/dale/try.sh) script.
+Cody also provided the [try.sh](1988/dale/try.sh) script.
-## [1988/isaak](/1988/isaak/isaak.c) ([README.md](/1988/isaak/README.md]))
+## [1988/isaak](1988/isaak/isaak.c) ([index.html](1988/isaak/index.html]))
[Cody](#cody) fixed this to work for modern systems. The problem was that the important
function, a redefinition of `exit()`, was not being called in `main()`. The
-original version is in [1988/isaak/isaak.alt.c](/1988/isaak/isaak.alt.c). See the
-README.md file for more details.
+original version is in [1988/isaak/isaak.alt.c](1988/isaak/isaak.alt.c). See the
+index.html file for more details.
-## [1988/litmaath](/1988/litmaath/litmaath.c) ([README.md](/1988/litmaath/README.md))
+## [1988/litmaath](1988/litmaath/litmaath.c) ([index.html](1988/litmaath/index.html))
[Cody](#cody) added the alt code which is code that we suggested at the time of
publication, in the remarks, to help understand the entry, and for fun.
-## [1988/phillipps](/1988/phillipps/phillipps.c) ([README.md](/1988/phillipps/README.md]))
+## [1988/phillipps](1988/phillipps/phillipps.c) ([index.html](1988/phillipps/index.html]))
[Cody](#cody) fixed this for modern systems. It did not compile with clang because it
requires the second and third args of `main()` to be `char **` but even before
@@ -711,35 +711,35 @@ same code. Additionally, `main()` returns `!pain(...)` like `main()` used to do
to itself and `pain()` does now.
-## [1988/reddy](/1988/reddy/reddy.c) ([README.md](/1988/reddy/README.md))
+## [1988/reddy](1988/reddy/reddy.c) ([index.html](1988/reddy/index.html))
[Cody](#cody) made this use `fgets(3)`.
-## [1988/spinellis](/1988/spinellis/spinellis.c) ([README.md](/1988/spinellis/README.md]))
+## [1988/spinellis](1988/spinellis/spinellis.c) ([index.html](1988/spinellis/index.html]))
-[Cody](#cody) provided an [alternate version](/1988/spinellis/spinellis.alt.c) so that
+[Cody](#cody) provided an [alternate version](1988/spinellis/spinellis.alt.c) so that
this will work with compilers like clang. An alternate version had to be
provided because not doing so would be tampering with the entry too much. It
would work but it would not show the same creativity and cleverness.
The original entry exploits a fun mis-feature that works with gcc but not clang.
This resulted in a change of rules which is another reason to not modify the
-original. See the README.md file for details on the alternate code.
+original. See the index.html file for details on the alternate code.
Meanwhile Cody was twisted enough to point out (though to be fair he felt sick
doing this) that with a slight modification this entry can be C++ instead. We don't
thank him for this ghastly point! :-)
-## [1988/westley](/1988/westley/westley.c) ([README.md](/1988/westley/README.md]))
+## [1988/westley](1988/westley/westley.c) ([index.html](1988/westley/index.html]))
-The [original version](/1988/westley/westley.alt.c), provided as alternate code,
+The [original version](1988/westley/westley.alt.c), provided as alternate code,
was fixed by Misha Dynin, based on the judges' remarks, so that this would work
with modern C compilers. We encourage you to try the alternate version to see
-what happens with current compilers! See the README.md files for details.
+what happens with current compilers! See the index.html files for details.
-[Cody](#cody) added the [try.sh](/1988/westley/try.sh) script to show the magic of the
+[Cody](#cody) added the [try.sh](1988/westley/try.sh) script to show the magic of the
entry as seeing the code with the result at once is far more beautiful.
Cody also changed the `int`s to be `float` as that's what they are printed as:
@@ -751,12 +751,12 @@ not strictly necessary but nonetheless more correct, even if not warned against.
# 1989
-## [1989/fubar](/1989/fubar/fubar.c) ([README.md](/1989/fubar/README.md]))
+## [1989/fubar](1989/fubar/fubar.c) ([index.html](1989/fubar/index.html]))
[Cody](#cody) got this to work with modern systems. The main issues were that an
`#include` had to be added along with fixing the path (due to `.` not being in
`$PATH`) to files referred to in the code. The path problem was also fixed in
-[fubar.sh](/1989/fubar/fubar.sh).
+[fubar.sh](1989/fubar/fubar.sh).
A strange problem occurred where if one made modifications to the C file it
might end up failing to work even after changing it back. This was resolved by:
@@ -782,10 +782,10 @@ might end up failing to work even after changing it back. This was resolved by:
Cody also 'modernised' the script to use `bash` and fixed for ShellCheck. The
`if [ .. ]` was changed in the C code as well as the script.
-Cody also added the [try.sh](/1989/fubar/try.sh) script.
+Cody also added the [try.sh](1989/fubar/try.sh) script.
-## [1989/jar.1](/1989/jar.1/jar.1.c) ([README.md](/1989/jar.1/README.md]))
+## [1989/jar.1](1989/jar.1/jar.1.c) ([index.html](1989/jar.1/index.html]))
To prevent annoying output to `/dev/tty` we changed the code to simulate the
output via `strings(1)` but [Cody](#cody) removed the ill-famed `useless use of cat` to
@@ -802,7 +802,7 @@ anyway, and since one may still run the code or the script (for the original
entry and the alt code) anyway, it works out well.
-## [1989/jar.2](/1989/jar.2/jar.2.c) ([README.md](/1989/jar.2/README.md]))
+## [1989/jar.2](1989/jar.2/jar.2.c) ([index.html](1989/jar.2/index.html]))
[Cody](#cody) fixed this to work with modern compilers. Modern compilers do not allow
code like:
@@ -818,47 +818,47 @@ code like:
He notes that there _is_ a way to get it (or something close to it) to work. Do
you know how?
-Cody also provided the [try.sh](/1989/jar.2/try.sh) script and the
-supplementary files [try.txt](/1989/jar.2/try.txt),
-[fib.lisp](/1989/jar.2/fib.lisp) and
-[chocolate_cake.lisp](/1989/jar.2/chocolate_cake.lisp). The `try.txt` comes
+Cody also provided the [try.sh](1989/jar.2/try.sh) script and the
+supplementary files [try.txt](1989/jar.2/try.txt),
+[fib.lisp](1989/jar.2/fib.lisp) and
+[chocolate_cake.lisp](1989/jar.2/chocolate_cake.lisp). The `try.txt` comes
from the author and the `fib.lisp` comes from [Yusuke](#yusuke). Cody wrote the script and
-offered us some chocolate cake :-) See README.md for details on how to use the
+offered us some chocolate cake :-) See index.html for details on how to use the
script.
-## [1989/ovdluhe](/1989/ovdluhe/ovdluhe.c) ([README.md](/1989/ovdluhe/README.md]))
+## [1989/ovdluhe](1989/ovdluhe/ovdluhe.c) ([index.html](1989/ovdluhe/index.html]))
[Cody](#cody) fixed an infinite loop where the program would print the same thing over
and over again, flooding the screen. The problem is that there was a `for` loop
that by necessity had to not have an increment stage but the pointer only got
updated in the `if` path (in the loop itself).
-Cody also provided the [try.sh](/1989/ovdluhe/try.sh) script which runs the
+Cody also provided the [try.sh](1989/ovdluhe/try.sh) script which runs the
program four times on three files to show the different output. It doesn't run
the program on each file four times in a row but rather does it on each file
and starts over, doing it four times, to help with hopefully allowing different
output.
-Cody also provided an [alternate version](/1989/ovdluhe/ovdluhe.alt.c) based on
-the author's remarks and the [try.alt.sh](/1989/ovdluhe/try.alt.sh) script that
-uses the alt code, allowing one to configure the alt build. See the README.md
+Cody also provided an [alternate version](1989/ovdluhe/ovdluhe.alt.c) based on
+the author's remarks and the [try.alt.sh](1989/ovdluhe/try.alt.sh) script that
+uses the alt code, allowing one to configure the alt build. See the index.html
for details. The fix described above was fixed in this version too, after it was
discovered and fixed.
-## [1989/paul](/1989/paul/paul.c) ([README.md](/1989/paul/README.md]))
+## [1989/paul](1989/paul/paul.c) ([index.html](1989/paul/index.html]))
[Cody](#cody) fixed a segfault under macOS that prevented it from working. The problem
was that the int (from `#define f`) should be a long. This became apparent when
he was using lldb and saw that the type of a pointer was too `long` :-)
-Cody also provided the [alternate version](/1989/paul/paul.alt.c)
+Cody also provided the [alternate version](1989/paul/paul.alt.c)
which has the trace function that the author included but commented out. See the
-README.md for details.
+index.html for details.
-## [1989/robison](/1989/robison/robison.c) ([README.md](/1989/robison/README.md]))
+## [1989/robison](1989/robison/robison.c) ([index.html](1989/robison/index.html]))
[Yusuke Endoh](#yusuke) fixed this to compile under modern systems. To see the changes
made, try:
@@ -870,10 +870,10 @@ cd 1989/robison ; make diff_orig_prog
(It adds the C token pasting operator `##` instead of `/**/`.)
-Cody also added the [try.sh](/1989/robison/try.sh) script.
+Cody also added the [try.sh](1989/robison/try.sh) script.
-## [1989/tromp](/1989/tromp/tromp.c) ([README.md](/1989/tromp/README.md]))
+## [1989/tromp](1989/tromp/tromp.c) ([index.html](1989/tromp/index.html]))
[Cody](#cody) and [Yusuke](#yusuke) fixed this entry: Yusuke fixed this to compile with gcc and Cody
fixed it for clang and made some other fixes as well.
@@ -902,12 +902,12 @@ IOCCC [Tetris](https://en.wikipedia.org/wiki/Tetris) working (this of course was
not his only reason :-) )
-## [1989/vanb](/1989/vanb/vanb.c) ([README.md](/1989/vanb/README.md]))
+## [1989/vanb](1989/vanb/vanb.c) ([index.html](1989/vanb/index.html]))
-[Cody](#cody) added the [try.sh](/1989/vanb/try.sh) script.
+[Cody](#cody) added the [try.sh](1989/vanb/try.sh) script.
-## [1989/westley](/1989/westley/westley.c) ([README.md](/1989/westley/README.md]))
+## [1989/westley](1989/westley/westley.c) ([index.html](1989/westley/index.html]))
[Cody](#cody) fixed this for clang, except that two versions generated by the program
cannot be compiled by clang due to inherent defects in the compiler and how the
@@ -968,23 +968,23 @@ in the working on version 2 and 3 or if in the fix for clang as well as version
To make use of this several scripts were added by Cody.
-The [compile.sh](/1989/westley/compile.sh) script that removes the generated
+The [compile.sh](1989/westley/compile.sh) script that removes the generated
code, rebuilds the program and regenerates the other code and then compiles it
will work for compilers like gcc and one can then use the
-[try.sh](/1989/westley/try.sh) script to see example input and output.
+[try.sh](1989/westley/try.sh) script to see example input and output.
The `compile.sh` script allows one to specify the compiler with the `CC`
-environmental variable; see the README.md for details.
+environmental variable; see the index.html for details.
# 1990
-## [1990/baruch](/1990/baruch/baruch.c) ([README.md](/1990/baruch/README.md]))
+## [1990/baruch](1990/baruch/baruch.c) ([index.html](1990/baruch/index.html]))
-[Cody](#cody) added the [try.sh](/1990/baruch/try.sh) script.
+[Cody](#cody) added the [try.sh](1990/baruch/try.sh) script.
-Cody also added an [alternate version](/1990/baruch/baruch.alt.c) which allows Turbo-C
+Cody also added an [alternate version](1990/baruch/baruch.alt.c) which allows Turbo-C
and MSC to compile this code, based on the authors' remarks, except that Cody
did not change the `" #Q"` string as that showed worse looking output
instead of improved output though he has no way to test the compilers in
@@ -1000,7 +1000,7 @@ the variables, adding instead `-Wno-implicit-int`. The newline added by the
judges was retained.
-## [1990/cmills](/1990/cmills/cmills.c) ([README.md](/1990/cmills/README.md]))
+## [1990/cmills](1990/cmills/cmills.c) ([index.html](1990/cmills/index.html]))
[Yusuke](#yusuke) got this to work in modern systems (it previously resulted in a bus
error).
@@ -1008,7 +1008,7 @@ error).
[Cody](#cody) made this use `fgets(3)`.
-## [1990/dds](/1990/dds/dds.c) ([README.md](/1990/dds/README.md]))
+## [1990/dds](1990/dds/dds.c) ([index.html](1990/dds/index.html]))
[Yusuke](#yusuke) and [Cody](#cody) in conjunction fixed this for modern systems (both fixed a
different compiler error but more fixes were also made).
@@ -1020,12 +1020,12 @@ operator itself.
Cody fixed another compiler error by removing the erroneous prototype to
`fopen()`. Cody also changed a `char *` used for file I/O to be a proper `FILE
-*` and fixed a typo in [LANDER.BAS](/1990/dds/LANDER.BAS).
+*` and fixed a typo in [LANDER.BAS](1990/dds/LANDER.BAS).
Cody also made this use `fgets(3)`.
-## [1990/dg](/1990/dg/dg.c) ([README.md](/1990/dg/README.md]))
+## [1990/dg](1990/dg/dg.c) ([index.html](1990/dg/index.html]))
[Cody](#cody) fixed this for modern systems. There were two problems to be resolved.
@@ -1045,10 +1045,10 @@ but later Cody added it back to make it more like the original).
The second problem was suggested by the judges at the time of judging, to do
with if the C preprocessor botches single quotes in cpp expansion.
-Cody also added the [try.sh](/1990/dg/try.sh) script.
+Cody also added the [try.sh](1990/dg/try.sh) script.
-## [1990/jaw](/1990/jaw/jaw.c) ([README.md](/1990/jaw/README.md]))
+## [1990/jaw](1990/jaw/jaw.c) ([index.html](1990/jaw/index.html]))
[Cody](#cody) fixed the script to work properly in modern environments including writing
to and extracting from `stdout` and relying on the exit code in the commands to
@@ -1057,7 +1057,7 @@ allow for `&& ...`.
He also changed the `perror(3)` call to `fprintf(3)` because in macOS when errno
is 0 it shows what looks like an error.
-He added the [try.sh](/1990/jaw/try.sh) to run the commands that we suggested at
+He added the [try.sh](1990/jaw/try.sh) to run the commands that we suggested at
the time.
NOTE: as `btoa` is not common we used a ruby script from [Yusuke](#yusuke) but with a minor
@@ -1065,23 +1065,23 @@ fix applied by Cody that made the program just show `oops` twice from invalid
input but which now works.
-## [1990/pjr](/1990/pjr/pjr.c) ([README.md](/1990/pjr/README.md]))
+## [1990/pjr](1990/pjr/pjr.c) ([index.html](1990/pjr/index.html]))
-[Cody](#cody) added the [alt code](/1990/pjr/pjr.alt.c) which was suggested by the judges
+[Cody](#cody) added the [alt code](1990/pjr/pjr.alt.c) which was suggested by the judges
in the case that your compiler cannot compile `X=g()...` but it actually does
something else and is recommended by the author as well.
-## [1990/scjones](/1990/scjones/scjones.c) ([README.md](/1990/scjones/README.md]))
+## [1990/scjones](1990/scjones/scjones.c) ([index.html](1990/scjones/index.html]))
[Yusuke](#yusuke) suggested `-ansi` to get the entry to compile due to trigraphs and [Cody](#cody)
suggested `-trigraphs`. Both work but we used Yusuke's idea.
-Cody added the [try.sh](/1990/scjones/try.sh) script to show exactly what the
+Cody added the [try.sh](1990/scjones/try.sh) script to show exactly what the
entry does.
-## [1990/tbr](/1990/tbr/tbr.c) ([README.md](/1990/tbr/README.md]))
+## [1990/tbr](1990/tbr/tbr.c) ([index.html](1990/tbr/index.html]))
[Cody](#cody) fixed this to work with modern compilers; `exit(3)` returns void but the
function was used in a binary expression so this wouldn't even compile.
@@ -1095,11 +1095,11 @@ Additionally, Cody fixed the shortened version provided by the author in the
same way as the original entry, first the compile fix and then later on making
it look more like the original by redefining `exit` and also redefining `gets()`
to be `fgets()` in the same way that the original entry is. This way the [alt
-version](/1990/tbr/README.md#alternate-code) is equivalent in function, like the
+version](1990/tbr/index.html#alternate-code) is equivalent in function, like the
author intended, but more compact.
-## [1990/theorem](/1990/theorem/theorem.c) ([README.md](/1990/theorem/README.md]))
+## [1990/theorem](1990/theorem/theorem.c) ([index.html](1990/theorem/index.html]))
[Cody](#cody) fixed this to compile with modern systems.
@@ -1132,7 +1132,7 @@ with clang in Linux but which was defaulting to an error. This way was the
simplest way to deal with the problem in question due to the way the entry
works.
-Cody also added the [try.sh](/1990/theorem/try.sh) script which shows the
+Cody also added the [try.sh](1990/theorem/try.sh) script which shows the
original program and some of the programs it generates.
[Yusuke](#yusuke) pointed out that `atof` nowadays needs `#include ` which was
@@ -1140,7 +1140,7 @@ used in order to get this to work initially (prior to this output was there but
incomplete).
-## [1990/stig](/1990/stig/stig.c) ([README.md](/1990/stig/README.md))
+## [1990/stig](1990/stig/stig.c) ([index.html](1990/stig/index.html))
[Cody](#cody) fixed the paths in the Makefile so that this would build in Linux (it
worked fine in macOS).
@@ -1149,12 +1149,12 @@ He also changed the Makefile to use `bash` not `zsh` as not all systems have
`zsh` and the Makefile actually sets `SHELL` to `bash`.
-## [1990/westley](/1990/westley/westley.c) ([README.md](/1990/westley/README.md]))
+## [1990/westley](1990/westley/westley.c) ([index.html](1990/westley/index.html]))
[Cody](#cody) fixed this for modern systems. It had `1s` in places for a `short
int` which was changed to just `1`. Since it's instructional to see the
differences he has provided an alternate version,
-[westley.alt.c](/1990/westley/westley.alt.c), which is the original code.
+[westley.alt.c](1990/westley/westley.alt.c), which is the original code.
He also changed the `argc` to be an `int`, not a `char`, even though it might
often be the same (for the purpose of `clang`?).
@@ -1162,7 +1162,7 @@ often be the same (for the purpose of `clang`?).
He also fixed the code to not enter an infinite loop if arg is a number not > 0
and to not crash if no arg is specified.
-Cody also added the [try.sh](/1990/westley/try.sh) script.
+Cody also added the [try.sh](1990/westley/try.sh) script.
The alt code did NOT have arg checks added as it is actually a copy of the
original code.
@@ -1171,9 +1171,9 @@ original code.
# 1991
-## [1991/ant](/1991/ant/ant.c) ([README.md](/1991/ant/README.md]))
+## [1991/ant](1991/ant/ant.c) ([index.html](1991/ant/index.html]))
-[Cody](#cody) added [alt code](/1991/ant/ant.alt.c) that will be a bit easier to use for
+[Cody](#cody) added [alt code](1991/ant/ant.alt.c) that will be a bit easier to use for
those familiar with vim in the following ways:
- Use `0` to go to first column.
@@ -1186,7 +1186,7 @@ those familiar with vim in the following ways:
The other keys were left unchanged.
-## [1991/brnstnd](/1991/brnstnd/brnstnd.c) ([README.md](/1991/brnstnd/README.md]))
+## [1991/brnstnd](1991/brnstnd/brnstnd.c) ([index.html](1991/brnstnd/index.html]))
[Cody](#cody) fixed this for modern systems. There were two invalid operands to binary
expression (`char *` and `void` and `int` and `void`) to resolve and
@@ -1198,11 +1198,11 @@ invalid operands to binary expressions were resolved with the comma operator.
Later on, Cody added back the macro `#define D define` to make it look ever so
slightly more like the original, even though it's unused.
-Cody also added the [try.sh](/1991/brnstnd/try.sh) script and
-[try.txt](/1991/brnstnd/try.txt) which the script uses.
+Cody also added the [try.sh](1991/brnstnd/try.sh) script and
+[try.txt](1991/brnstnd/try.txt) which the script uses.
-## [1991/buzzard](/1991/buzzard/buzzard.c) ([README.md](/1991/buzzard/README.md]))
+## [1991/buzzard](1991/buzzard/buzzard.c) ([index.html](1991/buzzard/index.html]))
[Cody](#cody) fixed this so that the coordinates being specified would not crash the
program. This happened because the function that calls `atoi(3)` took an arg
@@ -1213,14 +1213,14 @@ Cody also made the file name in the code (which is the default maze file) not
hard-coded but instead be `__FILE__`.
Finally Cody added the [alternate
-version](/1991/buzzard/README.md#alternate-code) which will possibly feel more at
+version](1991/buzzard/index.html#alternate-code) which will possibly feel more at
home with those familiar with vi(m) (it certainly does feel more at home with
him): `k` for forward, `h` for left and `l` for right. This version also has a
more useful way to exit, just entering `q` followed by enter, rather than
completing or killing the program.
-## [1991/davidguy](/1991/davidguy/davidguy.c) ([README.md](/1991/davidguy/README.md]))
+## [1991/davidguy](1991/davidguy/davidguy.c) ([index.html](1991/davidguy/index.html]))
As some systems like macOS can be particular about not declaring functions [Cody](#cody)
added to the Makefile some `-include` options. These appear to not be strictly
@@ -1228,7 +1228,7 @@ necessary but it was done due to other syscalls being a problem not being
declared first.
-## [1991/dds](/1991/dds/dds.c) ([README.md](/1991/dds/README.md]))
+## [1991/dds](1991/dds/dds.c) ([index.html](1991/dds/index.html]))
[Cody](#cody) fixed a segfault that prevented this entry from working in any condition
and he also made it work for clang. He also added checks for NULL `FILE *`s.
@@ -1357,7 +1357,7 @@ was pondered and changed numerous times and ultimately that problem with this
entry was fixed. It has not been done in all.
-## [1991/fine](/1991/fine/fine.c) ([README.md](/1991/fine/README.md))
+## [1991/fine](1991/fine/fine.c) ([index.html](1991/fine/index.html))
[Cody](#cody) made it look much more like the original entry even after the fix that
increased the count in characters from 80 to 106, getting it back down to just
@@ -1374,13 +1374,13 @@ which also resolved the warning described above. This was by more clever use of
the Makefile which now has a `-DB=(int)b` so that `B` can be used in place where
`(int)b` used to be necessary.
-Cody also added the [try.sh](/1991/fine/try.sh) script which feeds the program
+Cody also added the [try.sh](1991/fine/try.sh) script which feeds the program
some fun input for fun but mostly different output. He added a great string from
Brian Westley and Cody also added several of his own (can you figure out exactly
which ones? :-) )
-## [1991/rince](/1991/rince/rince.c) ([README.md](/1991/rince/README.md))
+## [1991/rince](1991/rince/rince.c) ([index.html](1991/rince/index.html))
[Cody](#cody) fixed it so that the messages that show if you won or lost will be seen
after the end of the game. The reason it did not work before is curses was ended
@@ -1389,13 +1389,13 @@ original entry Cody left the message before ending curses in and printed another
message of the same kind after `endwin()` was called with the exception that he
added a newline at the end of the screen to be more user friendly.
-Cody also added [two alt versions](/1991/rince/README.md#alternate-code), one to
+Cody also added [two alt versions](1991/rince/index.html#alternate-code), one to
remove the maximum number of moves you may make and another to let you configure
the maximum number of moves, even if that is making it harder to win. Naturally
the above fix was applied to these versions too.
-## [1991/westley](/1991/westley/westley.c) ([README.md](/1991/westley/README.md]))
+## [1991/westley](1991/westley/westley.c) ([index.html](1991/westley/index.html]))
[Cody](#cody) fixed a segfault in this program which prevented it from working. The
problem was that the read-only char array `char *z[]` was being written to. The
@@ -1420,7 +1420,7 @@ should have been removed.
# 1992
-## [1992/adrian](/1992/adrian/adrian.c) ([README.md](/1992/adrian/README.md]))
+## [1992/adrian](1992/adrian/adrian.c) ([index.html](1992/adrian/index.html]))
[Cody](#cody) fixed the code so that it will try opening the file the code was compiled
from (`__FILE__`), not `adgrep.c`, as the latter does not exist: `adgrep` is
@@ -1489,13 +1489,13 @@ one must keep the `Y[strlen(Y)-1]='\0';` part and keep it there.
These fixes are complex changes due to the way the program and Makefile generate
the additional tools.
-Cody finally added the [try.sh](/1992/adrian/try.sh) script that shows the entry
+Cody finally added the [try.sh](1992/adrian/try.sh) script that shows the entry
and some of the tools this entry generates. Unlike other scripts, it does not
clear the screen after compilation so that one can see how the other files are
generated.
-## [1992/albert](/1992/albert/albert.c) ([README.md](/1992/albert/README.md]))
+## [1992/albert](1992/albert/albert.c) ([index.html](1992/albert/index.html]))
[Cody](#cody) fixed this to compile with modern systems. Note that in 1996 a bug fix was
applied to the code, provided as the alt code as that version is not obfuscated.
@@ -1504,12 +1504,12 @@ is not the correct header file now (at least in some systems?) and a non-void
(implicit `int`) function returning without a value. That function was changed to
return `void`.
-Cody also added the [try.sh](/1992/albert/try.sh) and
-[try.alt.sh](/1992/albert/try.alt.sh) scripts that correspond to the entry and
+Cody also added the [try.sh](1992/albert/try.sh) and
+[try.alt.sh](1992/albert/try.alt.sh) scripts that correspond to the entry and
the alt code.
-## [1992/ant](/1992/ant/ant.c) ([README.md](/1992/ant/README.md]))
+## [1992/ant](1992/ant/ant.c) ([index.html](1992/ant/index.html]))
[Cody](#cody) fixed the Makefile so that the program will actually work with it (or at
least the rule to clobber files and link `am` to `ant`). The issue was that the
@@ -1528,39 +1528,39 @@ The author stated that in some systems like DOS with Turbo C, it might be
necessary to include `time.h` so Cody did this as well as this exists in other
systems too.
-Cody also added the [try.sh](/1992/ant/try.sh) script.
+Cody also added the [try.sh](1992/ant/try.sh) script.
-## [1992/buzzard.1](/1992/buzzard.1/buzzard.1.c) ([README.md](/1992/buzzard.1/README.md))
+## [1992/buzzard.1](1992/buzzard.1/buzzard.1.c) ([index.html](1992/buzzard.1/index.html))
[Cody](#cody) added a check for the right number of args, exiting 1 if not enough (2)
used. This was not originally done but at a time it was changed to be considered
a bug so it was fixed at that point as it only took a few seconds and had to be
-verified that it was consistent with the [bugs.md](/bugs.md) file.
+verified that it was consistent with the [bugs.html](bugs.html) file.
-He also added the [try.sh](/1992/buzzard.1/try.sh) script to try out some
+He also added the [try.sh](1992/buzzard.1/try.sh) script to try out some
commands that we suggested and some additional ones that he provide for some fun.
-## [1992/buzzard.2](/1992/buzzard.2/buzzard.2.c) ([README.md](/1992/buzzard.2/README.md))
+## [1992/buzzard.2](1992/buzzard.2/buzzard.2.c) ([index.html](1992/buzzard.2/index.html))
[Cody](#cody) fixed the alt code to compile. The problem was it assumed that
`exit(3)` returns a value, not `void`. This was fixed with a `,0`.
-Cody also added the [try.sh](/1992/buzzard.2/try.sh) and
-[try.alt.sh](/1992/buzzard.2/try.alt.sh) scripts that correspond to the entry
+Cody also added the [try.sh](1992/buzzard.2/try.sh) and
+[try.alt.sh](1992/buzzard.2/try.alt.sh) scripts that correspond to the entry
and its alt code.
-## [1992/gson](/1992/gson/gson.c) ([README.md](/1992/gson/README.md]))
+## [1992/gson](1992/gson/gson.c) ([index.html](1992/gson/index.html]))
[Cody](#cody) fixed a crash that prevented this entry from working in some cases in some
systems (like macOS) by disabling the optimiser in the Makefile.
-Cody also added the [try.sh](/1992/gson/try.sh) script.
+Cody also added the [try.sh](1992/gson/try.sh) script.
-Cody also added the [mkdict.sh](/1992/gson/mkdict.sh) script that the author
-included in their remarks. See the README.md for its purpose. It was NOT fixed
+Cody also added the [mkdict.sh](1992/gson/mkdict.sh) script that the author
+included in their remarks. See the index.html for its purpose. It was NOT fixed
for [ShellCheck](https://github.com/koalaman/shellcheck)
because the author deliberately obfuscated it so **PLEASE *DO NOT* FIX THIS OR
MODERNISE IT**.
@@ -1568,29 +1568,29 @@ MODERNISE IT**.
Cody also changed the buffer size in such a way that `gets(3)` should be safe
(well, theoretically) as it comes from the command line (though it can also read input
from `stdin` after starting the program). Ideally `fgets(3)` would be used but this
-is a more problematic. See [1992/gson in bugs.md](/bugs.md#1992-gson) for more
+is a more problematic. See [1992/gson in bugs.html](bugs.html#1992-gson) for more
details if you're interested in trying to understand it (or fix?).
-## [1992/imc](/1992/imc/imc.c) ([README.md](/1992/imc/README.md]))
+## [1992/imc](1992/imc/imc.c) ([index.html](1992/imc/index.html]))
-[Cody](#cody) provided the [try.sh](/1992/imc/try.sh) script.
+[Cody](#cody) provided the [try.sh](1992/imc/try.sh) script.
-The original code, [imc.orig.c](/1992/imc/imc.orig.c), assumed that `exit(3)`
+The original code, [imc.orig.c](1992/imc/imc.orig.c), assumed that `exit(3)`
returned a value but this will cause problems where `exit(3)` returns void. The
source code was modified to avoid this problem but like Cody did with other fixes
he made this more like the original by redefining `exit` to use the comma
operator so that it could be used in binary expressions.
-## [1992/kivinen](/1992/kivinen/kivinen.c) ([README.md](/1992/kivinen/README.md]))
+## [1992/kivinen](1992/kivinen/kivinen.c) ([index.html](1992/kivinen/index.html]))
It was observed that on modern systems this goes much too quick. [Yusuke](#yusuke) created
a patch that calls `usleep(3)` but [Cody](#cody) thought the value was too slow so he
made it a macro in the Makefile `Z` (which can be redefined with `make
SLEEP=...`), defaulting at 15000. This was made an [alt
-version](/1992/kivinen/kivinen.alt.c) and it is recommended one use the alt
-version first. See the README.md file to see how to reconfigure it.
+version](1992/kivinen/kivinen.alt.c) and it is recommended one use the alt
+version first. See the index.html file to see how to reconfigure it.
Cody also made the fixed version (the code relied on `exit(3)` returning to use
in binary expressions) (and alt code from it) more like the original by renaming
@@ -1609,40 +1609,40 @@ Yusuke also noted that there is a bug in the program where right after starting
it moves towards the right but if you click the mouse it goes back.
-## [1992/lush](/1992/lush/lush.c) ([README.md](/1992/lush/README.md]))
+## [1992/lush](1992/lush/lush.c) ([index.html](1992/lush/index.html]))
[Yusuke](#yusuke) supplied a patch which makes this work with gcc. Due to how it works (see
-Judges' remarks in the README.md file) this will not work with clang.
+Judges' remarks in the index.html file) this will not work with clang.
-[Cody](#cody) also provided the [lush.sh](/1992/lush/lush.sh) script to
+[Cody](#cody) also provided the [lush.sh](1992/lush/lush.sh) script to
demonstrate it as using make was problematic.
Cody made it use `fgets()` instead of `gets()`.
NOTE: this entry cannot work with clang due to different compiler messages (it
-will compile fine but it won't work). See [bugs.md](/bugs.md) for details.
+will compile fine but it won't work). See [bugs.html](bugs.html) for details.
-## [1992/marangon](/1992/marangon/marangon.c) ([README.md](/1992/marangon/README.md))
+## [1992/marangon](1992/marangon/marangon.c) ([index.html](1992/marangon/index.html))
[Cody](#cody) made this more portable by changing the `void main()` to be `int main()`.
-## [1992/nathan](/1992/nathan/nathan.c) ([README.md](/1992/nathan/README.md))
+## [1992/nathan](1992/nathan/nathan.c) ([index.html](1992/nathan/index.html))
[Cody](#cody) added the original file back as it was deemed that the export restrictions
should no longer be a cause of concern for this entry. Doing this did require a
-change to Cody's [2020/ferguson2](/2020/ferguson2/README.md) entry as it's
+change to Cody's [2020/ferguson2](2020/ferguson2/index.html) entry as it's
referenced.
Cody cynically noted that if he goes quiet, for instance if he no longer
participates in the IOCCC, that it must be our fault! :-)
-Cody also added the [try.sh](/1992/nathan/try.sh) script that runs a few commands
+Cody also added the [try.sh](1992/nathan/try.sh) script that runs a few commands
that we suggested as well as one he provided.
-## [1992/vern](/1992/vern/vern.c) ([README.md](/1992/vern/README.md]))
+## [1992/vern](1992/vern/vern.c) ([index.html](1992/vern/index.html]))
[Cody](#cody) fixed an infinite loop if one were to input numbers < `0` or > `077`. The
problem was that it tried to use `scanf(3)` with the format specifier `"%o %o"` in a
@@ -1656,7 +1656,7 @@ new char arrays (always cleared in the beginning of the loop) and then using
both numbers (using `"%o %o"` does not solve the problem).
-## [1992/westley](/1992/westley/westley.c) ([README.md](/1992/westley/README.md]))
+## [1992/westley](1992/westley/westley.c) ([index.html](1992/westley/index.html]))
[Cody](#cody) fixed this to work for clang by changing the third and fourth arg of
`main()` to be `char **` inside `main()`; clang requires args 2 - 4 to be `char
@@ -1677,12 +1677,12 @@ the final loop it prints another newline. This fix has another bonus in that
resizing the terminal after running it should not mess up the display either,
unless of course it becomes too small.
-Cody added the scripts [whereami.sh](/1992/westley/whereami.sh) and
-[whereami.alt.sh](/1992/westley/whereami.alt.sh) which correspond to the entry and
+Cody added the scripts [whereami.sh](1992/westley/whereami.sh) and
+[whereami.alt.sh](1992/westley/whereami.alt.sh) which correspond to the entry and
the alt code but first check that the number of columns is at least 80 and if
not it is an error.
-Cody added the [try.sh](/1992/westley/try.sh) script that shows the different
+Cody added the [try.sh](1992/westley/try.sh) script that shows the different
cities that the author recommended one try as well as the one recommended by the
judges (approximate judging location), labelling each city and printing a
newline before the next city. The try.sh script uses the `whereami.sh` and
@@ -1692,7 +1692,7 @@ first tries to make it executable and if it fails to do so it just uses
(or `COLUMNS=80 ./whereami.sh` etc.) but this is a feature, not a bug.
Cody also added an arg check because the program and the
-[alternate version](/1992/westley/westley.alt.c) might have crashed or
+[alternate version](1992/westley/westley.alt.c) might have crashed or
[nuked](https://en.wikipedia.org/wiki/Nuclear_weapon) the [entire
world](https://en.wikipedia.org/wiki/Earth) or just the
[USA](https://en.wikipedia.org/wiki/United_States), respectively, without enough
@@ -1703,13 +1703,13 @@ encourage you to try the original without two args :-)
# 1993
-## [1993/ant](/1993/ant/ant.c) ([README.md](/1993/ant/README.md]))
+## [1993/ant](1993/ant/ant.c) ([index.html](1993/ant/index.html]))
-[Cody](#cody) added the [try.sh](/1993/ant/try.sh) script and a data file,
-[ants.txt](/1993/ant/ants.txt), full of ants for the script.
+[Cody](#cody) added the [try.sh](1993/ant/try.sh) script and a data file,
+[ants.txt](1993/ant/ants.txt), full of ants for the script.
-## [1993/cmills](/1993/cmills/cmills.c) ([README.md](/1993/cmills/README.md]))
+## [1993/cmills](1993/cmills/cmills.c) ([index.html](1993/cmills/index.html]))
[Yusuke](#yusuke) suggested that with modern systems this goes too fast so he added a call
to `usleep(3)` in a patch he made. [Cody](#cody) made it configurable at compilation by
@@ -1717,21 +1717,21 @@ using a macro. This is in the alt version which is the recommended one to try
first.
-## [1993/dgibson](/1993/dgibson/dgibson.c) ([README.md](/1993/dgibson/README.md]))
+## [1993/dgibson](1993/dgibson/dgibson.c) ([index.html](1993/dgibson/index.html]))
-[Cody](#cody) fixed the [dgibson.sh](/1993/dgibson/dgibson.sh) script to work
+[Cody](#cody) fixed the [dgibson.sh](1993/dgibson/dgibson.sh) script to work
which assumed that `.` is in the path.
-Cody also added the [try.sh](/1993/dgibson/try.sh) script which runs the above
+Cody also added the [try.sh](1993/dgibson/try.sh) script which runs the above
mentioned script on all the data files.
-## [1993/ejb](/1993/ejb/ejb.c) ([README.md](/1993/ejb/README.md]))
+## [1993/ejb](1993/ejb/ejb.c) ([index.html](1993/ejb/index.html]))
-[Cody](#cody) added the [try.sh](/1993/ejb/try.sh) script.
+[Cody](#cody) added the [try.sh](1993/ejb/try.sh) script.
-## [1993/jonth](/1993/jonth/jonth.c) ([README.md](/1993/jonth/README.md]))
+## [1993/jonth](1993/jonth/jonth.c) ([index.html](1993/jonth/index.html]))
Both [Cody](#cody) and [Yusuke](#yusuke) fixed this so that it will work with modern systems. Yusuke
provided some fixes of the X code and Cody fixed the C pre-processor directives
@@ -1747,17 +1747,17 @@ and expect `G;` to equate to `int i, j;` (though it's now a long) and `K` to mea
prepended to them.
-## [1993/leo](/1993/leo/leo.c) ([README.md](/1993/leo/README.md]))
+## [1993/leo](1993/leo/leo.c) ([index.html](1993/leo/index.html]))
[Cody](#cody) fixed this to work with modern compilers. This involved different header
files for functions.
-## [1993/lmfjyh](/1993/lmfjyh/lmfjyh.c) ([README.md](/1993/lmfjyh/README.md]))
+## [1993/lmfjyh](1993/lmfjyh/lmfjyh.c) ([index.html](1993/lmfjyh/index.html]))
[Cody](#cody) added an [alternate
-version](/1993/lmfjyh/README.md#alternate-code) which does what the program did
-with gcc < 2.3.3. See the README.md file for details and for why this was made
+version](1993/lmfjyh/index.html#alternate-code) which does what the program did
+with gcc < 2.3.3. See the index.html file for details and for why this was made
the alternate version, not the actual entry. This alternate version will compile
automatically (as `lmfjyh` itself) in the very likely case (if you don't have
gcc < 2.3.3) that the entry fails to compile.
@@ -1767,25 +1767,25 @@ would be compiled if gcc < 2.3.3) whether or not compilation succeeds (which is
highly unlikely).
-## [1993/plummer](/1993/plummer/plummer.c) ([README.md](/1993/plummer/README.md]))
+## [1993/plummer](1993/plummer/plummer.c) ([index.html](1993/plummer/index.html]))
[Cody](#cody) added check for two args.
-Cody also added an [alternate version](/1993/plummer/plummer.alt.c) which uses
+Cody also added an [alternate version](1993/plummer/plummer.alt.c) which uses
`usleep(3)` so you can see what is happening with faster systems. This version
also checks for two args and it is the one we recommend one try first. See the
-README.md files for details.
+index.html files for details.
-Cody also added the [try.sh](/1993/plummer/try.sh) and
-[try.alt.sh](/1993/plummer/try.alt.sh) scripts that correspond to the original
+Cody also added the [try.sh](1993/plummer/try.sh) and
+[try.alt.sh](1993/plummer/try.alt.sh) scripts that correspond to the original
entry and the alt version, both allowing one to change the args (and in the case
of the alt one allowing one to change the amount to sleep).
-## [1993/rince](/1993/rince/rince.c) ([README.md](/1993/rince/README.md]))
+## [1993/rince](1993/rince/rince.c) ([index.html](1993/rince/index.html]))
[Yusuke](#yusuke) supplied a patch to get this to work in modern systems. This fix also
-applies the compatibility issue of `select(2)` described in the README.md file.
+applies the compatibility issue of `select(2)` described in the index.html file.
[Cody](#cody) added a call to `endwin()` to help with terminal sanity after the program
ends.
@@ -1794,15 +1794,15 @@ Cody provided two alternate versions to simplify slowing the game down and, for
the second one, to make movement keys (of the default game) more familiar to vi
users. The slowing down was based on our suggestion that it might be desired to
slow down but Cody did it in such a way that makes it easy to configure at
-compile time. See the README.md for details.
+compile time. See the index.html for details.
-## [1993/schnitzi](/1993/schnitzi/schnitzi.c) ([README.md](/1993/schnitzi/README.md]))
+## [1993/schnitzi](1993/schnitzi/schnitzi.c) ([index.html](1993/schnitzi/index.html]))
[Cody](#cody) made this use `fgets(3)` not `gets(3)`.
-## [1993/vanb](/1993/vanb/vanb.c) ([README.md](/1993/vanb/README.md]))
+## [1993/vanb](1993/vanb/vanb.c) ([index.html](1993/vanb/index.html]))
[Cody](#cody) fixed this to work with clang. The problem was that the third arg to main()
was not a `char **`. Instead `O5()` (which was `main()` via `-DO5=main`) is now
@@ -1827,16 +1827,16 @@ notes.
but fixed to work with clang as well.
-NOTE: the `N1` and `N2` are provided as notes in the README.md file describing
+NOTE: the `N1` and `N2` are provided as notes in the index.html file describing
this code. Other code is also described there.
-Cody also added the [try.sh](/1993/vanb/try.sh) script.
+Cody also added the [try.sh](1993/vanb/try.sh) script.
# 1994
-## [1994/dodsond2](/1994/dodsond2/dodsond2.c) ([README.md](/1994/dodsond2/README.md))
+## [1994/dodsond2](1994/dodsond2/dodsond2.c) ([index.html](1994/dodsond2/index.html))
[Cody](#cody) fixed an infinite loop that could happen when you shoot an arrow
and end up having no arrows, thus making one force quit the game. The problem
@@ -1867,7 +1867,7 @@ counter for how many you have found and how many you shot in addition to the two
that already existed, how many you had and how many were stolen.
-## [1994/horton](/1994/horton/horton.c) ([README.md](/1994/horton/README.md))
+## [1994/horton](1994/horton/horton.c) ([index.html](1994/horton/index.html))
[Cody](#cody) fixed this to check that four args were specified. With the use of the C
pre-processor macro and inclusion of `stdlib.h` in the Makefile the layout of the
@@ -1878,21 +1878,21 @@ better or worse.
Cody also fixed the Makefile which was causing alt code to be compiled when it
shouldn't be.
-Cody also added the scripts [try.sh](/1994/horton/try.sh) and
-[try.alt.sh](/1994/horton/try.alt.sh).
+Cody also added the scripts [try.sh](1994/horton/try.sh) and
+[try.alt.sh](1994/horton/try.alt.sh).
Finally he added the article (written by the entry's author) cited in the
remarks: the full [USENIX Association Newsletter ;login: September / October
-1992 Vol. 17, No. 5](/1994/horton/login_sept92.pdf) and the pages cited as a
+1992 Vol. 17, No. 5](1994/horton/login_sept92.pdf) and the pages cited as a
shorter PDF file,
-[login_sept92-pp28-31.pdf](/1994/horton/login_sept92-pp28-31.pdf). The full
+[login_sept92-pp28-31.pdf](1994/horton/login_sept92-pp28-31.pdf). The full
newsletter was found on the Internet Wayback Machine and the article was
extracted as a PDF in the macOS `Preview.app` (`File -> Print` feature).
-## [1994/imc](/1994/imc/imc.c) ([README.md](/1994/imc/README.md]))
+## [1994/imc](1994/imc/imc.c) ([index.html](1994/imc/index.html]))
-[Cody](#cody) added the [try.sh](/1994/imc/try.sh) script.
+[Cody](#cody) added the [try.sh](1994/imc/try.sh) script.
Cody also added inclusion of `unistd.h` for `getpid(2)`. While strictly speaking
this was not necessary (in multiple systems) it can sometimes be a problem and
@@ -1900,7 +1900,7 @@ as it was noticed it was changed (the only case this was done except in the
entries that actually did not work because of missing or incorrect prototypes).
-## [1994/ldb](/1994/ldb/ldb.c) ([README.md](/1994/ldb/README.md]))
+## [1994/ldb](1994/ldb/ldb.c) ([index.html](1994/ldb/index.html]))
[Cody](#cody) fixed this so it would compile and work with modern compilers. The problem
was that `srand()` returns `void` but it was used in a `||` expression. Thus the
@@ -1921,32 +1921,32 @@ rather than an annoying warning. A subtlety about this fix: if a line is greater
than 231 in length if the program chooses that line it might print the first 231
characters or it might print (up to) the next 231 characters and so on.
-Cody also added the [try.sh](/1994/ldb/try.sh) script.
+Cody also added the [try.sh](1994/ldb/try.sh) script.
-## [1994/schnitzi](/1994/schnitzi/schnitzi.c) ([README.md](/1994/schnitzi/README.md]))
+## [1994/schnitzi](1994/schnitzi/schnitzi.c) ([index.html](1994/schnitzi/index.html]))
[Cody](#cody) added two alt versions, [one which uses
-`fgets()`](/1994/schnitzi/schnitzi.alt.c) but when fed its own source code cannot
+`fgets()`](1994/schnitzi/schnitzi.alt.c) but when fed its own source code cannot
generate code that compile and another [one with a bigger buffer
-size](/1994/schnitzi/schnitzi.alt2.c) which, when fed its own source code, will
+size](1994/schnitzi/schnitzi.alt2.c) which, when fed its own source code, will
generate compilable code but not with the same buffer size but rather the
original buffer size. Cody explains this in the at [1994/schnitzi in
-bugs.md](/bugs.md#1994-schnitzi).
+bugs.html](bugs.html#1994-schnitzi).
The purpose for these versions it both demonstrate how the magic works behind it
and to help others, should they wish, get the code to work with `fgets(3)`, with
or without an increase in buffer size. Note that without this feeding longer
-files, say the README.md file, will crash the program. See [1994/schnitzi in
-bugs.md](/bugs.md#1994-schnitzi) where Cody also explains the magic for more
+files, say the index.html file, will crash the program. See [1994/schnitzi in
+bugs.html](bugs.html#1994-schnitzi) where Cody also explains the magic for more
details. Later on, if nobody takes up the task, Cody might resume it, but for
now there is more important work to do so that the next contest can run.
-Cody also added the [try.sh](/1994/schnitzi/try.sh) and
-[try.alt.sh](/1994/schnitzi/try.alt.sh) scripts.
+Cody also added the [try.sh](1994/schnitzi/try.sh) and
+[try.alt.sh](1994/schnitzi/try.alt.sh) scripts.
-## [1994/shapiro](/1994/shapiro/shapiro.c) ([README.md](/1994/shapiro/README.md]))
+## [1994/shapiro](1994/shapiro/shapiro.c) ([index.html](1994/shapiro/index.html]))
[Cody](#cody) fixed a bug on systems where `EOF != -1`. The problem is that `getc()` and
the related functions do not return `-1` on EOF or error but rather `EOF`.
@@ -1955,21 +1955,21 @@ assumed that `getc()` will return `-1` on EOF or error, not `EOF`. On systems
where `EOF != -1` it could result in an infinite loop.
For an interesting problem that occurred here and what was done to solve it,
-check the [bugs.md](bugs.md) file.
+check the [bugs.html](bugs.html) file.
-## [1994/smr](/1994/smr/smr.c) ([README.md](/1994/smr/README.md]))
+## [1994/smr](1994/smr/smr.c) ([index.html](1994/smr/index.html]))
-[Cody](#cody) added the [try.sh](/1994/smr/try.sh) script.
+[Cody](#cody) added the [try.sh](1994/smr/try.sh) script.
-## [1994/tvr](/1994/tvr/tvr.c) ([README.md](/1994/tvr/README.md]))
+## [1994/tvr](1994/tvr/tvr.c) ([index.html](1994/tvr/index.html]))
[Cody](#cody) added the try scripts, four total, colour and black and white
pairs for the original entry and the alt code. These scripts are
-[try.color.sh](/1994/tvr/try.color.sh), [try.bw.sh](/1994/tvr/try.bw.sh),
-[try.alt.color.sh](/1994/tvr/try.alt.color.sh) and
-[try.alt.bw.sh](/1994/tvr/try.alt.bw.sh), respectively. The scripts go through
+[try.color.sh](1994/tvr/try.color.sh), [try.bw.sh](1994/tvr/try.bw.sh),
+[try.alt.color.sh](1994/tvr/try.alt.color.sh) and
+[try.alt.bw.sh](1994/tvr/try.alt.bw.sh), respectively. The scripts go through
each mode allowed with two sizes, 128 and 256, allowing one to quit or skip each
(given that there are a lot of invocations this seemed like a good idea).
@@ -1980,43 +1980,43 @@ more like the original entry this was done in the Makefile. The alt code was
also changed to use `fgets(3)`.
-## [1994/weisberg](/1994/weisberg/weisberg.c) ([README.md](/1994/weisberg/README.md]))
+## [1994/weisberg](1994/weisberg/weisberg.c) ([index.html](1994/weisberg/index.html]))
[Cody](#cody) changed the Makefile to make this program more user friendly and easier to
use with other tools as well by making the program output not a space after each
number but rather a newline.
-Cody also added the scripts [try.sh](/1994/weisberg/try.sh) and
-[primes.sh](/1994/weisberg/primes.sh). The `primes.sh` script is used by
+Cody also added the scripts [try.sh](1994/weisberg/try.sh) and
+[primes.sh](1994/weisberg/primes.sh). The `primes.sh` script is used by
`try.sh` and if both `primes(1)` and `rev(1)` are installed it will reverse the
lines of the `weisberg`, feeding it to `primes(1)`, showing those that are
primes. It only does the reversed output because the program actually prints
primes.
-## [1994/westley](/1994/westley/westley.c) ([README.md](/1994/westley/README.md]))
+## [1994/westley](1994/westley/westley.c) ([index.html](1994/westley/index.html]))
[Cody](#cody) converted the spoiler compiler options (provided by the author) to be
-compiler commands and added a script [try.sh](/1994/westley/try.sh) to
+compiler commands and added a script [try.sh](1994/westley/try.sh) to
automate the spoiler commands to make it easier to see the game in action from
start to finish.
Cody also added the alternate version that will look fine on terminals not set
-to 80 columns and the [try.alt.sh](/1994/westley/try.alt.sh) script to automate
-the play along the lines of the [try.sh](/1994/westley/try.sh) script.
+to 80 columns and the [try.alt.sh](1994/westley/try.alt.sh) script to automate
+the play along the lines of the [try.sh](1994/westley/try.sh) script.
# 1995
-## [1995/cdua](/1995/cdua/cdua.c) ([README.md](/1995/cdua/README.md]))
+## [1995/cdua](1995/cdua/cdua.c) ([index.html](1995/cdua/index.html]))
[Cody](#cody) fixed this so that it would work with macOS. Once it could compile it
additionally segfaulted under macOS which he also fixed.
-Cody also provided the [Alternate code](/1995/cdua/cdua.alt.c) for fun :-) ) (in
+Cody also provided the [Alternate code](1995/cdua/cdua.alt.c) for fun :-) ) (in
particular to make it easier to see the program do what it does in systems that
-are too fast ... if there is such a thing anyway :-) ). See the README.md for
+are too fast ... if there is such a thing anyway :-) ). See the index.html for
details on this.
Out of an abundance of caution with clang, Cody also added a second arg to
@@ -2027,47 +2027,47 @@ an error but it's entirely possible that they will eventually make the defect
function as the error message claims.
-## [1995/dodsond1](/1995/dodsond1/dodsond1.c) ([README.md](/1995/dodsond1/README.md]))
+## [1995/dodsond1](1995/dodsond1/dodsond1.c) ([index.html](1995/dodsond1/index.html]))
-[Cody](#cody) added the [try.sh](/1995/dodsond1/try.sh) script that uses the text file he
+[Cody](#cody) added the [try.sh](1995/dodsond1/try.sh) script that uses the text file he
provided which is input we suggested one try with the entry.
-## [1995/esde](/1995/esde/esde.c) ([README.md](/1995/esde/README.md]))
+## [1995/esde](1995/esde/esde.c) ([index.html](1995/esde/index.html]))
-[Cody](#cody) added the [try.sh](/1995/esde/try.sh) script.
+[Cody](#cody) added the [try.sh](1995/esde/try.sh) script.
-## [1995/garry](/1995/garry/garry.c) ([README.md](/1995/garry/README.md]))
+## [1995/garry](1995/garry/garry.c) ([index.html](1995/garry/index.html]))
[Cody](#cody) fixed the alt code so that it will compile with modern compilers. The
problem was a missing `int` for the `f` variable. He felt it was even more
important that it works because the layout does indeed look to him like a rat is
dropping core :-), something that the judges suggested.
-Cody also renamed `garry.test.sh` to [try.sh](/1995/garry/try.sh) and improved it
+Cody also renamed `garry.test.sh` to [try.sh](1995/garry/try.sh) and improved it
to to make sure the program is compiled before trying to use it as well as
adding a few enhancements. For the alt version he also added the
-[try.alt.sh](/1995/garry/try.alt.sh) script to use the alt version, though the
+[try.alt.sh](1995/garry/try.alt.sh) script to use the alt version, though the
alt version is not as important as alt code in other entries. In order to get
the paging to work right for the `garry.data` file leading blank lines had to be
added.
-## [1995/heathbar](/1995/heathbar/heathbar.c) ([README.md](/1995/heathbar/README.md]))
+## [1995/heathbar](1995/heathbar/heathbar.c) ([index.html](1995/heathbar/index.html]))
-[Cody](#cody) added the [try.sh](/1995/heathbar/try.sh) script.
+[Cody](#cody) added the [try.sh](1995/heathbar/try.sh) script.
-## [1995/leo](/1995/leo/leo.c) ([README.md](/1995/leo/README.md]))
+## [1995/leo](1995/leo/leo.c) ([index.html](1995/leo/index.html]))
-[Cody](#cody) added the [try.sh](/1995/leo/try.sh) script.
+[Cody](#cody) added the [try.sh](1995/leo/try.sh) script.
At our change in how to deal with spoilers, Cody also uudecoded the spoiler provided
-by the author, putting it in [spoiler1.md](/1995/leo/spoiler1.md).
+by the author, putting it in [spoiler1.html](1995/leo/spoiler1.html).
-## [1995/makarios](/1995/makarios/makarios.c) ([README.md](/1995/makarios/README.md))
+## [1995/makarios](1995/makarios/makarios.c) ([index.html](1995/makarios/index.html))
[Cody](#cody) fixed this so that it will compile with versions of clang that has a defect
which only allows `main()` to have 0, 2 or 3 args. This is done by a new
@@ -2075,31 +2075,31 @@ function (`pain()` as it's annoying that clang is this way :-) ) that `main()`
calls which has the four args.
-## [1995/savastio](/1995/savastio/savastio.c) ([README.md](/1995/savastio/README.md]))
+## [1995/savastio](1995/savastio/savastio.c) ([index.html](1995/savastio/index.html]))
-[Cody](#cody) added the [try.sh](/1995/savastio/try.sh) script.
+[Cody](#cody) added the [try.sh](1995/savastio/try.sh) script.
-## [1995/schnitzi](/1995/schnitzi/schnitzi.c) ([README.md](/1995/schnitzi/README.md]))
+## [1995/schnitzi](1995/schnitzi/schnitzi.c) ([index.html](1995/schnitzi/index.html]))
-[Cody](#cody) added the [try.sh](/1995/schnitzi/try.sh) script.
+[Cody](#cody) added the [try.sh](1995/schnitzi/try.sh) script.
-## [1995/vanschnitz](/1995/vanschnitz/vanschnitz.c) ([README.md](/1995/vanschnitz/README.md))
+## [1995/vanschnitz](1995/vanschnitz/vanschnitz.c) ([index.html](1995/vanschnitz/index.html))
[Cody](#cody) added the authors' [spoiler as a C
-file](/1995/vanschnitz/vanschnitz.alt.c) as in 2023 we have decided that in most
+file](1995/vanschnitz/vanschnitz.alt.c) as in 2023 we have decided that in most
cases all the code should be available for the wider audience, without having to
extract it. The exception is when the files are created by the entry or the
entry decrypts the text or something like that.
-Cody also added the [try.sh](/1995/vanschnitz/try.sh) script.
+Cody also added the [try.sh](1995/vanschnitz/try.sh) script.
# 1996
-## [1996/august](/1996/august/august.c) ([README.md](/1996/august/README.md]))
+## [1996/august](1996/august/august.c) ([index.html](1996/august/index.html]))
[Cody](#cody) fixed a segfault in this program that prevented it from working right and
also fixed an infinite loop in the try commands.
@@ -2110,12 +2110,12 @@ with say `sed(1)` (like `sed -i'' '/^#/d' august.oc` which has been added to
both the remarks and the `try.sh` script noted below) the code can proceed. This
problem existed in macOS.
-Cody also added the [try.sh](/1996/august/try.sh) script that runs all the
+Cody also added the [try.sh](1996/august/try.sh) script that runs all the
commands that were given by the judges in the try section, with the fix above
applied.
-## [1996/dalbec](/1996/dalbec/dalbec.c) ([README.md](/1996/dalbec/README.md]))
+## [1996/dalbec](1996/dalbec/dalbec.c) ([index.html](1996/dalbec/index.html]))
[Cody](#cody) proposed a fix for this to compile with clang and Landon implemented it
after some discussion (though Cody changed the function name). The reason Cody
@@ -2131,12 +2131,12 @@ number is printed on a line by itself rather than having a long string of
numbers on the same line. This was not put in an alternate version but perhaps
it should be.
-Cody also added the [try.sh](/1996/dalbec/try.sh) script.
+Cody also added the [try.sh](1996/dalbec/try.sh) script.
-## [1996/eldby](/1996/eldby/eldby.c) ([README.md](/1996/eldby/README.md]))
+## [1996/eldby](1996/eldby/eldby.c) ([index.html](1996/eldby/index.html]))
-[Cody](#cody) provided an [alternate version](/1996/eldby/eldby.alt.c) which uses
+[Cody](#cody) provided an [alternate version](1996/eldby/eldby.alt.c) which uses
`usleep()` in between writing the output to make it easier to see what is going
on with faster systems and importantly also for those who are sensitive to text
flashing by rapidly (it affects him too but he also thinks it moves too fast
@@ -2144,13 +2144,13 @@ nowadays anyway). We recommend that you try the alternate version first due to
these reasons.
-## [1996/gandalf](/1996/gandalf/gandalf.c) ([README.md](/1996/gandalf/README.md]))
+## [1996/gandalf](1996/gandalf/gandalf.c) ([index.html](1996/gandalf/index.html]))
[Cody](#cody) fixed this to compile and work with modern systems. As he loved the
references in the code that could not compile he just commented out as little as
possible to get this to compile.
-Cody also added the rather useful [try.sh](/1996/gandalf/try.sh) script to
+Cody also added the rather useful [try.sh](1996/gandalf/try.sh) script to
really demonstrate the different ways of running the program ends up showing
either different output or the same output that we briefly pointed out.
@@ -2158,12 +2158,12 @@ BTW: it is perilous to try the patience of
[Gandalf](https://www.glyphweb.com/arda/g/gandalf.html). Go ahead, try it! :-)
-## [1996/huffman](/1996/huffman/huffman.c) ([README.md](/1996/huffman/README.md]))
+## [1996/huffman](1996/huffman/huffman.c) ([index.html](1996/huffman/index.html]))
-[Cody](#cody) added the [try.sh](/1996/huffman/try.sh) script.
+[Cody](#cody) added the [try.sh](1996/huffman/try.sh) script.
-## [1996/jonth](/1996/jonth/jonth.c) ([README.md](/1996/jonth/README.md]))
+## [1996/jonth](1996/jonth/jonth.c) ([index.html](1996/jonth/index.html]))
[Cody](#cody) fixed this to not segfault under macOS. The problem was that the function
pointer `w`, which points to `XCreateWindow()`, did not specify the parameters of
@@ -2172,14 +2172,14 @@ the function in the pointer assignment.
NOTE: if there is no X server running this program will still crash.
-## [1996/rcm](/1996/rcm/rcm.c) ([README.md](/1996/rcm/README.md]))
+## [1996/rcm](1996/rcm/rcm.c) ([index.html](1996/rcm/index.html]))
-[Cody](#cody) added the [try.sh](/1996/rcm/try.sh) script.
+[Cody](#cody) added the [try.sh](1996/rcm/try.sh) script.
-## [1996/schweikh1](/1996/schweikh1/schweikh1.c) ([README.md](/1996/schweikh1/README.md]))
+## [1996/schweikh1](1996/schweikh1/schweikh1.c) ([index.html](1996/schweikh1/index.html]))
-[Cody](#cody) added the [try.sh](/1996/schweikh1/try.sh) script.
+[Cody](#cody) added the [try.sh](1996/schweikh1/try.sh) script.
The author stated that `-I/usr/include` is needed by gcc in Solaris because
`errno.h` has two identical extern declarations of `errno`. That leads to an
@@ -2190,22 +2190,22 @@ on other systems (the other file is
the Makefile despite the fact that very few probably use Solaris nowadays.
-## [1996/schweikh2](/1996/schweikh2/schweikh2.c) ([README.md](/1996/schweikh2/README.md]))
+## [1996/schweikh2](1996/schweikh2/schweikh2.c) ([index.html](1996/schweikh2/index.html]))
-[Cody](#cody) added the [try.sh](/1996/schweikh2/try.sh) script with a few commands to try
+[Cody](#cody) added the [try.sh](1996/schweikh2/try.sh) script with a few commands to try
along with a shorter version of something the author suggested one try (it is
suggested that one try the longer version too but it will run in an infinite
loop so having it in a script is less desired).
-## [1996/schweikh3](/1996/schweikh3/schweikh3.c) ([README.md](/1996/schweikh3/README.md]))
+## [1996/schweikh3](1996/schweikh3/schweikh3.c) ([index.html](1996/schweikh3/index.html]))
[Cody](#cody) updated the Makefile so that if it fails to compile it will try he
method suggested for SunOS rather than having to update the Makefile manually or
running a more complicated command: now one can just run `make`.
-## [1996/westley](/1996/westley/westley.c) ([README.md](/1996/westley/README.md]))
+## [1996/westley](1996/westley/westley.c) ([index.html](1996/westley/index.html]))
[Cody](#cody) fixed a segfault in this entry as well as it displaying environmental
variables. Although the scripts showed correct output, it somewhat lessened the
@@ -2214,12 +2214,12 @@ interspersed with the output of the program. With the fix they no longer have
this problem. If `argc < 5` (`argv[4]` is referenced) it will not do anything
and it will not segfault either - this was caused by the body of the for() loop
which is now empty (it doesn't appear to be needed at all at least modernly).
-Note that you should check the [westley.alt.c](/1996/westley/westley.alt.c) file
+Note that you should check the [westley.alt.c](1996/westley/westley.alt.c) file
when reading the author's comments. To see how to use the original, see the
-README.md file.
+index.html file.
-Cody also added the two scripts, [try.sh](/1996/westley/try.sh) and
-[try.alt.sh](/1996/westley/try.alt.sh) to automate showing the different
+Cody also added the two scripts, [try.sh](1996/westley/try.sh) and
+[try.alt.sh](1996/westley/try.alt.sh) to automate showing the different
clocks, both with the fixed version and the original (alt) version.
Also, to fix any potential problem with displaying in GitHub the scripts
@@ -2229,14 +2229,14 @@ provided by the author, Cody added '.sh' to the `clock[1-3].sh` scripts.
# 1998
-## [1998/banks](/1998/banks/banks.c) ([README.md](/1998/banks/README.md]))
+## [1998/banks](1998/banks/banks.c) ([index.html](1998/banks/index.html]))
[Cody](#cody) improved the Makefile to allow for easier redefining the control
keys and time step that the author set up.
Cody also set up the Makefile to have an alt build (using the same code) for those
who do not have a page up or page down key and added the
-[keysym.h](/1998/banks/keysym.h) header file as a reference for other keys one
+[keysym.h](1998/banks/keysym.h) header file as a reference for other keys one
can use if they wish to modify the controls. One can certainly do this even if
they do have page up and page down but this gives a default for those who don't
have them like with Macs. The alt build hard codes the page up and page down
@@ -2244,7 +2244,7 @@ alternatives because not doing so would overly complicate both builds and since
you can configure them all in both builds it shouldn't matter.
-## [1998/bas1](/1998/bas1/bas1.c) ([README.md](/1998/bas1/README.md]))
+## [1998/bas1](1998/bas1/bas1.c) ([index.html](1998/bas1/index.html]))
[Cody](#cody), out of an abundance of caution, added a second arg to `main()` as some
versions of clang whine about the number of args on top of what type they are
@@ -2253,27 +2253,27 @@ appears that they do allow 1 but for instance 4 is not allowed. However as it's
quite possible they will 'fix' this defect it would be better to have this not
be a problem at such a time.
-Cody also added the [bas1.sh](/1998/bas1/bas1.sh) script to simplify running the
+Cody also added the [bas1.sh](1998/bas1/bas1.sh) script to simplify running the
program.
-## [1998/bas2](/1998/bas2/bas2.c) ([README.md](/1998/bas2/README.md]))
+## [1998/bas2](1998/bas2/bas2.c) ([index.html](1998/bas2/index.html]))
-[Cody](#cody) added the [try.sh](/1998/bas2/try.sh) script which runs some default actions
+[Cody](#cody) added the [try.sh](1998/bas2/try.sh) script which runs some default actions
as well as allowing one to pass in different file names or strings.
-## [1998/chaos](/1998/chaos/chaos.c) ([README.md](/1998/chaos/README.md]))
+## [1998/chaos](1998/chaos/chaos.c) ([index.html](1998/chaos/index.html]))
[Cody](#cody) added a call to `endwin()` to restore terminal sanity (echo etc.) when
exiting the program (in both versions).
-Cody also added the [try.sh](/1998/chaos/try.sh) script that runs the program on
+Cody also added the [try.sh](1998/chaos/try.sh) script that runs the program on
all the data files, giving instructions on how to rotate and zoom in and out,
prior to each run.
-## [1998/df](/1998/df/df.c) ([README.md](/1998/df/README.md]))
+## [1998/df](1998/df/df.c) ([index.html](1998/df/index.html]))
[Cody](#cody) changed a `int *` used for `fopen(3)` to be a `FILE *` to be more correct
and prevent any possible problems in some systems (which has happened).
@@ -2283,37 +2283,37 @@ the old style of `main()` args so that it reads `i,love_unix` more naturally,
and by changing the `typedef int lint` to be `typedef int _int`. See the code
for why this has to be done this way.
-Cody also added the [try.sh](/1998/df/try.sh) script which runs the program in a
+Cody also added the [try.sh](1998/df/try.sh) script which runs the program in a
loop until one hits `q` (or `Q`) or sends intr/ctrl-c. He also proposed there's
a way to cheat very easily. Can you figure out how?
-## [1998/dlowe](/1998/dlowe/dlowe.c) ([README.md](/1998/dlowe/README.md]))
+## [1998/dlowe](1998/dlowe/dlowe.c) ([index.html](1998/dlowe/index.html]))
[Cody](#cody) made the program more portable by changing the void return type of `main()`
to be `int` (in both versions).
-Cody added the scripts [try.sh](/1998/dlowe/try.sh),
-[try.alt.sh](/1998/dlowe/try.alt.sh), [pootify.sh](/1998/dlowe/pootify.sh) and
-[pootify.cgi.sh](/1998/dlowe/pootify.cgi.sh) for a fun example use of the
+Cody added the scripts [try.sh](1998/dlowe/try.sh),
+[try.alt.sh](1998/dlowe/try.alt.sh), [pootify.sh](1998/dlowe/pootify.sh) and
+[pootify.cgi.sh](1998/dlowe/pootify.cgi.sh) for a fun example use of the
program, a local pootifier of web pages and a CGI pootifier. See [historical
-remarks](/1998/dlowe/README.md#historical-remarks) for more details on the
+remarks](1998/dlowe/index.html#historical-remarks) for more details on the
pootify scripts.
-## [1998/dloweneil](/1998/dloweneil/dloweneil.c) ([README.md](/1998/dloweneil/README.md]))
+## [1998/dloweneil](1998/dloweneil/dloweneil.c) ([index.html](1998/dloweneil/index.html]))
-[Cody](#cody) added [alt code](/1998/dloweneil/dloweneil.alt.c) which has vi(m) movement
+[Cody](#cody) added [alt code](1998/dloweneil/dloweneil.alt.c) which has vi(m) movement
(in addition to the other keys except for dropping it's not `d` but `j` or
space) keys as well as allowing one to quit the game.
-## [1998/dorssel](/1998/dorssel/dorssel.c) ([README.md](/1998/dorssel/README.md]))
+## [1998/dorssel](1998/dorssel/dorssel.c) ([index.html](1998/dorssel/index.html]))
-[Cody](#cody) added the [try.sh](/1998/dorssel/try.sh) script.
+[Cody](#cody) added the [try.sh](1998/dorssel/try.sh) script.
-## [1998/fanf](/1998/fanf/fanf.c) ([README.md](/1998/fanf/README.md))
+## [1998/fanf](1998/fanf/fanf.c) ([index.html](1998/fanf/index.html))
[Cody](#cody) fixed this to compile. The problem was the intermediate steps to get to the
final code that is compiled. The code is now what it essentially becomes when
@@ -2330,11 +2330,11 @@ code look like the original with just an extra arg.
In some versions of clang `-Wno-int-conversion` had to be added to the
`CSILENCE` variable of the Makefile.
-Cody also added the [try.sh](/1998/fanf/try.sh) script to show the output of some
+Cody also added the [try.sh](1998/fanf/try.sh) script to show the output of some
of the expressions that we selected.
-## [1998/schnitzi](/1998/schnitzi/schnitzi.c) ([README.md](/1998/schnitzi/README.md]))
+## [1998/schnitzi](1998/schnitzi/schnitzi.c) ([index.html](1998/schnitzi/index.html]))
[Cody](#cody) fixed invalid data types which prevented this entry from working, causing a
segfault. This showed itself in two parts which required two fixes, one for
@@ -2355,11 +2355,11 @@ doing:
((V[1]&&((atoi(V[1])>0&&atoi(V[1])<27))||(exit(1),1)));
```
-Cody also added the [try.sh](/1998/schnitzi/try.sh) script to help users try the
+Cody also added the [try.sh](1998/schnitzi/try.sh) script to help users try the
commands that we recommended as well as some added by him.
-## [1998/schweikh1](/1998/schweikh1/schweikh1.c) ([README.md](/1998/schweikh1/README.md]))
+## [1998/schweikh1](1998/schweikh1/schweikh1.c) ([index.html](1998/schweikh1/index.html]))
[Cody](#cody) fixed this for modern systems (it did not work at all) and added an
alternate version that works with macOS. Cody also made it ever so slightly more
@@ -2368,7 +2368,7 @@ this not only lets it work with systems without `gcc` (though in macOS it does
exist but is actually `clang`) as `cc` always should.
Getting this entry to work was quite complicated but is also very interesting.
-To see how the macOS fixes works, see the [macos.md](/1998/schweikh1/macos.md)
+To see how the macOS fixes works, see the [macos.html](1998/schweikh1/macos.html)
file but do note that this includes spoilers for both versions! The fixes to get
it to work at all are described next.
@@ -2414,10 +2414,10 @@ MACRO value` it will work, assuming that compiler can run, of course.
Cody also added the perl script that the author provided that they used to
compute the character count in the code according to the contest rules of 1998
-in the file [charcount.pl](/1998/schweikh1/charcount.pl).
+in the file [charcount.pl](1998/schweikh1/charcount.pl).
-## [1998/schweikh2](/1998/schweikh2/schweikh2.c) ([README.md](/1998/schweikh2/README.md]))
+## [1998/schweikh2](1998/schweikh2/schweikh2.c) ([index.html](1998/schweikh2/index.html]))
[Cody](#cody) fixed the code to not trigger an internal compiler error in gcc:
@@ -2428,21 +2428,21 @@ in the file [charcount.pl](/1998/schweikh1/charcount.pl).
:12:19: internal compiler error: invalid built-in macro "__FILE__"
```
-The string `"01\015"` had to be changed to `ONE(O(/1,1,2,6,0,6))`. For an
+The string `"01\015"` had to be changed to `ONE(O(1,1,2,6,0,6))`. For an
interesting historical explanation and further details and fun, see the
-[historical remarks](/1998/schweikh2/README.md#historical-remarks) in the
-README.md.
+[historical remarks](1998/schweikh2/index.html#historical-remarks) in the
+index.html.
Cody also added an `int` after `register` in `main()` in case clang decides to
have a problem with that in the future which is not entirely out of the
question.
-Cody also added the [try.sh](/1998/schweikh2/try.sh) script.
+Cody also added the [try.sh](1998/schweikh2/try.sh) script.
-## [1998/schweikh3](/1998/schweikh3/schweikh3.c) ([README.md](/1998/schweikh3/README.md]))
+## [1998/schweikh3](1998/schweikh3/schweikh3.c) ([index.html](1998/schweikh3/index.html]))
-[Cody](#cody) added the [alternate code](/1998/schweikh3/README.md#alternate-code) which allows one
+[Cody](#cody) added the [alternate code](1998/schweikh3/index.html#alternate-code) which allows one
to reconfigure the size constant in the rare case that the author wrote about
occurs.
@@ -2451,7 +2451,7 @@ of clang say that `main()` can only have 0, 2 or 3 args. These versions accept 1
arg but it is entirely possible that they fix this so this should prevent it
from breaking if that happens.
-Cody added the [try.sh](/1998/schweikh3/try.sh) script to make it easier to try
+Cody added the [try.sh](1998/schweikh3/try.sh) script to make it easier to try
the commands that we suggested. One command was not added, that of the to use
command.
@@ -2468,14 +2468,14 @@ the same size (on systems where `sizeof (char *) == 4`, or `4096` when
```
so Cody changed the constant to a macro in the Makefile called `SZ` so one can
-more easily do this (though it indeed seems highly unlikely). See the README.md
+more easily do this (though it indeed seems highly unlikely). See the index.html
for more details.
There actually is a web page for the tool and this was added to the author
information for the entry. It has not been added to any JSON file.
-## [1998/tomtorfs](/1998/tomtorfs/tomtorfs.c) ([README.md](/1998/tomtorfs/README.md]))
+## [1998/tomtorfs](1998/tomtorfs/tomtorfs.c) ([index.html](1998/tomtorfs/index.html]))
[Cody](#cody) fixed the assumption that `EOF` is `-1` (the author noted that it assumes
it is `-1` and it's indeed a valid concern as the standard only guarantees that
@@ -2486,68 +2486,68 @@ the `EXIT_FAILURE` change was done by redefining `exit(3)` to be `exit(a) return
EXIT_FAILURE` and `1` was passed to it (`return` was used because the original
program had `return 1`).
-Cody also added the [try.sh](/1998/tomtorfs/try.sh) script to try out a few
+Cody also added the [try.sh](1998/tomtorfs/try.sh) script to try out a few
commands that we recommended.
# 2000
-## [2000/anderson](/2000/anderson/anderson.c) ([README.md](/2000/anderson/README.md]))
+## [2000/anderson](2000/anderson/anderson.c) ([index.html](2000/anderson/index.html]))
[Cody](#cody) changed this entry to use `fgets(3)` instead of `gets(3)`. This involved
changing the `K` arg to `gets(3)` to `&K` in `fgets(3)`.
-Cody also added the [try.sh](/2000/anderson/try.sh) script.
+Cody also added the [try.sh](2000/anderson/try.sh) script.
-## [2000/bmeyer](/2000/bmeyer/bmeyer.c) ([README.md](/2000/bmeyer/README.md]))
+## [2000/bmeyer](2000/bmeyer/bmeyer.c) ([index.html](2000/bmeyer/index.html]))
-[Cody](#cody) added the [try.sh](/2000/bmeyer/try.sh) script with some improvements to the
+[Cody](#cody) added the [try.sh](2000/bmeyer/try.sh) script with some improvements to the
commands we recommended like not assuming the number of columns one has in their
terminal.
-## [2000/briddlebane](/2000/briddlebane/briddlebane.c) ([README.md](/2000/briddlebane/README.md]))
+## [2000/briddlebane](2000/briddlebane/briddlebane.c) ([index.html](2000/briddlebane/index.html]))
[Cody](#cody) fixed this to compile in systems that require one to explicitly link in
`libm`.
-Cody also added the [try.sh](/2000/briddlebane/try.sh) script for those who are
+Cody also added the [try.sh](2000/briddlebane/try.sh) script for those who are
feeling a bit too confident, cocky or even happy :-)
-## [2000/dhyang](/2000/dhyang/dhyang.c) ([README.md](/2000/dhyang/README.md]))
+## [2000/dhyang](2000/dhyang/dhyang.c) ([index.html](2000/dhyang/index.html]))
[Cody](#cody) made this more portable by changing the `void main` to `int main`.
-He also added the [try.sh](/2000/dhyang/try.sh) script.
+He also added the [try.sh](2000/dhyang/try.sh) script.
-## [2000/dlowe](/2000/dlowe/dlowe.c) ([README.md](/2000/dlowe/README.md]))
+## [2000/dlowe](2000/dlowe/dlowe.c) ([index.html](2000/dlowe/index.html]))
[Cody](#cody) fixed this to compile with more recent perl versions; the symbol that's now
`PL_na` was once `na`. He notes that this entry crashes under macOS but it works
under Linux after this change.
-Cody also added the [try.sh](/2000/dlowe/try.sh) script.
+Cody also added the [try.sh](2000/dlowe/try.sh) script.
-## [2000/jarijyrki](/2000/jarijyrki/jarijyrki.c) ([README.md](/2000/jarijyrki/README.md]))
+## [2000/jarijyrki](2000/jarijyrki/jarijyrki.c) ([index.html](2000/jarijyrki/index.html]))
[Cody](#cody) made it easier to compile this in some cases by adding `X11/` to the
includes of `Xlib.h` and `keysym.h`.
-## [2000/natori](/2000/natori/natori.c) ([README.md](/2000/natori/README.md]))
+## [2000/natori](2000/natori/natori.c) ([index.html](2000/natori/index.html]))
[Cody](#cody) fixed this for modern compilers. Depending on the compiler it would either
segfault when run or not compile at all (gcc and clang respectively).
Cody also provided alternate code that supports the southern hemisphere.
-Cody also provided the [try.sh](/2000/natori/try.sh) and
-[try.alt.sh](/2000/natori/try.alt.sh) scripts that show the Moon phase in
+Cody also provided the [try.sh](2000/natori/try.sh) and
+[try.alt.sh](2000/natori/try.alt.sh) scripts that show the Moon phase in
artistic ways. It is recommended one try both a number of times in a row on
different days (that is run `./try.sh` several times in a row a few days apart,
until you see all the Moon phases, and run `./try.alt.sh` a few times in a row a
@@ -2564,19 +2564,19 @@ variable which although works it is incongruent with the other Makefiles and is
more confusing (even if not confusing).
-## [2000/primenum](/2000/primenum/primenum.c) ([README.md](/2000/primenum/README.md]))
+## [2000/primenum](2000/primenum/primenum.c) ([index.html](2000/primenum/index.html]))
[Cody](#cody) made this more portable by changing the `void main` to `int main`.
-Cody also added the [try.sh](/2000/primenum/try.sh) script.
+Cody also added the [try.sh](2000/primenum/try.sh) script.
-## [2000/rince](/2000/rince/rince.c) ([README.md](/2000/rince/README.md]))
+## [2000/rince](2000/rince/rince.c) ([index.html](2000/rince/index.html]))
-[Cody](#cody) added the [try.sh](/2000/rince/try.sh) script.
+[Cody](#cody) added the [try.sh](2000/rince/try.sh) script.
-## [2000/robison](/2000/robison/robison.c) ([README.md](/2000/robison/README.md]))
+## [2000/robison](2000/robison/robison.c) ([index.html](2000/robison/index.html]))
[Cody](#cody) fixed an infinite loop that occurred if invalid input was entered, flooding
the screen with:
@@ -2590,12 +2590,12 @@ on it to assign to the `int`s, much like with `1987/lievaart`. The strings are
`char[5]` and the `%` specifier is `%4s` which is enough for the game.
-## [2000/schneiderwent](/2000/schneiderwent/schneiderwent.c) ([README.md](/2000/schneiderwent/README.md]))
+## [2000/schneiderwent](2000/schneiderwent/schneiderwent.c) ([index.html](2000/schneiderwent/index.html]))
-[Cody](#cody) added the [try.sh](/2000/schneiderwent/try.sh) script.
+[Cody](#cody) added the [try.sh](2000/schneiderwent/try.sh) script.
-## [2000/thadgavin](/2000/thadgavin/thadgavin.c) ([README.md](/2000/thadgavin/README.md]))
+## [2000/thadgavin](2000/thadgavin/thadgavin.c) ([index.html](2000/thadgavin/index.html]))
[Cody](#cody) fixed the code and added an appropriate make rule so that the
[SDL](https://www.libsdl.org) version works independent from the curses version
@@ -2633,32 +2633,32 @@ Thus main() was changed to 'int main(int argc, char **argv)'.
Cody also added an alternate version to help see what is going on in more modern
systems and in case you're sensitive to rapidly moving swirling. See the
-README.md for details on that. Note that this alternate version only will impact
+index.html for details on that. Note that this alternate version only will impact
the curses and the SDL versions as Cody does not have a DOS system to test the
other version in.
-## [2000/tomx](/2000/tomx/tomx.c) ([README.md](/2000/tomx/README.md]))
+## [2000/tomx](2000/tomx/tomx.c) ([index.html](2000/tomx/index.html]))
-[Cody](#cody) added the [alt code](/2000/tomx/README.md#alternate-code) based on the
+[Cody](#cody) added the [alt code](2000/tomx/index.html#alternate-code) based on the
author's remarks with a fix for modern systems and he also added the two
-scripts, [try.sh](/2000/tomx/try.sh) and [try.alt.sh](/2000/tomx/try.alt.sh) for
+scripts, [try.sh](2000/tomx/try.sh) and [try.alt.sh](2000/tomx/try.alt.sh) for
the main code and the alt code respectively.
-And although the scripts do `chmod +x` on the source code (see the README.md for
+And although the scripts do `chmod +x` on the source code (see the index.html for
details) the source code is now executable by default.
# 2001
-## [2001/anonymous](/2001/anonymous/anonymous.c) ([README.md](/2001/anonymous/README.md]))
+## [2001/anonymous](2001/anonymous/anonymous.c) ([index.html](2001/anonymous/index.html]))
[Cody](#cody) fixed both the supplementary program and the program itself (both of which
segfaulted and once that was fixed only the binary was modified; it was not run
but according to the author's remarks it should be executed). He managed to do
this with Linux but it will not work with any system that does not allow one to
-compile 32-bit ELF binaries. See [bugs.md](/bugs.md#2001anonymous-readmemd) for
+compile 32-bit ELF binaries. See [bugs.html](bugs.html#2001anonymous-readmemd) for
why this is; _this is **not** a bug, it's a feature_ inherent in what it does!
The following had to be done to fix this:
@@ -2669,7 +2669,7 @@ this prevented `main()` from entering an infinite recursive loop.
Without these it would crash and prevent modification of the 32-bit
[ELF](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format) (not elf :-) )
-binary. But again see [bugs.md](/bugs.md) here.
+binary. But again see [bugs.html](bugs.html) here.
These also had to be done:
@@ -2733,16 +2733,16 @@ Cody also added a [program](anonymous.bed.c) like [anonymous.ten.c](anonymous.te
[Ten Green Bottles](https://en.wikipedia.org/wiki/Ten_Green_Bottles) but which
sings [Ten in the Bed](https://allnurseryrhymes.com/ten-in-the-bed/) instead.
-As well he added the [try.sh](/2001/anonymous/try.sh) so that one can
+As well he added the [try.sh](2001/anonymous/try.sh) so that one can
attempt to use the program as it was designed but if compiling as 32-bit fails
it will at least run the supplementary program as a 64-bit program directly.
-## [2001/bellard](/2001/bellard/bellard.c) ([README.md](/2001/bellard/README.md]))
+## [2001/bellard](2001/bellard/bellard.c) ([index.html](2001/bellard/index.html]))
[Cody](#cody) fixed this to compile with clang but according to the author this will not
work without i386 Linux. It generates i386 32-bit code (not bytecode) but
-unfortunately it will not work without i386 Linux. See [bugs.md](/bugs.md).
+unfortunately it will not work without i386 Linux. See [bugs.html](bugs.html).
Cody fixed an earlier segfault so that it can at least now open the file should
you have an i386 Linux machine (it can open it in other platforms too, of
@@ -2754,7 +2754,7 @@ case of `main()` this was not possible.
compilers besides what Cody did.
Cody entirely fixed the [supplementary
-bellard.otccex.c](/2001/bellard/bellard.otccex.c) so it does not segfault and
+bellard.otccex.c](2001/bellard/bellard.otccex.c) so it does not segfault and
works as well (it did not work at all). The main problem was that some ints were
being used as pointers. This includes, for example, an int used as a `char *`,
an int used as a function pointer and an int to access `argv` as well as there
@@ -2784,7 +2784,7 @@ compiler that does not support this would not work. Thus we use the modification
by Yusuke.
-## [2001/cheong](/2001/cheong/cheong.c) ([README.md](/2001/cheong/README.md]))
+## [2001/cheong](2001/cheong/cheong.c) ([index.html](2001/cheong/index.html]))
[Cody](#cody) fixed this to work with clang by adding another function that is allowed to
have a third arg as an int, not a `char **`. He chose `pain()` because it's a four
@@ -2792,12 +2792,12 @@ letter word that would match the format and because it's pain that clang forces
this. :-) This fix makes a point of the author's notes on portability no longer
valid, BTW.
-Cody also added the [try.sh](/2001/cheong/try.sh) script.
+Cody also added the [try.sh](2001/cheong/try.sh) script.
He also fixed it to check the number of args.
-## [2001/coupard](/2001/coupard/coupard.c) ([README.md](/2001/coupard/README.md]))
+## [2001/coupard](2001/coupard/coupard.c) ([index.html](2001/coupard/index.html]))
[Cody](#cody) added a value to `return` in `main()` to make it more portable.
@@ -2822,13 +2822,13 @@ the original.
[Yusuke](#yusuke) provided a proper command line for those without `/dev/audio`
or `/dev/sound/dsp` (which is most everyone nowadays, it seems, and especially
those with macOS) (to do with sound; see his
-[/2013/endoh3/README.md](/2013/endoh3/README.md) entry where he also refers to
+[/2013/endoh3/index.html](2013/endoh3/index.html) entry where he also refers to
sound devices in macOS).
-Cody added the [try.sh](/2001/coupard/try.sh).
+Cody added the [try.sh](2001/coupard/try.sh).
-## [2001/ctk](/2001/ctk/ctk.c) ([README.md](/2001/ctk/README.md]))
+## [2001/ctk](2001/ctk/ctk.c) ([index.html](2001/ctk/index.html]))
The ANSI escape codes were no longer valid but [Yusuke](#yusuke) provided a patch to fix
the ANSI escape codes. This works with both Linux and macOS.
@@ -2838,32 +2838,32 @@ etc.) after exiting even if you don't press 'q', if you crash or if you kill the
program prematurely. This was done by adding an explicit call to `e()` at the
end of `main()`.
-Cody also added the [alt code](/2001/ctk/README.md#alternate-code) that adds
+Cody also added the [alt code](2001/ctk/index.html#alternate-code) that adds
vi(m) movement keys.
-## [2001/dgbeards](/2001/dgbeards/dgbeards.c) ([README.md](/2001/dgbeards/README.md]))
+## [2001/dgbeards](2001/dgbeards/dgbeards.c) ([index.html](2001/dgbeards/index.html]))
The author provided two changes: one to speed it up and one to make it not crash
on losing. [Cody](#cody) provided an alternate version which does the former but he felt
-that the idea of crashing on losing (see the README.md for details on why that
+that the idea of crashing on losing (see the index.html for details on why that
might be) too good to get rid of so he kept that in.
He also points out that there is a way to get the computer to automatically lose
very quickly. Do you know what it is?
-## [2001/herrmann1](/2001/herrmann1/herrmann1.c) ([README.md](/2001/herrmann1/README.md]))
+## [2001/herrmann1](2001/herrmann1/herrmann1.c) ([index.html](2001/herrmann1/index.html]))
[Cody](#cody) fixed this so that the when compiling the code the program is not executed
itself by itself which just showed the usage string and exited. The [script
-herrmann1.sh](/2001/herrmann1/herrmann1.sh) is used to compile the program but
+herrmann1.sh](2001/herrmann1/herrmann1.sh) is used to compile the program but
it's also how you invoke the program.
-Cody provided the file [plus1.turing](/2001/herrmann1/plus1.turing) based on the
+Cody provided the file [plus1.turing](2001/herrmann1/plus1.turing) based on the
author's remarks.
-He also fixed the [script herrmann1.sh](/2001/herrmann1/herrmann1.sh) for
+He also fixed the [script herrmann1.sh](2001/herrmann1/herrmann1.sh) for
shellcheck. In particular there were quite a few:
@@ -2874,10 +2874,10 @@ SC2248 (style): Prefer double quoting even when variables don't contain special
errors/warnings.
-Cody also added the [try.sh](/2001/herrmann1/try.sh) script.
+Cody also added the [try.sh](2001/herrmann1/try.sh) script.
-## [2001/herrmann2](/2001/herrmann2/herrmann2.c) ([README.md](/2001/herrmann2/README.md]))
+## [2001/herrmann2](2001/herrmann2/herrmann2.c) ([index.html](2001/herrmann2/index.html]))
[Cody](#cody) fixed this to work with both 64-bit and 32-bit compilers by changing most
of the `int`s (all but that in `main(int ...)`) to `long`s. He also fixed it to
@@ -2885,14 +2885,14 @@ compile with clang by changing the args of main to be `int` and `char **`,
respectively, and changing specific references to the `argv` arg, casting to
`long` (was `int` but the 64-bit fix requires `long`) which was its old type.
-Cody also added the [try.sh](/2001/herrmann2/try.sh) script which might be more
+Cody also added the [try.sh](2001/herrmann2/try.sh) script which might be more
useful than any other place as the command to try is quite long with C code.
For some reason the original code was missing (presumingly because it had been
added to `.gitignore` by accident) but Cody restored it from the archive.
-## [2001/kev](/2001/kev/kev.c) ([README.md](/2001/kev/README.md]))
+## [2001/kev](2001/kev/kev.c) ([index.html](2001/kev/index.html]))
[Cody](#cody) improved the Makefile to allow one to more easily set up the port,
speed and `socket(2)` call that the author had set up.
@@ -2901,7 +2901,7 @@ Cody also slowed down the ball just a tad (it was already a `-D` macro that was
in the code) as it went too fast for the speed at which the paddles move even
when holding down the movement keys (but see below).
-Cody also provided an [alternate version](/2001/kev/kev.alt.c) which lets you use
+Cody also provided an [alternate version](2001/kev/kev.alt.c) which lets you use
the arrow keys on your keyboard instead of the more awkward '`,`' and '`.`'.
He updated both versions to have `#ifndef..#endif` pairs for the macros so one
@@ -2912,54 +2912,54 @@ line as 50 is what it used to be set to. This way it's more to the original but
without having to sacrifice playability by running `make`.
-## [2001/ollinger](/2001/ollinger/ollinger.c) ([README.md](/2001/ollinger/README.md))
+## [2001/ollinger](2001/ollinger/ollinger.c) ([index.html](2001/ollinger/index.html))
-[Cody](#cody) added the [try.sh](/2001/ollinger/try.sh) script.
+[Cody](#cody) added the [try.sh](2001/ollinger/try.sh) script.
Cody also fixed it to not crash if not enough args, exiting 1 instead. This was
done at a time where it was said to be a bug that should be fixed, for better or
worse.
-## [2001/schweikh](/2001/schweikh/schweikh.c) ([README.md](/2001/schweikh/README.md]))
+## [2001/schweikh](2001/schweikh/schweikh.c) ([index.html](2001/schweikh/index.html]))
[Cody](#cody) fixed this to not crash if not enough args as this was not documented by
the author. The other problems are documented so were not fixed. See
-README.md for details.
+index.html for details.
-Cody also added the [try.sh](/2001/schweikh/try.sh) script.
+Cody also added the [try.sh](2001/schweikh/try.sh) script.
-## [2001/westley](/2001/westley/westley.c) ([README.md](/2001/westley/README.md]))
+## [2001/westley](2001/westley/westley.c) ([index.html](2001/westley/index.html]))
[Cody](#cody) added the script [try.sh](2001/westley/try.sh) to automate a heap of commands
that we, the IOCCC judges, suggested, as well as some additional ones that he
thought would be fun. He also provided the sort and punch card versions,
-described in the README.md, based on the author's remarks.
+described in the index.html, based on the author's remarks.
# 2004
-## [2004/anonymous](/2004/anonymous/anonymous.c) ([README.md](/2004/anonymous/README.md]))
+## [2004/anonymous](2004/anonymous/anonymous.c) ([index.html](2004/anonymous/index.html]))
-[Cody](#cody) added the [try.sh](/2004/anonymous/try.sh) script.
+[Cody](#cody) added the [try.sh](2004/anonymous/try.sh) script.
-## [2004/arachnid](/2004/arachnid/arachnid.c) ([README.md](/2004/arachnid/README.md]))
+## [2004/arachnid](2004/arachnid/arachnid.c) ([index.html](2004/arachnid/index.html]))
-[Cody](#cody) added an [alternate version](/2004/arachnid/README.md#alternate-code) which
+[Cody](#cody) added an [alternate version](2004/arachnid/index.html#alternate-code) which
allows those like himself used to `h`, `j`, `k` and `l` movement keys to not get
lost. Non rogue players, vi users and Dvorak typists are invited to get lost (or
use the original version)! :-)
Cody also renamed the `arachnid.info` file to
-[arachnid.txt](/2004/arachnid/arachnid.txt) as it's not really an informative
+[arachnid.txt](2004/arachnid/arachnid.txt) as it's not really an informative
file but a maze file. The extension `.maz` was not chosen to help with (some?)
browsers knowing what to do with it.
-## [2004/burley](/2004/burley/burley.c) ([README.md](/2004/burley/README.md]))
+## [2004/burley](2004/burley/burley.c) ([index.html](2004/burley/index.html]))
[Cody](#cody) fixed this to compile with clang and also fixed it to work.
@@ -2988,36 +2988,36 @@ Finally the optimiser cannot be enabled so the compiler flags were changed for
this.
-## [2004/gavare](/2004/gavare/gavare.c) ([README.md](/2004/gavare/README.md]))
+## [2004/gavare](2004/gavare/gavare.c) ([index.html](2004/gavare/index.html]))
[Cody](#cody) added three different [alternate
-versions](/2004/gavare/README.md#alternate-code):
+versions](2004/gavare/index.html#alternate-code):
-- [gavare.alt.c](/2004/gavare/gavare.alt.c) allows you to change the image size
+- [gavare.alt.c](2004/gavare/gavare.alt.c) allows you to change the image size
and anti-alias setting at compile time.
-- [gavare.alt2.c](/2004/gavare/gavare.alt2.c) is like
-[gavare.alt.c](/2004/gavare/gavare.alt.c) but it should work for Windows as well
+- [gavare.alt2.c](2004/gavare/gavare.alt2.c) is like
+[gavare.alt.c](2004/gavare/gavare.alt.c) but it should work for Windows as well
(it sets binary mode on `stdout`).
-- [gavare.r3.c](/2004/gavare/gavare.r3.c) is the author's unobfuscated version
+- [gavare.r3.c](2004/gavare/gavare.r3.c) is the author's unobfuscated version
that was used during development, found on their [website about the
entry](https://gavare.se/ioccc/ioccc_gavare.c.html).
-## [2004/gavin](/2004/gavin/gavin.c) ([README.md](/2004/gavin/README.md]))
+## [2004/gavin](2004/gavin/gavin.c) ([index.html](2004/gavin/index.html]))
-[Cody](#cody) provided the [alt code](/2004/gavin/README.md#alternate-code) for
+[Cody](#cody) provided the [alt code](2004/gavin/index.html#alternate-code) for
those who want to use QEMU. The most important part of this is the macro `K` has
to be defined as `1`, not `0`.
[Yusuke](#yusuke) provided the `kernel` and `fs.tar` files which can be used if
you cannot normally use this entry. Instead of generating the files just use the
-files provided, found under the [img/](/2004/gavin/img/) directory. Note that
+files provided, found under the [img/](2004/gavin/img/) directory. Note that
the `img/fs.tar` extracts into `fs/` so you will have to fix the tarball; this
is done this way to prevent extraction from the entry directory overwriting the
files and causing `make clobber` to wipe some of them out.
-## [2004/hibachi](/2004/hibachi/hibachi.c) ([README.md](/2004/hibachi/README.md]))
+## [2004/hibachi](2004/hibachi/hibachi.c) ([index.html](2004/hibachi/index.html]))
[Cody](#cody) fixed a bunch of links in the index.html provided with the entry
(web server) that no longer exist or have changed in some other way (`https`
@@ -3026,15 +3026,15 @@ all that was necessary but at least one or two URLs required the Internet
Wayback Machine.
-## [2004/hoyle](/2004/hoyle/hoyle.c) ([README.md](/2004/hoyle/README.md]))
+## [2004/hoyle](2004/hoyle/hoyle.c) ([index.html](2004/hoyle/index.html]))
-[Cody](#cody) added the [try.sh](/2004/hoyle/try.sh) script.
+[Cody](#cody) added the [try.sh](2004/hoyle/try.sh) script.
-## [2004/jdalbec](/2004/jdalbec/jdalbec.c) ([README.md](/2004/jdalbec/README.md))
+## [2004/jdalbec](2004/jdalbec/jdalbec.c) ([index.html](2004/jdalbec/index.html))
[Cody](#cody) fixed this to compile with gcc (it worked with clang). The problem was the
-cpp being unable to parse the generated code (see the README.md for details) and
+cpp being unable to parse the generated code (see the index.html for details) and
this ended up with a number of errors like:
@@ -3057,16 +3057,16 @@ jdalbec.c:65:5: error: expected ';' before 'B'
and various other problems.
-Cody also added [alt code](/2004/jdalbec/README.md#alternate-code) which allows
+Cody also added [alt code](2004/jdalbec/index.html#alternate-code) which allows
one to control how many numbers after the `:` to print before printing a
newline, so that one can see the output a bit better (though for lines that have
a lot of numbers this will be harder to see).
-Finally Cody added [try.sh](/2004/jdalbec/try.sh) and
-[try.alt.sh](/2004/jdalbec/try.alt.sh) to demonstrate both versions.
+Finally Cody added [try.sh](2004/jdalbec/try.sh) and
+[try.alt.sh](2004/jdalbec/try.alt.sh) to demonstrate both versions.
-## [2004/kopczynski](/2004/kopczynski/kopczynski.c) ([README.md](/2004/kopczynski/README.md]))
+## [2004/kopczynski](2004/kopczynski/kopczynski.c) ([index.html](2004/kopczynski/index.html]))
[Cody](#cody) reported that this entry cannot be optimised by the compiler as otherwise
it will not work.
@@ -3075,28 +3075,28 @@ Cody, out of an abundance of caution for clang, added a second arg to `main()`
as some versions complain about the number of args and although they accept 1 it
is entirely possible it will eventually be that they don't.
-Cody also added the [try.sh](/2004/kopczynski/try.sh) script and various data
+Cody also added the [try.sh](2004/kopczynski/try.sh) script and various data
files: [kopczynski-a](kopczynski-a) to demonstrate what happens when art more
like a letter is fed to the program and the `kopczynski*-rev` files which are
the data files reversed with `rev(1)`. One had to be modified additionally to
get it to work, that being `kopczynski-10-rev`.
-## [2004/newbern](/2004/newbern/newbern.c) ([README.md](/2004/newbern/README.md]))
+## [2004/newbern](2004/newbern/newbern.c) ([index.html](2004/newbern/index.html]))
[Cody](#cody) and Landon individually fixed this to work with clang.
-Cody also added the [try.sh](/2004/newbern/try.sh) script (with a hidden feature
+Cody also added the [try.sh](2004/newbern/try.sh) script (with a hidden feature
that the author referred to and was documented by [Yusuke](#yusuke) though Cody
chose the word `IOCCC` instead of `AAA`).
-## [2004/omoikane](/2004/omoikane/omoikane.c) ([README.md](/2004/omoikane/README.md]))
+## [2004/omoikane](2004/omoikane/omoikane.c) ([index.html](2004/omoikane/index.html]))
-[Cody](#cody) added the [try.sh](/2004/omoikane/try.sh) script.
+[Cody](#cody) added the [try.sh](2004/omoikane/try.sh) script.
-## [2004/schnitzi](/2004/schnitzi/schnitzi.c) ([README.md](/2004/schnitzi/README.md]))
+## [2004/schnitzi](2004/schnitzi/schnitzi.c) ([index.html](2004/schnitzi/index.html]))
[Cody](#cody) made this use `fgets(3)`.
@@ -3104,15 +3104,15 @@ He also changed the time factor in the data files as the animations went too
fast in modern systems, especially the scrolling text of
[schnitzi.inp1](schnitzi.inp1).
-Cody also added the [try.sh](/2004/schnitzi/try.sh) script.
+Cody also added the [try.sh](2004/schnitzi/try.sh) script.
-## [2004/sds](/2004/sds/sds.c) ([README.md](/2004/sds/README.md))
+## [2004/sds](2004/sds/sds.c) ([index.html](2004/sds/index.html))
-[Cody](#cody) added the [try.sh](/2004/sds/try.sh) script.
+[Cody](#cody) added the [try.sh](2004/sds/try.sh) script.
-## [2004/vik2](/2004/vik2/vik2.c) ([README.md](/2004/vik2/README.md))
+## [2004/vik2](2004/vik2/vik2.c) ([index.html](2004/vik2/index.html))
[Cody](#cody) fixed this to compile in Linux. Although it compiled cleanly in macOS (and
BSD?) the code failed to compile at all in Linux due to:
@@ -3158,44 +3158,44 @@ make: *** [Makefile:133: vik2] Error 1
Unfortunately the fix required heavy modification to the original file (see
below) and also inclusion of what used to be generated by the
-[Makefile](/2004/vik2/Makefile) but now it at least works for both Linux and
+[Makefile](2004/vik2/Makefile) but now it at least works for both Linux and
macOS.
As for the fix itself it required changing the C pre-processor macros that
resulted in macros themselves like `#ifdef`, `#else` etc. to be `#ifdef`,
-`#else` etc. and also the inclusion of the file [vik2_1.c](/2004/vik2/vik2_1.c)
+`#else` etc. and also the inclusion of the file [vik2_1.c](2004/vik2/vik2_1.c)
(which actually includes itself, once directly and now by `__FILE__`)
which used to be generated by the Makefile via `cc -E`.
Cody also made it so that the `FNAME` is (for the entry file itself and
`vik2_1.c`: it shouldn't be done for
-[vik2.possible.cat.death.c](/2004/vik2/vik2.possible.cat.death.c)!) `__FILE__`
+[vik2.possible.cat.death.c](2004/vik2/vik2.possible.cat.death.c)!) `__FILE__`
just to make it a bit easier to compile.
# 2005
-## [2005/aidan](/2005/aidan/aidan.c) ([README.md](/2005/aidan/README.md]))
+## [2005/aidan](2005/aidan/aidan.c) ([index.html](2005/aidan/index.html]))
[Cody](#cody) fixed the test script, described by the author in their remarks, to refer
to the proper compiled program (it's hardcoded). This had never been done and so
the script did not even work (at least modernly?).
-He also added the [alt code](/2005/aidan/README.md#alternate-code) based on the
+He also added the [alt code](2005/aidan/index.html#alternate-code) based on the
author's remarks which is a different approach than the one used and which
(according to the author) 'is slower (particularly in worst-case or nearly so
scenarios), inelegant, and not a good starting place for sudoku generation.'
-Cody added the [try.sh](/2005/aidan/try.sh) and
-[try.alt.sh](/2005/aidan/try.alt.sh) scripts that correspond to the entry and
+Cody added the [try.sh](2005/aidan/try.sh) and
+[try.alt.sh](2005/aidan/try.alt.sh) scripts that correspond to the entry and
alt code respectively.
Cody added the `make test` and `make test-n0` rules for easier use of the test
suite.
-## [2005/anon](/2005/anon/anon.c) ([README.md](/2005/anon/README.md]))
+## [2005/anon](2005/anon/anon.c) ([index.html](2005/anon/index.html]))
[Cody](#cody) fixed a problem where in some systems (like macOS) the `stty sane` would
not work and end up causing a bus error. Instead of `stty sane` it uses `stty
@@ -3203,21 +3203,21 @@ echo` which is what it was trying to accomplish.
The author noted that one can define `NO_STTY` to not use `stty(1)` at all
(either to prevent having to hit enter or to turn echo off/on) which is
-explained in the README.md.
+explained in the index.html.
-Cody added the [alt code](/2005/anon/README.md#alternate-code) with vi(m) like
+Cody added the [alt code](2005/anon/index.html#alternate-code) with vi(m) like
movements.
-## [2005/boutines](/2005/boutines/boutines.c) ([README.md](/2005/boutines/README.md]))
+## [2005/boutines](2005/boutines/boutines.c) ([index.html](2005/boutines/index.html]))
-[Cody](#cody) added the [input.txt](/2005/boutines/input.txt) data file based on suggested
+[Cody](#cody) added the [input.txt](2005/boutines/input.txt) data file based on suggested
input from the author, adapting it to a command to try out.
-Cody also added the [try.sh](/2005/boutines/try.sh) script.
+Cody also added the [try.sh](2005/boutines/try.sh) script.
-## [2005/giljade](/2005/giljade/giljade.c) ([README.md](/2005/giljade/README.md]))
+## [2005/giljade](2005/giljade/giljade.c) ([index.html](2005/giljade/index.html]))
After Landon fixed the entry to compile with clang [Cody](#cody) noticed this
does not work at all in modern systems (see below). He fixed this to work and
@@ -3273,7 +3273,7 @@ or as a diff:
+;;char*A=0,*_,*R,*Q, D[9999],*r,l[9999],T=42, M,V=32;int *E,k[9999],B[1 <<+21],*N=B+
```
-Cody also added the [try.sh](/2005/giljade/try.sh) script which also lets one see
+Cody also added the [try.sh](2005/giljade/try.sh) script which also lets one see
the beauty of the entry without having to use vi(m), should they be afraid of
getting stuck in it (and for ease of use). :-)
@@ -3282,22 +3282,22 @@ Finally, to improve upon the test-suite provided by the program, Cody added the
temporary file the compilation including the 'Line' lines. After that is done it
uses `grep -c` on the file to show that there are indeed as many versions the
program generates as the author states, 180. If it does not find 180 it is an
-error; otherwise it is success. It uses [test.sh](/2005/giljade/test.sh).
+error; otherwise it is success. It uses [test.sh](2005/giljade/test.sh).
-## [2005/jetro](/2005/jetro/jetro.c) ([README.md](/2005/jetro/README.md))
+## [2005/jetro](2005/jetro/jetro.c) ([index.html](2005/jetro/index.html))
[Cody](#cody) added explicit linking of libm (`-lm`) for systems like Linux that seem to
not do it implicitly (like macOS does).
-## [2005/klausler](/2005/klausler/klausler.c) ([README.md](/2005/klausler/README.md))
+## [2005/klausler](2005/klausler/klausler.c) ([index.html](2005/klausler/index.html))
-[Cody](#cody) added the [try.sh](/2005/klausler/try.sh) script.
+[Cody](#cody) added the [try.sh](2005/klausler/try.sh) script.
-## [2005/mikeash](/2005/mikeash/mikeash.c) ([README.md](/2005/mikeash/README.md))
+## [2005/mikeash](2005/mikeash/mikeash.c) ([index.html](2005/mikeash/index.html))
[Cody](#cody) fixed this to work in Linux. The problem was an unknown escape sequence,
`\N`, which caused a funny compiler error:
@@ -3326,10 +3326,10 @@ what is supposed to happen. It is not known, however, if having to change the
`\N` to `\n` ended up breaking any LISP. The other examples given by the author
also show correct output though.
-Cody also added the [try.sh](/2005/mikeash/try.sh) script.
+Cody also added the [try.sh](2005/mikeash/try.sh) script.
-## [2005/mynx](/2005/mynx/mynx.c) ([README.md](/2005/mynx/README.md]))
+## [2005/mynx](2005/mynx/mynx.c) ([index.html](2005/mynx/index.html]))
[Cody](#cody) fixed this so that the [configure](source/configure) script (which is not
needed but part of the entry) would work with compilers that have by default
@@ -3341,17 +3341,17 @@ might be some command line that will let it work that way or perhaps someone
wants to add the necessary code.
-## [2005/persano](/2005/persano/persano.c) ([README.md](/2005/persano/README.md]))
+## [2005/persano](2005/persano/persano.c) ([index.html](2005/persano/index.html]))
[Cody](#cody) added the (untested) [alternate
-code](/2005/persano/README.md#alternate-code) which should work for Windows as it
+code](2005/persano/index.html#alternate-code) which should work for Windows as it
sets binary mode on `stdout`. It is untested as Cody has no Windows system to
test it on.
-Cody also added the [try.sh](/2005/persano/try.sh) script.
+Cody also added the [try.sh](2005/persano/try.sh) script.
-## [2005/sykes](/2005/sykes/sykes.c) ([README.md](/2005/sykes/README.md]))
+## [2005/sykes](2005/sykes/sykes.c) ([index.html](2005/sykes/index.html]))
[Cody](#cody) added the saved (with the `SAVE` command) BASIC program `PET` which was:
@@ -3379,10 +3379,10 @@ BY STEPHEN SYKES!
to both save and test run it.
-Cody added the [try.sh](/2005/sykes/try.sh) script which runs in a loop with a
+Cody added the [try.sh](2005/sykes/try.sh) script which runs in a loop with a
menu of things one might wish to try, asking if they wish to continue when done.
-Cody added the script [test.sh](/2005/sykes/test.sh) and the make rule `test` to
+Cody added the script [test.sh](2005/sykes/test.sh) and the make rule `test` to
run the test suite. The program will enter an infinite loop after it runs so you
have to hit ctrl-c to end it which the script tells you.
@@ -3390,14 +3390,14 @@ The scripts note every time that one will have to send ctrl-c or whatever their
interrupt is set to in order to exit the program.
-## [2005/timwi](/2005/timwi/timwi.c) ([README.md](/2005/timwi/README.md]))
+## [2005/timwi](2005/timwi/timwi.c) ([index.html](2005/timwi/index.html]))
-[Cody](#cody) added [try.sh](/2005/timwi/try.sh). It only has one command as he doesn't
+[Cody](#cody) added [try.sh](2005/timwi/try.sh). It only has one command as he doesn't
want to knacker his brain any more than it might or might not already be :-) and
he doesn't want to damage anyone else's brain either. :-)
-## [2005/toledo](/2005/toledo/toledo.c) ([README.md](/2005/toledo/README.md))
+## [2005/toledo](2005/toledo/toledo.c) ([index.html](2005/toledo/index.html))
[Cody](#cody) fixed this to compile with some versions of clang which have an additional
defect where `main()` can only have 0, 2 or 3 args (it was 4). It now calls
@@ -3406,7 +3406,7 @@ another function that takes 4 args and which is what used to be `main()`.
The alternate versions were also fixed.
-## [2005/vince](/2005/vince/vince.c) ([README.md](/2005/vince/README.md))
+## [2005/vince](2005/vince/vince.c) ([index.html](2005/vince/index.html))
[Cody](#cody) fixed this in the case that the program is compiled or linked/copies to
another file name: the code constructed the source code file name in a clever
@@ -3422,42 +3422,42 @@ if one runs it from another directory, specifying the directory, it'll not catch
# 2006
-## [2006/birken](/2006/birken/birken.c) ([README.md](/2006/birken/README.md]))
+## [2006/birken](2006/birken/birken.c) ([index.html](2006/birken/index.html]))
[Cody](#cody) fixed a segfault in macOS with this entry. The problem was a missing `+1`
for strlen() with malloc(). This prevented it from working.
-Cody also added the [try.sh](/2006/birken/try.sh) script.
+Cody also added the [try.sh](2006/birken/try.sh) script.
-## [2006/borsanyi](/2006/borsanyi/borsanyi.c) ([README.md](/2006/borsanyi/README.md]))
+## [2006/borsanyi](2006/borsanyi/borsanyi.c) ([index.html](2006/borsanyi/index.html]))
[Cody](#cody) fixed the Makefile to work in systems where the `lpthread` is not
implicitly linked in.
-Cody also added the [try.sh](/2006/borsanyi/try.sh) script.
+Cody also added the [try.sh](2006/borsanyi/try.sh) script.
-## [2006/grothe](/2006/grothe/grothe.c) ([README.md](/2006/grothe/README.md))
+## [2006/grothe](2006/grothe/grothe.c) ([index.html](2006/grothe/index.html))
-[Cody](#cody) added the [try.sh](/2006/grothe/try.sh) script.
+[Cody](#cody) added the [try.sh](2006/grothe/try.sh) script.
-## [2006/hamre](/2006/hamre/hamre.c) ([README.md](/2006/hamre/README.md))
+## [2006/hamre](2006/hamre/hamre.c) ([index.html](2006/hamre/index.html))
[Cody](#cody) fixed this so that it will not crash without an arg after it was suggested
this should be fixed.
-Cody also added the [try.sh](/2006/hamre/try.sh) script.
+Cody also added the [try.sh](2006/hamre/try.sh) script.
-## [2006/monge](/2006/monge/monge.c) ([README.md](/2006/monge/README.md]))
+## [2006/monge](2006/monge/monge.c) ([index.html](2006/monge/index.html]))
-[Cody](#cody) added the [alternate code](/2006/monge/README.md#alternate-code) that lets
+[Cody](#cody) added the [alternate code](2006/monge/index.html#alternate-code) that lets
one resize the image and redefine the number of iterations.
-Cody also added the [try.sh](/2006/monge/try.sh) and
-[try.alt.sh](/2006/monge/try.alt.sh) scripts.
+Cody also added the [try.sh](2006/monge/try.sh) and
+[try.alt.sh](2006/monge/try.alt.sh) scripts.
Cody also fixed the Makefile to use `sdl-config` (which is what the author
stated too though that was noticed later), not `sdl2-config` as two functions
@@ -3468,22 +3468,22 @@ the original it was simply made to link in SDL1.
Nevertheless this entry does require x86/x86_64 CPUS. This is a documented
feature but one which we will accept fixes to. See [2006/monge in
-bugs.md](/bugs.md#2006-monge).
+bugs.html](bugs.html#2006-monge).
-## [2006/night](/2006/night/night.c) ([README.md](/2006/night/README.md]))
+## [2006/night](2006/night/night.c) ([index.html](2006/night/index.html]))
As [Cody](#cody) is a lost :-) `vim` user he took the author's remarks to add support
-back for arrow keys in the [alternate version](/2006/night/night.alt.c).
+back for arrow keys in the [alternate version](2006/night/night.alt.c).
-## [2006/sloane](/2006/sloane/sloane.c) ([README.md](/2006/sloane/README.md]))
+## [2006/sloane](2006/sloane/sloane.c) ([index.html](2006/sloane/index.html]))
[Cody](#cody) fixed this entry to work with clang which has a defect with the args to
`main()`: it requires specific types: `int` and `char **` for the first and
latter args.
-Cody also provided the [alternate version](/2006/sloane/sloane.alt.c), which
+Cody also provided the [alternate version](2006/sloane/sloane.alt.c), which
allows one to see what is going on in modern systems, and which we recommend one
use _first_.
@@ -3506,44 +3506,44 @@ Since the author suggested that the lack of certain `#include`s might break the
program in some systems he also added `-include ...` to the Makefile as well.
-## [2006/stewart](/2006/stewart/stewart.c) ([README.md](/2006/stewart/README.md]))
+## [2006/stewart](2006/stewart/stewart.c) ([index.html](2006/stewart/index.html]))
-[Cody](#cody) added the [try.sh](/2006/stewart/try.sh) script.
+[Cody](#cody) added the [try.sh](2006/stewart/try.sh) script.
Cody also fixed it so that if the file cannot be opened it exits rather than trying
to read from the file. This was done at a time when it was considered to be a
bug to fix.
-## [2006/sykes1](/2006/sykes1/sykes1.c) ([README.md](/2006/sykes1/README.md]))
+## [2006/sykes1](2006/sykes1/sykes1.c) ([index.html](2006/sykes1/index.html]))
-[Cody](#cody) provided the [alt code](/2006/sykes1/README.md#alternate-code) based on the
+[Cody](#cody) provided the [alt code](2006/sykes1/index.html#alternate-code) based on the
author's remarks.
-Cody also added the [try.sh](/2006/sykes1/try.sh) script.
+Cody also added the [try.sh](2006/sykes1/try.sh) script.
-Cody also provided the [bedlam-cubes.pdf](/2006/sykes1/bedlam-cubes.pdf) file,
+Cody also provided the [bedlam-cubes.pdf](2006/sykes1/bedlam-cubes.pdf) file,
obtained from the Internet Wayback Machine, as the file was no longer available.
The video was also no longer available but Cody found an alternative and added
it to the repo as well.
-## [2006/sykes2](/2006/sykes2/sykes2.c) ([README.md](/2006/sykes2/README.md]))
+## [2006/sykes2](2006/sykes2/sykes2.c) ([index.html](2006/sykes2/index.html]))
[Cody](#cody), out of an abundance of caution for `clang`'s defects, made `main()` have
to args instead of 1 as some versions report that `main()` must have 0, 2 or 3
args, even though at least one of those versions allows 1 arg only.
-Cody also added the [try.sh](/2006/sykes2/try.sh) script for easier use of the
+Cody also added the [try.sh](2006/sykes2/try.sh) script for easier use of the
entry to show the clock update in real time.
-## [2006/toledo1](/2006/toledo1/toledo1.c) ([README.md](/2006/toledo1/README.md]))
+## [2006/toledo1](2006/toledo1/toledo1.c) ([index.html](2006/toledo1/index.html]))
-[Cody](#cody) added the [try.sh](/2006/toledo1/try.sh) script.
+[Cody](#cody) added the [try.sh](2006/toledo1/try.sh) script.
-## [2006/toledo2](/2006/toledo2/toledo2.c) ([README.md](/2006/toledo2/README.md]))
+## [2006/toledo2](2006/toledo2/toledo2.c) ([index.html](2006/toledo2/index.html]))
[Cody](#cody) fixed a segfault in this program which was making it fail to work under
macOS - it did not seem to be a problem under Linux, at least not fedora. The
@@ -3554,7 +3554,7 @@ Cody also added the (untested) alt code that is based on the author's remarks to
port this to systems that have the non-standard `kbhit()` and `getch()` (not the
one from curses) which is typically (always?) in `conio.h`.
-The author, [Oscar Toledo G.](/authors.html#Oscar_Toledo), later went back over
+The author, [Oscar Toledo G.](authors.html#Oscar_Toledo), later went back over
the program and modified the `fread(3)`/`fwrite(3)` section to use the variable
`FILE *e` (that Cody changed) instead of `int y`, making it to work on x86_64
(perhaps Cody's fix was for arm64 only?). Also, he added a note to clarify from
@@ -3562,7 +3562,7 @@ where appears the `IMPORT.COM` and `HALT.COM` files.
-## [2006/toledo3](/2006/toledo3/toledo3.c) ([README.md](/2006/toledo3/README.md]))
+## [2006/toledo3](2006/toledo3/toledo3.c) ([index.html](2006/toledo3/index.html]))
[Cody](#cody) fixed a crash and a display problem in this entry so that it now works in
modern (64-bit) systems. The crash appears to only occur in macOS but the fix
@@ -3571,49 +3571,49 @@ so some `int`s were changed to `long`s. The display problem might or might not
have been a problem in Linux with the old `int`s but this is no longer known.
Cody also added the code that _should_ work for Windows,
-[toledo3.alt.c](/2006/toledo3/toledo3.alt.c), based on the author's remarks.
+[toledo3.alt.c](2006/toledo3/toledo3.alt.c), based on the author's remarks.
We're not able to test this.
# 2011
-## [2011/akari](/2011/akari/akari.c) ([README.md](/2011/akari/README.md]))
+## [2011/akari](2011/akari/akari.c) ([index.html](2011/akari/index.html]))
-[Cody](#cody) added the [try.sh](/2011/akari/try.sh) script.
+[Cody](#cody) added the [try.sh](2011/akari/try.sh) script.
-## [2011/blakely](/2011/blakely/blakely.c) ([README.md](/2011/blakely/README.md]))
+## [2011/blakely](2011/blakely/blakely.c) ([index.html](2011/blakely/index.html]))
-[Cody](#cody) added the [try.sh](/2011/blakely/try.sh) script.
+[Cody](#cody) added the [try.sh](2011/blakely/try.sh) script.
-## [2011/borsanyi](/2011/borsanyi/borsanyi.c) ([README.md](/2011/borsanyi/README.md]))
+## [2011/borsanyi](2011/borsanyi/borsanyi.c) ([index.html](2011/borsanyi/index.html]))
[Cody](#cody), out of an abundance of caution, added a second arg to `main()` as some
versions of clang complain about not only the type of each arg to `main()` but
the number of args as well.
-Cody also added the [try.sh](/2011/borsanyi/try.sh) script.
+Cody also added the [try.sh](2011/borsanyi/try.sh) script.
-## [2011/dlowe](/2011/dlowe/dlowe.c) ([README.md](/2011/dlowe/README.md]))
+## [2011/dlowe](2011/dlowe/dlowe.c) ([index.html](2011/dlowe/index.html]))
-[Cody](#cody) added the [try.sh](/2011/dlowe/try.sh) script.
+[Cody](#cody) added the [try.sh](2011/dlowe/try.sh) script.
-## [2011/eastman](/2011/eastman/eastman.c) ([README.md](/2011/eastman/README.md]))
+## [2011/eastman](2011/eastman/eastman.c) ([index.html](2011/eastman/index.html]))
-[Cody](#cody) added the video file [boing-ball.mp4](/2011/eastman) which is the demo the
+[Cody](#cody) added the video file [boing-ball.mp4](2011/eastman) which is the demo the
author referred to.
-## [2011/fredriksson](/2011/fredriksson/fredriksson.c) ([README.md](/2011/fredriksson/README.md]))
+## [2011/fredriksson](2011/fredriksson/fredriksson.c) ([index.html](2011/fredriksson/index.html]))
-[Cody](#cody) added the [try.sh](/2011/fredriksson/try.sh) script.
+[Cody](#cody) added the [try.sh](2011/fredriksson/try.sh) script.
-## [2011/goren](/2011/goren/goren.c) ([README.md](/2011/goren/README.md]))
+## [2011/goren](2011/goren/goren.c) ([index.html](2011/goren/index.html]))
[Cody](#cody) fixed this for macOS. Before the fix it segfaulted. It worked fine under
Linux. After fixing it it was noticed that the author stated it does not work
@@ -3621,58 +3621,58 @@ for 64-bit so it was then tested as a 32-bit binary (Linux) and 64-bit binary
(Linux, macOS) and both work. It was fixed by changing some `int`s to `long`s
and now it does work with 64-bit systems as well as 32-bit systems.
-Cody also added the [try.sh](/2011/goren/try.sh) script.
+Cody also added the [try.sh](2011/goren/try.sh) script.
Cody added the following words of wisdom: `'"this" is not a pipe but "!" is'`.
-## [2011/hamaji](/2011/hamaji/hamaji.c) ([README.md](/2011/hamaji/README.md]))
+## [2011/hamaji](2011/hamaji/hamaji.c) ([index.html](2011/hamaji/index.html]))
-[Cody](#cody) added the [try.sh](/2011/hamaji/try.sh) script and the `.nono` files
-[conway-game-of-life.nono](/2011/hamaji/conway-game-of-life.nono),
-[multi-solutions.nono](/2011/hamaji/multi-solutions.nono),
-[no-solution.nono](/2011/hamaji/no-solution.nono),
-[plus.nono](/2011/hamaji/plus.nono) and [smiley.nono](/2011/hamaji/smiley.nono).
+[Cody](#cody) added the [try.sh](2011/hamaji/try.sh) script and the `.nono` files
+[conway-game-of-life.nono](2011/hamaji/conway-game-of-life.nono),
+[multi-solutions.nono](2011/hamaji/multi-solutions.nono),
+[no-solution.nono](2011/hamaji/no-solution.nono),
+[plus.nono](2011/hamaji/plus.nono) and [smiley.nono](2011/hamaji/smiley.nono).
The latter two `.nono` files were taken from
and the others were from the authors' remarks.
-## [2011/hou](/2011/hou/hou.c) ([README.md](/2011/hou/README.md]))
+## [2011/hou](2011/hou/hou.c) ([index.html](2011/hou/index.html]))
-[Cody](#cody) added the [try.sh](/2011/hou/try.sh) script.
+[Cody](#cody) added the [try.sh](2011/hou/try.sh) script.
-## [2011/konno](/2011/konno/konno.c) ([README.md](/2011/konno/README.md]))
+## [2011/konno](2011/konno/konno.c) ([index.html](2011/konno/index.html]))
[Cody](#cody) fixed the program to not crash if no arg was specified as this was not a
documented feature.
-Cody also added the [try.sh](/2011/konno/try.sh) script.
+Cody also added the [try.sh](2011/konno/try.sh) script.
-## [2011/richards](/2011/richards/richards.c) ([README.md](/2011/richards/README.md]))
+## [2011/richards](2011/richards/richards.c) ([index.html](2011/richards/index.html]))
[Cody](#cody) fixed a minor problem that showed up in both Linux and macOS. He notes
however that as of this time this entry does not work properly with macOS at
least with the silicon chip (Intel has not been tested) and it is quite possibly
an inherent problem in macOS to do with executing code in in memory/JIT and in
particular with the silicon chip. See [2011/richards in
-bugs.md](/bugs.md#2011-richards) for more details and a
+bugs.html](bugs.html#2011-richards) for more details and a
document from Apple about how it might be fixed if anyone is brave enough to
try. If they do they might want to look also at
-[richards.alt.c](/2011/richards/richards.alt.c), for whatever it might or might
+[richards.alt.c](2011/richards/richards.alt.c), for whatever it might or might
not be worth, as it is a possible starting point that Cody added.
-Cody also added the [try.sh](/2011/richards/try.sh) and the
-[try.alt.sh](/2011/richards/try.alt.sh) scripts. The `try.alt.sh` script will be
+Cody also added the [try.sh](2011/richards/try.sh) and the
+[try.alt.sh](2011/richards/try.alt.sh) scripts. The `try.alt.sh` script will be
helpful to test any fixes for Apple silicon chips (see [2011/richards in
-bugs.md](/bugs.md#2011-richards) for more details).
+bugs.html](bugs.html#2011-richards) for more details).
-## [2011/toledo](/2011/toledo/toledo.c) ([README.md](/2011/toledo/README.md]))
+## [2011/toledo](2011/toledo/toledo.c) ([index.html](2011/toledo/index.html]))
-[Cody](#cody) added two [alternate versions](/2011/toledo/README.md#alternate-code): one that
+[Cody](#cody) added two [alternate versions](2011/toledo/index.html#alternate-code): one that
lets one reconfigure the controls and also the size of the game and another
version that should work in Windows, based on the author's remarks and support
file, `layer.c`.
@@ -3681,50 +3681,50 @@ The Makefile was also modified by Cody to make it simpler to redefine the
controls, width and height.
-## [2011/vik](/2011/vik/vik.c) ([README.md](/2011/vik/README.md]))
+## [2011/vik](2011/vik/vik.c) ([index.html](2011/vik/index.html]))
-[Cody](#cody) added the [try.sh](/2011/vik/try.sh) script.
+[Cody](#cody) added the [try.sh](2011/vik/try.sh) script.
-Cody also added an [alternate version](/2011/vik/README.md#alternate-code) for Windows
+Cody also added an [alternate version](2011/vik/index.html#alternate-code) for Windows
based on the author's comments (along with looking up the function for the right
header files). To build try the alt rule of the Makefile.
-## [2011/zucker](/2011/zucker/zucker.c) ([README.md](/2011/zucker/README.md]))
+## [2011/zucker](2011/zucker/zucker.c) ([index.html](2011/zucker/index.html]))
-[Cody](#cody) added the [try.sh](/2011/zucker/try.sh) script.
+[Cody](#cody) added the [try.sh](2011/zucker/try.sh) script.
-Cody also added [alt code](/2011/zucker/README.md#alternate-code) that should work on
+Cody also added [alt code](2011/zucker/index.html#alternate-code) that should work on
Windows, based on the author's remarks that if the system distinguishes binary
and text then `stdout` needs to be set to binary mode.
Cody also added the PDF file
-[sphere-tracing.pdf](/2011/zucker/sphere-tracing.pdf) in case the link
+[sphere-tracing.pdf](2011/zucker/sphere-tracing.pdf) in case the link
eventually dies.
# 2012
-## [2012/blakely](/2012/blakely/blakely.c) ([README.md](/2012/blakely/README.md))
+## [2012/blakely](2012/blakely/blakely.c) ([index.html](2012/blakely/index.html))
[Cody](#cody) added explicit linking of libm (`-lm`) as not all systems do this
implicitly (Linux doesn't seem to but macOS does).
-Cody also added the [try.sh](/2012/blakely/try.sh) script.
+Cody also added the [try.sh](2012/blakely/try.sh) script.
-## [2012/deckmyn](/2012/deckmyn/deckmyn.c) ([README.md](/2012/deckmyn/README.md]))
+## [2012/deckmyn](2012/deckmyn/deckmyn.c) ([index.html](2012/deckmyn/index.html]))
-[Cody](#cody) added the [try.sh](/2012/deckmyn/try.sh) script.
+[Cody](#cody) added the [try.sh](2012/deckmyn/try.sh) script.
-## [2012/endoh1](/2012/endoh1/endoh1.c) ([README.md](/2012/endoh1/README.md))
+## [2012/endoh1](2012/endoh1/endoh1.c) ([index.html](2012/endoh1/index.html))
[Cody](#cody) added explicit linking of libm (`-lm`) as not all systems do this
implicitly (Linux doesn't seem to but macOS does).
-Cody also added two [alt versions](/2012/endoh1/README.md#alternate-code) that
+Cody also added two [alt versions](2012/endoh1/index.html#alternate-code) that
let one control how fast the fluid moves (how long to sleep in between writes)
and also the gravity factor, the pressure factor and the viscosity factor as
well as an alarm that lets one run it in a loop without having to hit
@@ -3735,36 +3735,36 @@ The two different alt versions is because there are two versions: the original
and the colour version added by the author, [Yusuke](#yusuke), at the request of
the judges.
-Cody also added the [try.alt.sh](/2012/endoh1/try.alt.sh) script that compiles
+Cody also added the [try.alt.sh](2012/endoh1/try.alt.sh) script that compiles
the alt code in two ways, one with setting the gravity factor to `I` and another
with the default, and which is run on the source file and each of the text files
supplied by the author. This code has an alarm set at 10 seconds so that one
need not hit ctrl-c/intr in between .. say to make it more fluid :-)
-Cody also added the [try.alt.bw.sh](/2012/endoh1/try.alt.bw.sh) which is the
+Cody also added the [try.alt.bw.sh](2012/endoh1/try.alt.bw.sh) which is the
same as the `try.alt.sh` except it does not use the coloured version.
-Finally Cody added the [try.sh](/2012/endoh1/try.sh) and
-[try.bw.sh](/2012/endoh1/try.bw.sh) which correspond to the coloured version
-[endoh1_color.c](/2012/endoh1/endoh1_color.c) and the original submitted
-version without colour, [endoh1.c](/2012/endoh1/endoh1.c).
+Finally Cody added the [try.sh](2012/endoh1/try.sh) and
+[try.bw.sh](2012/endoh1/try.bw.sh) which correspond to the coloured version
+[endoh1_color.c](2012/endoh1/endoh1_color.c) and the original submitted
+version without colour, [endoh1.c](2012/endoh1/endoh1.c).
-The [endoh1.alt2.c](/2012/endoh1/endoh1.alt2.c) was provided by the author,
+The [endoh1.alt2.c](2012/endoh1/endoh1.alt2.c) was provided by the author,
[Yusuke](#yusuke), at the time of the contest as a de-obfuscated version.
-## [2012/endoh2](/2012/endoh2/endoh2.c) ([README.md](/2012/endoh2/README.md))
+## [2012/endoh2](2012/endoh2/endoh2.c) ([index.html](2012/endoh2/index.html))
-[Cody](#cody) added the [try.sh](/2012/endoh2/try.sh) script that runs
+[Cody](#cody) added the [try.sh](2012/endoh2/try.sh) script that runs
everything, filtered through less.
Cody also fixed a typo in the ruby script
-[find-font-table.rb](/2012/endoh2/find-font-table.rb).
+[find-font-table.rb](2012/endoh2/find-font-table.rb).
-## [2012/grothe](/2012/grothe/grothe.c) ([README.md](/2012/grothe/README.md))
+## [2012/grothe](2012/grothe/grothe.c) ([index.html](2012/grothe/index.html))
-[Cody](#cody) added the [try.sh](/2012/grothe/try.sh) script.
+[Cody](#cody) added the [try.sh](2012/grothe/try.sh) script.
Cody also changed `argv` to be not `const char **` but `char **`, mostly out of an
abundance of caution in case clang, which already imposes restrictions on the
@@ -3781,23 +3781,23 @@ recent domain. For historical purposes the old link was
which the recipe file now links to.
-## [2012/hamano](/2012/hamano/hamano.c) ([README.md](/2012/hamano/README.md]))
+## [2012/hamano](2012/hamano/hamano.c) ([index.html](2012/hamano/index.html]))
-[Cody](#cody) added the [try.sh](/2012/hamano/try.sh) script and the helper
+[Cody](#cody) added the [try.sh](2012/hamano/try.sh) script and the helper
Makefile rules `hint.pdf`, `hint`, `hello.pdf` and `hello` to simplify the
procedure for both `hint.pdf` and `hello.pdf` as well as compiling them as C.
-## [2012/hou](/2012/hou/hou.c) ([README.md](/2012/hou/README.md]))
+## [2012/hou](2012/hou/hou.c) ([index.html](2012/hou/index.html]))
-[Cody](#cody) added the [try.sh](/2012/hou/try.sh) script and restored the original [hint
-markdown file](/2012/hou/hint.md) as the changes made when converting to a GitHub
-README.md made the generated html not look correct; it did not have a title, a
+[Cody](#cody) added the [try.sh](2012/hou/try.sh) script and restored the original [hint
+markdown file](2012/hou/hint.html) as the changes made when converting to a GitHub
+index.html made the generated html not look correct; it did not have a title, a
stylesheet etc. due to the fact that there is no `#` header (which specified
title and stylesheet) and other formatting changes.
-## [2012/kang](/2012/kang/kang.c) ([README.md](/2012/kang/README.md]))
+## [2012/kang](2012/kang/kang.c) ([index.html](2012/kang/index.html]))
[Cody](#cody) added alt code that fixes a problem where in German 'v' sounds like 'f'
which the program has as 'f': with the original version it would translate
@@ -3811,62 +3811,62 @@ about it. Using both, however, allows one to experience different capabilities
and also enjoy or appreciate the entry even more, given how simple the
difference is.
-Cody also added six scripts: [en.sh](/2012/kang/en.sh),
-[de.sh](/2012/kang/de.sh), [en.alt.sh](/2012/kang/en.alt.sh) and
-[de.alt.sh](/2012/de.alt.sh) which count from 0 through 13 in English and German
+Cody also added six scripts: [en.sh](2012/kang/en.sh),
+[de.sh](2012/kang/de.sh), [en.alt.sh](2012/kang/en.alt.sh) and
+[de.alt.sh](2012/de.alt.sh) which count from 0 through 13 in English and German
using the original entry and the alt version respectively.
In the German scripts it uses the umlaut and also does it without the umlaut
(add an 'e'). Notice how the program picks up on this! All scripts can use
either version but the `.alt.sh` versions default to the `alt` version whereas
-the other defaults to the submitted entry. See the README.md for details.
+the other defaults to the submitted entry. See the index.html for details.
-The fifth and sixth scripts, [try.sh](/2012/kang/try.sh) and
-[try.alt.sh](/2012/kang/try.alt.sh), run a sequence of commands to
+The fifth and sixth scripts, [try.sh](2012/kang/try.sh) and
+[try.alt.sh](2012/kang/try.alt.sh), run a sequence of commands to
show different languages and numbers with the submitted and alternate version
respectively. Notice how a single letter changes so much!
-## [2012/konno](/2012/konno/konno.c) ([README.md](/2012/konno/README.md]))
+## [2012/konno](2012/konno/konno.c) ([index.html](2012/konno/index.html]))
-[Cody](#cody) added the [try.sh](/2012/konno/try.sh) script.
+[Cody](#cody) added the [try.sh](2012/konno/try.sh) script.
-## [2012/omoikane](/2012/omoikane/omoikane.c) ([README.md](/2012/omoikane/README.md]))
+## [2012/omoikane](2012/omoikane/omoikane.c) ([index.html](2012/omoikane/index.html]))
-[Cody](#cody) added the [alternate versions](/2012/omoikane/README.md#alternate-code)
+[Cody](#cody) added the [alternate versions](2012/omoikane/index.html#alternate-code)
which will, if no arg is specified, read in the program itself, rather than
`/dev/urandom`. This is mostly useful for those without a `/dev/urandom` device
file (the default for the entry). The second alternate version is like the first
except that it also sets binary mode on `stdin` and `stdout` which should
theoretically make it work in Windows.
-Cody also added the [try.sh](/2012/omoikane/try.sh) and
-[try.alt.sh](/2012/omoikane/try.alt.sh) scripts.
+Cody also added the [try.sh](2012/omoikane/try.sh) and
+[try.alt.sh](2012/omoikane/try.alt.sh) scripts.
-## [2012/tromp](/2012/tromp/tromp.c) ([README.md](/2012/tromp/README.md))
+## [2012/tromp](2012/tromp/tromp.c) ([index.html](2012/tromp/index.html))
-[Cody](#cody) added the [try.sh](/2012/tromp/try.sh) script.
+[Cody](#cody) added the [try.sh](2012/tromp/try.sh) script.
-## [2012/vik](/2012/vik/vik.c) ([README.md](/2012/vik/README.md]))
+## [2012/vik](2012/vik/vik.c) ([index.html](2012/vik/index.html]))
-[Cody](#cody) added the [try.sh](/2012/vik/try.sh) script.
+[Cody](#cody) added the [try.sh](2012/vik/try.sh) script.
Based on the author's description it should be able to get this entry to work
for Windows. With his instructions Cody also added the alternate version that
does this for the few who might use Windows.
-## [2012/zeitak](/2012/zeitak/zeitak.c) ([README.md](/2012/zeitak/README.md]))
+## [2012/zeitak](2012/zeitak/zeitak.c) ([index.html](2012/zeitak/index.html]))
-[Cody](#cody) [test.sh](/2012/zeitak/test.sh) script and the `make test` rule
+[Cody](#cody) [test.sh](2012/zeitak/test.sh) script and the `make test` rule
that uses the script along with a number of files that will correctly be flagged
as incorrect (including a text file and a java file, with a joke, to show that
it's not that it parses C but rather just matching pairs though that's probably
obvious) and some correctly nested files were also added including
-[1984/anonymous](/1984/anonymous/README.md) (as the author explicitly mentioned
+[1984/anonymous](1984/anonymous/index.html) (as the author explicitly mentioned
it) and a java file as well with another joke.
A minor point is that the author noted that one should
@@ -3878,7 +3878,7 @@ it easier for those who do not know how, and to make it more obvious to try it.
# 2013
-## [2013/birken](/2013/birken/birken.c) ([README.md](/2013/birken/README.md]))
+## [2013/birken](2013/birken/birken.c) ([index.html](2013/birken/index.html]))
[Cody](#cody) changed the `return 0;` at the end of the program to be `return
system("reset");` (via redefining `exit(3)` so that the column ending would be
@@ -3892,22 +3892,22 @@ done, based on the author's recommendations, except that Cody made it
configurable at compile time. The Makefile was modified in such a way as to make
it very easy to redefine it at compile time.
-Cody also added the [try.sh](/2013/birken/try.sh) script for the entry and the
-[try.alt.sh](/2013/birken/try.alt.sh) script for the alt code.
+Cody also added the [try.sh](2013/birken/try.sh) script for the entry and the
+[try.alt.sh](2013/birken/try.alt.sh) script for the alt code.
-## [2013/cable1](/2013/cable1/cable1.c) ([README.md](/2013/cable1/README.md]))
+## [2013/cable1](2013/cable1/cable1.c) ([index.html](2013/cable1/index.html]))
-[Cody](#cody) added the [try.sh](/2013/cable1/try.sh) script which also has an
+[Cody](#cody) added the [try.sh](2013/cable1/try.sh) script which also has an
joke Easter egg in it based on the judges' remarks.
-## [2013/cable2](/2013/cable2/cable2.c) ([README.md](/2013/cable2/README.md]))
+## [2013/cable2](2013/cable2/cable2.c) ([index.html](2013/cable2/index.html]))
-[Cody](#cody) added the [try.sh](/2013/cable2/try.sh) script.
+[Cody](#cody) added the [try.sh](2013/cable2/try.sh) script.
-## [2013/cable3](/2013/cable3/cable3.c) ([README.md](/2013/cable3/README.md]))
+## [2013/cable3](2013/cable3/cable3.c) ([index.html](2013/cable3/index.html]))
[Cody](#cody) fixed this to compile with modern systems. The problems were that
`localtime()` is used differently and `time.h` being included (with
@@ -3925,13 +3925,13 @@ failed to compile again also due to `localtime()` so he removed the prototype
entirely to solve the problem.
Cody also slightly improved the `runme` script (renamed to
-[cable3.sh](/2013/cable3/cable3.sh) for consistency with other entries that have
+[cable3.sh](2013/cable3/cable3.sh) for consistency with other entries that have
wrapper scripts) to not assume that the program has been compiled by running
`make clobber all || exit 1` and he also made it pass `shellcheck` (using `[[ ..
]]` over `[ .. ]`).
As well, based on the author's remarks, Cody added the [alternate
-code](/2013/cable3/cable3.alt.c) which should be compilable for Windows/MS Visual
+code](2013/cable3/cable3.alt.c) which should be compilable for Windows/MS Visual
Studio. This is done by in the compile line undefining `KB` (`-UKB`) and then in
the source code defining `KB` to what the author suggested,
`(kb=H(8),kbhit())&&(r[1190]=getch(),H(7))`. It need hardly be mentioned that
@@ -3939,20 +3939,20 @@ this will not link in Unix systems (including macOS).
Clang required a `-Wno-` option as well.
-Finally Cody provided the [bios.asm](/2013/cable3/bios.asm) that the author
+Finally Cody provided the [bios.asm](2013/cable3/bios.asm) that the author
referred to, found at the [GitHub repo for the
entry](https://github.com/adriancable/8086tiny/tree/master), and the 'ready-made
40MB hard disk image containing a whole bunch of software' in `hd.img` that the
author linked to at `https://bitly.com/1bU8URK`.
-## [2013/dlowe](/2013/dlowe/dlowe.c) ([README.md](/2013/dlowe/README.md))
+## [2013/dlowe](2013/dlowe/dlowe.c) ([index.html](2013/dlowe/index.html))
[Cody](#cody) added the source code that we suggested one should compile and run with
-different compilers as [fun.c](/2013/dlowe/fun.c). He modified the Makefile so
+different compilers as [fun.c](2013/dlowe/fun.c). He modified the Makefile so
that running `make all` will compile it, saving you the effort.
-He also provided the script [slflen.sh](/2013/dlowe/slflen.sh) which is based on
+He also provided the script [slflen.sh](2013/dlowe/slflen.sh) which is based on
the author's remarks, fixing it for shellcheck and improving upon it (show what
files will be processed). This script shows the sparkline of the file lengths
(as in `wc -c`). The fixes (but not the improvements) were added to the author's
@@ -3964,19 +3964,19 @@ clobber` will delete both and running `make clobber all` will ensure that the
symlink is created. The `slflen.sh` script also explicitly makes sure to create
the symlink as it uses it, even though it runs `make clobber all`.
-Cody also added the [try.sh](/2013/dlowe/try.sh) script to more easily try the
+Cody also added the [try.sh](2013/dlowe/try.sh) script to more easily try the
program.
-He also added the [diff.sh](/2013/dlowe/diff.sh) script which is based on some
+He also added the [diff.sh](2013/dlowe/diff.sh) script which is based on some
commands to try that he suggested to see how different lengths look.
-## [2013/endoh1](/2013/endoh1/endoh1.c) ([README.md](/2013/endoh1/README.md))
+## [2013/endoh1](2013/endoh1/endoh1.c) ([index.html](2013/endoh1/index.html))
-[Cody](#cody) added the [try.sh](/2013/endoh1/try.sh) script.
+[Cody](#cody) added the [try.sh](2013/endoh1/try.sh) script.
-## [2013/endoh2](/2013/endoh2/endoh2.c) ([README.md](/2013/endoh2/README.md))
+## [2013/endoh2](2013/endoh2/endoh2.c) ([index.html](2013/endoh2/index.html))
[Cody](#cody) fixed the Makefile `check` rule so that it `checks` :-) that both
[Ruby](https://www.ruby-lang.org) and [ImageMagick](https://imagemagick.org) are
@@ -3998,19 +3998,19 @@ not found.
The entry can still be enjoyed if you do not have these tools, however.
-## [2013/endoh3](/2013/endoh3/endoh3.c) ([README.md](/2013/endoh3/README.md))
+## [2013/endoh3](2013/endoh3/endoh3.c) ([index.html](2013/endoh3/index.html))
-[Cody](#cody) added the [try.sh](/2013/endoh3/try.sh) script.
+[Cody](#cody) added the [try.sh](2013/endoh3/try.sh) script.
Cody also (out of an abundance of caution for `clang(1)` which is strict with
arg type and count to `main()`) added a second (unused) arg to `main()`.
-## [2013/endoh4](/2013/endoh4/endoh4.c) ([README.md](/2013/endoh4/README.md))
+## [2013/endoh4](2013/endoh4/endoh4.c) ([index.html](2013/endoh4/index.html))
-[Cody](#cody) added the [endoh4.sh](/2013/endoh4/endoh4.sh) script which temporarily
+[Cody](#cody) added the [endoh4.sh](2013/endoh4/endoh4.sh) script which temporarily
turns off the cursor as suggested by the author, with the addition that if no
-file is specified it will feed the source code [endoh4.c](/2013/endoh4/endoh4.c)
+file is specified it will feed the source code [endoh4.c](2013/endoh4/endoh4.c)
to the program rather than the file specified. It does not try and detect if the
file exists or can be read as that will be handled by the shell/program. One may
pass more than one file to the script.
@@ -4020,7 +4020,7 @@ author's remarks for more details on what this means). The `endoh4.sh` script
allows one to redefine it as well.
-## [2013/hou](/2013/hou/hou.c) ([README.md](/2013/hou/README.md))
+## [2013/hou](2013/hou/hou.c) ([index.html](2013/hou/index.html))
[Cody](#cody) fixed the Makefile so that this would work properly. Before this
the use of the program just did what the judges' remarks said as far as how it
@@ -4049,13 +4049,13 @@ The `LDFLAGS` were updated to have `-lm` as the author suggested it uses the
does not).
Further, after the file `2013/hou/doc/example.markdown` was moved to
-[2013/hou/doc/example.md](/2013/hou/doc/example.md) to match the rest of the repo
+[2013/hou/doc/example.html](2013/hou/doc/example.html) to match the rest of the repo
this broke `make` which Cody also fixed.
-Cody also added the [try.sh](/2013/hou/try.sh) script.
+Cody also added the [try.sh](2013/hou/try.sh) script.
-## [2013/mills](/2013/mills/mills.c) ([README.md)[2013/mills/README.md))
+## [2013/mills](2013/mills/mills.c) ([index.html)[2013/mills/index.html))
[Cody](#cody) fixed this so that the server would not refuse the connection
after the first call to `close(2)`. The problem was that because the backlog to
@@ -4065,31 +4065,31 @@ this was specific to macOS but it was not specific to a browser as Safari and
Firefox both had the problem.
-## [2013/misaka](/2013/misaka/misaka.c) ([README.md)[2013/misaka/README.md))
+## [2013/misaka](2013/misaka/misaka.c) ([index.html)[2013/misaka/index.html))
-[Cody](#cody) added the [try.sh](/2013/misaka/try.sh) script.
+[Cody](#cody) added the [try.sh](2013/misaka/try.sh) script.
-## [2013/morgan1](/2013/morgan1/morgan1.c) ([README.md](/2013/morgan1/README.md))
+## [2013/morgan1](2013/morgan1/morgan1.c) ([index.html](2013/morgan1/index.html))
[Cody](#cody) added explicit linking of libm (`-lm`) as not all systems do this
implicitly (Linux doesn't seem to but macOS does).
-Cody also added the [try.sh](/2013/morgan1/try.sh) script.
+Cody also added the [try.sh](2013/morgan1/try.sh) script.
-## [2013/robison](/2013/robison/robison.c) ([README.md](/2013/robison/README.md))
+## [2013/robison](2013/robison/robison.c) ([index.html](2013/robison/index.html))
-[Cody](#cody) added the [try.sh](/2013/robison/try.sh) script.
+[Cody](#cody) added the [try.sh](2013/robison/try.sh) script.
# 2014
-## [2014/birken](/2014/birken/prog.c) ([README.md](/2014/birken/README.md))
+## [2014/birken](2014/birken/prog.c) ([index.html](2014/birken/index.html))
[Cody](#cody) provided the [alternate
-code](/2014/birken/README.md#alternate-code) that lets one redefine the port to
+code](2014/birken/index.html#alternate-code) that lets one redefine the port to
bind to in case there is a firewall issue or there is some other reason to not
have the default port. Remember that ports < 1024 are privileged. It also lets
you redefine the timing constant `STARDATE` (see the author's remarks for more
@@ -4097,9 +4097,9 @@ details on this macro). The Makefile was made to use variables so it's easier to
redefine the port and timing constant.
-## [2014/deak](/2014/deak/prog.c) ([README.md](/2014/deak/README.md))
+## [2014/deak](2014/deak/prog.c) ([index.html](2014/deak/index.html))
-[Cody](#cody) added [alt code](/2014/deak/README.md#alternate-code) that lets
+[Cody](#cody) added [alt code](2014/deak/index.html#alternate-code) that lets
one (via the Makefile) reconfigure the coordinates but instead of being a
modified version of the entry it is the version the author provided which would
be what the program would look like if, as the author put it:
@@ -4110,16 +4110,16 @@ application source code is intentionally kept to a bare minimum.
.. was not true.
This alt version did not originally compile because a value was left off the
-`return` statement (this might have been fixed in the README.md file too) so
+`return` statement (this might have been fixed in the index.html file too) so
that was fixed and it also has `#include ` for `putchar(3)`. The
`#ifndef..#define..#endif` was not part of the original alt code, of course.
-Cody also added the [try.alt.sh](/2014/deak/try.alt.sh) script.
+Cody also added the [try.alt.sh](2014/deak/try.alt.sh) script.
-## [2014/endoh1](/2014/endoh1/prog.c) ([README.md](/2014/endoh1/README.md]))
+## [2014/endoh1](2014/endoh1/prog.c) ([index.html](2014/endoh1/index.html]))
-[Cody](#cody) added the [rake.sh](/2014/endoh1/rake.sh) script and `make rake`
+[Cody](#cody) added the [rake.sh](2014/endoh1/rake.sh) script and `make rake`
rule that runs the script. This script will check that `rake` is installed and
if it is not it will report this and then check that `gem` is installed. It
checks that `gem` is installed in this case because `gem` is how you install
@@ -4129,61 +4129,61 @@ then it tells you to install a specific gem and then to try again. Finally if
`rake` succeeds it will verify that `prog` is executable and if it is it will
run it.
-Cody also added the [try.sh](/2014/endoh1/try.sh) script.
+Cody also added the [try.sh](2014/endoh1/try.sh) script.
-**_Barely_** worth noting but done nonetheless, Cody renamed the `read_me.md`
-file to [spoilers.md](/2014/endoh1/spoilers.md) to be clearer in its purpose as
-it is a file with spoilers (and too close to README.md?).
+**_Barely_** worth noting but done nonetheless, Cody renamed the `read_me.html`
+file to [spoilers.html](2014/endoh1/spoilers.html) to be clearer in its purpose as
+it is a file with spoilers (and too close to index.html?).
-## [2014/endoh2](/2014/endoh2/prog.c) ([README.md](/2014/endoh2/README.md]))
+## [2014/endoh2](2014/endoh2/prog.c) ([index.html](2014/endoh2/index.html]))
-[Cody](#cody) added the [try.sh](/2014/endoh2/try.sh) script.
+[Cody](#cody) added the [try.sh](2014/endoh2/try.sh) script.
-## [2014/maffiodo1](/2014/maffiodo1/prog.c) ([README.md](/2014/maffiodo1/README.md]))
+## [2014/maffiodo1](2014/maffiodo1/prog.c) ([index.html](2014/maffiodo1/index.html]))
[Cody](#cody) fixed the build for this entry: it does not require
[SDL2](https://www.libsdl.org) but SDL1 so there were linking errors.
-Cody also added the [mario.sh](/2014/maffiodo1/mario.sh) and
-[giana.sh](/2014/maffiodo1/giana.sh) scripts which play, respectively, [Super
+Cody also added the [mario.sh](2014/maffiodo1/mario.sh) and
+[giana.sh](2014/maffiodo1/giana.sh) scripts which play, respectively, [Super
Mario Bros](http://en.wikipedia.org/wiki/Super_Mario_Bros.) and one of [The
Great Giana Sisters](http://en.wikipedia.org/wiki/The_Great_Giana_Sisters), but
which let one configure the width and height of the game.
-## [2014/maffiodo2](/2014/maffiodo2/prog.c) ([README.md](/2014/maffiodo2/README.md]))
+## [2014/maffiodo2](2014/maffiodo2/prog.c) ([index.html](2014/maffiodo2/index.html]))
-[Cody](#cody) added the [try.sh](/2014/maffiodo2/try.sh) script.
+[Cody](#cody) added the [try.sh](2014/maffiodo2/try.sh) script.
-He also added the [alternate code](/2014/maffiodo2/README.md#alternate-code)
+He also added the [alternate code](2014/maffiodo2/index.html#alternate-code)
provided by the author.
-## [2014/morgan](/2014/morgan/prog.c) ([README.md](/2014/morgan/README.md))
+## [2014/morgan](2014/morgan/prog.c) ([index.html](2014/morgan/index.html))
-[Cody](#cody) added the [try.sh](/2014/morgan/try.sh) script.
+[Cody](#cody) added the [try.sh](2014/morgan/try.sh) script.
-## [2014/sinon](/2014/sinon/prog.c) ([README.md](/2014/sinon/README.md))
+## [2014/sinon](2014/sinon/prog.c) ([index.html](2014/sinon/index.html))
[Cody](#cody) fixed the code so that the game can play automatically like it
once did. The problem is that it expects a certain file name which was
`sinon.c`. The code now refers to `prog.c`.
-Cody also fixed the scripts [glock.sh](/2014/sinon/glock.sh) and
-[hecate.sh](/2014/sinon/hecate.sh) which did not work after running either once
+Cody also fixed the scripts [glock.sh](2014/sinon/glock.sh) and
+[hecate.sh](2014/sinon/hecate.sh) which did not work after running either once
as they compile `run.c` and then do `./run | tee run.c` which overwrites it with
output that is not code.
-Cody also added the [try.sh](/2014/sinon/try.sh) script that will first (if perl
+Cody also added the [try.sh](2014/sinon/try.sh) script that will first (if perl
is installed) run the demo mode and then after that it will run the above noted
scripts in a loop until the user says they do not want to try again (or they
-kill it). This is done this way in case it jams (see README.md for details).
+kill it). This is done this way in case it jams (see index.html for details).
-## [2014/skeggs](/2014/skeggs/prog.c) ([README.md](/2014/skeggs/README.md))
+## [2014/skeggs](2014/skeggs/prog.c) ([index.html](2014/skeggs/index.html))
[Cody](#cody) fixed the Makefile to compile this entry in modern systems. The problem was
that the `CDEFINE` variable in the Makefile was missing `'`s: the `#define CC`
@@ -4197,13 +4197,13 @@ originally done because it seemed to work but since it uses `dlsym()` it was
added later to make it more portable.
The program creates files in the working directory as part of how it works (see
-the README.md file for details) so Cody made sure that `make clobber` (via `make
+the index.html file for details) so Cody made sure that `make clobber` (via `make
clean`) removes those files and so that they are ignored by `.gitignore`.
-## [2014/vik](/2014/vik/prog.c) ([README.md](/2014/vik/README.md))
+## [2014/vik](2014/vik/prog.c) ([index.html](2014/vik/index.html))
-[Cody](#cody) added the [try.sh](/2014/vik/try.sh) script. Cody notes that there
+[Cody](#cody) added the [try.sh](2014/vik/try.sh) script. Cody notes that there
is a bug that will show itself as one of the features does not work right. The
translation of the raw audio to text is buggy in some cases.
@@ -4213,9 +4213,9 @@ theoretically work for Microsoft Windows compilers (if anything works in Windows
that would break it we do not know.
-## [2014/wiedijk](/2014/wiedijk/prog.c) ([README.md](/2014/wiedijk/README.md))
+## [2014/wiedijk](2014/wiedijk/prog.c) ([index.html](2014/wiedijk/index.html))
-[Cody](#cody) added the [try.sh](/2014/wiedijk/try.sh) script which is based on
+[Cody](#cody) added the [try.sh](2014/wiedijk/try.sh) script which is based on
the command to try in the 'try' section but improved so one can more easily
specify what ident tool they want to use and also change which sed to use,
should they want to. It also checks that both of these two tools exist and are
@@ -4226,7 +4226,7 @@ output.
# 2015
-## [2015/endoh3](/2015/burton/prog.c) ([README.md](/2015/burton/README.md]))
+## [2015/endoh3](2015/burton/prog.c) ([index.html](2015/burton/index.html]))
[Cody](#cody) fixed the code so one can make use of the echo feature, where the
@@ -4246,28 +4246,28 @@ adding to `main()` after the variable declaration (`V*A;`) the code:
*K=basename(*K);
```
-This was done for both the [prog.c](/2015/burton/prog.c) and
-[prog.alt.c](/2015/burton/prog.alt.c). The Makefile was also updated to build
+This was done for both the [prog.c](2015/burton/prog.c) and
+[prog.alt.c](2015/burton/prog.alt.c). The Makefile was also updated to build
`eprog` and `eprog.alt` to make use of the feature more easily. Each is a new
target (first in `TARGET` and second in `ALT_TARGET`) which have a prerequisite
of `${PROG}` and `${PROG}.alt` respectively both of which also copy the `prog`
(`prog` or `eprog`) to the respective `eprog` (`eprog` or `eprog.alt`). With
these changes now one can easily use the echo feature the author implemented.
-Cody also added the [try.sh](/2015/burton/try.sh) script. This involved
-adding a text file, [try.this.txt](/2015/burton/try.this.txt).
+Cody also added the [try.sh](2015/burton/try.sh) script. This involved
+adding a text file, [try.this.txt](2015/burton/try.this.txt).
-Cody also added [calc.1](/2015/burton/calc.1) in place of `calc.man` to have
+Cody also added [calc.1](2015/burton/calc.1) in place of `calc.man` to have
proper formatting (in the style of `man(1)`). The `calc.man` was removed so as
to not have to maintain two copies of the same text.
Cody updated the Makefile to copy the `prog` to `calc` and `prog.alt` to
`calc.alt`. `ecalc` and `ecalc.alt` also work. This is because the program is
called `calc` and is in documentation including the man page. Thus one only need
-add a `./` to the commands in the man page/README.md.
+add a `./` to the commands in the man page/index.html.
-## [2015/endoh3](/2015/dogon/prog.c) ([README.md](/2015/dogon/README.md]))
+## [2015/endoh3](2015/dogon/prog.c) ([index.html](2015/dogon/index.html]))
[Cody](#cody) improved the Makefile so that one can easily change the dimensions
at compilation time via `make(1)`.
@@ -4277,59 +4277,59 @@ one change the value of `q` to a different number, in order to see a bug that
they avoided.
-## [2015/endoh3](/2015/duble/prog.c) ([README.md](/2015/duble/README.md]))
+## [2015/endoh3](2015/duble/prog.c) ([index.html](2015/duble/index.html]))
-[Cody](#cody) added the [try.sh](/2015/duble/try.sh) script.
+[Cody](#cody) added the [try.sh](2015/duble/try.sh) script.
-## [2015/endoh2](/2015/endoh2/prog.c) ([README.md](/2015/endoh2/README.md]))
+## [2015/endoh2](2015/endoh2/prog.c) ([index.html](2015/endoh2/index.html]))
[Cody](#cody) added the [try.sh](2015/endoh2/try.sh) script.
-## [2015/endoh3](/2015/endoh3/prog.c) ([README.md](/2015/endoh3/README.md]))
+## [2015/endoh3](2015/endoh3/prog.c) ([index.html](2015/endoh3/index.html]))
[Cody](#cody) fixed this to compile with Linux which was having a problem with duplicate
symbols of `main()`. The fix is through the compiler option `-fcommon` which
will let it compile like it does with macOS.
-Cody also added the [try.sh](/2015/endoh3/try.sh) script which makes use of the
+Cody also added the [try.sh](2015/endoh3/try.sh) script which makes use of the
make rule he added (to enjoy the theme of the entry, [Back to the
Future](https://en.wikipedia.org/wiki/Back_to_the_Future) using this entry by
simply typing `make back_to` or `make mullender`) and then runs the famous
-[1984/mullender.c](/1984/mullender/mullender.c).
+[1984/mullender.c](1984/mullender/mullender.c).
-## [2015/endoh4](/2015/endoh4/prog.c) ([README.md](/2015/endoh4/README.md]))
+## [2015/endoh4](2015/endoh4/prog.c) ([index.html](2015/endoh4/index.html]))
-[Cody](#cody) added the [try.sh](/2015/endoh4/try.sh) script.
+[Cody](#cody) added the [try.sh](2015/endoh4/try.sh) script.
-## [2015/hou](/2015/hou/prog.c) ([README.md](/2015/hou/README.md))
+## [2015/hou](2015/hou/prog.c) ([index.html](2015/hou/index.html))
[Cody](#cody) added explicit linking of libm (`-lm`) for systems that do not do this
(Linux doesn't seem to but macOS does).
-Cody also added the [try.sh](/2015/hou/try.sh) script and the large file `large`
+Cody also added the [try.sh](2015/hou/try.sh) script and the large file `large`
which the `try.sh` script uses.
-Cody also added the RFC 1321 text file, [rfc1321.txt](/2015/hou/rfc1321.txt) to
-the directory, to make it so one need not download it, and which the README.md
+Cody also added the RFC 1321 text file, [rfc1321.txt](2015/hou/rfc1321.txt) to
+the directory, to make it so one need not download it, and which the index.html
file now links to.
-## [2015/howe](/2015/howe/prog.c) ([README.md](/2015/howe/README.md))
+## [2015/howe](2015/howe/prog.c) ([index.html](2015/howe/index.html))
-[Cody](#cody) added the [try.sh](/2015/howe/try.sh) script, downloaded the War
-and Peace text file, fixed the [avgtime.sh](/2015/howe/avgtime.sh) script (it
+[Cody](#cody) added the [try.sh](2015/howe/try.sh) script, downloaded the War
+and Peace text file, fixed the [avgtime.sh](2015/howe/avgtime.sh) script (it
resulted in standard input errors in piping to `bc(1)`) and added the
-[cc.1](/2015/howe/cc.1) man page as not all systems have it (in fact it's
+[cc.1](2015/howe/cc.1) man page as not all systems have it (in fact it's
`gcc(1)` from Rocky Linux).
-## [2015/mills1](/2015/mills1/prog.c) ([README.md](/2015/mills1/README.md))
+## [2015/mills1](2015/mills1/prog.c) ([index.html](2015/mills1/index.html))
-[Cody](#cody) added the [try.sh](/2015/mills1/try.sh) script which changes the
+[Cody](#cody) added the [try.sh](2015/mills1/try.sh) script which changes the
parameters to what we had in the judges' remarks to make it easier (he only died
when he tried to mark a reminder complete on the other side of the screen at the
same time and he almost survived that, scoring at that point over 90 - but this
@@ -4337,17 +4337,17 @@ also involves good eye-hand coordination and playing games like this in the
past).
-## [2015/mills2](/2015/mills2/prog.c) ([README.md](/2015/mills2/README.md))
+## [2015/mills2](2015/mills2/prog.c) ([index.html](2015/mills2/index.html))
-[Cody](#cody) added the [try.sh](/2015/mills2/try.sh) script.
+[Cody](#cody) added the [try.sh](2015/mills2/try.sh) script.
-## [2015/muth](/2015/muth/prog.c) ([README.md](/2015/muth/README.md))
+## [2015/muth](2015/muth/prog.c) ([index.html](2015/muth/index.html))
-[Cody](#cody) added the [try.sh](/2015/muth/try.sh) script.
+[Cody](#cody) added the [try.sh](2015/muth/try.sh) script.
-## [2015/endoh3](/2015/schweikhardt/prog.c) ([README.md](/2015/schweikhardt/README.md]))
+## [2015/endoh3](2015/schweikhardt/prog.c) ([index.html](2015/schweikhardt/index.html]))
[Cody](#cody) fixed the build so that `EOF` will be `-1` as the program assumes
this. It was decided by Cody to do `-UEOF -DEOF=-1` so as to not have to modify
@@ -4357,7 +4357,7 @@ the code any with C preprocessor directives (the preferred way) or changing
Cody also added the [try.sh](2015/schweikhardt/try.sh) script.
-## [2015/yang](/2015/yang/prog.c) ([README.md](/2015/yang/README.md]))
+## [2015/yang](2015/yang/prog.c) ([index.html](2015/yang/index.html]))
[Cody](#cody) fixed an unfortunate typo in the Makefile that was preventing some of the
files from compiling properly, trying instead to compile already compiled code.
@@ -4365,27 +4365,27 @@ files from compiling properly, trying instead to compile already compiled code.
He also added explicit linking of libm (`-lm`) for systems that do not do this
(Linux seems to not but macOS does).
-He also added the [try.sh](/2015/yang/try.sh) script.
+He also added the [try.sh](2015/yang/try.sh) script.
# 2018
-## [2018/anderson](/2018/anderson/prog.c) ([README.md](/2018/anderson/README.md))
+## [2018/anderson](2018/anderson/prog.c) ([index.html](2018/anderson/index.html))
-[Cody](#cody) added the [try.sh](/2018/anderson/try.sh) and
-[try.alt.sh](/2018/anderson/try.alt.sh) scripts.
+[Cody](#cody) added the [try.sh](2018/anderson/try.sh) and
+[try.alt.sh](2018/anderson/try.alt.sh) scripts.
-## [2018/algmyr](/2018/algmyr/prog.c) ([README.md](/2018/algmyr/README.md))
+## [2018/algmyr](2018/algmyr/prog.c) ([index.html](2018/algmyr/index.html))
-[Cody](#cody) added the [try.sh](/2018/algmyr/try.sh) script.
+[Cody](#cody) added the [try.sh](2018/algmyr/try.sh) script.
-## [2018/bellard](/2018/bellard/prog.c) ([README.md](/2018/bellard/README.md))
+## [2018/bellard](2018/bellard/prog.c) ([index.html](2018/bellard/index.html))
-[Cody](#cody) added the [try.sh](/2018/bellard/try.sh) script.
+[Cody](#cody) added the [try.sh](2018/bellard/try.sh) script.
Cody also, out of abundance of caution, added a second arg to `main()` because
some versions of clang object to the number of args of `main()`, saying that it
@@ -4396,23 +4396,23 @@ object to 1 arg but it is entirely possible that this changes so a second arg
Cody also added explicit linking of libm (`-lm`) for systems that do not do this
(Linux doesn't seem to but macOS does).
-Cody also added [alt code](/2018/bellard/README.md#alternate-code) that should
+Cody also added [alt code](2018/bellard/index.html#alternate-code) that should
work for Windows, based on the author's remarks. The same thing with the number
of args to `main()` that was done in the original entry was done with this
version as well.
-## [2018/burton1](/2018/burton1/prog.c) ([README.md](/2018/burton1/README.md))
+## [2018/burton1](2018/burton1/prog.c) ([index.html](2018/burton1/index.html))
[Cody](#cody) fixed the `scripthd` script (referred to `prog` not `./prog`) and
-renamed it to [scripthd.sh](/2018/burton1/scripthd.sh) to help browsers and
+renamed it to [scripthd.sh](2018/burton1/scripthd.sh) to help browsers and
GitHub as far as downloading/displaying goes.
-Cody also added the [try.sh](/2018/burton1/try.sh) script which also uses
+Cody also added the [try.sh](2018/burton1/try.sh) script which also uses
`scripthd.sh` to show how it differs from `prog` itself.
-## [2018/burton2](/2018/burton2/prog.c) ([README.md](/2018/burton2/README.md))
+## [2018/burton2](2018/burton2/prog.c) ([index.html](2018/burton2/index.html))
[Cody](#cody) fixed the `make test` rule: it tried to run `tac(1)` (in systems
that have that command) rather than the entry itself which is called `tac` and
@@ -4427,26 +4427,26 @@ did the same with `tokenfix` to `tokenfix.sh` as well as `spotcheck` to
Cody also made the man page properly formatted for `man(1)` and renamed it the
file `tac.1`.
-Cody also renamed `discrepancies` to `discrepancies.md` and made it markdown
+Cody also renamed `discrepancies` to `discrepancies.html` and made it markdown
format.
-Cody added the [tokcount.sh](/2018/burton2/tokcount.sh) script which was
+Cody added the [tokcount.sh](2018/burton2/tokcount.sh) script which was
included in the remarks of the author but not an included file.
-Finally Cody added the [try.sh](/2018/burton2/try.sh) script.
+Finally Cody added the [try.sh](2018/burton2/try.sh) script.
-## [2018/ciura](/2018/ciura/prog.c) ([README.md](/2018/ciura/README.md))
+## [2018/ciura](2018/ciura/prog.c) ([index.html](2018/ciura/index.html))
-[Cody](#cody) added the [try.sh](/2018/ciura/try.sh) and
-[try.alt.sh](/2018/ciura/try.alt.sh) scripts and the PDF file,
-[lexicon.pdf](/2018/ciura/lexicon.pdf), that was a dead link, restored from the
+[Cody](#cody) added the [try.sh](2018/ciura/try.sh) and
+[try.alt.sh](2018/ciura/try.alt.sh) scripts and the PDF file,
+[lexicon.pdf](2018/ciura/lexicon.pdf), that was a dead link, restored from the
Internet Wayback Machine.
-## [2018/endoh1](/2018/endoh1/prog.c) ([README.md](/2018/endoh1/README.md))
+## [2018/endoh1](2018/endoh1/prog.c) ([index.html](2018/endoh1/index.html))
-[Cody](#cody) added the [try.sh](/2018/endoh1/try.sh) script which shows the
+[Cody](#cody) added the [try.sh](2018/endoh1/try.sh) script which shows the
input files one at a time and after each one is shown, it feeds it to the
program, redirecting the output to the respective GIF file. It then will inform
the user they should open it in a GIF viewer that can show animation in animated
@@ -4455,40 +4455,40 @@ remarks. The input files offered includes the prog.c as the author,
[Yusuke](#yusuke), suggested that it too has a secret.
-## [2018/endoh2](/2018/endoh2/prog.c) ([README.md](/2018/endoh2/README.md))
+## [2018/endoh2](2018/endoh2/prog.c) ([index.html](2018/endoh2/index.html))
-[Cody](#cody) fixed the [run.sh](/2018/endoh2/run.sh) script (had commands that didn't
+[Cody](#cody) fixed the [run.sh](2018/endoh2/run.sh) script (had commands that didn't
exist and also didn't work even after that was addressed) and added the
-[try.sh](/2018/endoh2/try.sh), [python.sh](/2018/endoh2/python.sh) and
-[python3.sh](/2018/endoh2/python3.sh) scripts. The `try.sh` script runs all
+[try.sh](2018/endoh2/try.sh), [python.sh](2018/endoh2/python.sh) and
+[python3.sh](2018/endoh2/python3.sh) scripts. The `try.sh` script runs all
three of the other scripts but each allows one to send an interrupt in the loops
and still continue to the next script (if one does it when not in a loop it will
exit the script). The `make python` and `make python3` rules in the Makefile now
run the respective scripts.
-## [2018/ferguson](/2018/ferguson/prog.c) ([README.md](/2018/ferguson/README.md))
+## [2018/ferguson](2018/ferguson/prog.c) ([index.html](2018/ferguson/index.html))
[Cody](#cody), with irony well intended :-), fixed the [test.sh
-script](/2018/ferguson/test.sh) for portability, shellcheck, making it executable
+script](2018/ferguson/test.sh) for portability, shellcheck, making it executable
and other things, fixed dead links in the man page, updated the test-strings.txt
-file and other things as well (like adding the [try.sh](/2018/ferguson/try.sh)
-and [try.alt.sh](/2018/ferguson/try.alt.sh) scripts).
+file and other things as well (like adding the [try.sh](2018/ferguson/try.sh)
+and [try.alt.sh](2018/ferguson/try.alt.sh) scripts).
Landon notes that Cody will probably never finish changes in his entries and
that's probably true: let's just say that for the IOCCC I'm (Cody) a weasel! :-)
(but isn't that kind of the point ? :-) )
-## [2018/hou](/2018/hou/prog.c) ([README.md](/2018/hou/README.md))
+## [2018/hou](2018/hou/prog.c) ([index.html](2018/hou/index.html))
[Cody](#cody) added explicit linking of libm (`-lm`) for systems that do not do this
(Linux doesn't seem to but macOS does).
-Cody also added the [try.sh](/2018/hou/try.sh) script.
+Cody also added the [try.sh](2018/hou/try.sh) script.
-## [2018/mills](/2018/mills/prog.c) ([README.md](/2018/mills/README.md))
+## [2018/mills](2018/mills/prog.c) ([index.html](2018/mills/index.html))
[Cody](#cody), based on the author's remarks, made it possible to save state
between runs of the program so that one can resume where they left off. It
@@ -4496,31 +4496,31 @@ should be noted that there is a bug in the entry (irrespective of save state
option) where running `./prog` twice in a row involves having to hit (the second
run) enter and then exit and then start the program again. Also if you do add a
file you should run `sync` prior to exiting or else the file might not exist or
-it might be corrupt. See [2018/mills in bugs.md](/bugs.md#2018-mills) for more
+it might be corrupt. See [2018/mills in bugs.html](bugs.html#2018-mills) for more
details on the bug.
-## [2018/poikola](/2018/poikola/prog.c) ([README.md[(/2018/poikola/README.md))
+## [2018/poikola](2018/poikola/prog.c) ([index.html[(2018/poikola/index.html))
[Cody](#cody) added the missing `docs` rule to the Makefile that forms a PDF
file. The rule requires the tool `pdflatex`.
-Cody also added the [try.sh](/2018/poikola/try.sh) script.
+Cody also added the [try.sh](2018/poikola/try.sh) script.
-[Dave Burton](/authors.html#Dave_Burton), during the preview period, noticed a
+[Dave Burton](authors.html#Dave_Burton), during the preview period, noticed a
problem where the macOS `Terminal.app` does not work properly for this program.
We added some additional notes on what might happen (it varies depending on
configuration).
-## [2018/vokes](/2018/vokes/prog.c) ([README.md](/2018/vokes/README.md))
+## [2018/vokes](2018/vokes/prog.c) ([index.html](2018/vokes/index.html))
-[Cody](#cody) added the [try.sh](/2018/vokes/try.sh) script.
+[Cody](#cody) added the [try.sh](2018/vokes/try.sh) script.
-## [2018/yang](/2018/yang/prog.c) ([README.md](/2018/yang/README.md))
+## [2018/yang](2018/yang/prog.c) ([index.html](2018/yang/index.html))
-[Cody](#cody) added the [try.sh](/2018/yang/try.sh) script. This script will ask
+[Cody](#cody) added the [try.sh](2018/yang/try.sh) script. This script will ask
if the user wants to see some of the spoilers and only show them if they type
`y` or `Y`.
@@ -4529,85 +4529,85 @@ if the user wants to see some of the spoilers and only show them if they type
# 2019
-## [2019/adamovsky](/2019/adamovsky/prog.c) ([README.md](/2019/adamovsky/README.md]))
+## [2019/adamovsky](2019/adamovsky/prog.c) ([index.html](2019/adamovsky/index.html]))
-[Cody](#cody) added the [try.sh](/2019/adamovsky/try.sh) script and the Unlambda
-file [crash.unl](/2019/adamovsky/crash.unl) which is in the judges' remarks as
+[Cody](#cody) added the [try.sh](2019/adamovsky/try.sh) script and the Unlambda
+file [crash.unl](2019/adamovsky/crash.unl) which is in the judges' remarks as
to what can crash it - but it's not a bug, it's a feature.
-## [2019/burton](/2019/burton/prog.c) ([README.md](/2019/burton/README.md]))
+## [2019/burton](2019/burton/prog.c) ([index.html](2019/burton/index.html]))
[Cody](#cody) fixed the Makefile which had a bad character, a '%' instead of a '$' which
caused a rule to fail.
-Cody also added the [try.sh](/2019/burton/try.sh) script which shows a
+Cody also added the [try.sh](2019/burton/try.sh) script which shows a
side-by-side comparison on several files of the entry and `wc(1)` as well as
running `make test`.
-Cody also fixed the script [check.sh](/2019/burton/check.sh) (renamed from
+Cody also fixed the script [check.sh](2019/burton/check.sh) (renamed from
`check`) in case `x` is specified and is not executable and also made it satisfy
ShellCheck. He also made ShellCheck not be a cow and/or (to use Bart Simpson's
advice :-) ) 'not have a cow' about certain things (including one thing it was
-wrong about) in [cow.sh](/2019/burton/cow.sh) (which was renamed from `cow`)
+wrong about) in [cow.sh](2019/burton/cow.sh) (which was renamed from `cow`)
mootoo.
Cody also renamed the file `on.one.liners` to
-[on.one.liners.txt](/2019/burton/on.one.liners.txt) to help with
+[on.one.liners.txt](2019/burton/on.one.liners.txt) to help with
browsers/GitHub.
-## [2019/ciura](/2019/ciura/prog.c) ([README.md](/2019/ciura/README.md]))
+## [2019/ciura](2019/ciura/prog.c) ([index.html](2019/ciura/index.html]))
[Cody](#cody) fixed an invalid bytes error in `tr` in the scripts. This does not
mean that they will produce any output, though, as they provide expect all
letters and that makes it harder to form perfect pangrams. On the subject of
-German umlauts and Eszett (ß) see the [entry in bugs.md](/bugs.md#2019-ciura).
+German umlauts and Eszett (ß) see the [entry in bugs.html](bugs.html#2019-ciura).
Cody also fixed the Makefile so that the alt code would be built when running
`make alt`.
Cody converted the PS file linked to by the author to a PDF
-([fasc5c.pdf](/2019/ciura/fasc5c.pdf)) and added it to the
+([fasc5c.pdf](2019/ciura/fasc5c.pdf)) and added it to the
website.
-Cody also added the [try.sh](/2019/ciura/try.sh) and
-[try.alt.sh](/2019/ciura/try.alt.sh) scripts.
+Cody also added the [try.sh](2019/ciura/try.sh) and
+[try.alt.sh](2019/ciura/try.alt.sh) scripts.
Finally he added the scripts for the different languages that use the alt
version but with the caveat that only English appears to work. See the [entry in
-bugs.md](/bugs.md#2019-ciura) for more details.
+bugs.html](bugs.html#2019-ciura) for more details.
-## [2019/diels-grabsch1](/2019/diels-grabsch1/prog.c) ([README.md](/2019/diels-grabsch1/README.md]))
+## [2019/diels-grabsch1](2019/diels-grabsch1/prog.c) ([index.html](2019/diels-grabsch1/index.html]))
-[Cody](#cody) added the [try.sh](/2019/diels-grabsch1/try.sh) script.
+[Cody](#cody) added the [try.sh](2019/diels-grabsch1/try.sh) script.
-Cody also added the file [Shakespeare.txt](/2019/diels-grabsch1/Shakespeare.txt)
-from [2019/mills](/2019/mills/README.md) (after running `make`) so that one can
+Cody also added the file [Shakespeare.txt](2019/diels-grabsch1/Shakespeare.txt)
+from [2019/mills](2019/mills/index.html) (after running `make`) so that one can
not worry about having the entire IOCCC winning entry tree (or at least the 2019 tree each
entry in a subdirectory). This is more important as there is discussion of
having tarballs for each individual entry as a convenience.
-## [2019/diels-grabsch2](/2019/diels-grabsch2/prog.c) ([README.md](/2019/diels-grabsch2/README.md]))
+## [2019/diels-grabsch2](2019/diels-grabsch2/prog.c) ([index.html](2019/diels-grabsch2/index.html]))
-[Cody](#cody) added the [try.sh](/2019/diels-grabsch2/try.sh) script. This
+[Cody](#cody) added the [try.sh](2019/diels-grabsch2/try.sh) script. This
script will try and show the difference (i.e. the same output) between the
program and the result of `sha512sum` or `shasum -a 512` if either of those
tools can be found but otherwise it'll just run the program itself, showing its
own sha512sum value.
-## [2019/dogon](/2019/dogon/prog.c) ([README.md](/2019/dogon/README.md))
+## [2019/dogon](2019/dogon/prog.c) ([index.html](2019/dogon/index.html))
[Cody](#cody) added explicit linking of libm (`-lm`) for systems that do not do this
(Linux does not seem to but macOS does).
He also fixed the Makefile so that it compiles with clang in Linux.
-He also added the [try.sh](/2019/dogon/try.sh) script.
+He also added the [try.sh](2019/dogon/try.sh) script.
He also made it possible to easily redefine the memory macro `Z` at compilation
time by modifying the Makefile.
@@ -4618,39 +4618,39 @@ was to only correct spelling and only some, not to change wording or anything
else).
-## [2019/duble](/2019/duble/prog.c) ([README.md](/2019/duble/README.md]))
+## [2019/duble](2019/duble/prog.c) ([index.html](2019/duble/index.html]))
[Cody](#cody) made the `make fullscreen` more portable by not relying on
`stty(1)` and `sed(1)` but rather it just uses `tput(1)`. He also made it so
that if `tput(1)` is not found it tells the user an easier way to compile the full
screen size rather than having to modify the Makefile. This done with a script,
-[fullscreen.sh](/2019/duble/fullscreen.sh), to simplify the Makefile and provide
+[fullscreen.sh](2019/duble/fullscreen.sh), to simplify the Makefile and provide
an easy way to tell the user how to compile it, assuming that the environmental
variables `LINES` and `COLUMNS` are set. But even if they're not set it explains
how to easily compile the program to a specific size. Note that `LINES` and
`COLUMNS` is not available to scripts so it can't make use of them that way.
-## [2019/endoh](/2019/endoh/prog.c) ([README.md](/2019/endoh/README.md]))
+## [2019/endoh](2019/endoh/prog.c) ([index.html](2019/endoh/index.html]))
As this is a backtrace quine having the optimiser enabled is not a good idea so
[Cody](#cody) disabled it. For this same reason he also added the `-g` flag to the
compilation as debugging symbols might just be useful for an entry that's
supposed to segfault :-)
-Cody also added the simple [ascii.c](/2019/endoh/ascii.c) that (while it has an
+Cody also added the simple [ascii.c](2019/endoh/ascii.c) that (while it has an
arg) prints out the character of the ASCII value (uses `isascii(3)` first). This
-combined with the [try.sh](/2019/endoh/try.sh) script that he added allows one
+combined with the [try.sh](2019/endoh/try.sh) script that he added allows one
to easily reconstruct the source code through GDB by the fact it's a backtrace
quine.
-## [2019/giles](/2019/giles/prog.c) ([README.md](/2019/giles/README.md]))
+## [2019/giles](2019/giles/prog.c) ([index.html](2019/giles/index.html]))
-[Cody](#cody) added the [try.sh](/2019/giles/try.sh) script.
+[Cody](#cody) added the [try.sh](2019/giles/try.sh) script.
-## [2019/karns](/2019/karns/prog.c) ([README.md](/2019/karns/README.md]))
+## [2019/karns](2019/karns/prog.c) ([index.html](2019/karns/index.html]))
[Cody](#cody) reported that with `-O` level > 0 this program segfaults (sometimes?). He's
not sure why as it worked fine before on the same systems tested but `-O0`
@@ -4658,35 +4658,35 @@ appears to fix the problem in both macOS and Linux. Perhaps this is the problem
that the author reported where it sometimes segfaults but Cody did not try
debugging it since it works with `-O0`.
-He also added the script [try.sh](/2019/karns/try.sh) to showcase the entry a
+He also added the script [try.sh](2019/karns/try.sh) to showcase the entry a
bit more easily.
-## [2019/lynn](/2019/lynn/prog.c) ([README.md](/2019/lynn/README.md]))
+## [2019/lynn](2019/lynn/prog.c) ([index.html](2019/lynn/index.html]))
-[Cody](#cody) added the [try.sh](/2019/lynn/try.sh) script.
+[Cody](#cody) added the [try.sh](2019/lynn/try.sh) script.
-Cody also added the [example-1.txt](/2019/lynn/example-1.txt) and
-[example-2.txt](/2019/lynn/example-2.txt) text files from
-[2018/vokes](/2018/vokes/README.md) so that the entry does not rely on any other
+Cody also added the [example-1.txt](2019/lynn/example-1.txt) and
+[example-2.txt](2019/lynn/example-2.txt) text files from
+[2018/vokes](2018/vokes/index.html) so that the entry does not rely on any other
entry existing.
-## [2019/mills](/2019/mills/prog.c) ([README.md](/2019/mills/README.md]))
+## [2019/mills](2019/mills/prog.c) ([index.html](2019/mills/index.html]))
-[Cody](#cody) added the [try.sh](/2019/mills/try.sh) script.
+[Cody](#cody) added the [try.sh](2019/mills/try.sh) script.
-## [2019/poikola](/2019/poikola/prog.c) ([README.md[(/2019/poikola/README.md))
+## [2019/poikola](2019/poikola/prog.c) ([index.html[(2019/poikola/index.html))
[Cody](#cody) added the missing `docs` rule to the Makefile that forms a PDF
file. The rule requires the tool
[pdflatex](https://tug.org/applications/pdftex/index.html).
-Cody also added the [alternate code](/2019/poikola/README.md#alternate-code).
+Cody also added the [alternate code](2019/poikola/index.html#alternate-code).
-Cody also added the [try.sh](/2019/poikola/try.sh) and
-[try.alt.sh](/2019/poikola/try.alt.sh) scripts.
+Cody also added the [try.sh](2019/poikola/try.sh) and
+[try.alt.sh](2019/poikola/try.alt.sh) scripts.
Cody also disabled the optimiser because the author stated that for clang the
levels [0123s] work okay but with GCC (6) they only said level 0 works,
@@ -4696,20 +4696,20 @@ tested: `gnu17` was not tested but `gnu11` was so the standard was set to
`gnu11`.
-## [2019/yang](/2019/yang/prog.c) ([README.md](/2019/yang/README.md]))
+## [2019/yang](2019/yang/prog.c) ([index.html](2019/yang/index.html]))
-[Cody](#cody) added the [try.sh](/2019/yang/try.sh) script which also involved
-slightly updating the [sample_input.txt](/2019/yang/sample_input.txt) file
+[Cody](#cody) added the [try.sh](2019/yang/try.sh) script which also involved
+slightly updating the [sample_input.txt](2019/yang/sample_input.txt) file
(removed trailing newlines as it resulted in `diff` showing differences when it
-shouldn't) and adding the [ioccc.txt](/2019/yang/ioccc.txt) file.
+shouldn't) and adding the [ioccc.txt](2019/yang/ioccc.txt) file.
# 2020
-## [2020/burton](/2020/burton/prog.c) ([README.md](/2020/burton/README.md))
+## [2020/burton](2020/burton/prog.c) ([index.html](2020/burton/index.html))
-[Cody](#cody) fixed the script [check_be.sh](/2020/burton/check_be.sh): it
+[Cody](#cody) fixed the script [check_be.sh](2020/burton/check_be.sh): it
assumed that `prog_be` was in `PATH` which is unlikely so it was changed to
`./prog_be`.
@@ -4717,29 +4717,29 @@ Cody also improved the `make test` rule (which uses `check_be.sh` and the Little
Endian counterpart) so that it shows that the files are identical rather than
showing nothing at all.
-Cody also added the [try.sh](/2020/burton/try.sh) script.
+Cody also added the [try.sh](2020/burton/try.sh) script.
-## [2020/carlini](/2020/carlini/prog.c) ([README.md](/2020/carlini/README.md))
+## [2020/carlini](2020/carlini/prog.c) ([index.html](2020/carlini/index.html))
-[Cody](#cody) added the [try.sh](/2020/carlini/try.sh) script which although at
+[Cody](#cody) added the [try.sh](2020/carlini/try.sh) script which although at
first glance might not appear to have a point, it actually does, namely showing
how you can automate play and then reminding you to actually play for real, with
a friend, whether that's real or imagined.
-## [2020/endoh2](/2020/endoh2/prog.c) ([README.md](/2020/endoh2/README.md))
+## [2020/endoh2](2020/endoh2/prog.c) ([index.html](2020/endoh2/index.html))
[Cody](#cody) copied the files from the spoiler.zip file (from his copy during
the preview period) that was password protected with a password that was no
longer known.
-He also added the [try.sh](/2020/endoh2/try.sh) script.
+He also added the [try.sh](2020/endoh2/try.sh) script.
-## [2020/endoh3](/2020/endoh3/prog.c) ([README.md](/2020/endoh3/README.md))
+## [2020/endoh3](2020/endoh3/prog.c) ([index.html](2020/endoh3/index.html))
-[Cody](#cody) fixed the script [run_clock.sh](/2020/endoh3/run_clock.sh) which gave a
+[Cody](#cody) fixed the script [run_clock.sh](2020/endoh3/run_clock.sh) which gave a
funny error when running it:
```sh
@@ -4766,7 +4766,7 @@ first.
Cody also reported (during the preview period of 2020) for some systems (at some
point?) like macOS the use of `make clock` would not work due possibly to a
timing issue so [Yusuke](#yusuke) changed it to compile the
-[clock.c](/2020/endoh3/clock.c) file directly (this might have been fixed in the
+[clock.c](2020/endoh3/clock.c) file directly (this might have been fixed in the
Makefile later on but it doesn't hurt to keep it in and this way it isn't a
problem in any system). How Cody remembers this minor detail more than three
years ago is something that many people might wonder but he also once told us
@@ -4774,24 +4774,24 @@ that if someone moves something of his even a millimetre from where it was he
knows it so he might be called unusual (and he argues, with pride, eccentric :-)
) :-)
-Cody also added the [run_clock.alt.sh](/2020/endoh3/run_clock.alt.sh) script
-which is analogous to the [run_clock.sh](/2020/endoh3/run_clock.sh) but for the
+Cody also added the [run_clock.alt.sh](2020/endoh3/run_clock.alt.sh) script
+which is analogous to the [run_clock.sh](2020/endoh3/run_clock.sh) but for the
alt code provided by the author, Yusuke.
-## [2020/ferguson1](/2020/ferguson1/prog.c) ([README.md](/2020/ferguson1/README.md))
+## [2020/ferguson1](2020/ferguson1/prog.c) ([index.html](2020/ferguson1/index.html))
[Cody](#cody), with intentional irony here :-), fixed formatting, links and typos in
various files.
-He improved the [termcaps.c test utility](/2020/ferguson1/termcaps.c), bug fixed
-[play.sh](/2020/ferguson1/play.sh), fixed other scripts and the Makefile, changed
+He improved the [termcaps.c test utility](2020/ferguson1/termcaps.c), bug fixed
+[play.sh](2020/ferguson1/play.sh), fixed other scripts and the Makefile, changed
some files to be markdown (and fixed problems that he caused in doing so :-) ),
fixed typos and formatting and he also fixed some issues that occurred when
-files were renamed to `.md` from `.markdown`.
+files were renamed to `.html` from `.markdown`.
Most importantly he also added some corrections to the vital [Double
-layered chocolate fudge cake recipe](/2020/ferguson1/chocolate-cake.md) :-)
+layered chocolate fudge cake recipe](2020/ferguson1/chocolate-cake.html) :-)
Yes the irony here is as rich as the chocolate cake: the question is do you know
how rich it is? If not and you like chocolate I (that is Cody :-) ) highly
@@ -4799,26 +4799,26 @@ recommend you give it a go! :-) You're welcome to ask me questions if you wish
and I encourage you to do so as the cake is quite picky!
-## [2020/ferguson2](/2020/ferguson2/prog.c) ([README.md](/2020/ferguson2/README.md))
+## [2020/ferguson2](2020/ferguson2/prog.c) ([index.html](2020/ferguson2/index.html))
[Cody](#cody), with intentional irony here :-), fixed formatting, links and typos in
various files.
-He also added the [try.sh](/2020/ferguson2/try.sh) script.
+He also added the [try.sh](2020/ferguson2/try.sh) script.
-He also added the [alt code](/2020/ferguson2/README.md#alternate-code) and the
-[try.alt.sh](/2020/ferguson2/try.alt.sh) script.
+He also added the [alt code](2020/ferguson2/index.html#alternate-code) and the
+[try.alt.sh](2020/ferguson2/try.alt.sh) script.
The try scripts involved the addition of a text file,
-[key.txt](/2020/ferguson2/key.txt) which has the key of the file the judges
-added in [try.this.txt](/2020/ferguson2/try.this.txt) which itself was based on
+[key.txt](2020/ferguson2/key.txt) which has the key of the file the judges
+added in [try.this.txt](2020/ferguson2/try.this.txt) which itself was based on
something the author (Cody :-) ) submitted in the first place.
-He also fixed some issues that occurred when files were renamed to `.md` from
+He also fixed some issues that occurred when files were renamed to `.html` from
`.markdown`.
Most importantly he also added some corrections to the vital [Double
-layered chocolate fudge cake recipe](/2020/ferguson2/chocolate-cake.md),
+layered chocolate fudge cake recipe](2020/ferguson2/chocolate-cake.html),
enciphered though it is :-)
Yes the irony here is as rich as the chocolate cake: the question is do you know
@@ -4827,9 +4827,9 @@ recommend you give it a go! :-) You're welcome to ask me questions if you wish
and I encourage you to do so as the cake is quite picky!
-## [2020/giles](/2020/giles/prog.c) ([README.md](/2020/giles/README.md))
+## [2020/giles](2020/giles/prog.c) ([index.html](2020/giles/index.html))
-[Cody](#cody) added the [try.sh](/2020/giles/try.sh) script. This script does
+[Cody](#cody) added the [try.sh](2020/giles/try.sh) script. This script does
the conversion of `pi.wav` (showing the digits) and also converts the number for
`jenny.wav` and a number Cody 'came up with': one that resembles `IOCCC 28`:
`10666-28`. The `6` is the closest to `C` in his head even though it's not
@@ -4841,14 +4841,14 @@ and tells them they will have to play the WAV files manually. Otherwise it'll
use the program to play the WAV files (and in one case `stdout`).
-## [2020/kurdyukov1](/2020/kurdyukov1/prog.c) ([README.md](/2020/kurdyukov1/README.md))
+## [2020/kurdyukov1](2020/kurdyukov1/prog.c) ([index.html](2020/kurdyukov1/index.html))
-[Cody](#cody) added the [try.sh](/2020/kurdyukov1/try.sh) script.
+[Cody](#cody) added the [try.sh](2020/kurdyukov1/try.sh) script.
-## [2020/kurdyukov2](/2020/kurdyukov2/prog.c) ([README.md](/2020/kurdyukov2/README.md))
+## [2020/kurdyukov2](2020/kurdyukov2/prog.c) ([index.html](2020/kurdyukov2/index.html))
-[Cody](#cody) added the [try.sh](/2020/kurdyukov2/try.sh) script.
+[Cody](#cody) added the [try.sh](2020/kurdyukov2/try.sh) script.
Cody also added `-L`/`-I` paths to the Makefile to let this compile more easily if
the user has installed the appropriate library with
@@ -4862,21 +4862,21 @@ specify which compiler to use with `CC=foo ./makegif.sh ...`), checking that
entry if not installed or it fails).
-## [2020/kurdyukov3](/2020/kurdyukov3/prog.c) ([README.md](/2020/kurdyukov3/README.md))
+## [2020/kurdyukov3](2020/kurdyukov3/prog.c) ([index.html](2020/kurdyukov3/index.html))
-[Cody](#cody) added the [try.sh](/2020/kurdyukov3/try.sh) script.
+[Cody](#cody) added the [try.sh](2020/kurdyukov3/try.sh) script.
He also added a link that has much more details about this phenomenon to the
-README.md. Naturally he's one of the ones who can read text even if it's even
+index.html. Naturally he's one of the ones who can read text even if it's even
more jumbled but we know of others too.
-## [2020/kurdyukov4](/2020/kurdyukov4/prog.c) ([README.md](/2020/kurdyukov4/README.md))
+## [2020/kurdyukov4](2020/kurdyukov4/prog.c) ([index.html](2020/kurdyukov4/index.html))
-[Cody](#cody) added the [try.sh](/2020/kurdyukov4/try.sh) script.
+[Cody](#cody) added the [try.sh](2020/kurdyukov4/try.sh) script.
-Cody also added from [2019/mills](/2019/mills/README.md) the text file
-[Shakespeare.txt](/2020/kurdyukov4/Shakespeare.txt) as we are considering to
+Cody also added from [2019/mills](2019/mills/index.html) the text file
+[Shakespeare.txt](2020/kurdyukov4/Shakespeare.txt) as we are considering to
have each entry have a tarball with the entry by itself.
Also, to explain the confusing to most people award, Cody gave a quick
@@ -4886,31 +4886,31 @@ set by the late Christopher Tolkien, son and literary executor and heir to
J.R.R. Tolkien).
-## [2020/otterness](/2020/otterness/prog.c) ([README.md](/2020/otterness/README.md))
+## [2020/otterness](2020/otterness/prog.c) ([index.html](2020/otterness/index.html))
-[Cody](#cody) added the MIDI files [cvikl.mid](/2020/otterness/cvikl.mid) and
-[entertainer.mid](/2020/otterness/entertainer.mid) from the URLs we suggested so
+[Cody](#cody) added the MIDI files [cvikl.mid](2020/otterness/cvikl.mid) and
+[entertainer.mid](2020/otterness/entertainer.mid) from the URLs we suggested so
that one need not download them and to make sure they can always be obtained
even if the domain or link goes dead.
-Cody also added the [try.sh](/2020/otterness/try.sh) script.
+Cody also added the [try.sh](2020/otterness/try.sh) script.
-## [2020/tsoj](/2020/tsoj/prog.c) ([README.md](/2020/tsoj/README.md))
+## [2020/tsoj](2020/tsoj/prog.c) ([index.html](2020/tsoj/index.html))
-[Cody](#cody) added [alternate code](/2020/tsoj/README.md#alternate-code) that will feel
-more at home for vi users. One might still end up cursing (see the README.md
+[Cody](#cody) added [alternate code](2020/tsoj/index.html#alternate-code) that will feel
+more at home for vi users. One might still end up cursing (see the index.html
file) but probably a lot less :-)
-## [2020/yang](/2020/yang/prog.c) ([README.md](/2020/yang/README.md))
+## [2020/yang](2020/yang/prog.c) ([index.html](2020/yang/index.html))
-[Cody](#cody) added the [try.sh](/2020/yang/try.sh) script.
+[Cody](#cody) added the [try.sh](2020/yang/try.sh) script.
Cody also added a make rule (`make cppp`) for the author's provided C++ code
that can preprocess the generated output to make them more acceptable to typical
-compilers. See the README.md for more details.
+compilers. See the index.html for more details.
@@ -4954,7 +4954,7 @@ There were some other fixes as well including mass typo fixes in the Makefiles
worth noting in this case). Other times it was enabling or disabling the
optimiser to fix an entry, sometimes causing other problems that also had to be
fixed, a good example being [1986/marshall](#1986marshall-readmemd) (see the
-[compilers.md](/1986/marshall/compilers.md) for the amusing details and all that
+[compilers.html](1986/marshall/compilers.html) for the amusing details and all that
had to be done to fix it).
There was a 'problem' where `${MAKE}` was `$(MAKE)`: this doesn't break anything
@@ -4962,7 +4962,7 @@ but it is inconsistent with the rest of the `${foo}` tools even if by tradition
it is `$(MAKE)`.
Cody also added missing variables like `BASH` and `PDFLATEX` to the
-[var.mk](/var.mk) file and removed another that was deemed problematic or
+[var.mk](var.mk) file and removed another that was deemed problematic or
undesired. Other variable names had typos in them.
A comment was missing for the `diff_alt_orig` rule in all the Makefiles and
@@ -4975,10 +4975,10 @@ manually.
[Cody](#cody), being the IOCCC's resident corrections officer :-) (and a fine one at
that, we think :-) ), made many, many typ0 (... :-) ) fixes throughout the
-README.md files, scripts, other data files, Makefiles (see above) etc.
+index.html files, scripts, other data files, Makefiles (see above) etc.
-He also updated the formatting of the README.md files (after renaming the old
-files to README.md) to proper markdown.
+He also updated the formatting of the index.html files (after renaming the old
+files to index.html) to proper markdown.
Where possible he made the presentation of the entries much more consistent
across the entries of all the years as well as other files. This is not possible
@@ -4999,32 +4999,32 @@ contributed thousands, that we wish to thank.
### Authors
A good number of the [wining entries of the
-IOCCC](https://www.ioccc.org/authors.html) tested, identified and helped correct
+IOCCC](../authors.html) tested, identified and helped correct
and/or improve the write-ups of fellow IOCCC entries for the year that they won.
The list of those entries is too long to mention: nevertheless the [IOCCC
-judges](https://www.ioccc.org/judges.html) **VERY MUCH APPRECIATE** those who
+judges](../judges.html) **VERY MUCH APPRECIATE** those who
helped improve the presentation of their fellow IOCCC entries.
### Cody Boone Ferguson
We call out the extensive contributions of [Cody Boone
-Ferguson](https://www.ioccc.org/authors.html#Cody_Boone_Ferguson) who is
+Ferguson](../authors.html#Cody_Boone_Ferguson) who is
responsible for most of the improvements and fixes including many **EXTREMELY
-HARD bug fixes** like [1988/phillipps](/thanks-for-help.md#1988_phillipps),
-[1992/vern](/thanks-for-help.md#1992_vern),
-[2001/anonymous](/thanks-for-help.md#2001_anonymous),
-[2004/burley](/thanks-for-help.md#2004_burley) and
-[2005/giljade](/thanks-for-help.md#2005_giljade), making entries like
-[1985/sicherman](/thanks-for-help.md#1985_sicherman) and
-[1986/wall](/thanks-for-help.md#1986_wall) not need `-traditional-cpp` (all
+HARD bug fixes** like [1988/phillipps](thanks-for-help.html#1988_phillipps),
+[1992/vern](thanks-for-help.html#1992_vern),
+[2001/anonymous](thanks-for-help.html#2001_anonymous),
+[2004/burley](thanks-for-help.html#2004_burley) and
+[2005/giljade](thanks-for-help.html#2005_giljade), making entries like
+[1985/sicherman](thanks-for-help.html#1985_sicherman) and
+[1986/wall](thanks-for-help.html#1986_wall) not need `-traditional-cpp` (all
**EXTREMELY HARD**), fixing entries to work with clang (some **EXTREMELY HARD**
-like [1991/dds](/thanks-for-help.md#1991_dds)) or as much as possible
-([1989/westley](/thanks-for-help.md#1989_westley), a true masterpiece that is
+like [1991/dds](thanks-for-help.html#1991_dds)) or as much as possible
+([1989/westley](thanks-for-help.html#1989_westley), a true masterpiece that is
**INCREDIBLY HARD, *MUCH MORE SO* than any other fix!**), porting entries to
macOS (some **EXTREMELY HARD** like
-[1998/schweikh1](/thanks-for-help.md#1998_schweikh1), fixing code like
-[2001/herrmann2](/thanks-for-help.md#2001_herrmann2) to work in both
+[1998/schweikh1](thanks-for-help.html#1998_schweikh1), fixing code like
+[2001/herrmann2](thanks-for-help.html#2001_herrmann2) to work in both
32-bit/64-bit which *can be* **EXTREMELY HARD**, providing alternate code where
useful/necessary, improving **ALL _Makefiles_**, writing scripts to
greatly simplify running many of the entries and writing
@@ -5049,13 +5049,13 @@ systems!
### Yusuke Endoh
-[Yusuke Endoh](https://www.ioccc.org/authors.html#Yusuke_Endoh) supplied a
+[Yusuke Endoh](../authors.html#Yusuke_Endoh) supplied a
number of important bug fixes to a number of past IOCCC entries. Some of those
fixes were **EXTREMELY TECHNICALLY CHALLENGING** such as
-[1989/robison](/thanks-for-help.md#1989_robison),
-[1990/cmills](/thanks-for-help.md#1990_cmills),
-[1992/lush](/thanks-for-help.md#1992_lush) and
-[2001/ctk](/thanks-for-help.md#2001_ctk). **THANK YOU VERY MUCH** for
+[1989/robison](thanks-for-help.html#1989_robison),
+[1990/cmills](thanks-for-help.html#1990_cmills),
+[1992/lush](thanks-for-help.html#1992_lush) and
+[2001/ctk](thanks-for-help.html#2001_ctk). **THANK YOU VERY MUCH** for
your help!
diff --git a/tmp/README.md b/tmp/README.md
index 9efd47de0..3d9ede870 100644
--- a/tmp/README.md
+++ b/tmp/README.md
@@ -1,8 +1,8 @@
# tmp
The tools under this directory are an alpha release.
-The [build-ioccc repo](https://github.com/ioccc-src/build-ioccc/tree/master)
-will hold the beta and formal release of tools that will
+The [bin directory](bin/index.html)
+holds the formal release of tools that will
maintain the [official IOCCC web site](https://www.ioccc.org).
Currently these tools maintain the [experimental web site](https://ioccc-src.github.io/temp-test-ioccc/)
@@ -428,9 +428,6 @@ Examples:
This is a temporary location for potential tools that are used to
build and maintain the www.ioccc.org web site.
-Eventually a separate [build-ioccc repo](https://github.com/ioccc-src/build-ioccc/tree/master)
-will hold these tools.
-
### [things-todo.md](things-todo.md)
diff --git a/tmp/example.author.json b/tmp/example.author.json
index e043766f4..fc8d07844 100644
--- a/tmp/example.author.json
+++ b/tmp/example.author.json
@@ -5,7 +5,6 @@
"full_name" : "First Middle Last",
"sort_word" : "lowercaselast",
"location_code" : "AU",
- "location_name" : "Australia",
"email" : "user0@example.com",
"url" : "https:\/\/a.host0.example.com\/index.html",
"alt_url" : "https:\/\/b.host0.example.com\/index.html",
diff --git a/tmp/gen_author_json.sh b/tmp/gen_author_json.sh
index 53f03f728..60a48cd92 100755
--- a/tmp/gen_author_json.sh
+++ b/tmp/gen_author_json.sh
@@ -8,7 +8,7 @@
# XXX - This is a temporary utility that will be replaced when
# the .entry.json files are built.
#
-# Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
+# Copyright (c) 2023,2024 by Landon Curt Noll. All Rights Reserved.
#
# Permission to use, copy, modify, and distribute this software and
# its documentation for any purpose and without fee is hereby granted,
@@ -34,7 +34,7 @@
# setup
#
-export VERSION="1.0 2023-06-06"
+export VERSION="1.1 2024-03-04"
NAME=$(basename "$0"); export NAME
export JSTRENCODE="../../mkiocccentry/jparse/jstrencode"
export LOCATION="../../mkiocccentry/soup/location"
@@ -490,11 +490,6 @@ grep -v '^#' "$AUTHOR_HANDLE_TXT" | while read -r AUTHOR_HANDLE; do
else
echo ' "location_code" : "'"$LOCATION_CODE"'",'
fi
- if [[ $LOCATION_NAME == null || -z $LOCATION_NAME ]]; then
- echo ' "location_name" : null,'
- else
- echo ' "location_name" : "'"$LOCATION_NAME"'",'
- fi
if [[ $EMAIL == null || -z $EMAIL ]]; then
echo ' "email" : null,'
else
diff --git a/tmp/manifest.csv b/tmp/manifest.csv
index a889e42ba..73bd4e858 100644
--- a/tmp/manifest.csv
+++ b/tmp/manifest.csv
@@ -1875,7 +1875,7 @@
2004,gavin,gavin.md,4294967295,true,markdown,true,markdown source for gavin.html
2004,gavin,.gitignore,4294967295,true,gitignore,true,list of files that should not be committed under git
2004,gavin,.path,4294967295,false,text,false,directory path from top directory
-2004,hibachi,src/hibachi.c,20,true,c,true,entry source
+2004,hibachi,hibachi.c,20,true,c,true,entry source
2004,hibachi,Makefile,30,true,makefile,true,entry Makefile
2004,hibachi,hibachi.orig.c,50,false,c,true,original source
2004,hibachi,src/configure,100,true,shellscript,true,GNU autoconf script
@@ -2801,10 +2801,10 @@
2012,konno,.gitignore,4294967295,true,gitignore,true,list of files that should not be committed under git
2012,konno,.path,4294967295,false,text,false,directory path from top directory
2012,omoikane,Makefile,30,true,makefile,true,entry Makefile
-2012,omoikane,nyaruko.alt2.c,40,true,c,true,alternate alternative source
-2012,omoikane,nyaruko.alt.c,40,true,c,true,alternative source
-2012,omoikane,nyaruko.orig.c,50,false,c,true,original source
-2012,omoikane,nyaruko.c,100,true,c,true,source to generate random data
+2012,omoikane,omoikane.alt2.c,40,true,c,true,alternate alternative source
+2012,omoikane,omoikane.alt.c,40,true,c,true,alternative source
+2012,omoikane,omoikane.orig.c,50,false,c,true,original source
+2012,omoikane,omoikane.c,100,true,c,true,source to generate random data
2012,omoikane,try.alt.sh,100,true,shellscript,true,how to run alternative code
2012,omoikane,try.sh,100,true,shellscript,true,how to run
2012,omoikane,spoiler.html,200,true,html,false,SPOILER WARNING
diff --git a/tmp/manifest.numbers b/tmp/manifest.numbers
index f25e38c17..5a9d372d4 100644
Binary files a/tmp/manifest.numbers and b/tmp/manifest.numbers differ
diff --git a/tmp/path_list.found.txt b/tmp/path_list.found.txt
index 08d4f4177..c661e2bde 100644
--- a/tmp/path_list.found.txt
+++ b/tmp/path_list.found.txt
@@ -1880,13 +1880,13 @@
2004/hibachi/2004_hibachi.tar.bz2
2004/hibachi/Makefile
2004/hibachi/README.md
+2004/hibachi/hibachi.c
2004/hibachi/hibachi.orig.c
2004/hibachi/index.html
2004/hibachi/src/configure
2004/hibachi/src/configure.in
2004/hibachi/src/hibachi-start.sh
2004/hibachi/src/hibachi-start.sh.in
-2004/hibachi/src/hibachi.c
2004/hibachi/src/localhost/CHANGES-OBFUSCATED.TXT
2004/hibachi/src/localhost/CHANGES-SPOILER.TXT
2004/hibachi/src/localhost/Img/cygwin-icon.gif
@@ -2806,10 +2806,10 @@
2012/omoikane/Makefile
2012/omoikane/README.md
2012/omoikane/index.html
-2012/omoikane/nyaruko.alt.c
-2012/omoikane/nyaruko.alt2.c
-2012/omoikane/nyaruko.c
-2012/omoikane/nyaruko.orig.c
+2012/omoikane/omoikane.alt.c
+2012/omoikane/omoikane.alt2.c
+2012/omoikane/omoikane.c
+2012/omoikane/omoikane.orig.c
2012/omoikane/spoiler.html
2012/omoikane/try.alt.sh
2012/omoikane/try.sh
diff --git a/tmp/path_list.manifest.txt b/tmp/path_list.manifest.txt
index 08d4f4177..c661e2bde 100644
--- a/tmp/path_list.manifest.txt
+++ b/tmp/path_list.manifest.txt
@@ -1880,13 +1880,13 @@
2004/hibachi/2004_hibachi.tar.bz2
2004/hibachi/Makefile
2004/hibachi/README.md
+2004/hibachi/hibachi.c
2004/hibachi/hibachi.orig.c
2004/hibachi/index.html
2004/hibachi/src/configure
2004/hibachi/src/configure.in
2004/hibachi/src/hibachi-start.sh
2004/hibachi/src/hibachi-start.sh.in
-2004/hibachi/src/hibachi.c
2004/hibachi/src/localhost/CHANGES-OBFUSCATED.TXT
2004/hibachi/src/localhost/CHANGES-SPOILER.TXT
2004/hibachi/src/localhost/Img/cygwin-icon.gif
@@ -2806,10 +2806,10 @@
2012/omoikane/Makefile
2012/omoikane/README.md
2012/omoikane/index.html
-2012/omoikane/nyaruko.alt.c
-2012/omoikane/nyaruko.alt2.c
-2012/omoikane/nyaruko.c
-2012/omoikane/nyaruko.orig.c
+2012/omoikane/omoikane.alt.c
+2012/omoikane/omoikane.alt2.c
+2012/omoikane/omoikane.c
+2012/omoikane/omoikane.orig.c
2012/omoikane/spoiler.html
2012/omoikane/try.alt.sh
2012/omoikane/try.sh
diff --git a/tmp/path_list.required.txt b/tmp/path_list.required.txt
index a66a09714..21a5e4070 100644
--- a/tmp/path_list.required.txt
+++ b/tmp/path_list.required.txt
@@ -1357,12 +1357,12 @@
2004/hibachi/.gitignore
2004/hibachi/Makefile
2004/hibachi/README.md
+2004/hibachi/hibachi.c
2004/hibachi/hibachi.orig.c
2004/hibachi/src/configure
2004/hibachi/src/configure.in
2004/hibachi/src/hibachi-start.sh
2004/hibachi/src/hibachi-start.sh.in
-2004/hibachi/src/hibachi.c
2004/hibachi/src/localhost/CHANGES-OBFUSCATED.TXT
2004/hibachi/src/localhost/CHANGES-SPOILER.TXT
2004/hibachi/src/localhost/Img/cygwin-icon.gif
@@ -2091,10 +2091,10 @@
2012/omoikane/.gitignore
2012/omoikane/Makefile
2012/omoikane/README.md
-2012/omoikane/nyaruko.alt.c
-2012/omoikane/nyaruko.alt2.c
-2012/omoikane/nyaruko.c
-2012/omoikane/nyaruko.orig.c
+2012/omoikane/omoikane.alt.c
+2012/omoikane/omoikane.alt2.c
+2012/omoikane/omoikane.c
+2012/omoikane/omoikane.orig.c
2012/omoikane/spoiler.html
2012/omoikane/try.alt.sh
2012/omoikane/try.sh
diff --git a/years.html b/years.html
index 9441316ac..2fecbfb72 100644
--- a/years.html
+++ b/years.html
@@ -59,6 +59,7 @@
IOCCC HomeWinning EntriesPeople who have won
+ Location of authors