From 8bca0995349071d4aa31a81d7c0f42577ac7bd51 Mon Sep 17 00:00:00 2001
From: Landon Curt Noll adrian.c file. Change the first line to read
and repeat the process above
./adrian <adrian.c > adecho.c
The new file now contains all lines which match
- ^.[^5|m^]*[m^]([e=p,;]|[^e=+p,;].*)$
+ ^.[^5|m^]*[m^]\([e=p,;]|[^e=+p,;].*\)$
Compile and run. This is an echo(1) clone. Note the efficient algorithm
employed.
Two other adjustments to the first line also yield useful results. By diff --git a/2000/dlowe/README.md b/2000/dlowe/README.md index ff28c08f7..0e5a494cf 100644 --- a/2000/dlowe/README.md +++ b/2000/dlowe/README.md @@ -228,7 +228,7 @@ therein. - The points and ways in which C and Perl connect are *really* obscure. They're also incredibly poorly documented, as they're primarily used in machine-generated code. However, there's a -wealth of example code on [CPAN (www.cpan.org)](https://www.cpan.org). +wealth of example code on [CPAN](https://www.cpan.org). - The Perl API functions are almost all macros, so you will probably find that preprocessor expansion will only make things worse. They diff --git a/2000/dlowe/index.html b/2000/dlowe/index.html index 1da557cb4..14315dad6 100644 --- a/2000/dlowe/index.html +++ b/2000/dlowe/index.html @@ -551,7 +551,7 @@ therein.
The points and ways in which C and Perl connect are really obscure. They’re also incredibly poorly documented, as they’re primarily used in machine-generated code. However, there’s a -wealth of example code on CPAN (www.cpan.org).
The Perl API functions are almost all macros, so you will probably
find that preprocessor expansion will only make things worse. They
also have helpful, verbose names like 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 entry that requires SDL1
or SDL2? and FAQ 3.9 - How do I compile an IOCCC entry that
-requires (n)curses? for more information.SvNV, SvIV, and newSVpv. I
diff --git a/2000/thadgavin/README.md b/2000/thadgavin/README.md
index 40246ecc0..f5086966c 100644
--- a/2000/thadgavin/README.md
+++ b/2000/thadgavin/README.md
@@ -7,7 +7,7 @@
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 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.
+requires ncurses?](../../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 cb9f42860..cad0d43c5 100644
--- a/2000/thadgavin/index.html
+++ b/2000/thadgavin/index.html
@@ -407,7 +407,7 @@ Location: GB - United Kingdom of Great
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 entry.
diff --git a/2004/hibachi/README.md b/2004/hibachi/README.md index 66b604cd2..80e511566 100644 --- a/2004/hibachi/README.md +++ b/2004/hibachi/README.md @@ -111,8 +111,7 @@ To stop the server: * Supports all [MIME](https://en.wikipedia.org/wiki/MIME) types. -* Supports [Common Gateway Interface -(CGI)](https://en.wikipedia.org/wiki/Common_Gateway_Interface) scripts and programs. +* Supports CGI: [Common Gateway Interface](https://en.wikipedia.org/wiki/Common_Gateway_Interface) scripts and programs. * Supports multiple `index.*` file extensions and types: diff --git a/2004/hibachi/index.html b/2004/hibachi/index.html index 8374d5870..23658c854 100644 --- a/2004/hibachi/index.html +++ b/2004/hibachi/index.html @@ -452,8 +452,7 @@ examples. In which case the preferred build commands are:Supports virtual hosts.
Supports all MIME types.
Supports Common Gateway Interface -(CGI) scripts and programs.
Supports CGI: Common Gateway Interface scripts and programs.
Supports multiple index.* file extensions and types:
index.htm, index.html, index.php, index.pl, index.sh, index.rb, index.py
Supports subset of RFC 2616 diff --git a/2005/README.md b/2005/README.md index 322974cee..da9b0097f 100644 --- a/2005/README.md +++ b/2005/README.md @@ -31,42 +31,42 @@ We believe you will be impressed with this year's winning entries. In particular: -+ The [Abuse of the rules (klausler)](klausler/index.html) used local dictionary data to ++ The [Abuse of the rules - 2005/klausler](klausler/index.html) used local dictionary data to get around the size limit. -+ The [Most beauteous visuals (vince)](vince/index.html) made clever use of `{}`s and ++ The [Most beauteous visuals - 2005/vince](vince/index.html) made clever use of `{}`s and whitespace in their source code and during execution. -+ The [Most circuitous walk (vik)](vik/index.html) entry is just amazing. ++ The [Most circuitous walk - 2005/vik](vik/index.html) entry is just amazing. -+ The [Best game (toledo)](toledo/index.html) makes full use of its single function. ++ The [Best game - 2005/toledo](toledo/index.html) makes full use of its single function. -+ The [Best emulator (sykes)](sykes/index.html) may allow you to reconnect to your first ++ The [Best emulator - 2005/sykes](sykes/index.html) may allow you to reconnect to your first [PET](https://en.wikipedia.org/wiki/Commodore_PET). -+ Our [Best of Show (persano)](persano/index.html) this year was simply (or non-simply :-) ) the best! ++ Our [Best of Show - 2005/persano](persano/index.html) this year was simply (or non-simply :-) ) the best! + (And we need only mention (parenthetically speaking) that the [Best use of parenthesis](mikeash/index.html) is self reproducing). -+ The [Most sonorous output (jetro)](jetro/index.html) might `sound` :-) like a good idea. ++ The [Most sonorous output - 2005/jetro](jetro/index.html) might `sound` :-) like a good idea. -+ The [Best 2D puzzle (giljade)](giljade/index.html) takes editorial license with expressions as well as the ++ The [Best 2D puzzle - 2005/giljade](giljade/index.html) 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/index.html) entry is really a C program. ++ The [Most ambiguous language - 2005/chia](chia/index.html) entry is really a C program. -+ The [Most superfluous output (boutines)](boutines/index.html) entry is simply ++ The [Most superfluous output - 2005/boutines](boutines/index.html) entry is simply [Voronoi](Voronoi)-lific! + Try not to have your sense of good coding offended by the [Most -discourteous interpreter (timwi)](timwi/index.html) entry. +discourteous interpreter - 2005/timwi](timwi/index.html) entry. -+ The [Best use of the www (mynx)](mynx/index.html) doesn't include those letters. ++ The [Best use of the www - 2005/mynx](mynx/index.html) doesn't include those letters. -+ You will be puzzled by the [Best 3D puzzle (anon)](anon/index.html) entry; we are sure! ++ You will be puzzled by the [Best 3D puzzle - 2005/anon](anon/index.html) entry; we are sure! -+ The [Most ingenious puzzle solution (aidan)](aidan/index.html) might puzzle you more while it ++ The [Most ingenious puzzle solution - 2005/aidan](aidan/index.html) might puzzle you more while it puzzles out some puzzles: all in a puzzling way! :-) ### Remarks on some of the losing entries diff --git a/2005/index.html b/2005/index.html index 1a401fbab..c3d4572fc 100644 --- a/2005/index.html +++ b/2005/index.html @@ -403,28 +403,28 @@ local compiler.
We believe you will be impressed with this year’s winning entries.
In particular:
The Abuse of the rules (klausler) used local dictionary data to +
The Abuse of the rules - 2005/klausler used local dictionary data to get around the size limit.
The Most beauteous visuals (vince) made clever use of {}s and
+
The Most beauteous visuals - 2005/vince made clever use of {}s and
whitespace in their source code and during execution.
The Most circuitous walk (vik) entry is just amazing.
The Best game (toledo) makes full use of its single function.
The Best emulator (sykes) may allow you to reconnect to your first +
The Most circuitous walk - 2005/vik entry is just amazing.
The Best game - 2005/toledo makes full use of its single function.
The Best emulator - 2005/sykes may allow you to reconnect to your first PET.
Our Best of Show (persano) this year was simply (or non-simply :-) ) the best!
Our Best of Show - 2005/persano this year was simply (or non-simply :-) ) the best!
(And we need only mention (parenthetically speaking) that the Best use of parenthesis is self reproducing).
The Most sonorous output (jetro) might sound :-) like a good idea.
The Best 2D puzzle (giljade) takes editorial license with expressions as well as the +
The Most sonorous output - 2005/jetro might sound :-) like a good idea.
The Best 2D puzzle - 2005/giljade takes editorial license with expressions as well as the with the vi editor.
The Most ambiguous language (chia) entry is really a C program.
The Most superfluous output (boutines) entry is simply +
The Most ambiguous language - 2005/chia entry is really a C program.
The Most superfluous output - 2005/boutines entry is simply Voronoi-lific!
Try not to have your sense of good coding offended by the Most -discourteous interpreter (timwi) entry.
The Best use of the www (mynx) doesn’t include those letters.
You will be puzzled by the Best 3D puzzle (anon) entry; we are sure!
The Most ingenious puzzle solution (aidan) might puzzle you more while it +discourteous interpreter - 2005/timwi entry.
The Best use of the www - 2005/mynx doesn’t include those letters.
You will be puzzled by the Best 3D puzzle - 2005/anon entry; we are sure!
The Most ingenious puzzle solution - 2005/aidan might puzzle you more while it puzzles out some puzzles: all in a puzzling way! :-)
Instead of something that has already won I figured I would go with -another kind of fractal, those from the Iterated Function System -(IFS).
+another kind of fractal, those from the IFS: +Iterated Function System.The format of the input file is as follows:
<num ifs> <x min> <y min> <x max> <y max>
diff --git a/2012/blakely/README.md b/2012/blakely/README.md
index b4fc79669..876a79ddc 100644
--- a/2012/blakely/README.md
+++ b/2012/blakely/README.md
@@ -99,7 +99,8 @@ operation, then the results are undefined.
For test-runs, use a resolution of 32. For simple expressions, the
[GIF](https://en.wikipedia.org/wiki/GIF) generation should take only
a few seconds with a modern processor and full optimization. Runtime scales as
-[O(N^3)](https://en.wikipedia.org/wiki/Big_O_notation) with resolution `N`,
+O^(N^3), (see [Big O notation](https://en.wikipedia.org/wiki/Big_O_notation) web page)
+with resolution `N`,
and more complex expressions take longer to compute. For example, increasing the
resolution of `ripple.gif`
to 250 took ~35 minutes to render on an [i7
diff --git a/2012/blakely/index.html b/2012/blakely/index.html
index 4f9cea72a..bd9442353 100644
--- a/2012/blakely/index.html
+++ b/2012/blakely/index.html
@@ -453,7 +453,8 @@ operation, then the results are undefined.
For test-runs, use a resolution of 32. For simple expressions, the
GIF generation should take only
a few seconds with a modern processor and full optimization. Runtime scales as
-O(N^3) with resolution N,
+O(N3), (see Big O notation web page)
+with resolution N,
and more complex expressions take longer to compute. For example, increasing the
resolution of ripple.gif
to 250 took ~35 minutes to render on an i7
diff --git a/2012/endoh1/README.md b/2012/endoh1/README.md
index 23b69ec41..c42d8337c 100644
--- a/2012/endoh1/README.md
+++ b/2012/endoh1/README.md
@@ -216,8 +216,8 @@ than 80 x 25.
```
-This program is a fluid simulator using the [Smoothed-particle hydrodynamics
-(SPH)](http://en.wikipedia.org/wiki/Smoothed-particle_hydrodynamics) method.
+This program is a fluid simulator using the SPH:
+[Smoothed-particle hydrodynamics](http://en.wikipedia.org/wiki/Smoothed-particle_hydrodynamics) method.
The SPH particles represent the fluid flow. Particles have information about
the position, density, and velocity. In every simulation step, they are
diff --git a/2012/endoh1/index.html b/2012/endoh1/index.html
index 2814a08bc..f3d8d7145 100644
--- a/2012/endoh1/index.html
+++ b/2012/endoh1/index.html
@@ -521,8 +521,8 @@ than 80 x 25.
`-'`' `-'`-' `-'`-' `-'`' `'`' `'`' `'`'
-This program is a fluid simulator using the Smoothed-particle hydrodynamics -(SPH) method.
+This program is a fluid simulator using the SPH: +Smoothed-particle hydrodynamics method.
The SPH particles represent the fluid flow. Particles have information about the position, density, and velocity. In every simulation step, they are changed by pressure force, viscosity force, and external force (i.e., gravity).
diff --git a/2012/endoh2/README.md b/2012/endoh2/README.md index ae8abb594..b1310dd52 100644 --- a/2012/endoh2/README.md +++ b/2012/endoh2/README.md @@ -35,7 +35,7 @@ and: A [pi](https://en.wikipedia.org/wiki/Pi)/[e](https://en.wikipedia.org/wiki/E_(mathematical_constant)) -printing quasi-[quine](https://en.wikipedia.org/wiki/Quine_(computing) in [ASCII +printing quasi-[quine](https://en.wikipedia.org/wiki/Quine_(computing)) in [ASCII art](https://en.wikipedia.org/wiki/ASCII_art) with a compressed font in it; what else to wish for in this program? [Virtual machine](https://en.wikipedia.org/wiki/Virtual_machine) emulation? diff --git a/2012/endoh2/index.html b/2012/endoh2/index.html index 02f9f2081..219b758d7 100644 --- a/2012/endoh2/index.html +++ b/2012/endoh2/index.html @@ -413,7 +413,7 @@ Location: JP - JapanA pi/e -printing quasi-[quine](https://en.wikipedia.org/wiki/Quine_(computing) in ASCII +printing quasi-quine in ASCII art with a compressed font in it; what else to wish for in this program? Virtual machine emulation?
diff --git a/2012/hou/README.md b/2012/hou/README.md index d0d5c8da1..dc5e8ff11 100644 --- a/2012/hou/README.md +++ b/2012/hou/README.md @@ -132,7 +132,7 @@ As an extra tweak, the text message actually does something useful. Remove the [^1]: [Russ Cox, Regular Expression Matching: the Virtual Machine Approach](http://swtch.com/~rsc/regexp/regexp2.html) -[^2]: [Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, ...)](http://swtch.com/~rsc/regexp/regexp1.html) +[^2]: [Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, ...](http://swtch.com/~rsc/regexp/regexp1.html) @@ -821,7 +821,7 @@ explore yet untested numbers for the rest of your life. The number of hex digits in the start number is limited by `ARG_MAX`, probably minus some overhead for the environment variables (use -[env(1)](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/env.html) +[env()](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/env.html) to trim your environment). In bits this leaves you with `2 to the power of (4 * ARG_MAX)`. diff --git a/2015/schweikhardt/index.html b/2015/schweikhardt/index.html index 3aacceabc..396fdd59f 100644 --- a/2015/schweikhardt/index.html +++ b/2015/schweikhardt/index.html @@ -508,7 +508,7 @@ To query this on your POSIX system, run whether a Googol, which is 10100, satisfies the conjecture. But what is a googol in hex? Fear not, -bc(1) +bc() to the rescue: $ printf 'obase=16;10^100\n' | bc
1249AD2594C37CEB0B2784C4CE0BF38ACE408E211A7CAAB24308A82E8F10000000000000000000000000
@@ -988,7 +988,7 @@ explore yet untested numbers for the rest of your life.
How big a number can I test with 4 GB of RAM?
The number of hex digits in the start number is limited by ARG_MAX,
probably minus some overhead for the environment variables (use
-env(1)
+env()
to trim your environment). In bits this leaves you with 2 to the power of (4 * ARG_MAX).
The algorithm requires two bignums in memory for addition.
If you hit a divergent number, this will cause out-of-memory (“laugh”)
diff --git a/2018/README.md b/2018/README.md
index 0856f6aa4..594656876 100644
--- a/2018/README.md
+++ b/2018/README.md
@@ -30,24 +30,24 @@ compiler.
We believe you will again be impressed with this year's winning entries.
-The ["Best of show" (mills)](mills/index.html) is an amazing tribute to entries
+The [Best of show - 2018/mills](mills/index.html) is an amazing tribute to entries
from 1984 and 2015.
-Take a close look at the "[Most likely to top the charts" (hou)](hou/index.html).
+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)](burton1/index.html), at 109 characters, is a
+The [Best one-liner - 2018/burton1](burton1/index.html), at 109 characters, is a
short and sweet implementation of a classic utility and a nod to a winning entry
from 1986. Sometimes it takes 20 some 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" (poikola)](poikola/index.html).
+of the [Most stellar - 2018/poikola](poikola/index.html).
-The ["Best use of python" (endoh2)](endoh2/index.html) is a not what you might think it is.
+The [Best use of python - 2018/endoh2](endoh2/index.html) is a not what you might think it is.
It is something completely different.
-The ["Most likely to be awarded" (ciura)](ciura/index.html) has an amazing vocabulary!
+The [Most likely to be awarded - 2018/ciura](ciura/index.html) has an amazing vocabulary!
There are also nods to entries of the years [2000/bellard](2000/bellard/index.html),
[1989/yang](1989/yang/index.html), ...
diff --git a/2018/ciura/README.md b/2018/ciura/README.md
index 2368b3ed6..cd0005c35 100644
--- a/2018/ciura/README.md
+++ b/2018/ciura/README.md
@@ -181,7 +181,7 @@ And here are sample steps of scanning tokens with classes `to_be`,
Type B state machines are built by a variant of the algorithm described
in the paper
-[How to squeeze a lexicon (PDF)](lexicon.pdf).
+[How to squeeze a lexicon](lexicon.pdf).
Their states are represented as interlaced sparse arrays of transitions.
The `transition_label` is one of:
diff --git a/2018/ciura/index.html b/2018/ciura/index.html
index 198edc31b..e6dd16249 100644
--- a/2018/ciura/index.html
+++ b/2018/ciura/index.html
@@ -528,7 +528,7 @@ and uppercase.
Type B:
Type B state machines are built by a variant of the algorithm described
in the paper
-How to squeeze a lexicon (PDF).
+How to squeeze a lexicon.
Their states are represented as interlaced sparse arrays of transitions.
The transition_label is one of:
diff --git a/2018/ferguson/README.md b/2018/ferguson/README.md
index 845b2277b..fdfe59d9c 100644
--- a/2018/ferguson/README.md
+++ b/2018/ferguson/README.md
@@ -1359,7 +1359,7 @@ 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](../../authors.html#Dave_Burton) for acknowledging me in
-his [Dave Burton]((../../authors.html#Dave_Burton) for his [2018/burton2](../burton2/index.html)
+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 4a50556ed..1059a475f 100644
--- a/2018/ferguson/index.html
+++ b/2018/ferguson/index.html
@@ -1342,7 +1342,7 @@ and don’t you forget it! <3
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 [Dave Burton]((../../authors.html#Dave_Burton) for his 2018/burton2
+his 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 person and
diff --git a/2018/index.html b/2018/index.html
index 2a1e12dd5..06994b5e2 100644
--- a/2018/index.html
+++ b/2018/index.html
@@ -402,19 +402,19 @@ lacking, you may need to compile using clang or gcc instead of your local
compiler.
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 entries
+
The Best of show - 2018/mills is an amazing tribute to entries
from 1984 and 2015.
-Take a close look at the “Most likely to top the charts” (hou).
+
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
+
The Best one-liner - 2018/burton1, at 109 characters, is a
short and sweet implementation of a classic utility and a nod to a winning entry
from 1986. Sometimes it takes 20 some 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” (poikola).
-The “Best use of python” (endoh2) is a not what you might think it is.
+of the Most stellar - 2018/poikola.
+The Best use of python - 2018/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!
+The Most likely to be awarded - 2018/ciura has an amazing vocabulary!
There are also nods to entries of the years 2000/bellard,
1989/yang, …
…We’ll stop spouting spoilers now. Have fun exploring all the entries!
diff --git a/2019/README.md b/2019/README.md
index 610205b94..5995d9998 100644
--- a/2019/README.md
+++ b/2019/README.md
@@ -26,10 +26,10 @@ compiler.
This year's winning entries are impressive!
-The ["Most in need of debugging" (endoh)](endoh/index.html) is very inventive in
+The [Most in need of debugging - 2019/endoh](endoh/index.html) is very inventive in
a way it produces its own text!
-The ["Most likely to be awarded" (ciura)](ciura/index.html) has an amazing
+The [Most likely to be awarded - 2019/ciura](ciura/index.html) has an amazing
vocabulary!
There are again nods to entries of the years:
diff --git a/2019/dogon/README.md b/2019/dogon/README.md
index e3653a260..924680bec 100644
--- a/2019/dogon/README.md
+++ b/2019/dogon/README.md
@@ -35,7 +35,7 @@ the program and the script.
## Judges' remarks:
-[1991/davidguy](../..//1991/davidguy/index.html),
+[1991/davidguy](../../1991/davidguy/index.html),
[2011/blakely](../../2011/blakely/index.html), ...
...This entry likely concludes the IOCCC category "Cellular automata simulators";
diff --git a/2019/dogon/index.html b/2019/dogon/index.html
index 332b4c239..900bd96c2 100644
--- a/2019/dogon/index.html
+++ b/2019/dogon/index.html
@@ -410,7 +410,7 @@ Location: IL - State of Israel (Make sure that you keep focus of windows in mind when going back and forth to
the program and the script.
Judges’ remarks:
-1991/davidguy,
2011/blakely, …
…This entry likely concludes the IOCCC category “Cellular automata simulators”;
it would be very hard to beat it on its field.
diff --git a/2019/index.html b/2019/index.html
index 7c4e1bcba..5e3ab8604 100644
--- a/2019/index.html
+++ b/2019/index.html
@@ -399,9 +399,9 @@ lacking, you may need to compile using clang or gcc instead of your local
compiler.
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
+
The Most in need of debugging - 2019/endoh is very inventive in
a way it produces its own text!
-The “Most likely to be awarded” (ciura) has an amazing
+
The Most likely to be awarded - 2019/ciura has an amazing
vocabulary!
There are again nods to entries of the years:
diff --git a/2020/README.md b/2020/README.md
index 346c7c959..978291b66 100644
--- a/2020/README.md
+++ b/2020/README.md
@@ -24,13 +24,13 @@ compiler.
## Remarks on some of the winning entries
-This year's [Best of Show (carlini)](carlini/index.html) is such a novel way of
+This year's [Best of Show - 2020/carlini](carlini/index.html) 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 winning entries contains three nostalgic games,
-[Asteroids (tsoj)](tsoj/index.html), [Minesweeper (endoh1)](endoh1/index.html),
-and [Snake (ferguson1)](ferguson1/index.html).
+[Asteroids - 2020/tsoj](tsoj/index.html), [Minesweeper - 2020/endoh1](endoh1/index.html),
+and [Snake - 2020/ferguson1](ferguson1/index.html).
An entry, [kurdyukov1](kurdyukov1/index.html), pays homage to previous entry
[2015/hou](2015/hou/index.html).
diff --git a/2020/ferguson1/HACKING.html b/2020/ferguson1/HACKING.html
index e128689da..baaeced8a 100644
--- a/2020/ferguson1/HACKING.html
+++ b/2020/ferguson1/HACKING.html
@@ -742,7 +742,7 @@ snakeskin would be the same size the snake was and the snake would grow as it
slithered out. But that would fill the screen very quickly of course. Maybe the
snakeskin has some other purpose?
Snake moves faster over time
-In the game [Surround](https://en.wikipedia.org/wiki/Surround_(video_game) you
+
In the game Surround you
have no control over the speed. I believe there are five different speed levels
but the player has no control over it except the drawing mode. It would be
possible to make it so the snake moves faster over time. How often and by what
diff --git a/2020/ferguson1/HACKING.md b/2020/ferguson1/HACKING.md
index 7f2ff8546..a6c922b25 100644
--- a/2020/ferguson1/HACKING.md
+++ b/2020/ferguson1/HACKING.md
@@ -505,7 +505,7 @@ snakeskin has some other purpose?
## Snake moves faster over time
-In the game [Surround](https://en.wikipedia.org/wiki/Surround_(video_game) you
+In the game [Surround](https://en.wikipedia.org/wiki/Surround_(video_game)) you
have no control over the speed. I believe there are five different speed levels
but the player has no control over it except the drawing mode. It would be
possible to make it so the snake moves faster over time. How often and by what
diff --git a/2020/ferguson1/README.md b/2020/ferguson1/README.md
index 9d2440d8d..e4cf87e29 100644
--- a/2020/ferguson1/README.md
+++ b/2020/ferguson1/README.md
@@ -233,7 +233,7 @@ very important.
* ['Bugs'](#bugs)
-* [NAQs/IAQs (Never/Infrequently Asked Questions)](#naqs)
+* [NAQs/IAQs - Never/Infrequently Asked Questions](#naqs)
- [Do I have any inspirations for this entry?](#inspirations)
- [Are there any features I thought of that I wanted to implement but did not get to for some reason or another?](#features)
- [Are there ways that one can make this game easier?](#easier)
diff --git a/2020/ferguson1/bugs.md b/2020/ferguson1/bugs.md
index 18a5eb09d..b4bee0433 100644
--- a/2020/ferguson1/bugs.md
+++ b/2020/ferguson1/bugs.md
@@ -5,7 +5,7 @@
* [Built-in test unit for some features!](#builtin-test-unit)
* [The snake doesn't seem to be moving](#stillsnake)
-* [getch() also accepts input from some input hardware other than keyboards](#getch)
+* [getch() also accepts input from some input hardware other than keyboards](#getch)
* [SIZE=0 is the same as SIZE=1 and other oddities](#size)
* ['I was a few places behind my tail and I ran into it!'](#bitetail)
* [With negative growth the snake drops from the middle of the body](#middleofsnake)
diff --git a/2020/ferguson1/gameplay.html b/2020/ferguson1/gameplay.html
index 2f88a7bf4..c031d017c 100644
--- a/2020/ferguson1/gameplay.html
+++ b/2020/ferguson1/gameplay.html
@@ -401,12 +401,12 @@ for the input keys.
- Photosensitive epilepsy/Stimulation overload trigger warnings
- Drawing / Practice mode
-- Computer playing / Automatic mode (Photosensitive epilepsy/Stimulation overload trigger)
+
- Computer playing / Automatic mode (Photosensitive epilepsy/Stimulation overload trigger)
- Grow-Shrink (Positive/Negative Winning) mode
-- Hypnotic / Sleepy mode (Photosensitive epilepsy/Stimulation overload trigger)
+- Hypnotic / Sleepy mode (Photosensitive epilepsy/Stimulation overload trigger)
- Stimulation / Calming mode
- Other ideas
@@ -901,7 +901,7 @@ also has this mode:
of them (the above is option 5; others are 4, 15 and 16 but only options 4 and 5
are called Grow / Shrink).
-Hypnotic / Sleepy mode (Photosensitive epilepsy/Stimulation overload trigger)
+Hypnotic / Sleepy mode (Photosensitive epilepsy/Stimulation overload trigger)
Photosensitive epilepsy/stimulation overload trigger warning:
For those who have epilepsy or are susceptible to stimulation overload from
diff --git a/2020/ferguson1/gameplay.md b/2020/ferguson1/gameplay.md
index 8d5b71c32..1970f8310 100644
--- a/2020/ferguson1/gameplay.md
+++ b/2020/ferguson1/gameplay.md
@@ -14,7 +14,7 @@ for the input keys.
* [Playing the game](#playing)
* [Walls](#walls)
* [Cannibalism](#cannibalism)
- * [Stretching (shedding)](#shedding)
+ * [Stretching (shedding)](#shedding)
* [Winning](#winning)
* [Quitting](#quitting)
@@ -23,10 +23,10 @@ for the input keys.
* [**Photosensitive epilepsy/Stimulation overload trigger warnings**](#warning)
* [Drawing / Practice mode](#drawing)
- * [Computer playing / Automatic mode (**Photosensitive epilepsy/Stimulation overload trigger**)](#auto)
+ * [Computer playing / Automatic mode (Photosensitive epilepsy/Stimulation overload trigger)](#auto)
* [Variations](#auto-variations)
- * [Grow-Shrink (Positive/Negative Winning) mode](#grow-shrink)
- * [Hypnotic / Sleepy mode (**Photosensitive epilepsy/Stimulation overload trigger**)](#hypnotic)
+ * [Grow-Shrink (Positive/Negative Winning) mode](#grow-shrink)
+ * [Hypnotic / Sleepy mode (Photosensitive epilepsy/Stimulation overload trigger)](#hypnotic)
* [Stimulation / Calming mode](#stim)
* [Other ideas](#other-ideas)
@@ -44,7 +44,7 @@ for the input keys.
* [GROW / SHEDS - Growth / Shedding sizes](#growth)
-7. [Conclusion (and inspirational words for everyone)](#conclusions)
+7. [Conclusion (and inspirational words for everyone)](#conclusions)
@@ -728,7 +728,7 @@ are called Grow / Shrink).
-## Hypnotic / Sleepy mode (**Photosensitive epilepsy/Stimulation overload trigger**)
+## Hypnotic / Sleepy mode (Photosensitive epilepsy/Stimulation overload trigger)
**Photosensitive epilepsy/stimulation overload trigger warning:**
@@ -892,7 +892,7 @@ it will take the number of movements before it is 'its full size'.
-# 7. Conclusion (and inspirational words for everyone)
+# 7. Conclusion (and inspirational words for everyone)
I believe that this file has given more than enough information for anyone to
diff --git a/2020/ferguson1/index.html b/2020/ferguson1/index.html
index e98ffa4d4..d6a9d7822 100644
--- a/2020/ferguson1/index.html
+++ b/2020/ferguson1/index.html
@@ -578,7 +578,7 @@ very important.
- ‘Bugs’
-- NAQs/IAQs (Never/Infrequently Asked Questions)
+
- NAQs/IAQs - Never/Infrequently Asked Questions
- Do I have any inspirations for this entry?
- Are there any features I thought of that I wanted to implement but did not get to for some reason or another?
diff --git a/2020/ferguson1/spoilers.html b/2020/ferguson1/spoilers.html
index 3a7816dff..9902fe930 100644
--- a/2020/ferguson1/spoilers.html
+++ b/2020/ferguson1/spoilers.html
@@ -401,7 +401,7 @@ already knew that so no harm there, hey?
- Collision detection when resizing the window of the game
- Obfuscation
-- Skinning the snake (i.e. decreasing the iocccsize)
+- Skinning the snake (i.e., decreasing the iocccsize)
- A few more interesting size optimisations
diff --git a/2020/ferguson1/spoilers.md b/2020/ferguson1/spoilers.md
index b18cee80a..68a160cfc 100644
--- a/2020/ferguson1/spoilers.md
+++ b/2020/ferguson1/spoilers.md
@@ -15,12 +15,12 @@ already knew that so no harm there, hey?
- [How does it work?](#works)
- [How does the snake movement work?](#movement)
-- [Drawing (manual) and computer playing (automatic) modes](#manual-automatic)
+- [Drawing (manual) and computer playing (automatic) modes](#manual-automatic)
- [Collision detection](#collision)
* [Cannibal collision detection](#cannibalcollision)
* [Collision detection when resizing the window of the game](#resizing)
- [Obfuscation](#obfuscation)
-- [Skinning the snake (i.e. decreasing the iocccsize)](#skinning)
+- [Skinning the snake (i.e., decreasing the iocccsize)](#skinning)
- [A few more interesting size optimisations](#size)
diff --git a/2020/ferguson1/troubleshooting.html b/2020/ferguson1/troubleshooting.html
index 9c7e8a1f6..cb2282c70 100644
--- a/2020/ferguson1/troubleshooting.html
+++ b/2020/ferguson1/troubleshooting.html
@@ -379,7 +379,7 @@
-Troubleshooting Snake
+9 Troubleshooting Snake
In this file I have a list of a number of possible problems that could show up
under some situations as well as some things that might appear to be happening
or be a problem but actually are not. For each one I have included a summary, a
diff --git a/2020/ferguson1/troubleshooting.md b/2020/ferguson1/troubleshooting.md
index 6abc51303..1ba511956 100644
--- a/2020/ferguson1/troubleshooting.md
+++ b/2020/ferguson1/troubleshooting.md
@@ -1,4 +1,4 @@
-# Troubleshooting Snake
+9 Troubleshooting Snake
In this file I have a list of a number of possible problems that could show up
under some situations as well as some things that might appear to be happening
@@ -8,15 +8,15 @@ anything that can cause more than one issue I will list those separately to keep
it as structured as possible/easiest to find.
-* [The top wall isn't (all/some of the time) visible!](#topwall)
+* [The top wall isn't (all/some of the time) visible!](#topwall)
* [The snake isn't moving!](#notmoving)
-* [I can't see the snake head (or other part of the snake)!](#invisiblehead)
+* [I can't see the snake head (or other part of the snake)!](#invisiblehead)
* [I can't see the bug!](#invisiblebug)
* [The game froze!](#froze)
* [The game gets slower as the snake gets bigger!](#bigsnake)
* [I set SIZE=0 GROW=1, ate a bug but still only the head was visible! Why?](#headonly)
* [I like black text on a white background but even with a white background terminal it ends up black!](#monochrome)
-* [The text is hard to see (not bright enough)!](#toodark)
+* [The text is hard to see (not bright enough)!](#toodark)
* [Can I move the snake faster temporarily without having to modify the wait time?](#movefaster)
* [On environmental variables more generally and string to int conversions](#envvars)
* [Errors and error reporting](#errors)
diff --git a/2020/ferguson2/README.md b/2020/ferguson2/README.md
index d9600fc6b..d14fe773b 100644
--- a/2020/ferguson2/README.md
+++ b/2020/ferguson2/README.md
@@ -452,9 +452,9 @@ For examples using it (and a delicious challenge) see [recode.html][] (or
### A parser subtlety that could cause confusion
-The parser is in a sense rather rudimentary but allows for both interactive and
-automatic (e.g. via the [recode]((%%REPO_URL%%/2020/ferguson2/recode.c) program) input. This does mean that
-something like the following can happen:
+The parser is in a sense rather rudimentary but allows for both interactive and automatic
+(e.g., via the [recode](%%REPO_URL%%/2020/ferguson2/recode.c) program) input.
+This does mean that something like the following can happen:
```
$ ./prog -
diff --git a/2020/ferguson2/index.html b/2020/ferguson2/index.html
index cb9d1df6f..8b78b291d 100644
--- a/2020/ferguson2/index.html
+++ b/2020/ferguson2/index.html
@@ -707,9 +707,9 @@ make it more flexible by a wrapper program.
A parser subtlety that could cause confusion
-The parser is in a sense rather rudimentary but allows for both interactive and
-automatic (e.g. via the recode input. This does mean that
-something like the following can happen:
+The parser is in a sense rather rudimentary but allows for both interactive and automatic
+(e.g., via the recode program) input.
+This does mean that something like the following can happen:
$ ./prog -
Ring 1: 1AB
Setting 1: Position 1: Ring 2: 2CD
diff --git a/2020/ferguson2/recode.html b/2020/ferguson2/recode.html
index 3c64c7a8e..c20d0647b 100644
--- a/2020/ferguson2/recode.html
+++ b/2020/ferguson2/recode.html
@@ -458,8 +458,8 @@ if you don’t give the option to read in a file for input.
Plugboard pair #09: RU
Plugboard pair #10: VG
1WX5AK4RE1XEHJSAPYCIZBWDQNRUVGIOCCC
-Though you won’t find some of those strings in [recode.c]((https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/recode.c) or
-[prog.c]((https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/prog.c). Yes the WAR for the Ringstellung (Ring settings) is an
+
Though you won’t find some of those strings in recode.c or
+prog.c. Yes the WAR for the Ringstellung (Ring settings) is an
amusing coincidence but it really did happen!
As for -f the contents would be output with the settings e.g. to pipe to
prog itself (as if you redirected the file contents to the Enigma machine for
@@ -585,7 +585,7 @@ pair; this can be done in
a number of ways but two dots is one. Notice also that it’s in a different order
than the simulator: because with the size restrictions on my entry I saved bytes
by using the same loop where I could. It just felt more natural to have them
-grouped together in a configurator for the [simulator]((https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/prog.c).
+grouped together in a configurator for the simulator.
$ echo 1AA2AA3AA2ABCD..EFGHIJKLMNOPQRIOCCC | ./prog - 2>/dev/null
HQNVO
$ echo 1AA2AA3AA2ABCD..EFGHIJKLMNOPQRIOCCC | ./prog - 2>/dev/null | echo 1AA2AA3AA2ABCD..EFGHIJKLMNOPQRHQNVO | ./prog - 2>/dev/null
diff --git a/2020/ferguson2/recode.md b/2020/ferguson2/recode.md
index 30f6c06c3..186dbf598 100644
--- a/2020/ferguson2/recode.md
+++ b/2020/ferguson2/recode.md
@@ -18,7 +18,7 @@ have to if you don't wish to.
- [Only write config file](#onlyconfig)
- [Reusing a configuration](#reuseconfig)
- [Write config file, read data file and pass to Enigma simulator](#passtoenigma)
-- [Piping directly to the Enigma code once (with randomised settings, saved)](#directlytoenigma)
+- [Piping directly to the Enigma code once (with randomised settings, saved)](#directlytoenigma)
- [Usage conclusion](#conclusion)
- [Example additions](#additions)
- [Example uses](#exampleuses)
@@ -97,8 +97,8 @@ if you don't give the option to read in a file for input.
1WX5AK4RE1XEHJSAPYCIZBWDQNRUVGIOCCC
```
-Though you won't find some of those strings in [recode.c]((%%REPO_URL%%/2020/ferguson2/recode.c) or
-[prog.c]((%%REPO_URL%%/2020/ferguson2/prog.c). Yes the `WAR` for the Ringstellung (Ring settings) is an
+Though you won't find some of those strings in [recode.c](%%REPO_URL%%/2020/ferguson2/recode.c) or
+[prog.c](%%REPO_URL%%/2020/ferguson2/prog.c). Yes the `WAR` for the Ringstellung (Ring settings) is an
amusing coincidence *but it really did happen!*
As for `-f` the contents would be output with the settings e.g. to pipe to
@@ -265,7 +265,7 @@ pair](https://www.cryptomuseum.com/crypto/enigma/i/sb.htm); this can be done in
a number of ways but two dots is one. Notice also that it's in a different order
than the simulator: because with the size restrictions on my entry I saved bytes
by using the same loop where I could. It just felt more natural to have them
-grouped together in a configurator for the [simulator]((%%REPO_URL%%/2020/ferguson2/prog.c).
+grouped together in a configurator for the [simulator](%%REPO_URL%%/2020/ferguson2/prog.c).
```
$ echo 1AA2AA3AA2ABCD..EFGHIJKLMNOPQRIOCCC | ./prog - 2>/dev/null
diff --git a/2020/index.html b/2020/index.html
index 01d703d6c..eabe2c635 100644
--- a/2020/index.html
+++ b/2020/index.html
@@ -398,12 +398,12 @@ system may require certain changes (add or remove a library, add or remove a
lacking, you may need to compile using clang or gcc instead of your local
compiler.
Remarks on some of the winning entries
-This year’s Best of Show (carlini) is such a novel way of
+
This year’s Best of Show - 2020/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 winning entries contains three nostalgic games,
-Asteroids (tsoj), Minesweeper (endoh1),
-and Snake (ferguson1).
+Asteroids - 2020/tsoj, Minesweeper - 2020/endoh1,
+and Snake - 2020/ferguson1.
An entry, kurdyukov1, pays homage to previous entry
2015/hou.
…We’ll stop spouting spoilers now. Have fun exploring all the entries!
diff --git a/2020/kurdyukov4/README.md b/2020/kurdyukov4/README.md
index ff4b6643e..8fc86240c 100644
--- a/2020/kurdyukov4/README.md
+++ b/2020/kurdyukov4/README.md
@@ -66,7 +66,7 @@ the Elves in Tolkien's Legendarium. It means sound taste (plural is lámatyáver
and it refers to phonaesthesia - in other words, it refers to the pleasure of
sound and form of words. It's discussed in [Morgoth's
Ring](https://en.wikipedia.org/wiki/Morgoth%27s_Ring), volume X of [History of
-Middle-earth (HoMe)](https://en.wikipedia.org/wiki/The_History_of_Middle-earth).
+Middle-earth (HoMe)](https://en.wikipedia.org/wiki/The_History_of_Middle-earth).
Now can you appreciate the award title a bit better?
diff --git a/faq.html b/faq.html
index d4027b427..5f37f9c42 100644
--- a/faq.html
+++ b/faq.html
@@ -417,7 +417,7 @@
- 3.6 - An IOCCC entry messed up my terminal application, how do I fix this?
- 3.7 - How do I run an IOCCC entry that requires X11?
- 3.8 - How do I compile an IOCCC entry that requires SDL1 or SDL2?
-- 3.9 - How do I compile an IOCCC entry that requires (n)curses?
+- 3.9 - How do I compile an IOCCC entry that requires (n)?
- 3.10 - How do I compile and use an IOCCC entry that requires sound?
- 3.11 - Why do Makefiles use -Weverything with clang?
- 3.12 - How do I find out how to send interrupt/EOF etc. for entries that require it?
@@ -432,7 +432,7 @@
Section 4 - Changes made to IOCCC entries
- 4.0 - Why are some winning author remarks incongruent with the winning IOCCC code?
-- 4.1 - Why were some calls to the libc function
gets(3) changed to use fgets(3)?
+- 4.1 - Why were some calls to the libc function gets(3( changed to use fgets(3)?
- 4.2 - What was changed in an IOCCC entry source code?
- 4.3 - Why do author remarks sometimes not match the source and/or why are there
other inconsistencies with the original entry?
@@ -817,15 +817,15 @@ web site.
2020 Dec 28 bzip2 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 contains
+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.
These files were obtained from the Internet Wayback
Machine from the snapshot of the website
on 2020 Dec
28.
-See /archive/historic/index.html for
+See archive/historic/index.html for
details about these bzip2 compressed tarballs.
2022 Dec 29 Official IOCCC winner repo
The Official IOCCC winner repo
@@ -934,16 +934,16 @@ with/in modern systems.
- Reworking the Makefiles specific to the gcc and clang C compilers.
- Replacing the various hint files with a index.html markdown (from README.md
files) that is more consistent across IOCCC years.
-- Generating HTML content from markdown files and JSON data files via a set of
+
- Generating HTML content from markdown files and JSON data files via a set of
tools and scripts.
- 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 the
-gen-years.sh tool.
-- Setting up to generate the top level authors.html file, renamed
-from
winners.html, via the gen-authors.sh tool.
-- Making use of a new and improved IOCCC CSS for web site consistency
+gen-years.sh tool.
+- Setting up to generate the top level authors.html file, renamed
+from
winners.html, via the gen-authors.sh tool.
+- Making use of a new and improved IOCCC CSS for web site consistency
- Etc.
202y mm dd The Great Fork Merge
@@ -1048,6 +1048,7 @@ rounds; we look at the author name only if an entry wins. See the guidelines if
this is not clear!
- leaving the remark section empty.
+https://github.com/ioccc-src/temp-test-ioccc/blob/master/
FAQ 2.2: Why don’t you publish entries that do not win?
@@ -1457,7 +1458,7 @@ fix it and make a new pull request.
as a GitHub pull request for more information about pull requests.
-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)?
This depends on your operating system but below are instructions for Linux and
@@ -1851,7 +1852,7 @@ version like dirname.alt.c or prog.alt.c. In fact it i
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) changed to use fgets(3)?
+FAQ 4.1: Why were some calls to the libc function gets(3) changed to use fgets(3)?
Some may wonder: “Doesn’t this tamper with the entry too much?”
@@ -2224,7 +2225,7 @@ original winning entries as compressed tar files for a given year.
“abuse of the rules” (although now blatant abuse of the rules to
get around rule 2 size limits is discouraged).
-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 (mis)features of IOCCC entries?
Yes! Please see bugs.html for a list of known bugs and/or issues of a
variety of kinds.
@@ -2240,7 +2241,7 @@ something like that.
While IOCCC judges look favorably on most requests to use IOCCC material,
we request that you ask the IOCCC judges first.
-Please send your request using the instructions on the contacting
+Please send your request using the instructions on the contacting
the IOCCC Judges page.
Please note that the content of the IOCCC is Copyrighted and is under
the CC BY-SA 4.0 License.
diff --git a/faq.md b/faq.md
index 1f8df5f66..c73058d31 100644
--- a/faq.md
+++ b/faq.md
@@ -38,7 +38,7 @@
- [3.6 - An IOCCC entry messed up my terminal application, how do I fix this?](#faq3_6)
- [3.7 - How do I run an IOCCC entry that requires X11?](#faq3_7)
- [3.8 - How do I compile an IOCCC entry that requires SDL1 or SDL2?](#faq3_8)
-- [3.9 - How do I compile an IOCCC entry that requires (n)curses?](#faq3_9)
+- [3.9 - How do I compile an IOCCC entry that requires (n)?](#faq3_9)
- [3.10 - How do I compile and use an IOCCC entry that requires sound?](#faq3_10)
- [3.11 - Why do Makefiles use -Weverything with clang?](#faq3_11)
- [3.12 - How do I find out how to send interrupt/EOF etc. for entries that require it?](#faq3_12)
@@ -48,12 +48,12 @@
- [3.16 - How do I compile and install libjpeg-turbo for entries that require it?](#faq3_16)
- [3.17 - How do I compile and install ImageMagick for entries that require it?](#faq3_17)
- [3.18 - How do I compile and install OpenGL for entries that require it?](#faq3_18)
-- [3.19 - What kind of make(1) compatibility does the IOCCC support and will it support other kinds?](#faq3_19)
+- [3.19 - What kind of make(1) compatibility does the IOCCC support and will it support other kinds?](#faq3_19)
## Section 4 - [Changes made to IOCCC entries](#faq4)
- [4.0 - Why are some winning author remarks incongruent with the winning IOCCC code?](#faq4_0)
-- [4.1 - Why were some calls to the libc function `gets(3)` changed to use `fgets(3)`?](#faq4_1)
+- [4.1 - Why were some calls to the libc function gets(3( changed to use fgets(3)?](#faq4_1)
- [4.2 - What was changed in an IOCCC entry source code?](#faq4_2)
- [4.3 - Why do author remarks sometimes not match the source and/or why are there
other inconsistencies with the original entry?](#faq4_3)
@@ -72,7 +72,7 @@ other inconsistencies with the original entry?](#faq4_3)
## Section 6 - [Miscellaneous IOCCC](#faq6)
- [6.0 - How did an entry that breaks the size rule 2 win the IOCCC?](#faq6_0)
-- [6.1 - Is there a list of known bugs and (mis)features of IOCCC entries?](#faq6_1)
+- [6.1 - Is there a list of known bugs and (mis)features of IOCCC entries?](#faq6_1)
- [6.2 - May I mirror the IOCCC web site?](#faq6_2)
- [6.3 - May I use parts of the IOCCC in an article, book, newsletter, or instructional material?](#faq6_3)
- [6.4 - Why do you sometimes use the first person plural?](#faq6_4)
@@ -505,7 +505,7 @@ were posted on 17 April 1984.
There were 4 entries that won in 1984:
-1. [(dis)honorable mention](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=842%40nsc.UUCP&rnum=8&filter=0)
+1. [(dis)honorable mention](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=842%40nsc.UUCP&rnum=8&filter=0)
2. [3rd place](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=843%40nsc.UUCP&rnum=7&filter=0)
3. [2nd place](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=844%40nsc.UUCP&rnum=6&filter=0)
4. [1st place](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=845%40nsc.UUCP&rnum=5&filter=0)
@@ -572,8 +572,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`.
@@ -581,7 +581,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/index.html](archive/historic/index.html) for
+See [archive/historic/index.html](archive/historic/index.html) for
details about these bzip2 compressed tarballs.
@@ -715,15 +715,15 @@ with/in modern systems.
* Replacing the various hint files with a index.html markdown (from README.md
files) that is more consistent across IOCCC years.
* Generating HTML content from markdown files and JSON data files via a [set of
-tools and scripts](/bin/index.html).
+tools and scripts](bin/index.html).
* Setting up a system whereby authors of IOCCC entries may update their own
contact information via a [GitHub pull
request](https://github.com/ioccc-src/temp-test-ioccc/pulls).
* Setting up to generate the top level [years.html](years.html) file via the
-[gen-years.sh](/bin/gen-years.sh) tool.
-* Setting up to generate the top level [authors.html file](/authors.html), renamed
-from `winners.html`, via the [gen-authors.sh](/bin/gen-authors.sh) tool.
-* Making use of a new and improved [IOCCC CSS](/ioccc.css) for web site consistency
+[gen-years.sh](%%REPO_URL%%/bin/gen-years.sh) tool.
+* Setting up to generate the top level [authors.html file](authors.html), renamed
+from `winners.html`, via the [gen-authors.sh](%%REPO_URL%%/bin/gen-authors.sh) tool.
+* Making use of a new and improved [IOCCC CSS](%%REPO_URL%%/ioccc.css) for web site consistency
* Etc.
#### 202y mm dd The Great Fork Merge
@@ -852,7 +852,7 @@ this is not clear!
- leaving the remark section empty.
-
+%%REPO_URL%%/
### FAQ 2.2: Why don't you publish entries that do not win?
@@ -1467,7 +1467,7 @@ as a GitHub pull request](#ull_request) for more information about pull requests
-### 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)?
@@ -2122,7 +2122,7 @@ We recommend trying a method suitable for your environment first, if possible.
-### 3.19 - What kind of make(1) compatibility does the IOCCC support and will it support other kinds?
+### 3.19 - What kind of make(1) compatibility does the IOCCC support and will it support other kinds?
@@ -2176,7 +2176,7 @@ 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)` changed to use `fgets(3)`?
+### FAQ 4.1: Why were some calls to the libc function gets(3) changed to use fgets(3)?
@@ -2684,7 +2684,7 @@ get around rule 2 size limits is discouraged).
-### 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 (mis)features of IOCCC entries?
Yes! Please see [bugs.html](bugs.html) for a list of known bugs and/or issues of a
@@ -2710,7 +2710,7 @@ While IOCCC judges look favorably on most requests to use IOCCC material,
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.
Please note that the content of the IOCCC is [Copyrighted and is under
the CC BY-SA 4.0 License](#copyright).
diff --git a/thanks-for-help.html b/thanks-for-help.html
index 145eb3842..49f7fc102 100644
--- a/thanks-for-help.html
+++ b/thanks-for-help.html
@@ -2888,7 +2888,7 @@ the prototype being included).
main() also called itself but this was a problem so it now calls another
function poke() which calls itself instead (this is sometimes necessary
nowadays and other entries had to have this same kind of change,
-2001/anonymous being a good example).
+2001/anonymous being a good example).
Finally the optimiser cannot be enabled so the compiler flags were changed for
this, forcing -O0.
@@ -4617,7 +4617,7 @@ it is $(MAKE).
var.mk file and removed another that was deemed problematic or
undesired. Other variable names had typos in them.
In at least one case, like the top level Makefile, where raw
-commands that are in var.mk were used, Cody updated them to use the
+commands that are in var.mk were used, Cody updated them to use the
variables.
A comment was missing for the diff_alt_orig rule in all the Makefiles and
this, along with many other fixes and changes to the Makefiles were made by
diff --git a/thanks-for-help.md b/thanks-for-help.md
index 19aec07ee..ee20377cb 100644
--- a/thanks-for-help.md
+++ b/thanks-for-help.md
@@ -3562,7 +3562,7 @@ the prototype being included).
`main()` also called itself but this was a problem so it now calls another
function `poke()` which calls itself instead (this is sometimes necessary
nowadays and other entries had to have this same kind of change,
-[2001/anonymous](/2001/anonymous/index.html) being a good example).
+[2001/anonymous](2001/anonymous/index.html) being a good example).
Finally the optimiser cannot be enabled so the compiler flags were changed for
this, forcing `-O0`.
@@ -6005,7 +6005,7 @@ Cody also added missing variables like `BASH` and `PDFLATEX` to the
undesired. Other variable names had typos in them.
In at least one case, like the [top level Makefile](%%REPO_URL%%/Makefile), where raw
-commands that are in [var.mk](/var.mk) were used, Cody updated them to use the
+commands that are in [var.mk](var.mk) were used, Cody updated them to use the
variables.
A comment was missing for the `diff_alt_orig` rule in all the Makefiles and
diff --git a/tmp/md-link-paths.sh b/tmp/md-link-paths.sh
index 5c9466b57..3a48a97c9 100755
--- a/tmp/md-link-paths.sh
+++ b/tmp/md-link-paths.sh
@@ -323,7 +323,10 @@ fi
#
# and output just paths
#
-find . -name '*.md' -print |
+# We do not process markdown.md because it contains examples
+# of poor markdown use.
+#
+find . -name '*.md' ! -name markdown.md -print |
LANG=C sort -d |
xargs grep '\]([^)][^)]*)' /dev/null |
sed -E \
diff --git a/tmp/md-links.sh b/tmp/md-links.sh
index df06e7f3d..cd6bdd757 100755
--- a/tmp/md-links.sh
+++ b/tmp/md-links.sh
@@ -295,7 +295,10 @@ fi
#
# markdown_path.md [pseudo title](path)
#
-find . -name '*.md' -print |
+# We do not process markdown.md because it contains examples
+# of poor markdown use.
+#
+find . -name '*.md' ! -name markdown.md -print |
LANG=C sort -d |
xargs grep '\]([^)][^)]*)' /dev/null |
sed -E \
diff --git a/tmp/md-local-links.sh b/tmp/md-local-links.sh
index 88c3ee787..f4d68bb91 100755
--- a/tmp/md-local-links.sh
+++ b/tmp/md-local-links.sh
@@ -306,7 +306,10 @@ fi
#
# markdown_path.md [pseudo title](path)
#
-find . -name '*.md' -print |
+# We do not process markdown.md because it contains examples
+# of poor markdown use.
+#
+find . -name '*.md' ! -name markdown.md -print |
LANG=C sort -d |
xargs grep '\]([^)][^)]*)' /dev/null |
sed -E \
diff --git a/tmp/md-token-links.sh b/tmp/md-token-links.sh
index 9fa1f5b66..f161e51ce 100755
--- a/tmp/md-token-links.sh
+++ b/tmp/md-token-links.sh
@@ -295,7 +295,10 @@ fi
#
# markdown_path.md [pseudo title](%%TOKEN%%path)
#
-find . -name '*.md' -print |
+# We do not process markdown.md because it contains examples
+# of poor markdown use.
+#
+find . -name '*.md' ! -name markdown.md -print |
LANG=C sort -d |
xargs grep '\](%%[A-Za-z][0-9A-Za-z_]*%%[^)]*)' /dev/null |
sed -E \