diff --git a/1984/mullender/README.md b/1984/mullender/README.md
index 617169ca7..e7529c915 100644
--- a/1984/mullender/README.md
+++ b/1984/mullender/README.md
@@ -186,10 +186,10 @@ since there was no CS curriculum when we started). We had an assignment to
create a pair of programs for the computer networks course. The programs were
supposed to send data reliably from one program to the other over an unreliable
channel. This channel was simulated with a pair of
-[pipes](https://en.wikipedia.org/wiki/Pipeline_(software)).
+[pipes](https://en.wikipedia.org/wiki/Pipeline_(software)).
We decided for fun to create an
-[obfuscated](https://en.wikipedia.org/wiki/Obfuscation_(software)) set of
+[obfuscated](https://en.wikipedia.org/wiki/Obfuscation_(software)) set of
programs, only for the
[PDP](https://en.wikipedia.org/wiki/Programmed_Data_Processor), to do this, but
circumventing the channel (i.e. cheating, hence the needed obfuscation). Our
@@ -205,12 +205,12 @@ there](https://groups.google.com/g/net.lang.c/c/lx-TAuEyeRI/m/HdOOnNx6LC0J) and
it.
Since we had just recently created these [obfuscated
-programs](https://en.wikipedia.org/wiki/Obfuscation_(software)) we decided we could
+programs](https://en.wikipedia.org/wiki/Obfuscation_(software)) we decided we could
use the same technique for an obfuscated C program. We upped the ante a bit by
making it "portable".
To add to the
-[obfuscation](https://en.wikipedia.org/wiki/Obfuscation_(software)), we used
+[obfuscation](https://en.wikipedia.org/wiki/Obfuscation_(software)), we used
different formats for the integers in the array: some in decimal, some in octal,
some in hexadecimal, and when the value would fit, some as an ASCII character.
@@ -240,13 +240,13 @@ both a [PDP-11](https://en.wikipedia.org/wiki/PDP-11) and a
On the [VAX](https://en.wikipedia.org/wiki/VAX), the routine `main()` is called
with the `calls` instruction. This instruction uses the first (2-byte)
-[word](https://en.wikipedia.org/wiki/Word_(computer_architecture)) of the called
+[word](https://en.wikipedia.org/wiki/Word_(computer_architecture)) of the called
routine as a mask of
[registers](https://en.wikipedia.org/wiki/Processor_register) that are to be
saved on the [stack](https://en.wikipedia.org/wiki/Call_stack).
In other words, on the VAX the first word can be anything. On the
[PDP](https://en.wikipedia.org/wiki/Programmed_Data_Processor), the first word
-is a [branch](https://en.wikipedia.org/wiki/Branch_(computer_science))
+is a [branch](https://en.wikipedia.org/wiki/Branch_(computer_science))
[instruction](https://en.wikipedia.org/wiki/Instruction_set_architecture#Instructions)
that branches over the VAX code. The PDP and VAX codes are thus completely
separate.
@@ -354,7 +354,7 @@ program that we came up with is as follows:
The first word (after the label `vax`) is the
[PDP](https://en.wikipedia.org/wiki/Programmed_Data_Processor) [branch
-instruction](https://en.wikipedia.org/wiki/Branch_(computer_science)).
+instruction](https://en.wikipedia.org/wiki/Branch_(computer_science)).
[PDP](https://en.wikipedia.org/wiki/Programmed_Data_Processor) branch
instructions are octal `400` + the distance divided by `2`. The string that both
the [PDP](https://en.wikipedia.org/wiki/Programmed_Data_Processor) and
@@ -364,10 +364,10 @@ programs use is after the `str` label, and the
`pdp` label.
On the [VAX](https://en.wikipedia.org/wiki/VAX), the program
-[pushes](https://en.wikipedia.org/wiki/Stack_(abstract_data_type)) 9 (the length
+[pushes](https://en.wikipedia.org/wiki/Stack_(abstract_data_type)) 9 (the length
of the string), the address of the string and 1, the [file
descriptor](https://en.wikipedia.org/wiki/File_descriptor) on the
-[stack](https://en.wikipedia.org/wiki/Stack_(abstract_data_type)), and calls
+[stack](https://en.wikipedia.org/wiki/Stack_(abstract_data_type)), and calls
`write(2)`. Since we didn't know the exact calling sequence for [system
calls](https://en.wikipedia.org/wiki/System_call), we just copied the source for
the `write(2)` system call stub into our program. After `write(2)` finishes, the
@@ -453,7 +453,7 @@ The only problem we had was that the program had chosen an
Since everybody knows what a [PDP-11](https://en.wikipedia.org/wiki/PDP-11)
branch instruction looks like (everyone knows that the traditional magic word
for an executable, `0407`, is a [PDP-11](https://en.wikipedia.org/wiki/PDP-11)
-[branch](https://en.wikipedia.org/wiki/Branch_(computer_science)), we changed
+[branch](https://en.wikipedia.org/wiki/Branch_(computer_science)), we changed
that to [decimal](https://en.wikipedia.org/wiki/Decimal). After checking the
size of the resulting program we saw that it was one byte too long. The limit
was 512 bytes, and our program was 513 bytes. So we changed the word `and` in
diff --git a/1986/README.md b/1986/README.md
index 739cf9daa..e4df6ded2 100644
--- a/1986/README.md
+++ b/1986/README.md
@@ -13,7 +13,7 @@ A poll was taken for the worst code for
[BSD](https://en.wikipedia.org/wiki/Berkeley_Software_Distribution) and [System
V](https://en.wikipedia.org/wiki/UNIX_System_V) program. The [Bourne
Shell](https://en.wikipedia.org/wiki/Bourne_shell) (`/bin/sh`) won for both
-systems. The BSD [finger](https://en.wikipedia.org/wiki/Finger_(protocol))
+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 _net.lang.c_
diff --git a/1986/wall/README.md b/1986/wall/README.md
index 998b2dc8a..0d75cf39b 100644
--- a/1986/wall/README.md
+++ b/1986/wall/README.md
@@ -40,8 +40,8 @@ This caused a number of System V C pre-preprocessors to gripe about a
syntax error.
This program is a masterpiece of obfuscation and humor. Larry Wall (the hacker
-who gave us [rn](https://en.wikipedia.org/wiki/Rn_(newsreader)) and
-[patch](https://en.wikipedia.org/wiki/Patch_(Unix)), etc.) asks you to compile and
+who gave us [rn](https://en.wikipedia.org/wiki/Rn_(newsreader)) and
+[patch](https://en.wikipedia.org/wiki/Patch_(Unix)), etc.) asks you to compile and
consider the warning message generated by the C compiler. Then execute the
program and type characters into its standard input. You will see why the
compiler documents the program.
diff --git a/1989/jar.2/README.md b/1989/jar.2/README.md
index f52543b04..6f588f7ae 100644
--- a/1989/jar.2/README.md
+++ b/1989/jar.2/README.md
@@ -32,7 +32,7 @@ NOTE: this entry will likely segfault on invalid input.
This is the most useful program submitted this year. It is a
rather large subset of
-[lisp](https://en.wikipedia.org/wiki/Lisp_(programming_language)).
+[lisp](https://en.wikipedia.org/wiki/Lisp_(programming_language)).
It has no error recovery, and performs rather poorly in a number of cases. Even
so, placing all this functionality in such a small, densely packed program, is
impressive enough to win the `Best of Show` award.
diff --git a/1989/robison/README.md b/1989/robison/README.md
index 2d9e007bb..b9e6722a9 100644
--- a/1989/robison/README.md
+++ b/1989/robison/README.md
@@ -56,7 +56,7 @@ For an interesting document on APL, see
This program is a handy picoAPL interpreter written in `C--`. It
outputs the evaluation of an
-[APL](https://en.wikipedia.org/wiki/APL_(programming_language)) expression from standard
+[APL](https://en.wikipedia.org/wiki/APL_(programming_language)) expression from standard
input. Functions are limited to dyadic `+`,`-`,`x`, and unary `-`;
numerals must be binary. Parentheses may be used for
grouping. For example:
diff --git a/1990/jaw/README.md b/1990/jaw/README.md
index 26ef5e762..310d93223 100644
--- a/1990/jaw/README.md
+++ b/1990/jaw/README.md
@@ -87,7 +87,7 @@ by the receiver. Command shell archives alleviate this problem somewhat, but
still require standardization for the function of data compression and
mail-transparency encoding. On Unix, these coding format quandaries are overcome
by planting a novel [Trojan
-Horse](https://en.wikipedia.org/wiki/Trojan_horse_(computing)) in the archive
+Horse](https://en.wikipedia.org/wiki/Trojan_horse_(computing)) in the archive
header to perform negotiation-less decoding.
Specifically, we outline the development of an extraordinarily compact portable
diff --git a/1991/README.md b/1991/README.md
index ebdb5fd46..06849aa12 100644
--- a/1991/README.md
+++ b/1991/README.md
@@ -77,7 +77,7 @@ us with your comments and suggestions today.
For those who appreciate a bit of Internet history, this is how
people used to contact the IOCCC in this given year, via [Unix to Unix CoPy
-(UUCP)](https://en.wikipedia.org/wiki/UUCP#Mail_routing):
+(UUCP)](https://en.wikipedia.org/wiki/UUCP#Mail_routing):
> ...!{sun,pacbell,uunet,pyramid}!hoptoad!judges
> judges@toad.com
diff --git a/1992/README.md b/1992/README.md
index f6165dd6c..ac1ebaeae 100644
--- a/1992/README.md
+++ b/1992/README.md
@@ -67,7 +67,7 @@ us with your comments and suggestions today.
For those who appreciate a bit of Internet history, this is how
people used to contact the IOCCC in this given year, via [Unix to Unix CoPy
-(UUCP)](https://en.wikipedia.org/wiki/UUCP#Mail_routing):
+(UUCP)](https://en.wikipedia.org/wiki/UUCP#Mail_routing):
> ...!{sun,pacbell,uunet,pyramid}!hoptoad!judges
> judges@toad.com
diff --git a/1992/buzzard.2/README.md b/1992/buzzard.2/README.md
index ab789859e..85d3d6be7 100644
--- a/1992/buzzard.2/README.md
+++ b/1992/buzzard.2/README.md
@@ -137,7 +137,7 @@ part.
For more information on what you can do once you've piped [third](%%REPO_URL%%/1992/buzzard.2/third) into
first, type `help` and consult
-[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) manuals for
+[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) manuals for
further reference. Six sample THIRD programs are included in the files
`demo1.th` through `demo6.th`. See [buzzard.2.README.html](buzzard.2.README.html)
for more information.
@@ -157,7 +157,7 @@ tackle this project.
on smaller machines; `m[]` needs to be at least 2000 long, though.
I say `first` is portable mainly because it uses native types. Unlike
-[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)), which
+[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)), which
traditionally allows byte and multi-byte operations, all operations are
performed on C `int`s. That means `first` code is only as portable as the same
code would be in C. As in C, the result of dividing `-1` by `2` is machine (or
@@ -190,7 +190,7 @@ answer the question "what will this do when I run it". A reader who has
deciphered `first` to this point may think they know the answer to this
question, but they may not know the answer to the more important question, "what
will this program do when given the right input?"
-[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) aficionados,
+[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) aficionados,
and especially FORTH implementers, may recognize the similarity of the internal
compiler format to many FORTH internal representations, and, being aware that
FORTH interpreters can often be self-compiling, may be suspicious that this
@@ -205,7 +205,7 @@ represents a step backwards, in more ways than one.)
### What exactly is `first`, then?
`first` is a tiny interpreter which implements a sufficient pseudo-subset of
-[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) to allow it
+[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) to allow it
to bootstrap a relatively complete version of FORTH (based loosely on forth79),
which I call THIRD. Complete relative to what, I'm not sure.
@@ -217,11 +217,11 @@ the design file, design, I give a justification for why each primitive in
THIRD is sorta slow, because `first` has so few primitives that many things that
are primitives in
-[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) (like swap)
+[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) (like swap)
take a significant amount of time in THIRD.
When you get the `Ok.` message from `third`, try out some sample
-[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) code
+[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) code
(`first` has no way of knowing if keyboard input is waiting, so it can't actually prompt
you in a normal way. It only prints `'Ok.'` after you define a word).
@@ -266,7 +266,7 @@ If you compile the basic THIRD system without the help word (strings take up one
1000 `int`s (plus the return stack).
Thus THIRD gives you a relatively complete
-[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) system in
+[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language)) system in
less than 700 chars of C source + about 1000 `int`s of memory--and it's portable
too (you could copy over the THIRD memory dump to another machine, in theory).
If the above numbers seem to you to be mixing apples and oranges (C source and
diff --git a/1993/README.md b/1993/README.md
index c8ec5677a..09cd80e0d 100644
--- a/1993/README.md
+++ b/1993/README.md
@@ -34,7 +34,7 @@ us with your comments and suggestions today.
For those who appreciate a bit of Internet history, this is how
people used to contact the IOCCC in this given year, via [Unix to Unix CoPy
-(UUCP)](https://en.wikipedia.org/wiki/UUCP#Mail_routing):
+(UUCP)](https://en.wikipedia.org/wiki/UUCP#Mail_routing):
> ...!{sun,pacbell,uunet,pyramid}!hoptoad!judges
> judges@toad.com
diff --git a/1993/leo/README.md b/1993/leo/README.md
index 5449b74d3..0d9f6aed6 100644
--- a/1993/leo/README.md
+++ b/1993/leo/README.md
@@ -37,7 +37,7 @@ International Internet community.
## Author's remarks:
This program plays
-[Mastermind](https://en.wikipedia.org/wiki/Mastermind_(board_game)), if you call
+[Mastermind](https://en.wikipedia.org/wiki/Mastermind_(board_game)), if you call
it by a name ending by `d`, otherwise it _solves_ Mastermind. Call it without
parameters to use 6 digits (colors), or indicate the number of possible digits
(you cannot change the number of positions so easily).
diff --git a/1993/rince/README.md b/1993/rince/README.md
index 3e4dfacca..d0c2c7661 100644
--- a/1993/rince/README.md
+++ b/1993/rince/README.md
@@ -72,7 +72,7 @@ Use `rince.alt` or `rince.alt2` as you would `rince` above.
The author has provided several CABBAGE files for your amusement:
- [rince.data1](%%REPO_URL%%/1993/rince/rince.data1) plays
-[Breakout](https://en.wikipedia.org/wiki/Breakout_(video_game)). Keys are `,`
+[Breakout](https://en.wikipedia.org/wiki/Breakout_(video_game)). Keys are `,`
for left, `/` for right, and `.` for 'fire the ball'.
- [rince.data2](%%REPO_URL%%/1993/rince/rince.data2) plays the old [James Bonfield](../../authors.html#James_Bonfield)
diff --git a/1994/README.md b/1994/README.md
index 73dc9c37f..792e68f2d 100644
--- a/1994/README.md
+++ b/1994/README.md
@@ -102,7 +102,7 @@ us with your comments and suggestions today.
For those who appreciate a bit of Internet history, this is how
people used to contact the IOCCC in this given year, via [Unix to Unix CoPy
-(UUCP)](https://en.wikipedia.org/wiki/UUCP#Mail_routing):
+(UUCP)](https://en.wikipedia.org/wiki/UUCP#Mail_routing):
> ...!{sun,pacbell,uunet,pyramid}!hoptoad!judges
> judges@toad.com
diff --git a/1994/schnitzi/README.md b/1994/schnitzi/README.md
index 3c6d239e2..d3d95aa9d 100644
--- a/1994/schnitzi/README.md
+++ b/1994/schnitzi/README.md
@@ -6,7 +6,7 @@
There are two alternate versions, one that has an increased buffer size and one
that uses `fgets()`; neither are completely functional. See below section [Bugs
-and (mis)features](#bugs-and-misfeatures) for details and the [Alternate
+and (mis)features](#bugs-and-misfeatures) for details and the [Alternate
code](#alternate-code) section for how to use.
diff --git a/1995/README.md b/1995/README.md
index 91952d85f..eb067e51c 100644
--- a/1995/README.md
+++ b/1995/README.md
@@ -51,7 +51,7 @@ us with your comments and suggestions today.
For those who appreciate a bit of Internet history, this is how
people used to contact the IOCCC in this given year, via [Unix to Unix CoPy
-(UUCP)](https://en.wikipedia.org/wiki/UUCP#Mail_routing):
+(UUCP)](https://en.wikipedia.org/wiki/UUCP#Mail_routing):
> ...!{sun,pacbell,uunet,pyramid}!hoptoad!judges
> judges@toad.com
diff --git a/2000/thadgavin/README.md b/2000/thadgavin/README.md
index 5b5085043..4429fc6b5 100644
--- a/2000/thadgavin/README.md
+++ b/2000/thadgavin/README.md
@@ -8,7 +8,7 @@
that case see the
FAQ on "[SDL1 and SDL2](../../faq.html#SDL)"
and the
-FAQ on "[(n)curses](../../faq.html#curses)"
+FAQ on "[(n)curses](../../faq.html#curses)"
for more information.
We recommend that you use the alternate code so you can see what this entry
diff --git a/2001/anonymous/README.md b/2001/anonymous/README.md
index 70f89886e..800329350 100644
--- a/2001/anonymous/README.md
+++ b/2001/anonymous/README.md
@@ -121,7 +121,7 @@ The build script should give an example command to compile the program.
### Features
[Basic Block](https://en.wikipedia.org/wiki/Basic_block)
-[Cache](https://en.wikipedia.org/wiki/Cache_(computing)): Rather than
+[Cache](https://en.wikipedia.org/wiki/Cache_(computing)): Rather than
translating each instruction individually the dynamic binary translator
generates a translation for an entire basic block of subject code. Having
translated a block once, the target code generated will be stored for the
@@ -136,7 +136,7 @@ The program runs [dynamically
linked](https://en.wikipedia.org/wiki/Dynamic_linker) [ELF
binaries](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format), and
when the subject program attempts to make a call to a standard
-[library](https://en.wikipedia.org/wiki/Library_(computing)), the translator
+[library](https://en.wikipedia.org/wiki/Library_(computing)), the translator
attempts to make an appropriate call to the native system libraries on the
target machine. This involves mangling between different calling conventions,
etc.
@@ -207,9 +207,9 @@ on to the next line of code.
Due to space limitations only a handful of instructions are supported; these
instructions which are supported are supported in somewhat non-conventional
ways: chunks of the architecture (e.g. flags) are just ignored, the ELF
-[loader](https://en.wikipedia.org/wiki/Loader_(computing)) does not really load
+[loader](https://en.wikipedia.org/wiki/Loader_(computing)) does not really load
the [ELF binary](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format),
-the target [library linking](https://en.wikipedia.org/wiki/Linker_(computing))
+the target [library linking](https://en.wikipedia.org/wiki/Linker_(computing))
can only pass up to 3 parameters to the target library function, etc.
In short, please consider this a full disclaimer for any bug that may
diff --git a/2001/dgbeards/README.md b/2001/dgbeards/README.md
index d8e565a6b..0fae3939e 100644
--- a/2001/dgbeards/README.md
+++ b/2001/dgbeards/README.md
@@ -160,7 +160,7 @@ program would probably be rated somewhere around 1700-1900. It is better
than most players, but will get destroyed by experienced human opponents.
This program searches to a fixed depth of 3
-[ply](https://en.wikipedia.org/wiki/Ply_(game_theory)). Because it does not
+[ply](https://en.wikipedia.org/wiki/Ply_(game_theory)). Because it does not
search very deep, it performs very poorly in quiet strategic positions.
In such positions, it will often just shuffle pieces around aimlessly
until a tactical exchange presents itself.
diff --git a/2004/anonymous/README.md b/2004/anonymous/README.md
index 3e9b9655f..26222358b 100644
--- a/2004/anonymous/README.md
+++ b/2004/anonymous/README.md
@@ -49,7 +49,7 @@ It was not until a sequel was called for that this was changed.
If you want to read the first edition they reprinted it some years back: `The
Hobbit Facsimile First Edition`. The details are also discussed in [History of
-Middle-earth (HoMe)](https://tolkiengateway.net/wiki/The_History_of_Middle-earth) VI, [The Return of the
+Middle-earth (HoMe)](https://tolkiengateway.net/wiki/The_History_of_Middle-earth) VI, [The Return of the
Shadow](https://tolkiengateway.net/wiki/The_Return_of_the_Shadow), part one of
the history of [The Lord of the
Rings](https://en.wikipedia.org/wiki/The_Lord_of_the_Rings) of a twelve volume set - as well as in [The
diff --git a/2004/gavare/README.md b/2004/gavare/README.md
index 441fdf6ec..8cc4c75a9 100644
--- a/2004/gavare/README.md
+++ b/2004/gavare/README.md
@@ -114,7 +114,7 @@ although the compiler gives it special meaning) and no preprocessor
directives.
This program is a small
-[ray-tracer](https://en.wikipedia.org/wiki/Ray_tracing_(graphics)). The first
+[ray-tracer](https://en.wikipedia.org/wiki/Ray_tracing_(graphics)). The first
line of the source code may be modified if you want the resulting image to be of
some other resolution than the predefined. The `A` value is an anti-alias
factor. Setting it to `1` disables the anti-aliasing feature which makes the
diff --git a/2005/README.md b/2005/README.md
index 132a2b933..7a5c3517c 100644
--- a/2005/README.md
+++ b/2005/README.md
@@ -46,7 +46,7 @@ parenthesis](mikeash/index.html) is self reproducing).
+ The [Most sonorous output - 2005/jetro](jetro/index.html) might `sound` :-) like a good idea.
+ 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_(text_editor)).
+with the [vi editor](https://en.wikipedia.org/wiki/Vi_(text_editor)).
+ The [Most ambiguous language - 2005/chia](chia/index.html) entry is really a C program.
diff --git a/2005/timwi/README.md b/2005/timwi/README.md
index c3ee4452f..fe30a5af4 100644
--- a/2005/timwi/README.md
+++ b/2005/timwi/README.md
@@ -28,7 +28,7 @@ simple 3-character fix will make it slightly less so.
Quite a few BF programs found on the Net expect byte-based memory, quite a few
exceed the capacity of this interpreter, but there are many that work. Some
-small [quines](https://en.wikipedia.org/wiki/Quine_(computing)) work, some don't.
+small [quines](https://en.wikipedia.org/wiki/Quine_(computing)) work, some don't.
Why?
diff --git a/2005/toledo/README.md b/2005/toledo/README.md
index 85de4a927..3f4eaaf9c 100644
--- a/2005/toledo/README.md
+++ b/2005/toledo/README.md
@@ -68,14 +68,14 @@ get the first mode, run the program without arguments:
```
The other mode is accessible running the program with one argument
-(5-[ply](https://en.wikipedia.org/wiki/Ply_(game_theory))
+(5-[ply](https://en.wikipedia.org/wiki/Ply_(game_theory))
analysis):
```
./toledo a
```
-Two arguments for 6-[ply](https://en.wikipedia.org/wiki/Ply_(game_theory))
+Two arguments for 6-[ply](https://en.wikipedia.org/wiki/Ply_(game_theory))
analysis:
```
@@ -83,7 +83,7 @@ analysis:
```
And each successive argument will analyze one
-[ply](https://en.wikipedia.org/wiki/Ply_(game_theory)) more. There is no ply
+[ply](https://en.wikipedia.org/wiki/Ply_(game_theory)) more. There is no ply
limit, but beyond 7 ply is very slow, try it at your own risk and computing
time.
@@ -125,7 +125,7 @@ algorithms.
The interface accounts for only a fraction of the code, the core does multiples
functions: it is called recursively to analyze and evaluate each
-[ply](https://en.wikipedia.org/wiki/Ply_(game_theory)), does [alpha-beta
+[ply](https://en.wikipedia.org/wiki/Ply_(game_theory)), does [alpha-beta
pruning](https://en.wikipedia.org/wiki/Alpha-beta_pruning), move generation,
machine playing, check detection, illegal move verification and does moves after
they are verified.
@@ -142,7 +142,7 @@ Other features are:
* [Checkmate](https://en.wikipedia.org/wiki/Checkmate) detection.
* Stalemate detection.
* Computer is tough (check
-7-[ply](https://en.wikipedia.org/wiki/Ply_(game_theory)) and even in 5 ply can give a surprise to
+7-[ply](https://en.wikipedia.org/wiki/Ply_(game_theory)) and even in 5 ply can give a surprise to
amateur players.
diff --git a/2005/vik/README.md b/2005/vik/README.md
index 42f6e9873..7e5339324 100644
--- a/2005/vik/README.md
+++ b/2005/vik/README.md
@@ -33,7 +33,7 @@ sure to pay attention to commas! :-)
## Author's remarks:
This entry is a [Wolfenstein](https://en.wikipedia.org/wiki/Wolfenstein) style
-[graphics engine](https://en.wikipedia.org/wiki/Rendering_(computer_graphics))
+[graphics engine](https://en.wikipedia.org/wiki/Rendering_(computer_graphics))
where a user can navigate in a
[3D](https://en.wikipedia.org/wiki/3D_computer_graphics) world. The
[maze](https://en.wikipedia.org/wiki/Maze) has walls with [bitmap
diff --git a/2006/birken/README.md b/2006/birken/README.md
index af5350d03..66282ed9e 100644
--- a/2006/birken/README.md
+++ b/2006/birken/README.md
@@ -39,7 +39,7 @@ A: Electronic Design Automation - Mechanical Abstract Machine Emulator
What is TOFU? It's not a veggie friendly food, nor it is
[Verilog](https://en.wikipedia.org/wiki/Verilog) or
[VHDL](https://en.wikipedia.org/wiki/VHDL) It is not even
-[Pascal](https://en.wikipedia.org/wiki/Pascal_(programming_language))!
+[Pascal](https://en.wikipedia.org/wiki/Pascal_(programming_language))!
NOTE: On some systems, `file(1)` claims one of the `.tofu` files is Pascal
source. :-)
diff --git a/2006/meyer/README.md b/2006/meyer/README.md
index 2ede0677b..8c12a0774 100644
--- a/2006/meyer/README.md
+++ b/2006/meyer/README.md
@@ -91,8 +91,8 @@ include:
- virtual method tables (all the virtual method tables have been combined to a
single [vtable](https://en.wikipedia.org/wiki/Virtual_method_table) table).
- runtime method binding.
-- [inheritance](https://en.wikipedia.org/wiki/Inheritance_(object-oriented_programming))
-and [polymorphism](https://en.wikipedia.org/wiki/Polymorphism_(computer_science)).
+- [inheritance](https://en.wikipedia.org/wiki/Inheritance_(object-oriented_programming))
+and [polymorphism](https://en.wikipedia.org/wiki/Polymorphism_(computer_science)).
It is left as an exercise to the reader to find a corresponding
implementation in a popular object-oriented programming language.
diff --git a/2006/toledo3/README.md b/2006/toledo3/README.md
index e55ecbeff..07d99e995 100644
--- a/2006/toledo3/README.md
+++ b/2006/toledo3/README.md
@@ -86,7 +86,7 @@ a mistake and the computer surpasses you. ;)
### WHAT ABOUT THE ENGINE
Uses an [alpha-beta](https://en.wikipedia.org/wiki/Alpha_Beta) search up to a
-depth of 3+level [ply](https://en.wikipedia.org/wiki/Ply_(game_theory)),
+depth of 3+level [ply](https://en.wikipedia.org/wiki/Ply_(game_theory)),
extended with quiescence search, that helps playing strength, something around
1500 ELO (level 1) to 1700 ELO (level 3).
diff --git a/2011/eastman/README.md b/2011/eastman/README.md
index ac3c1a5bd..92f7399f8 100644
--- a/2011/eastman/README.md
+++ b/2011/eastman/README.md
@@ -48,7 +48,7 @@ aren't familiar with it. Back in its day, this demo inspired lust and awe in
geeks around the world.
The graphics are
-[raytraced](https://en.wikipedia.org/wiki/Ray_tracing_(graphics)), with
+[raytraced](https://en.wikipedia.org/wiki/Ray_tracing_(graphics)), with
procedural textures on the ball and the back wall. I did cheat a little to
simplify the calculations: it uses a parallel projection, but textures the back
wall to look as if there were a floor being viewed in perspective. The shadow
diff --git a/2011/fredriksson/README.md b/2011/fredriksson/README.md
index 1a408a7b4..5f48525f9 100644
--- a/2011/fredriksson/README.md
+++ b/2011/fredriksson/README.md
@@ -117,7 +117,7 @@ expressions by putting `]` as the first character, and putting `-` last.
### Other uses
-* You can use this in place of [cat](https://en.wikipedia.org/wiki/Cat_(Unix)).
+* You can use this in place of [cat](https://en.wikipedia.org/wiki/Cat_(Unix)).
Just say
diff --git a/2011/richards/README.md b/2011/richards/README.md
index 01c466d6d..14c4c708f 100644
--- a/2011/richards/README.md
+++ b/2011/richards/README.md
@@ -31,7 +31,7 @@ For more detailed information see [2011/richards in bugs.html](../../bugs.html#2
## Judges' remarks:
Oh no, yet another
-[dc](https://en.wikipedia.org/wiki/Dc_(computer_program))-style calculator? (see
+[dc](https://en.wikipedia.org/wiki/Dc_(computer_program))-style calculator? (see
[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
@@ -42,7 +42,7 @@ without attempting to unravel the source?
## Author's remarks:
This is an implementation of the classic UNIX
-[dc](https://en.wikipedia.org/wiki/Dc_(computer_program)) command, the
+[dc](https://en.wikipedia.org/wiki/Dc_(computer_program)) command, the
[reverse Polish](https://en.wikipedia.org/wiki/Reverse_Polish_notation)
calculator. Actually it's a pretty bad implementation, since it only implements
32-bit integers (well, `sizeof(int)`-sized integers). It only implements the
diff --git a/2011/zucker/README.md b/2011/zucker/README.md
index a5bcfc811..1babc7bee 100644
--- a/2011/zucker/README.md
+++ b/2011/zucker/README.md
@@ -164,7 +164,7 @@ If you get stuck, come back and read below for additional hints and information.
### How this entry works:
The program is not quite a traditional [ray
-tracer](https://en.wikipedia.org/wiki/Ray_tracing_(graphics)), but a "[sphere
+tracer](https://en.wikipedia.org/wiki/Ray_tracing_(graphics)), but a "[sphere
tracer](sphere-tracing.pdf)" which uses distance fields to encode proximity to
objects in the scene. Using sphere tracing to compute visibility instead of
analytic ray tracing provides two advantages: first, it greatly eases the
diff --git a/2012/blakely/README.md b/2012/blakely/README.md
index 7d4b3677a..f1c104144 100644
--- a/2012/blakely/README.md
+++ b/2012/blakely/README.md
@@ -33,7 +33,7 @@ For more detailed information see [2012/blakely in bugs.html](../../bugs.html#20
Several IOCCC themes ([RPN
calculator](https://en.wikipedia.org/wiki/Reverse_Polish_notation), animated
[GIF](https://en.wikipedia.org/wiki/GIF) generator, [ray
-tracing](https://en.wikipedia.org/wiki/Ray_tracing_(graphics)) graphics) in one package!
+tracing](https://en.wikipedia.org/wiki/Ray_tracing_(graphics)) graphics) in one package!
Very impressive!
The checkerboard pattern in the output can be broken. Could you figure out how?
@@ -47,7 +47,7 @@ Larger GIF files confuse some image viewers.
This program renders a generic
[RPN](https://en.wikipedia.org/wiki/Reverse_Polish_notation) expression in
-[ray-traced](https://en.wikipedia.org/wiki/Ray_tracing_(graphics)) animated
+[ray-traced](https://en.wikipedia.org/wiki/Ray_tracing_(graphics)) animated
[GIF](https://en.wikipedia.org/wiki/GIF) form. The expression in spatial
variables `x` and `y` is specified on the command-line with the required
resolution, and an animated GIF showing a fly-around of the resulting surface is
diff --git a/2012/endoh1/README.md b/2012/endoh1/README.md
index e6687f0f5..b105ce7ec 100644
--- a/2012/endoh1/README.md
+++ b/2012/endoh1/README.md
@@ -268,7 +268,7 @@ it is surely a C99 feature.
[pour-out.txt](pour-out.txt) pours you a cup of tea.
[tanada.txt](tanada.txt) simulates "Terrace farming". ("Tanada" means a
-"[terraced rice](https://en.wikipedia.org/wiki/Terrace_(earthworks) fields)" in Japanese.)
+"[terraced rice](https://en.wikipedia.org/wiki/Terrace_(earthworks) fields)" in Japanese.)
[clock.txt](clock.txt) is a "water" clock created by HAMANO Tsukasa.
diff --git a/2012/endoh2/README.md b/2012/endoh2/README.md
index 3ee0f60ad..e655ce3b4 100644
--- a/2012/endoh2/README.md
+++ b/2012/endoh2/README.md
@@ -34,8 +34,8 @@ and:
## Judges' remarks:
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
+[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
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?
@@ -47,7 +47,7 @@ Yeah, "Again". Sorry. But I don't feel guilty or uncomfortable.
This entry is based on 'over-used themes' such as self reproducing
program and [pi](https://en.wikipedia.org/wiki/Pi) or
-[e](https://en.wikipedia.org/wiki/E_(mathematical_constant)) computation. I
+[e](https://en.wikipedia.org/wiki/E_(mathematical_constant)) computation. I
know you're tired of them.
But have you ever seen them **all-in-one**?
@@ -65,18 +65,18 @@ This program generates a new program in the shape of the Greek letter
One more thing... When you give a command line argument `e` to the
first program, the generated one will compute [Napier's
-constant](https://en.wikipedia.org/wiki/E_(mathematical_constant))
+constant](https://en.wikipedia.org/wiki/E_(mathematical_constant))
rather than pi.
### Obfuscation
This program itself is in the shape of a
-[spigot](https://en.wikipedia.org/wiki/Tap_(valve)). This is derived as an
+[spigot](https://en.wikipedia.org/wiki/Tap_(valve)). This is derived as an
analogy with [spigot algorithm](https://en.wikipedia.org/wiki/Spigot_algorithm)
which infinitely computes the value of a mathematical constant such as
[pi](https://en.wikipedia.org/wiki/Pi) or
-[e](https://en.wikipedia.org/wiki/E_(mathematical_constant)).
+[e](https://en.wikipedia.org/wiki/E_(mathematical_constant)).
The two sets of programs, `314*.c` and `271*.c`, are almost the same
except their shape and constant computational part. I tailored the
@@ -85,7 +85,7 @@ tweaking the computational order and adding meaningless code fragments.
On the other hand, to make it fit inside one screen (80 x 25), my program is
shortened properly, more than it looks. (As you may know,
-[quines](https://en.wikipedia.org/wiki/Quine_(computing)) need to make its
+[quines](https://en.wikipedia.org/wiki/Quine_(computing)) need to make its
program size doubled.) For example, this program involves 3x5 bitmap font data
of ten characters (`0` -- `9`), as just 20 bytes: `G1%xJ{;Q7wunmuGuu%uu`. We
can decode character `n` as `275*s[n+10] - 8*s[n] - 8`. I solved the system of
diff --git a/2012/hamano/README.md b/2012/hamano/README.md
index f65a0da57..5ab7cf438 100644
--- a/2012/hamano/README.md
+++ b/2012/hamano/README.md
@@ -65,7 +65,7 @@ confused.
The results can be viewed with Acrobat Reader,
[evince](http://en.wikipedia.org/wiki/Evince) and Apple's
-[Preview](https://en.wikipedia.org/wiki/Preview_(macOS)).
+[Preview](https://en.wikipedia.org/wiki/Preview_(macOS)).
The updated version can also be viewed using Ghostscript.
diff --git a/2012/hou/README.md b/2012/hou/README.md
index 46215b944..f8b831d8b 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)
@@ -819,7 +819,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()](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/2018/burton2/README.md b/2018/burton2/README.md
index b5070da04..3dd6e6b26 100644
--- a/2018/burton2/README.md
+++ b/2018/burton2/README.md
@@ -400,7 +400,7 @@ in [prog.c](%%REPO_URL%%/2018/burton2/prog.c), and the program
[manpage.sh](%%REPO_URL%%/2018/burton2/manpage.sh) was added to the corpus.
[manpage.sh](%%REPO_URL%%/2018/burton2/manpage.sh) is a useful program that turns ASCII versions of man
-pages (e.g., [tac(1)](%%REPO_URL%%/2018/burton2/tac.1) man page) into real man pages. It works for C and C-like
+pages (e.g., [tac(1)](%%REPO_URL%%/2018/burton2/tac.1) man page) into real man pages. It works for C and C-like
languages, command lines, and was designed to handle man page sections 1-8. It
works well on most inputs, but tends to need some raw nroff for more fancy
constructions, such as combined arguments (e.g. the `-r` and `-s` arguments to tac
diff --git a/2018/endoh2/README.md b/2018/endoh2/README.md
index 4d7d80ae9..e88c69f54 100644
--- a/2018/endoh2/README.md
+++ b/2018/endoh2/README.md
@@ -38,7 +38,7 @@ sketch [comté](https://en.wikipedia.org/wiki/Comté_cheese) called ["Dead
Parrot"](https://en.wikipedia.org/wiki/Dead_Parrot_sketch) from the British
sitcom ["Monty Python's Flying Circus"](https://en.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus)
The "_Python_" in the award name refers to Monty Python, **not** the
-[programming language Python](https://en.wikipedia.org/wiki/Python_(programming_language)
+[programming language Python](https://en.wikipedia.org/wiki/Python_(programming_language)
(the name of the programming language Python is derived from Monty Python).
The shape of [prog.c](%%REPO_URL%%/2018/endoh2/prog.c) is "Undead Parrot" based on "dead parrot". The
diff --git a/2018/yang/README.md b/2018/yang/README.md
index 3a435692f..7ce48c99d 100644
--- a/2018/yang/README.md
+++ b/2018/yang/README.md
@@ -32,7 +32,7 @@ this program left and recompiling will reveal other tools including a right rota
and a shift program.
Strange things happen [when the world is upside
-down](https://en.wikipedia.org/wiki/Wacky_Wednesday_(book))! It is entirely possible
+down](https://en.wikipedia.org/wiki/Wacky_Wednesday_(book))! It is entirely possible
that this remark is completely misleading.
What exactly does the shift program do?
diff --git a/2019/poikola/README.md b/2019/poikola/README.md
index 389e8149a..1bf7199a3 100644
--- a/2019/poikola/README.md
+++ b/2019/poikola/README.md
@@ -86,9 +86,9 @@ Do you have the time to see what this program does? Think again, come back and
try again.
Note that [2](https://t5k.org/curios/page.php/2.html) can be said to be the
-least [odd](https://en.wikipedia.org/wiki/Parity_(mathematics))
+least [odd](https://en.wikipedia.org/wiki/Parity_(mathematics))
[prime](https://en.wikipedia.org/wiki/Prime_number) because it is the greatest
-[even](https://en.wikipedia.org/wiki/Parity_(mathematics)) prime. Moreover `2`
+[even](https://en.wikipedia.org/wiki/Parity_(mathematics)) prime. Moreover `2`
can be also said to be the greatest odd prime because it is the least even
prime.
diff --git a/2020/endoh1/README.md b/2020/endoh1/README.md
index a7d514fa5..8a6bbbda5 100644
--- a/2020/endoh1/README.md
+++ b/2020/endoh1/README.md
@@ -54,7 +54,7 @@ Use `prog.alt` as you would `prog` above.
## Judges' remarks:
When playing
-[Minesweeper](https://en.wikipedia.org/wiki/Minesweeper_(video_game)), a
+[Minesweeper](https://en.wikipedia.org/wiki/Minesweeper_(video_game)), a
misclick might ruin a game, so why not leave the routine to the computer? This
program automatically uncovers mines according to several rules, and leaves
guessing (and applying the most straightforward of the rules -- just for fun,
diff --git a/2020/ferguson1/HACKING.md b/2020/ferguson1/HACKING.md
index 1ffadfd47..0d58038c0 100644
--- a/2020/ferguson1/HACKING.md
+++ b/2020/ferguson1/HACKING.md
@@ -507,7 +507,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/bugs.md b/2020/ferguson1/bugs.md
index ead27ef5e..37751c84f 100644
--- a/2020/ferguson1/bugs.md
+++ b/2020/ferguson1/bugs.md
@@ -5,7 +5,7 @@
Please do NOT indent with ASCII tabs, OR use any +ASCII tab characters anywhere inside a markdown file.
While we have nothing against the ASCII tab character in general, we have discovered that ASCII tab characters create problems when used as part of the leading whitespace within a markdown file.
If you need to indent 2 or more levels, use multiples of 4 ASCII -SPACES. Please do NOT indent with ASCII tabs, OR use any -ASCII tab characters anywhere inside a markdown file:
+SPACES.For example:
```
Please do **NOT** use ASCII tabs in markdown files. <=== no thank you
@@ -527,7 +528,7 @@ not C code or any other non-markdown content:
// We ask that you to NOT use ASCII tab characters in your remarks.md writeup,
// or in any other markdown files within your entry, please.
NOTE: Again, you are perfectly welcome to use ASCII tab characters in -your C code and other non-markdown files. We simply ask that you NOT use any +your C code and other non-markdown files. We simply ask that you do NOT use any ASCII tab characters in markdown files.
vim usersIf you’re in insert mode hit ESC first.
We request that fenced markdown code
@@ -616,16 +617,17 @@ a trailing <br>.
Again, use of a trailing backslash (\) inside a markdown fenced code
-block is fine:
Again, use of a trailing backslash (\) inside a markdown code block is fine:
```
This is OK\
inside a\
markdown code\
block
```
-This will prevent pandoc(1) from generating deprecated HTML elements such as
-<br />.
as is:
+ `This is OK\`
+Doing it this way will prevent pandoc(1) from generating deprecated HTML
+elements such as <br />.
<hr>
If a short line is needed, use:
<hr style="width:10%;text-align:left;margin-left:0">
+(” or “)” in markdown link titlesPlease do NOT use literal parentheses inside markdown link titles.
+Instead of:
+ [some (text)](https://example.com/curds) <=== no thank you
+use:
+ [some (text)](https://example.com/curds)
+Instead of:
+ [ls(1)](https://example.com/ls-man-page.1) <=== no thank you
+use:
+ [ls(1)](https://example.com/ls-man-page.1)
))”Instead of:
[some text](https://example.com/foo_(bar)) <=== no thank you
use:
- [some text](https://example.com/foo_(bar))
+ [some text](https://example.com/foo_(bar))
As another example, instead of:
This thing, ([some text](some/path)), is NOT ideal. <=== no thank you
use:
This thing, [some text](some/path), is better.
-(” or “)” in markdown link titlesPlease do NOT use literal parentheses inside markdown link titles.
-Instead of:
- [some (text)](https://example.com/cyrds) <=== no thank you
-use:
- [some (text)](https://example.com/cyrds)
-Instead of:
- [ls(1)](https://example.com/ls-man-page.1) <=== no thank you
-use:
- [ls(1)](https://example.com/ls-man-page.1)
As per the suggestion of Toni Mikkola -(@Virtaava@home.social) +(@Virtaava@home.social) we now maintain a status.json page on this website.
In addition to the IOCCC-style Easter egg, you may count on the JSON status page having a JSON member with name of “contest” diff --git a/news.md b/news.md index 1c5061553..f6bc9a0e7 100644 --- a/news.md +++ b/news.md @@ -131,7 +131,7 @@ Nearly all of the [temp-test-ioccc website](https://ioccc-src.github.io/temp-tes website has undergone editorial review. Nearly all [IOCCC winning entries](years.html) compile on modern systems and many have `try.sh` scripts to help you run them. For those that cannot compile and/or do not work, we have made a -[Bugs and (Mis)features](bugs.html) page. +[Bugs and (Mis)features](bugs.html) page. We have made nearly 4823 changes to date! @@ -248,7 +248,7 @@ of the most recent news item. ## 2022-12-18 As per the suggestion of [Toni Mikkola -(@Virtaava@home.social)](https://fosstodon.org/@Virtaava@home.social) +(@Virtaava@home.social)](https://fosstodon.org/@Virtaava@home.social) we now maintain a [status.json](status.json) page on this website. In addition to the IOCCC-style _Easter egg_, you may count on diff --git a/next/guidelines.md b/next/guidelines.md index e1c902f7b..c1d900000 100644 --- a/next/guidelines.md +++ b/next/guidelines.md @@ -73,7 +73,7 @@ block or blockquote, just a vertical bar). This file contains _guidelines_ intended to help people who wish to participate in the [International Obfuscated C Code Contest -(IOCCC)](https://www.ioccc.org). +(IOCCC)](https://www.ioccc.org). These are **NOT the [IOCCC rules](rules.html)**, though it does contain comments about them. The [IOCCC guidelines](guidelines.html) should be viewed as diff --git a/next/rules.md b/next/rules.md index 630aed2c6..af5ae7c71 100644 --- a/next/rules.md +++ b/next/rules.md @@ -753,7 +753,7 @@ guidelines](../markdown.html) for additional markdown guidance.