Improve markdown guidelines wording

Amongst the changes here is that we do not need to have the hex or html
code (numbers) for open and close parentheses (in links) as there are
names. '(' is & followed by lpar; and the ')' is the same but 'rpar;'
instead. This makes it easier to remember and type and it generates the
same html as well (they are all valid). Now the markdown files are
consistent in this (in some cases hex was used and in others the html
code).

Although many markdown files were updated no html files needed to be
updated as it generates the same html. Even so I ran the appropriate
rules to do so just to verify this.
This commit is contained in:
Cody Boone Ferguson committed 2024-07-31 10:44:10 -07:00
1 parent 12a5837608
commit 3deb7ae603
67 files changed
+198 -187

No files matched your search

+10 -10
View File
@@ -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 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 supposed to send data reliably from one program to the other over an unreliable
channel. This channel was simulated with a pair of 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 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 programs, only for the
[PDP](https://en.wikipedia.org/wiki/Programmed_Data_Processor), to do this, but [PDP](https://en.wikipedia.org/wiki/Programmed_Data_Processor), to do this, but
circumventing the channel (i.e. cheating, hence the needed obfuscation). Our 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. it.
Since we had just recently created these [obfuscated 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 use the same technique for an obfuscated C program. We upped the ante a bit by
making it "portable". making it "portable".
To add to the 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, 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. 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 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) 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 routine as a mask of
[registers](https://en.wikipedia.org/wiki/Processor_register) that are to be [registers](https://en.wikipedia.org/wiki/Processor_register) that are to be
saved on the [stack](https://en.wikipedia.org/wiki/Call_stack). 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 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 [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) [instruction](https://en.wikipedia.org/wiki/Instruction_set_architecture#Instructions)
that branches over the VAX code. The PDP and VAX codes are thus completely that branches over the VAX code. The PDP and VAX codes are thus completely
separate. separate.
@@ -354,7 +354,7 @@ program that we came up with is as follows:
The first word (after the label `vax`) is the The first word (after the label `vax`) is the
[PDP](https://en.wikipedia.org/wiki/Programmed_Data_Processor) [branch [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 [PDP](https://en.wikipedia.org/wiki/Programmed_Data_Processor) branch
instructions are octal `400` + the distance divided by `2`. The string that both instructions are octal `400` + the distance divided by `2`. The string that both
the [PDP](https://en.wikipedia.org/wiki/Programmed_Data_Processor) and 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. `pdp` label.
On the [VAX](https://en.wikipedia.org/wiki/VAX), the program 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 of the string), the address of the string and 1, the [file
descriptor](https://en.wikipedia.org/wiki/File_descriptor) on the 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 `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 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 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) 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 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) 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 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 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 was 512 bytes, and our program was 513 bytes. So we changed the word `and` in
+1 -1
View File
@@ -13,7 +13,7 @@ A poll was taken for the worst code for
[BSD](https://en.wikipedia.org/wiki/Berkeley_Software_Distribution) and [System [BSD](https://en.wikipedia.org/wiki/Berkeley_Software_Distribution) and [System
V](https://en.wikipedia.org/wiki/UNIX_System_V) program. The [Bourne 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 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. program took third place.
[Rules](rules.txt) and [results](../years.html#1986) were posted to _net.lang.c_ [Rules](rules.txt) and [results](../years.html#1986) were posted to _net.lang.c_
+2 -2
View File
@@ -40,8 +40,8 @@ This caused a number of System V C pre-preprocessors to gripe about a
syntax error. syntax error.
This program is a masterpiece of obfuscation and humor. Larry Wall (the hacker 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 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 [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 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 program and type characters into its standard input. You will see why the
compiler documents the program. compiler documents the program.
+1 -1
View File
@@ -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 This is the most useful program submitted this year. It is a
rather large subset of 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 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 so, placing all this functionality in such a small, densely packed program, is
impressive enough to win the `Best of Show` award. impressive enough to win the `Best of Show` award.
+1 -1
View File
@@ -56,7 +56,7 @@ For an interesting document on APL, see
This program is a handy picoAPL interpreter written in `C--`. It This program is a handy picoAPL interpreter written in `C--`. It
outputs the evaluation of an 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 `-`; input. Functions are limited to dyadic `+`,`-`,`x`, and unary `-`;
numerals must be binary. Parentheses may be used for numerals must be binary. Parentheses may be used for
grouping. For example: grouping. For example:
+1 -1
View File
@@ -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 still require standardization for the function of data compression and
mail-transparency encoding. On Unix, these coding format quandaries are overcome mail-transparency encoding. On Unix, these coding format quandaries are overcome
by planting a novel [Trojan 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. header to perform negotiation-less decoding.
Specifically, we outline the development of an extraordinarily compact portable Specifically, we outline the development of an extraordinarily compact portable
+1 -1
View File
@@ -77,7 +77,7 @@ us with your comments and suggestions today.
For those who appreciate a bit of Internet history, this is how 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 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<br> > ...!{sun,pacbell,uunet,pyramid}!hoptoad!judges<br>
> judges@toad.com > judges@toad.com
+1 -1
View File
@@ -67,7 +67,7 @@ us with your comments and suggestions today.
For those who appreciate a bit of Internet history, this is how 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 people used to contact the IOCCC in this given year, via [Unix to Unix CoPy
&#x28;UUCP&#x29;](https://en.wikipedia.org/wiki/UUCP#Mail_routing): &lpar;UUCP&rpar;](https://en.wikipedia.org/wiki/UUCP#Mail_routing):
> ...!{sun,pacbell,uunet,pyramid}!hoptoad!judges<br> > ...!{sun,pacbell,uunet,pyramid}!hoptoad!judges<br>
> judges@toad.com > judges@toad.com
+7 -7
View File
@@ -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 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 first, type `help` and consult
[FORTH](https://en.wikipedia.org/wiki/Forth_&#x28;programming_language&#x29;) manuals for [FORTH](https://en.wikipedia.org/wiki/Forth_&lpar;programming_language&rpar;) manuals for
further reference. Six sample THIRD programs are included in the files 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) `demo1.th` through `demo6.th`. See [buzzard.2.README.html](buzzard.2.README.html)
for more information. for more information.
@@ -157,7 +157,7 @@ tackle this project.
on smaller machines; `m[]` needs to be at least 2000 long, though. on smaller machines; `m[]` needs to be at least 2000 long, though.
I say `first` is portable mainly because it uses native types. Unlike I say `first` is portable mainly because it uses native types. Unlike
[FORTH](https://en.wikipedia.org/wiki/Forth_&#x28;programming_language&#x29;), which [FORTH](https://en.wikipedia.org/wiki/Forth_&lpar;programming_language&rpar;), which
traditionally allows byte and multi-byte operations, all operations are 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 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 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 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 question, but they may not know the answer to the more important question, "what
will this program do when given the right input?" will this program do when given the right input?"
[FORTH](https://en.wikipedia.org/wiki/Forth_&#x28;programming_language&#x29;) aficionados, [FORTH](https://en.wikipedia.org/wiki/Forth_&lpar;programming_language&rpar;) aficionados,
and especially FORTH implementers, may recognize the similarity of the internal and especially FORTH implementers, may recognize the similarity of the internal
compiler format to many FORTH internal representations, and, being aware that compiler format to many FORTH internal representations, and, being aware that
FORTH interpreters can often be self-compiling, may be suspicious that this 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? ### What exactly is `first`, then?
`first` is a tiny interpreter which implements a sufficient pseudo-subset of `first` is a tiny interpreter which implements a sufficient pseudo-subset of
[FORTH](https://en.wikipedia.org/wiki/Forth_&#x28;programming_language&#x29;) to allow it [FORTH](https://en.wikipedia.org/wiki/Forth_&lpar;programming_language&rpar;) to allow it
to bootstrap a relatively complete version of FORTH (based loosely on forth79), to bootstrap a relatively complete version of FORTH (based loosely on forth79),
which I call THIRD. Complete relative to what, I'm not sure. 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 THIRD is sorta slow, because `first` has so few primitives that many things that
are primitives in are primitives in
[FORTH](https://en.wikipedia.org/wiki/Forth_&#x28;programming_language&#x29;) (like swap) [FORTH](https://en.wikipedia.org/wiki/Forth_&lpar;programming_language&rpar;) (like swap)
take a significant amount of time in THIRD. take a significant amount of time in THIRD.
When you get the `Ok.` message from `third`, try out some sample When you get the `Ok.` message from `third`, try out some sample
[FORTH](https://en.wikipedia.org/wiki/Forth_&#x28;programming_language&#x29;) code [FORTH](https://en.wikipedia.org/wiki/Forth_&lpar;programming_language&rpar;) code
(`first` has no way of knowing if keyboard input is waiting, so it can't actually prompt (`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). 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). 1000 `int`s (plus the return stack).
Thus THIRD gives you a relatively complete Thus THIRD gives you a relatively complete
[FORTH](https://en.wikipedia.org/wiki/Forth_&#x28;programming_language&#x29;) system in [FORTH](https://en.wikipedia.org/wiki/Forth_&lpar;programming_language&rpar;) system in
less than 700 chars of C source + about 1000 `int`s of memory--and it's portable 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). 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 If the above numbers seem to you to be mixing apples and oranges (C source and
+1 -1
View File
@@ -34,7 +34,7 @@ us with your comments and suggestions today.
For those who appreciate a bit of Internet history, this is how 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 people used to contact the IOCCC in this given year, via [Unix to Unix CoPy
&#x28;UUCP&#x29;](https://en.wikipedia.org/wiki/UUCP#Mail_routing): &lpar;UUCP&rpar;](https://en.wikipedia.org/wiki/UUCP#Mail_routing):
> ...!{sun,pacbell,uunet,pyramid}!hoptoad!judges<br> > ...!{sun,pacbell,uunet,pyramid}!hoptoad!judges<br>
> judges@toad.com > judges@toad.com
+1 -1
View File
@@ -37,7 +37,7 @@ International Internet community.
## Author's remarks: ## Author's remarks:
This program plays This program plays
[Mastermind](https://en.wikipedia.org/wiki/Mastermind_&#x28;board_game&#x29;), if you call [Mastermind](https://en.wikipedia.org/wiki/Mastermind_&lpar;board_game&rpar;), if you call
it by a name ending by `d`, otherwise it _solves_ Mastermind. Call it without 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 parameters to use 6 digits (colors), or indicate the number of possible digits
(you cannot change the number of positions so easily). (you cannot change the number of positions so easily).
+1 -1
View File
@@ -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: The author has provided several CABBAGE files for your amusement:
- [rince.data1](%%REPO_URL%%/1993/rince/rince.data1) plays - [rince.data1](%%REPO_URL%%/1993/rince/rince.data1) plays
[Breakout](https://en.wikipedia.org/wiki/Breakout_&#x28;video_game&#x29;). Keys are `,` [Breakout](https://en.wikipedia.org/wiki/Breakout_&lpar;video_game&rpar;). Keys are `,`
for left, `/` for right, and `.` for 'fire the ball'. 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) - [rince.data2](%%REPO_URL%%/1993/rince/rince.data2) plays the old [James Bonfield](../../authors.html#James_Bonfield)
+1 -1
View File
@@ -102,7 +102,7 @@ us with your comments and suggestions today.
For those who appreciate a bit of Internet history, this is how 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 people used to contact the IOCCC in this given year, via [Unix to Unix CoPy
&#x28;UUCP&#x29;](https://en.wikipedia.org/wiki/UUCP#Mail_routing): &lpar;UUCP&rpar;](https://en.wikipedia.org/wiki/UUCP#Mail_routing):
> ...!{sun,pacbell,uunet,pyramid}!hoptoad!judges<br> > ...!{sun,pacbell,uunet,pyramid}!hoptoad!judges<br>
> judges@toad.com > judges@toad.com
+1 -1
View File
@@ -6,7 +6,7 @@
There are two alternate versions, one that has an increased buffer size and one 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 that uses `fgets()`; neither are completely functional. See below section [Bugs
and &#x28;mis&#x29;features](#bugs-and-misfeatures) for details and the [Alternate and &lpar;mis&rpar;features](#bugs-and-misfeatures) for details and the [Alternate
code](#alternate-code) section for how to use. code](#alternate-code) section for how to use.
+1 -1
View File
@@ -51,7 +51,7 @@ us with your comments and suggestions today.
For those who appreciate a bit of Internet history, this is how 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 people used to contact the IOCCC in this given year, via [Unix to Unix CoPy
&#x28;UUCP&#x29;](https://en.wikipedia.org/wiki/UUCP#Mail_routing): &lpar;UUCP&rpar;](https://en.wikipedia.org/wiki/UUCP#Mail_routing):
> ...!{sun,pacbell,uunet,pyramid}!hoptoad!judges<br> > ...!{sun,pacbell,uunet,pyramid}!hoptoad!judges<br>
> judges@toad.com > judges@toad.com
+1 -1
View File
@@ -8,7 +8,7 @@
that case see the that case see the
FAQ on "[SDL1 and SDL2](../../faq.html#SDL)" FAQ on "[SDL1 and SDL2](../../faq.html#SDL)"
and the and the
FAQ on "[&#40;n&#41;curses](../../faq.html#curses)" FAQ on "[&lpar;n&rpar;curses](../../faq.html#curses)"
for more information. for more information.
We recommend that you use the alternate code so you can see what this entry We recommend that you use the alternate code so you can see what this entry
+4 -4
View File
@@ -121,7 +121,7 @@ The build script should give an example command to compile the program.
### Features ### Features
[Basic Block](https://en.wikipedia.org/wiki/Basic_block) [Basic Block](https://en.wikipedia.org/wiki/Basic_block)
[Cache](https://en.wikipedia.org/wiki/Cache_&#x28;computing&#x29;): Rather than [Cache](https://en.wikipedia.org/wiki/Cache_&lpar;computing&rpar;): Rather than
translating each instruction individually the dynamic binary translator translating each instruction individually the dynamic binary translator
generates a translation for an entire basic block of subject code. Having 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 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 linked](https://en.wikipedia.org/wiki/Dynamic_linker) [ELF
binaries](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format), and binaries](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format), and
when the subject program attempts to make a call to a standard when the subject program attempts to make a call to a standard
[library](https://en.wikipedia.org/wiki/Library_&#x28;computing&#x29;), the translator [library](https://en.wikipedia.org/wiki/Library_&lpar;computing&rpar;), the translator
attempts to make an appropriate call to the native system libraries on the attempts to make an appropriate call to the native system libraries on the
target machine. This involves mangling between different calling conventions, target machine. This involves mangling between different calling conventions,
etc. etc.
@@ -207,9 +207,9 @@ on to the next line of code.
Due to space limitations only a handful of instructions are supported; these Due to space limitations only a handful of instructions are supported; these
instructions which are supported are supported in somewhat non-conventional instructions which are supported are supported in somewhat non-conventional
ways: chunks of the architecture (e.g. flags) are just ignored, the ELF ways: chunks of the architecture (e.g. flags) are just ignored, the ELF
[loader](https://en.wikipedia.org/wiki/Loader_&#x28;computing&#x29;) does not really load [loader](https://en.wikipedia.org/wiki/Loader_&lpar;computing&rpar;) does not really load
the [ELF binary](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format), the [ELF binary](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format),
the target [library linking](https://en.wikipedia.org/wiki/Linker_&#x28;computing&#x29;) the target [library linking](https://en.wikipedia.org/wiki/Linker_&lpar;computing&rpar;)
can only pass up to 3 parameters to the target library function, etc. 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 In short, please consider this a full disclaimer for any bug that may
+1 -1
View File
@@ -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. than most players, but will get destroyed by experienced human opponents.
This program searches to a fixed depth of 3 This program searches to a fixed depth of 3
[ply](https://en.wikipedia.org/wiki/Ply_&#x28;game_theory&#x29;). Because it does not [ply](https://en.wikipedia.org/wiki/Ply_&lpar;game_theory&rpar;). Because it does not
search very deep, it performs very poorly in quiet strategic positions. search very deep, it performs very poorly in quiet strategic positions.
In such positions, it will often just shuffle pieces around aimlessly In such positions, it will often just shuffle pieces around aimlessly
until a tactical exchange presents itself. until a tactical exchange presents itself.
+1 -1
View File
@@ -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 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 Hobbit Facsimile First Edition`. The details are also discussed in [History of
Middle-earth &#40;HoMe&#41;](https://tolkiengateway.net/wiki/The_History_of_Middle-earth) VI, [The Return of the Middle-earth &lpar;HoMe&rpar;](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 Shadow](https://tolkiengateway.net/wiki/The_Return_of_the_Shadow), part one of
the history of [The Lord of the 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 Rings](https://en.wikipedia.org/wiki/The_Lord_of_the_Rings) of a twelve volume set - as well as in [The
+1 -1
View File
@@ -114,7 +114,7 @@ although the compiler gives it special meaning) and no preprocessor
directives. directives.
This program is a small This program is a small
[ray-tracer](https://en.wikipedia.org/wiki/Ray_tracing_&#x28;graphics&#x29;). The first [ray-tracer](https://en.wikipedia.org/wiki/Ray_tracing_&lpar;graphics&rpar;). The first
line of the source code may be modified if you want the resulting image to be of 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 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 factor. Setting it to `1` disables the anti-aliasing feature which makes the
+1 -1
View File
@@ -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 [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 + 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_&#x28;text_editor&#x29;). with the [vi editor](https://en.wikipedia.org/wiki/Vi_&lpar;text_editor&rpar;).
+ The [Most ambiguous language - 2005/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.
+1 -1
View File
@@ -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 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 exceed the capacity of this interpreter, but there are many that work. Some
small [quines](https://en.wikipedia.org/wiki/Quine_&#x28;computing&#x29;) work, some don't. small [quines](https://en.wikipedia.org/wiki/Quine_&lpar;computing&rpar;) work, some don't.
Why? Why?
+5 -5
View File
@@ -68,14 +68,14 @@ get the first mode, run the program without arguments:
``` ```
The other mode is accessible running the program with one argument The other mode is accessible running the program with one argument
(5-[ply](https://en.wikipedia.org/wiki/Ply_&#x28;game_theory&#x29;) (5-[ply](https://en.wikipedia.org/wiki/Ply_&lpar;game_theory&rpar;)
analysis): analysis):
``` <!---sh--> ``` <!---sh-->
./toledo a ./toledo a
``` ```
Two arguments for 6-[ply](https://en.wikipedia.org/wiki/Ply_&#x28;game_theory&#x29;) Two arguments for 6-[ply](https://en.wikipedia.org/wiki/Ply_&lpar;game_theory&rpar;)
analysis: analysis:
``` <!---sh--> ``` <!---sh-->
@@ -83,7 +83,7 @@ analysis:
``` ```
And each successive argument will analyze one And each successive argument will analyze one
[ply](https://en.wikipedia.org/wiki/Ply_&#x28;game_theory&#x29;) more. There is no ply [ply](https://en.wikipedia.org/wiki/Ply_&lpar;game_theory&rpar;) more. There is no ply
limit, but beyond 7 ply is very slow, try it at your own risk and computing limit, but beyond 7 ply is very slow, try it at your own risk and computing
time. time.
@@ -125,7 +125,7 @@ algorithms.
The interface accounts for only a fraction of the code, the core does multiples The interface accounts for only a fraction of the code, the core does multiples
functions: it is called recursively to analyze and evaluate each functions: it is called recursively to analyze and evaluate each
[ply](https://en.wikipedia.org/wiki/Ply_&#x28;game_theory&#x29;), does [alpha-beta [ply](https://en.wikipedia.org/wiki/Ply_&lpar;game_theory&rpar;), does [alpha-beta
pruning](https://en.wikipedia.org/wiki/Alpha-beta_pruning), move generation, pruning](https://en.wikipedia.org/wiki/Alpha-beta_pruning), move generation,
machine playing, check detection, illegal move verification and does moves after machine playing, check detection, illegal move verification and does moves after
they are verified. they are verified.
@@ -142,7 +142,7 @@ Other features are:
* [Checkmate](https://en.wikipedia.org/wiki/Checkmate) detection. * [Checkmate](https://en.wikipedia.org/wiki/Checkmate) detection.
* Stalemate detection. * Stalemate detection.
* Computer is tough (check * Computer is tough (check
7-[ply](https://en.wikipedia.org/wiki/Ply_&#x28;game_theory&#x29;) and even in 5 ply can give a surprise to 7-[ply](https://en.wikipedia.org/wiki/Ply_&lpar;game_theory&rpar;) and even in 5 ply can give a surprise to
amateur players. amateur players.
+1 -1
View File
@@ -33,7 +33,7 @@ sure to pay attention to commas! :-)
## Author's remarks: ## Author's remarks:
This entry is a [Wolfenstein](https://en.wikipedia.org/wiki/Wolfenstein) style This entry is a [Wolfenstein](https://en.wikipedia.org/wiki/Wolfenstein) style
[graphics engine](https://en.wikipedia.org/wiki/Rendering_&#x28;computer_graphics&#x29;) [graphics engine](https://en.wikipedia.org/wiki/Rendering_&lpar;computer_graphics&rpar;)
where a user can navigate in a where a user can navigate in a
[3D](https://en.wikipedia.org/wiki/3D_computer_graphics) world. The [3D](https://en.wikipedia.org/wiki/3D_computer_graphics) world. The
[maze](https://en.wikipedia.org/wiki/Maze) has walls with [bitmap [maze](https://en.wikipedia.org/wiki/Maze) has walls with [bitmap
+1 -1
View File
@@ -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 What is TOFU? It's not a veggie friendly food, nor it is
[Verilog](https://en.wikipedia.org/wiki/Verilog) or [Verilog](https://en.wikipedia.org/wiki/Verilog) or
[VHDL](https://en.wikipedia.org/wiki/VHDL) It is not even [VHDL](https://en.wikipedia.org/wiki/VHDL) It is not even
[Pascal](https://en.wikipedia.org/wiki/Pascal_&#x28;programming_language&#x29;)! [Pascal](https://en.wikipedia.org/wiki/Pascal_&lpar;programming_language&rpar;)!
NOTE: On some systems, `file(1)` claims one of the `.tofu` files is Pascal NOTE: On some systems, `file(1)` claims one of the `.tofu` files is Pascal
source. :-) source. :-)
+2 -2
View File
@@ -91,8 +91,8 @@ include:
- virtual method tables (all the virtual method tables have been combined to a - virtual method tables (all the virtual method tables have been combined to a
single [vtable](https://en.wikipedia.org/wiki/Virtual_method_table) table). single [vtable](https://en.wikipedia.org/wiki/Virtual_method_table) table).
- runtime method binding. - runtime method binding.
- [inheritance](https://en.wikipedia.org/wiki/Inheritance_&#x28;object-oriented_programming&#x29;) - [inheritance](https://en.wikipedia.org/wiki/Inheritance_&lpar;object-oriented_programming&rpar;)
and [polymorphism](https://en.wikipedia.org/wiki/Polymorphism_&#x28;computer_science&#x29;). and [polymorphism](https://en.wikipedia.org/wiki/Polymorphism_&lpar;computer_science&rpar;).
It is left as an exercise to the reader to find a corresponding It is left as an exercise to the reader to find a corresponding
implementation in a popular object-oriented programming language. implementation in a popular object-oriented programming language.
+1 -1
View File
@@ -86,7 +86,7 @@ a mistake and the computer surpasses you. ;)
### WHAT ABOUT THE ENGINE ### WHAT ABOUT THE ENGINE
Uses an [alpha-beta](https://en.wikipedia.org/wiki/Alpha_Beta) search up to a 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_&#x28;game_theory&#x29;), depth of 3+level [ply](https://en.wikipedia.org/wiki/Ply_&lpar;game_theory&rpar;),
extended with quiescence search, that helps playing strength, something around extended with quiescence search, that helps playing strength, something around
1500 ELO (level 1) to 1700 ELO (level 3). 1500 ELO (level 1) to 1700 ELO (level 3).
+1 -1
View File
@@ -48,7 +48,7 @@ aren't familiar with it. Back in its day, this demo inspired lust and awe in
geeks around the world. geeks around the world.
The graphics are The graphics are
[raytraced](https://en.wikipedia.org/wiki/Ray_tracing_&#x28;graphics&#x29;), with [raytraced](https://en.wikipedia.org/wiki/Ray_tracing_&lpar;graphics&rpar;), with
procedural textures on the ball and the back wall. I did cheat a little to 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 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 wall to look as if there were a floor being viewed in perspective. The shadow
+1 -1
View File
@@ -117,7 +117,7 @@ expressions by putting `]` as the first character, and putting `-` last.
### Other uses ### Other uses
* You can use this in place of [cat](https://en.wikipedia.org/wiki/Cat_&#x28;Unix&#x29;). * You can use this in place of [cat](https://en.wikipedia.org/wiki/Cat_&lpar;Unix&rpar;).
Just say Just say
+2 -2
View File
@@ -31,7 +31,7 @@ For more detailed information see [2011/richards in bugs.html](../../bugs.html#2
## Judges' remarks: ## Judges' remarks:
Oh no, yet another Oh no, yet another
[dc](https://en.wikipedia.org/wiki/Dc_&#x28;computer_program&#x29;)-style calculator? (see [dc](https://en.wikipedia.org/wiki/Dc_&lpar;computer_program&rpar;)-style calculator? (see
[2000/dlowe](../../2000/dlowe/index.html) using an embedded Perl interpreter and deemed `Worst [2000/dlowe](../../2000/dlowe/index.html) using an embedded Perl interpreter and deemed `Worst
Abuse of the Rules`). Well, this one does it (expression calculation, that is, 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 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: ## Author's remarks:
This is an implementation of the classic UNIX This is an implementation of the classic UNIX
[dc](https://en.wikipedia.org/wiki/Dc_&#x28;computer_program&#x29;) command, the [dc](https://en.wikipedia.org/wiki/Dc_&lpar;computer_program&rpar;) command, the
[reverse Polish](https://en.wikipedia.org/wiki/Reverse_Polish_notation) [reverse Polish](https://en.wikipedia.org/wiki/Reverse_Polish_notation)
calculator. Actually it's a pretty bad implementation, since it only implements calculator. Actually it's a pretty bad implementation, since it only implements
32-bit integers (well, `sizeof(int)`-sized integers). It only implements the 32-bit integers (well, `sizeof(int)`-sized integers). It only implements the
+1 -1
View File
@@ -164,7 +164,7 @@ If you get stuck, come back and read below for additional hints and information.
### How this entry works: ### How this entry works:
The program is not quite a traditional [ray The program is not quite a traditional [ray
tracer](https://en.wikipedia.org/wiki/Ray_tracing_&#x28;graphics&#x29;), but a "[sphere tracer](https://en.wikipedia.org/wiki/Ray_tracing_&lpar;graphics&rpar;), but a "[sphere
tracer](sphere-tracing.pdf)" which uses distance fields to encode proximity to tracer](sphere-tracing.pdf)" which uses distance fields to encode proximity to
objects in the scene. Using sphere tracing to compute visibility instead of objects in the scene. Using sphere tracing to compute visibility instead of
analytic ray tracing provides two advantages: first, it greatly eases the analytic ray tracing provides two advantages: first, it greatly eases the
+2 -2
View File
@@ -33,7 +33,7 @@ For more detailed information see [2012/blakely in bugs.html](../../bugs.html#20
Several IOCCC themes ([RPN Several IOCCC themes ([RPN
calculator](https://en.wikipedia.org/wiki/Reverse_Polish_notation), animated calculator](https://en.wikipedia.org/wiki/Reverse_Polish_notation), animated
[GIF](https://en.wikipedia.org/wiki/GIF) generator, [ray [GIF](https://en.wikipedia.org/wiki/GIF) generator, [ray
tracing](https://en.wikipedia.org/wiki/Ray_tracing_&#x28;graphics&#x29;) graphics) in one package! tracing](https://en.wikipedia.org/wiki/Ray_tracing_&lpar;graphics&rpar;) graphics) in one package!
Very impressive! Very impressive!
The checkerboard pattern in the output can be broken. Could you figure out how? 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 This program renders a generic
[RPN](https://en.wikipedia.org/wiki/Reverse_Polish_notation) expression in [RPN](https://en.wikipedia.org/wiki/Reverse_Polish_notation) expression in
[ray-traced](https://en.wikipedia.org/wiki/Ray_tracing_&#x28;graphics&#x29;) animated [ray-traced](https://en.wikipedia.org/wiki/Ray_tracing_&lpar;graphics&rpar;) animated
[GIF](https://en.wikipedia.org/wiki/GIF) form. The expression in spatial [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 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 resolution, and an animated GIF showing a fly-around of the resulting surface is
+1 -1
View File
@@ -268,7 +268,7 @@ it is surely a C99 feature.
[pour-out.txt](pour-out.txt) pours you a cup of tea. [pour-out.txt](pour-out.txt) pours you a cup of tea.
[tanada.txt](tanada.txt) simulates "Terrace farming". ("Tanada" means a [tanada.txt](tanada.txt) simulates "Terrace farming". ("Tanada" means a
"[terraced rice](https://en.wikipedia.org/wiki/Terrace_&#x28;earthworks&#x29; fields)" in Japanese.) "[terraced rice](https://en.wikipedia.org/wiki/Terrace_&lpar;earthworks&rpar; fields)" in Japanese.)
[clock.txt](clock.txt) is a "water" clock created by HAMANO Tsukasa. [clock.txt](clock.txt) is a "water" clock created by HAMANO Tsukasa.
+7 -7
View File
@@ -34,8 +34,8 @@ and:
## Judges' remarks: ## Judges' remarks:
A A
[pi](https://en.wikipedia.org/wiki/Pi)/[e](https://en.wikipedia.org/wiki/E_&#x28;mathematical_constant&#x29;) [pi](https://en.wikipedia.org/wiki/Pi)/[e](https://en.wikipedia.org/wiki/E_&lpar;mathematical_constant&rpar;)
printing quasi-[quine](https://en.wikipedia.org/wiki/Quine_&#x28;computing&#x29;) in [ASCII printing quasi-[quine](https://en.wikipedia.org/wiki/Quine_&lpar;computing&rpar;) in [ASCII
art](https://en.wikipedia.org/wiki/ASCII_art) with a compressed font in it; what art](https://en.wikipedia.org/wiki/ASCII_art) with a compressed font in it; what
else to wish for in this program? [Virtual else to wish for in this program? [Virtual
machine](https://en.wikipedia.org/wiki/Virtual_machine) emulation? 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 This entry is based on 'over-used themes' such as self reproducing
program and [pi](https://en.wikipedia.org/wiki/Pi) or program and [pi](https://en.wikipedia.org/wiki/Pi) or
[e](https://en.wikipedia.org/wiki/E_&#x28;mathematical_constant&#x29;) computation. I [e](https://en.wikipedia.org/wiki/E_&lpar;mathematical_constant&rpar;) computation. I
know you're tired of them. know you're tired of them.
But have you ever seen them **all-in-one**? 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 One more thing... When you give a command line argument `e` to the
first program, the generated one will compute [Napier's first program, the generated one will compute [Napier's
constant](https://en.wikipedia.org/wiki/E_&#x28;mathematical_constant&#x29;) constant](https://en.wikipedia.org/wiki/E_&lpar;mathematical_constant&rpar;)
rather than pi. rather than pi.
### Obfuscation ### Obfuscation
This program itself is in the shape of a This program itself is in the shape of a
[spigot](https://en.wikipedia.org/wiki/Tap_&#x28;valve&#x29;). This is derived as an [spigot](https://en.wikipedia.org/wiki/Tap_&lpar;valve&rpar;). This is derived as an
analogy with [spigot algorithm](https://en.wikipedia.org/wiki/Spigot_algorithm) analogy with [spigot algorithm](https://en.wikipedia.org/wiki/Spigot_algorithm)
which infinitely computes the value of a mathematical constant such as which infinitely computes the value of a mathematical constant such as
[pi](https://en.wikipedia.org/wiki/Pi) or [pi](https://en.wikipedia.org/wiki/Pi) or
[e](https://en.wikipedia.org/wiki/E_&#x28;mathematical_constant&#x29;). [e](https://en.wikipedia.org/wiki/E_&lpar;mathematical_constant&rpar;).
The two sets of programs, `314*.c` and `271*.c`, are almost the same The two sets of programs, `314*.c` and `271*.c`, are almost the same
except their shape and constant computational part. I tailored the 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 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, shortened properly, more than it looks. (As you may know,
[quines](https://en.wikipedia.org/wiki/Quine_&#x28;computing&#x29;) need to make its [quines](https://en.wikipedia.org/wiki/Quine_&lpar;computing&rpar;) need to make its
program size doubled.) For example, this program involves 3x5 bitmap font data 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 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 can decode character `n` as `275*s[n+10] - 8*s[n] - 8`. I solved the system of
+1 -1
View File
@@ -65,7 +65,7 @@ confused.
The results can be viewed with Acrobat Reader, The results can be viewed with Acrobat Reader,
[evince](http://en.wikipedia.org/wiki/Evince) and Apple's [evince](http://en.wikipedia.org/wiki/Evince) and Apple's
[Preview](https://en.wikipedia.org/wiki/Preview_&#x28;macOS&#x29;). [Preview](https://en.wikipedia.org/wiki/Preview_&lpar;macOS&rpar;).
The updated version can also be viewed using Ghostscript. The updated version can also be viewed using Ghostscript.
+1 -1
View File
@@ -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) [^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 &#x28;but is slow in Java, Perl, PHP, Python, Ruby, ...&#x29;](http://swtch.com/~rsc/regexp/regexp1.html) [^2]: [Regular Expression Matching Can Be Simple And Fast &lpar;but is slow in Java, Perl, PHP, Python, Ruby, ...&rpar;](http://swtch.com/~rsc/regexp/regexp1.html)
<!-- <!--
+1 -1
View File
@@ -129,7 +129,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) [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 &#x28;but is slow in Java, Perl, PHP, Python, Ruby, ...&#x29;](http://swtch.com/~rsc/regexp/regexp1.html) [2] [Regular Expression Matching Can Be Simple And Fast &lpar;but is slow in Java, Perl, PHP, Python, Ruby, ...&rpar;](http://swtch.com/~rsc/regexp/regexp1.html)
<hr style="width:10%;text-align:left;margin-left:0"> <hr style="width:10%;text-align:left;margin-left:0">
+1 -1
View File
@@ -153,7 +153,7 @@ Output code has these features:
* Uses a fairly efficient encoding scheme, better than `uuencode` for * Uses a fairly efficient encoding scheme, better than `uuencode` for
files larger than ~13K, and better than `base64` for files larger files larger than ~13K, and better than `base64` for files larger
than 20K. than 20K.
* Encryption with [ISAAC](https://en.wikipedia.org/wiki/ISAAC_&#x28;cipher&#x29;), a * Encryption with [ISAAC](https://en.wikipedia.org/wiki/ISAAC_&lpar;cipher&rpar;), a
cryptographically secure pseudorandom number generator. cryptographically secure pseudorandom number generator.
* Trivial 3 language polyglot. * Trivial 3 language polyglot.
+2 -2
View File
@@ -529,7 +529,7 @@ origin of each file is detailed below (character, game, company, year).
* [belmont.txt](belmont.txt) - [Simon * [belmont.txt](belmont.txt) - [Simon
Belmont](https://en.wikipedia.org/wiki/Simon_Belmont), Belmont](https://en.wikipedia.org/wiki/Simon_Belmont),
[Castlevania](https://en.wikipedia.org/wiki/Castlevania_&#x28;1986_video_game&#x29;), [Castlevania](https://en.wikipedia.org/wiki/Castlevania_&lpar;1986_video_game&rpar;),
[Konami](https://en.wikipedia.org/wiki/Konami), 1986. [Konami](https://en.wikipedia.org/wiki/Konami), 1986.
* [bloober.txt](bloober.txt) - Bloober, [Super Mario * [bloober.txt](bloober.txt) - Bloober, [Super Mario
@@ -573,7 +573,7 @@ Plant](https://www.mariowiki.com/Piranha_Plant), Super Mario Brothers, Nintendo,
* [samus.txt](samus.txt) - [Samus * [samus.txt](samus.txt) - [Samus
Aran](https://metroid.fandom.com/wiki/Samus_Aran), Aran](https://metroid.fandom.com/wiki/Samus_Aran),
[Metroid](https://metroid.fandom.com/wiki/Metroid_&#x28;game&#x29;), Nintendo/[Intelligent [Metroid](https://metroid.fandom.com/wiki/Metroid_&lpar;game&rpar;), Nintendo/[Intelligent
Systems](https://en.wikipedia.org/wiki/Intelligent_Systems), 1986. Systems](https://en.wikipedia.org/wiki/Intelligent_Systems), 1986.
* [toad.txt](toad.txt) - [Toad](https://www.mariowiki.com/Toad), Super Mario * [toad.txt](toad.txt) - [Toad](https://www.mariowiki.com/Toad), Super Mario
+1 -1
View File
@@ -61,7 +61,7 @@ really just a decompressor to generate the real source code of the
program. program.
This program will loop infinitely while progressively refining a This program will loop infinitely while progressively refining a
[raytraced](https://en.wikipedia.org/wiki/Ray_tracing_&#x28;graphics&#x29;) image. [raytraced](https://en.wikipedia.org/wiki/Ray_tracing_&lpar;graphics&rpar;) image.
NOTE: the author refers to `a.c`, placed in a gzipped file `a.c.gz`. We do not NOTE: the author refers to `a.c`, placed in a gzipped file `a.c.gz`. We do not
include it but it can be generated like: include it but it can be generated like:
+3 -3
View File
@@ -153,13 +153,13 @@ protocol appears below, but feel free to explore before reading further.
The inspiration for this program comes from [Star Trek VI: The Undiscovered The inspiration for this program comes from [Star Trek VI: The Undiscovered
Country](https://memory-alpha.fandom.com/wiki/Star_Trek_VI:_The_Undiscovered_Country), Country](https://memory-alpha.fandom.com/wiki/Star_Trek_VI:_The_Undiscovered_Country),
specifically the final confrontation between the specifically the final confrontation between the
[Enterprise](https://memory-alpha.fandom.com/wiki/USS_Enterprise_&#x28;NCC-1701&#x29;) and [Enterprise](https://memory-alpha.fandom.com/wiki/USS_Enterprise_&lpar;NCC-1701&rpar;) and
the enhanced prototype [Klingon Bird of the enhanced prototype [Klingon Bird of
Prey](https://memory-alpha.fandom.com/wiki/Klingon_Bird-of-Prey). The definitive Prey](https://memory-alpha.fandom.com/wiki/Klingon_Bird-of-Prey). The definitive
feature of the prototype was its ability to fire while cloaked. But, perhaps feature of the prototype was its ability to fire while cloaked. But, perhaps
even more impressive was its ability to keep an open communication channel with even more impressive was its ability to keep an open communication channel with
the Enterprise throughout the battle, enabling the antagonist the Enterprise throughout the battle, enabling the antagonist
[Chang](https://memory-alpha.fandom.com/wiki/Chang_&#x28;General&#x29;) to taunt [Captain [Chang](https://memory-alpha.fandom.com/wiki/Chang_&lpar;General&rpar;) to taunt [Captain
Kirk](https://memory-alpha.fandom.com/wiki/James_T._Kirk) with Kirk](https://memory-alpha.fandom.com/wiki/James_T._Kirk) with
[Shakespearian](https://en.wikipedia.org/wiki/William_Shakespeare) quotes while [Shakespearian](https://en.wikipedia.org/wiki/William_Shakespeare) quotes while
he slowly pelted his ship with torpedoes. Normally, cloaked vessels must he slowly pelted his ship with torpedoes. Normally, cloaked vessels must
@@ -180,7 +180,7 @@ for [Khan](https://memory-alpha.fandom.com/wiki/Khan_Noonien_Singh) (in the
final engagement in [Star Trek II: The Wrath of final engagement in [Star Trek II: The Wrath of
Khan](https://memory-alpha.fandom.com/wiki/Star_Trek_II:_The_Wrath_of_Khan), the Khan](https://memory-alpha.fandom.com/wiki/Star_Trek_II:_The_Wrath_of_Khan), the
damaged Enterprise managed to disable the USS damaged Enterprise managed to disable the USS
[Reliant](https://memory-alpha.fandom.com/wiki/USS_Reliant_&#x28;NCC-1864&#x29; ship)'s shield [Reliant](https://memory-alpha.fandom.com/wiki/USS_Reliant_&lpar;NCC-1864&rpar; ship)'s shield
generator by accessing its prefix code: 16309). generator by accessing its prefix code: 16309).
+1 -1
View File
@@ -324,7 +324,7 @@ NES](http://en.wikipedia.org/wiki/Nintendo_Entertainment_System).
[Super Mario Bros](http://en.wikipedia.org/wiki/Super_Mario_Bros.) is a game [Super Mario Bros](http://en.wikipedia.org/wiki/Super_Mario_Bros.) is a game
created by [Nintendo Co., Ltd](https://en.wikipedia.org/wiki/Nintendo). My use created by [Nintendo Co., Ltd](https://en.wikipedia.org/wiki/Nintendo). My use
of the [sprites](https://en.wikipedia.org/wiki/Sprite_&#x28;computer_graphics&#x29;) does of the [sprites](https://en.wikipedia.org/wiki/Sprite_&lpar;computer_graphics&rpar;) does
not intend to infringe the [intellectual not intend to infringe the [intellectual
property](https://en.wikipedia.org/wiki/Intellectual_property) of Nintendo but property](https://en.wikipedia.org/wiki/Intellectual_property) of Nintendo but
only demonstrates the operation of the program. From my point of view this is a only demonstrates the operation of the program. From my point of view this is a
+1 -1
View File
@@ -61,7 +61,7 @@ Who will be the first to tweet this source? How many re-tweets will such tweet
get? And how many people will really understand the tweet? get? And how many people will really understand the tweet?
Judges' 2023 update: Last year we would have referred to a Judges' 2023 update: Last year we would have referred to a
[toot](https://en.wikipedia.org/wiki/Mastodon_&#x28;social_network&#x29;#Comparison_to_Twitter), [toot](https://en.wikipedia.org/wiki/Mastodon_&lpar;social_network&rpar;#Comparison_to_Twitter),
as in a [Mastodon](https://fosstodon.org/@ioccc) *toot*. as in a [Mastodon](https://fosstodon.org/@ioccc) *toot*.
This year we might have mentioned the term This year we might have mentioned the term
[publish](https://www.itechpost.com/articles/115087/20221116/mastodon-officially-replaced-toot-publish.htm) [publish](https://www.itechpost.com/articles/115087/20221116/mastodon-officially-replaced-toot-publish.htm)
+2 -2
View File
@@ -185,7 +185,7 @@ which reports the limit in bytes, here 256KB. This allows to test
whether a [Googol](https://en.wikipedia.org/wiki/Googol), which is whether a [Googol](https://en.wikipedia.org/wiki/Googol), which is
10<sup>100</sup>, satisfies the conjecture. But what is a googol in hex? 10<sup>100</sup>, satisfies the conjecture. But what is a googol in hex?
Fear not, Fear not,
[bc&#x28;&#x29;](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html) [bc&lpar;&rpar;](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html)
to the rescue: to the rescue:
``` <!---sh--> ``` <!---sh-->
@@ -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`, The number of hex digits in the start number is limited by `ARG_MAX`,
probably minus some overhead for the environment variables (use probably minus some overhead for the environment variables (use
[env&#x28;&#x29;](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/env.html) [env&lpar;&rpar;](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 * to trim your environment). In bits this leaves you with `2 to the power of (4 *
ARG_MAX)`. ARG_MAX)`.
+1 -1
View File
@@ -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) was added to the corpus.
[manpage.sh](%%REPO_URL%%/2018/burton2/manpage.sh) is a useful program that turns ASCII versions of man [manpage.sh](%%REPO_URL%%/2018/burton2/manpage.sh) is a useful program that turns ASCII versions of man
pages (e.g., [tac&#x28;1&#x29;](%%REPO_URL%%/2018/burton2/tac.1) man page) into real man pages. It works for C and C-like pages (e.g., [tac&lpar;1&rpar;](%%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 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 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 constructions, such as combined arguments (e.g. the `-r` and `-s` arguments to tac
+1 -1
View File
@@ -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 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) 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 The "_Python_" in the award name refers to Monty Python, **not** the
[programming language Python](https://en.wikipedia.org/wiki/Python_&#x28;programming_language&#x29; [programming language Python](https://en.wikipedia.org/wiki/Python_&lpar;programming_language&rpar;
(the name of the programming language Python is derived from Monty Python). (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 The shape of [prog.c](%%REPO_URL%%/2018/endoh2/prog.c) is "Undead Parrot" based on "dead parrot". The
+1 -1
View File
@@ -32,7 +32,7 @@ this program left and recompiling will reveal other tools including a right rota
and a shift program. and a shift program.
Strange things happen [when the world is upside Strange things happen [when the world is upside
down](https://en.wikipedia.org/wiki/Wacky_Wednesday_&#x28;book&#x29;)! It is entirely possible down](https://en.wikipedia.org/wiki/Wacky_Wednesday_&lpar;book&rpar;)! It is entirely possible
that this remark is completely misleading. that this remark is completely misleading.
What exactly does the shift program do? What exactly does the shift program do?
+2 -2
View File
@@ -86,9 +86,9 @@ Do you have the time to see what this program does? Think again, come back and
try again. try again.
Note that [2](https://t5k.org/curios/page.php/2.html) can be said to be the 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_&#x28;mathematics&#x29;) least [odd](https://en.wikipedia.org/wiki/Parity_&lpar;mathematics&rpar;)
[prime](https://en.wikipedia.org/wiki/Prime_number) because it is the greatest [prime](https://en.wikipedia.org/wiki/Prime_number) because it is the greatest
[even](https://en.wikipedia.org/wiki/Parity_&#x28;mathematics&#x29;) prime. Moreover `2` [even](https://en.wikipedia.org/wiki/Parity_&lpar;mathematics&rpar;) prime. Moreover `2`
can be also said to be the greatest odd prime because it is the least even can be also said to be the greatest odd prime because it is the least even
prime. prime.
+1 -1
View File
@@ -54,7 +54,7 @@ Use `prog.alt` as you would `prog` above.
## Judges' remarks: ## Judges' remarks:
When playing When playing
[Minesweeper](https://en.wikipedia.org/wiki/Minesweeper_&#x28;video_game&#x29;), a [Minesweeper](https://en.wikipedia.org/wiki/Minesweeper_&lpar;video_game&rpar;), a
misclick might ruin a game, so why not leave the routine to the computer? This 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 program automatically uncovers mines according to several rules, and leaves
guessing (and applying the most straightforward of the rules -- just for fun, guessing (and applying the most straightforward of the rules -- just for fun,
+1 -1
View File
@@ -507,7 +507,7 @@ snakeskin has some other purpose?
## Snake moves faster over time ## Snake moves faster over time
In the game [Surround](https://en.wikipedia.org/wiki/Surround_&#x28;video_game&#x29;) you In the game [Surround](https://en.wikipedia.org/wiki/Surround_&lpar;video_game&rpar;) you
have no control over the speed. I believe there are five different speed levels 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 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 possible to make it so the snake moves faster over time. How often and by what
+1 -1
View File
@@ -5,7 +5,7 @@
<div id="toc"> <div id="toc">
* [Built-in test unit for some features!](#builtin-test-unit) * [Built-in test unit for some features!](#builtin-test-unit)
* [The snake doesn't seem to be moving](#stillsnake) * [The snake doesn't seem to be moving](#stillsnake)
* [getch&#x28;&#x29; also accepts input from some input hardware other than keyboards](#getch) * [getch&lpar;&rpar; also accepts input from some input hardware other than keyboards](#getch)
* [SIZE=0 is the same as SIZE=1 and other oddities](#size) * [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) * ['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) * [With negative growth the snake drops from the middle of the body](#middleofsnake)
+7 -7
View File
@@ -14,7 +14,7 @@ for the input keys.
* [Playing the game](#playing) * [Playing the game](#playing)
* [Walls](#walls) * [Walls](#walls)
* [Cannibalism](#cannibalism) * [Cannibalism](#cannibalism)
* [Stretching &#x28;shedding&#x29;](#shedding) * [Stretching &lpar;shedding&rpar;](#shedding)
* [Winning](#winning) * [Winning](#winning)
* [Quitting](#quitting) * [Quitting](#quitting)
@@ -23,10 +23,10 @@ for the input keys.
* [**Photosensitive epilepsy/Stimulation overload trigger warnings**](#warning) * [**Photosensitive epilepsy/Stimulation overload trigger warnings**](#warning)
* [Drawing / Practice mode](#drawing) * [Drawing / Practice mode](#drawing)
* [Computer playing / Automatic mode &#x28;Photosensitive epilepsy/Stimulation overload trigger&#x29;](#auto) * [Computer playing / Automatic mode &lpar;Photosensitive epilepsy/Stimulation overload trigger&rpar;](#auto)
* [Variations](#auto-variations) * [Variations](#auto-variations)
* [Grow-Shrink &#x28;Positive/Negative Winning&#x29; mode](#grow-shrink) * [Grow-Shrink &lpar;Positive/Negative Winning&rpar; mode](#grow-shrink)
* [Hypnotic / Sleepy mode &#x28;Photosensitive epilepsy/Stimulation overload trigger&#x29;](#hypnotic) * [Hypnotic / Sleepy mode &lpar;Photosensitive epilepsy/Stimulation overload trigger&rpar;](#hypnotic)
* [Stimulation / Calming mode](#stim) * [Stimulation / Calming mode](#stim)
* [Other ideas](#other-ideas) * [Other ideas](#other-ideas)
@@ -44,7 +44,7 @@ for the input keys.
* [GROW / SHEDS - Growth / Shedding sizes](#growth) * [GROW / SHEDS - Growth / Shedding sizes](#growth)
7. [Conclusion &#x28;and inspirational words for everyone&#x29;](#conclusions) 7. [Conclusion &lpar;and inspirational words for everyone&rpar;](#conclusions)
</div> </div>
@@ -728,7 +728,7 @@ are called Grow / Shrink).
<div id="hypnotic"> <div id="hypnotic">
## <a href="#toc">Hypnotic / Sleepy mode &#x28;Photosensitive epilepsy/Stimulation overload trigger&#x29;</a> ## <a href="#toc">Hypnotic / Sleepy mode &lpar;Photosensitive epilepsy/Stimulation overload trigger&rpar;</a>
</div> </div>
**Photosensitive epilepsy/stimulation overload trigger warning:** **Photosensitive epilepsy/stimulation overload trigger warning:**
@@ -892,7 +892,7 @@ it will take the number of movements before it is 'its full size'.
<div id="conclusions"> <div id="conclusions">
# 7. <a href="#toc">Conclusion &#x28;and inspirational words for everyone&#x29;</a> # 7. <a href="#toc">Conclusion &lpar;and inspirational words for everyone&rpar;</a>
</div> </div>
I believe that this file has given more than enough information for anyone to I believe that this file has given more than enough information for anyone to
+2 -2
View File
@@ -15,12 +15,12 @@ already knew that so no harm there, hey?
<div id="toc"> <div id="toc">
- [How does it work?](#works) - [How does it work?](#works)
- [How does the snake movement work?](#movement) - [How does the snake movement work?](#movement)
- [Drawing &#x28;manual&#x29; and computer playing &#x28;automatic&#x29; modes](#manual-automatic) - [Drawing &lpar;manual&rpar; and computer playing &lpar;automatic&rpar; modes](#manual-automatic)
- [Collision detection](#collision) - [Collision detection](#collision)
* [Cannibal collision detection](#cannibalcollision) * [Cannibal collision detection](#cannibalcollision)
* [Collision detection when resizing the window of the game](#resizing) * [Collision detection when resizing the window of the game](#resizing)
- [Obfuscation](#obfuscation) - [Obfuscation](#obfuscation)
- [Skinning the snake &#x28;i.e. decreasing the iocccsize&#x29;](#skinning) - [Skinning the snake &lpar;i.e. decreasing the iocccsize&rpar;](#skinning)
- [A few more interesting size optimisations](#size) - [A few more interesting size optimisations](#size)
</div> </div>
+3 -3
View File
@@ -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. it as structured as possible/easiest to find.
<div id="top"> <div id="top">
* [The top wall isn't &#x28;all/some of the time&#x29; visible!](#topwall) * [The top wall isn't &lpar;all/some of the time&rpar; visible!](#topwall)
* [The snake isn't moving!](#notmoving) * [The snake isn't moving!](#notmoving)
* [I can't see the snake head &#x28;or other part of the snake&#x29;!](#invisiblehead) * [I can't see the snake head &lpar;or other part of the snake&rpar;!](#invisiblehead)
* [I can't see the bug!](#invisiblebug) * [I can't see the bug!](#invisiblebug)
* [The game froze!](#froze) * [The game froze!](#froze)
* [The game gets slower as the snake gets bigger!](#bigsnake) * [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 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) * [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 &#x28;not bright enough&#x29;!](#toodark) * [The text is hard to see &lpar;not bright enough&rpar;!](#toodark)
* [Can I move the snake faster temporarily without having to modify the wait time?](#movefaster) * [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) * [On environmental variables more generally and string to int conversions](#envvars)
* [Errors and error reporting](#errors) * [Errors and error reporting](#errors)
+1 -1
View File
@@ -18,7 +18,7 @@ have to if you don't wish to.
- [Only write config file](#onlyconfig) - [Only write config file](#onlyconfig)
- [Reusing a configuration](#reuseconfig) - [Reusing a configuration](#reuseconfig)
- [Write config file, read data file and pass to Enigma simulator](#passtoenigma) - [Write config file, read data file and pass to Enigma simulator](#passtoenigma)
- [Piping directly to the Enigma code once &#x28;with randomised settings, saved&#x29;](#directlytoenigma) - [Piping directly to the Enigma code once &lpar;with randomised settings, saved&rpar;](#directlytoenigma)
- [Usage conclusion](#conclusion) - [Usage conclusion](#conclusion)
- [Example additions](#additions) - [Example additions](#additions)
- [Example uses](#exampleuses) - [Example uses](#exampleuses)
+1 -1
View File
@@ -66,7 +66,7 @@ the Elves in Tolkien's Legendarium. It means sound taste (plural is `lámatyáve
and it refers to phonaesthesia - in other words, it refers to the pleasure of 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 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 Ring](https://en.wikipedia.org/wiki/Morgoth%27s_Ring), volume X of [History of
Middle-earth &#x28;HoMe&#x29;](https://en.wikipedia.org/wiki/The_History_of_Middle-earth). Middle-earth &lpar;HoMe&rpar;](https://en.wikipedia.org/wiki/The_History_of_Middle-earth).
Now can you appreciate the award title a bit better? Now can you appreciate the award title a bit better?
+1 -1
View File
@@ -686,7 +686,7 @@ for YYYY in $("$TAC_TOOL" "$TOP_FILE"); do
echo "<div id=\"$YYYY\">" echo "<div id=\"$YYYY\">"
echo "## $YYYY - The $ORDINAL IOCCC" echo "## $YYYY - The $ORDINAL IOCCC"
echo echo
echo "<a class=\"normal\" href=\"$YYYY/index.html\">About the $ORDINAL IOCCC &#40;$YYYY&#41;</a><br>" echo "<a class=\"normal\" href=\"$YYYY/index.html\">About the $ORDINAL IOCCC &lpar;$YYYY&rpar;</a><br>"
echo "<a class=\"normal\" href=\"$YYYY/$YYYY.tar.bz2\">Download all IOCCC winning entries of $YYYY</a></div>" echo "<a class=\"normal\" href=\"$YYYY/$YYYY.tar.bz2\">Download all IOCCC winning entries of $YYYY</a></div>"
echo echo
} | if [[ -z $NOOP ]]; then } | if [[ -z $NOOP ]]; then
+3 -3
View File
@@ -2208,7 +2208,7 @@ make a pull request.
If `DISPLAY` is not set the program will very likely crash, do something strange If `DISPLAY` is not set the program will very likely crash, do something strange
(or if you're very unlucky your computer might [halt and catch (or if you're very unlucky your computer might [halt and catch
fire](https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_&#x28;computing&#x29;)! :-) ). fire](https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_&lpar;computing&rpar;)! :-) ).
<hr style="width:10%;text-align:left;margin-left:0"> <hr style="width:10%;text-align:left;margin-left:0">
@@ -3338,7 +3338,7 @@ Do you have a fix? We welcome it!
The author stated that the program will crash if no argument is passed to the The author stated that the program will crash if no argument is passed to the
program though we note that your computer might also [halt and catch program though we note that your computer might also [halt and catch
fire](https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_&#x28;computing&#x29;) :-) fire](https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_&lpar;computing&rpar;) :-)
<hr style="width:10%;text-align:left;margin-left:0"> <hr style="width:10%;text-align:left;margin-left:0">
@@ -3464,7 +3464,7 @@ The author stated that the program will crash if no argument is passed to the
program or if invalid arguments (e.g. file does not exist) or images of program or if invalid arguments (e.g. file does not exist) or images of
mismatching sizes or unsupported pixel formats though we note that your computer mismatching sizes or unsupported pixel formats though we note that your computer
might also [halt and catch might also [halt and catch
fire](https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_&#x28;computing&#x29;) :-) fire](https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_&lpar;computing&rpar;) :-)
<hr style="width:10%;text-align:left;margin-left:0"> <hr style="width:10%;text-align:left;margin-left:0">
+13 -13
View File
@@ -50,7 +50,7 @@ This is FAQ version **28.0.3 2024-07-27**.
- <a class="normal" href="#faq3_6">3.6 - An IOCCC entry messed up my terminal application, how do I fix this?</a> - <a class="normal" href="#faq3_6">3.6 - An IOCCC entry messed up my terminal application, how do I fix this?</a>
- <a class="normal" href="#faq3_7">3.7 - How do I run an IOCCC entry that requires X11?</a> - <a class="normal" href="#faq3_7">3.7 - How do I run an IOCCC entry that requires X11?</a>
- <a class="normal" href="#faq3_8">3.8 - How do I compile an IOCCC entry that requires SDL1 or SDL2?</a> - <a class="normal" href="#faq3_8">3.8 - How do I compile an IOCCC entry that requires SDL1 or SDL2?</a>
- <a class="normal" href="#faq3_9">3.9 - How do I compile an IOCCC entry that requires &#x28;n&#x29;curses?</a> - <a class="normal" href="#faq3_9">3.9 - How do I compile an IOCCC entry that requires &lpar;n&rpar;curses?</a>
- <a class="normal" href="#faq3_10">3.10 - How do I compile and use an IOCCC entry that requires sound?</a> - <a class="normal" href="#faq3_10">3.10 - How do I compile and use an IOCCC entry that requires sound?</a>
- <a class="normal" href="#faq3_11">3.11 - Why do Makefiles use -Weverything with clang?</a> - <a class="normal" href="#faq3_11">3.11 - Why do Makefiles use -Weverything with clang?</a>
- <a class="normal" href="#faq3_12">3.12 - How do I find out how to send interrupt/EOF etc. for entries that require it?</a> - <a class="normal" href="#faq3_12">3.12 - How do I find out how to send interrupt/EOF etc. for entries that require it?</a>
@@ -60,20 +60,20 @@ This is FAQ version **28.0.3 2024-07-27**.
- <a class="normal" href="#faq3_16">3.16 - How do I compile and install libjpeg-turbo for entries that require it?</a> - <a class="normal" href="#faq3_16">3.16 - How do I compile and install libjpeg-turbo for entries that require it?</a>
- <a class="normal" href="#faq3_17">3.17 - How do I compile and install ImageMagick for entries that require it?</a> - <a class="normal" href="#faq3_17">3.17 - How do I compile and install ImageMagick for entries that require it?</a>
- <a class="normal" href="#faq3_18">3.18 - How do I compile and install OpenGL for entries that require it?</a> - <a class="normal" href="#faq3_18">3.18 - How do I compile and install OpenGL for entries that require it?</a>
- <a class="normal" href="#faq3_19">3.19 - What kind of make&#x28;1&#x29; compatibility does the IOCCC support and will it support other kinds?</a> - <a class="normal" href="#faq3_19">3.19 - What kind of make&lpar;1&rpar; compatibility does the IOCCC support and will it support other kinds?</a>
- <a class="normal" href="#faq3_20">3.20 - How do I download individual winning entries or all winning entries of a given year?</a> - <a class="normal" href="#faq3_20">3.20 - How do I download individual winning entries or all winning entries of a given year?</a>
- <a class="normal" href="#faq3_21">3.21 - What are `try.sh` and `try.alt.sh` scripts and why should I use them?</a> - <a class="normal" href="#faq3_21">3.21 - What are `try.sh` and `try.alt.sh` scripts and why should I use them?</a>
## Section 4 - [Changes made to IOCCC entries](#faq4) ## Section 4 - [Changes made to IOCCC entries](#faq4)
- <a class="normal" href="#faq4_0">4.0 - Why are some winning author remarks incongruent with the winning IOCCC code?</a> - <a class="normal" href="#faq4_0">4.0 - Why are some winning author remarks incongruent with the winning IOCCC code?</a>
- <a class="normal" href="#faq4_1">4.1 - Why were some calls to the libc function gets&#x28;3&#x29; changed to use fgets&#x28;3&#x29;?</a> - <a class="normal" href="#faq4_1">4.1 - Why were some calls to the libc function gets&lpar;3&rpar; changed to use fgets&lpar;3&rpar;?</a>
- <a class="normal" href="#faq4_2">4.2 - What was changed in an IOCCC entry source code?</a> - <a class="normal" href="#faq4_2">4.2 - What was changed in an IOCCC entry source code?</a>
- [4.3 - Why do author remarks sometimes not match the source and/or why are there - [4.3 - Why do author remarks sometimes not match the source and/or why are there
other inconsistencies with the original entry?](#faq4_3) other inconsistencies with the original entry?](#faq4_3)
- <a class="normal" href="#faq4_4">4.4 - What is the meaning of the file ending in .orig.c in IOCCC entries?</a> - <a class="normal" href="#faq4_4">4.4 - What is the meaning of the file ending in .orig.c in IOCCC entries?</a>
- <a class="normal" href="#faq4_5">4.5 - Why were alternate versions added to some entries when the original entry worked fine and well?</a> - <a class="normal" href="#faq4_5">4.5 - Why were alternate versions added to some entries when the original entry worked fine and well?</a>
- <a class="normal" href="#faq4_6">4.6 - Why was arg count and/or type changed in main&#x28;&#x29; in some older entries?</a> - <a class="normal" href="#faq4_6">4.6 - Why was arg count and/or type changed in main&lpar;&rpar; in some older entries?</a>
- <a class="normal" href="#faq4_7">4.7 - Why were some filenames changed?</a> - <a class="normal" href="#faq4_7">4.7 - Why were some filenames changed?</a>
- <a class="normal" href="#faq4_8">4.8 - Why were files added or removed from some entries?</a> - <a class="normal" href="#faq4_8">4.8 - Why were files added or removed from some entries?</a>
@@ -92,7 +92,7 @@ other inconsistencies with the original entry?](#faq4_3)
## Section 6 - [Miscellaneous IOCCC](#faq6) ## Section 6 - [Miscellaneous IOCCC](#faq6)
- <a class="normal" href="#faq6_0">6.0 - How did an entry that breaks the size rule 2 win the IOCCC?</a> - <a class="normal" href="#faq6_0">6.0 - How did an entry that breaks the size rule 2 win the IOCCC?</a>
- <a class="normal" href="#faq6_1">6.1 - Is there a list of known bugs and &#x28;mis&#x29;features of IOCCC entries?</a> - <a class="normal" href="#faq6_1">6.1 - Is there a list of known bugs and &lpar;mis&rpar;features of IOCCC entries?</a>
- <a class="normal" href="#faq6_2">6.2 - May I mirror the IOCCC website?</a> - <a class="normal" href="#faq6_2">6.2 - May I mirror the IOCCC website?</a>
- <a class="normal" href="#faq6_3">6.3 - May I use parts of the IOCCC in an article, book, newsletter, or instructional material?</a> - <a class="normal" href="#faq6_3">6.3 - May I use parts of the IOCCC in an article, book, newsletter, or instructional material?</a>
- <a class="normal" href="#faq6_4">6.4 - Why do you sometimes use the first person plural?</a> - <a class="normal" href="#faq6_4">6.4 - Why do you sometimes use the first person plural?</a>
@@ -105,7 +105,7 @@ other inconsistencies with the original entry?](#faq4_3)
- <a class="normal" href="#faq6_11">6.11 - Am I allowed to use IOCCC content?</a> - <a class="normal" href="#faq6_11">6.11 - Am I allowed to use IOCCC content?</a>
- <a class="normal" href="#faq6_12">6.12 - What is Mastodon and why does IOCCC use it?</a> - <a class="normal" href="#faq6_12">6.12 - What is Mastodon and why does IOCCC use it?</a>
- <a class="normal" href="#faq6_13">6.13 - How may I find my author handle?</a> - <a class="normal" href="#faq6_13">6.13 - How may I find my author handle?</a>
- <a class="normal" href="#faq6_14">6.14 - How do I set certain tabstops for viewing source code in vi&#x28;m&#x29;?</a> - <a class="normal" href="#faq6_14">6.14 - How do I set certain tabstops for viewing source code in vi&lpar;m&rpar;?</a>
- <a class="normal" href="#faq6_15">6.15 - How do the menus on the website work and what can I do if they don't work?</a> - <a class="normal" href="#faq6_15">6.15 - How do the menus on the website work and what can I do if they don't work?</a>
- <a class="normal" href="#faq6_16">6.16 - How do I find more information about a winning author of an entry?</a> - <a class="normal" href="#faq6_16">6.16 - How do I find more information about a winning author of an entry?</a>
- <a class="normal" href="#faq6_17">6.17 - What is a `.entry.json` file and how is it used?</a> - <a class="normal" href="#faq6_17">6.17 - What is a `.entry.json` file and how is it used?</a>
@@ -1723,7 +1723,7 @@ were posted on 17 April 1984.
There were 4 entries that won in 1984: There were 4 entries that won in 1984:
1. [&#x28;dis&#x29;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. [&lpar;dis&rpar;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) 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) 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) 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)
@@ -2744,7 +2744,7 @@ for more information about pull requests.
<div id="faq3_9"> <div id="faq3_9">
<div id="curses"> <div id="curses">
### FAQ 3.9: How do I compile an IOCCC entry that requires &#x28;n&#x29;curses? ### FAQ 3.9: How do I compile an IOCCC entry that requires &lpar;n&rpar;curses?
</div> </div>
</div> </div>
@@ -3403,7 +3403,7 @@ We recommend trying a method suitable for your environment first, if possible.
<div id="faq3_19"> <div id="faq3_19">
<div id="make_compatibility"> <div id="make_compatibility">
### 3.19 - What kind of make&#x28;1&#x29; compatibility does the IOCCC support and will it support other kinds? ### 3.19 - What kind of make&lpar;1&rpar; compatibility does the IOCCC support and will it support other kinds?
</div> </div>
</div> </div>
@@ -3598,7 +3598,7 @@ the original code when reading the author's (and sometimes authors') remarks.
<div id="faq4_1"> <div id="faq4_1">
<div id="gets"> <div id="gets">
### FAQ 4.1: Why were some calls to the libc function gets&#x28;3&#x29; changed to use fgets&#x28;3&#x29;? ### FAQ 4.1: Why were some calls to the libc function gets&lpar;3&rpar; changed to use fgets&lpar;3&rpar;?
</div> </div>
</div> </div>
@@ -3801,7 +3801,7 @@ judgement call.
<div id="faq4_6"> <div id="faq4_6">
<div id="arg_count"> <div id="arg_count">
### FAQ 4.6: Why was arg count and/or type changed in main&#x28;&#x29; in some older entries? ### FAQ 4.6: Why was arg count and/or type changed in main&lpar;&rpar; in some older entries?
</div> </div>
</div> </div>
@@ -4411,7 +4411,7 @@ get around rule 2 size limits is discouraged).
<div id="faq6_1"> <div id="faq6_1">
### FAQ 6.1: Is there a list of known bugs and &#x28;mis&#x29;features of IOCCC entries? ### FAQ 6.1: Is there a list of known bugs and &lpar;mis&rpar;features of IOCCC entries?
</div> </div>
Yes! Please see [bugs.html](bugs.html) for a list of known bugs and/or issues of a Yes! Please see [bugs.html](bugs.html) for a list of known bugs and/or issues of a
@@ -4919,7 +4919,7 @@ NOTE: The _JSON null_ is **NOT** enclosed in quotes!
``` ```
This _JSON member_ holds the This _JSON member_ holds the
[Mastodon social network](https://en.wikipedia.org/wiki/Mastodon_&#x28;social_network&#x29;) [Mastodon social network](https://en.wikipedia.org/wiki/Mastodon_&lpar;social_network&rpar;)
handle of the author. handle of the author.
There **MUST** be one and only one `mastodon` _JSON member_ and the _JSON value_ **MUST** There **MUST** be one and only one `mastodon` _JSON member_ and the _JSON value_ **MUST**
+23 -21
View File
@@ -505,12 +505,13 @@ echo &quot;This code block is NOT indented&quot; &lt;===
<h2 id="please-do-not-use-ascii-tabs-in-markdown-files">Please do NOT use ASCII tabs in markdown files</h2> <h2 id="please-do-not-use-ascii-tabs-in-markdown-files">Please do NOT use ASCII tabs in markdown files</h2>
</div> </div>
</div> </div>
<p>Please do <strong>NOT</strong> indent with ASCII tabs, <strong>OR</strong> use any
ASCII tab characters anywhere inside a markdown file.</p>
<p>While we have nothing against the ASCII tab character in general, <p>While we have nothing against the ASCII tab character in general,
we have discovered that ASCII tab characters create problems when we have discovered that ASCII tab characters create problems when
used as part of the leading whitespace within a markdown file.</p> used as part of the leading whitespace within a markdown file.</p>
<p>If you need to indent 2 or more levels, use multiples of 4 ASCII <p>If you need to indent 2 or more levels, use multiples of 4 ASCII
<strong>SPACES</strong>. Please do <strong>NOT</strong> indent with ASCII tabs, <strong>OR</strong> use any <strong>SPACES</strong>.</p>
ASCII tab characters anywhere inside a markdown file:</p>
<p>For example:</p> <p>For example:</p>
<pre class="&lt;!---markdown--&gt;"><code>``` <pre class="&lt;!---markdown--&gt;"><code>```
Please do **NOT** use ASCII tabs in markdown files. &lt;=== no thank you Please do **NOT** use ASCII tabs in markdown files. &lt;=== no thank you
@@ -527,7 +528,7 @@ not C code or any other non-markdown content:</p>
// We ask that you to NOT use ASCII tab characters in your remarks.md writeup, // 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.</code></pre> // or in any other markdown files within your entry, please.</code></pre>
<p><strong>NOTE</strong>: Again, you are <strong>perfectly welcome</strong> to use ASCII tab characters in <p><strong>NOTE</strong>: Again, you are <strong>perfectly welcome</strong> to use ASCII tab characters in
your C code and other non-markdown files. We simply ask that you <strong>NOT</strong> use any your C code and other non-markdown files. We simply ask that you do <strong>NOT</strong> use any
ASCII tab characters in markdown files.</p> ASCII tab characters in markdown files.</p>
<div id="vim-tabs"> <div id="vim-tabs">
<h3 id="tip-for-vim-users">Tip for <code>vim</code> users</h3> <h3 id="tip-for-vim-users">Tip for <code>vim</code> users</h3>
@@ -549,7 +550,7 @@ spaces.</p>
<p>If you’re in insert mode hit <code>ESC</code> first.</p> <p>If you’re in insert mode hit <code>ESC</code> first.</p>
<div id="languages"> <div id="languages">
<div id="code"> <div id="code">
<h2 id="please-do-not-directly-specify-a-language-for-a-code-block">Please do NOT <em>directly</em> specify a language for a code block</h2> <h2 id="please-use-html-comments-to-specify-a-language-for-a-code-block">Please use HTML comments to specify a language for a code block</h2>
</div> </div>
</div> </div>
<p>We request that <a href="https://www.markdownguide.org/extended-syntax/#fenced-code-blocks">fenced markdown code <p>We request that <a href="https://www.markdownguide.org/extended-syntax/#fenced-code-blocks">fenced markdown code
@@ -616,16 +617,17 @@ a trailing <code>&lt;br&gt;</code>.</p>
use trailing&lt;br&gt; use trailing&lt;br&gt;
br&#39;s outside of&lt;br&gt; br&#39;s outside of&lt;br&gt;
a code block</code></pre> a code block</code></pre>
<p>Again, use of a trailing backslash (<code>\</code>) inside a markdown <a href="https://www.markdownguide.org/extended-syntax/#fenced-code-blocks"><strong>fenced code <p>Again, use of a trailing backslash (<code>\</code>) inside a markdown code block is fine:</p>
block</strong></a> is fine:</p>
<pre class="&lt;!---markdown--&gt;"><code>``` <pre class="&lt;!---markdown--&gt;"><code>```
This is OK\ This is OK\
inside a\ inside a\
markdown code\ markdown code\
block block
```</code></pre> ```</code></pre>
<p>This will prevent <code>pandoc(1)</code> from generating deprecated HTML elements such as <p>as is:</p>
<code>&lt;br /&gt;</code>.</p> <pre><code> `This is OK\`</code></pre>
<p>Doing it this way will prevent <code>pandoc(1)</code> from generating deprecated HTML
elements such as <code>&lt;br /&gt;</code>.</p>
<div id="images"> <div id="images">
<div id="img"> <div id="img">
<h2 id="please-do-not-use-markdown-style-images">Please do NOT use markdown style images</h2> <h2 id="please-do-not-use-markdown-style-images">Please do NOT use markdown style images</h2>
@@ -667,6 +669,18 @@ effect in standard HTML 5 and interacts badly with unquoted attribute values.</p
<pre><code> &lt;hr&gt;</code></pre> <pre><code> &lt;hr&gt;</code></pre>
<p>If a short line is needed, use:</p> <p>If a short line is needed, use:</p>
<pre><code> &lt;hr style=&quot;width:10%;text-align:left;margin-left:0&quot;&gt;</code></pre> <pre><code> &lt;hr style=&quot;width:10%;text-align:left;margin-left:0&quot;&gt;</code></pre>
<div id="parentheses">
<h2 id="please-do-not-put-a-literal-or-in-markdown-link-titles">Please do NOT put a LITERAL “<code>(</code>” or “<code>)</code>” in markdown link titles</h2>
</div>
<p>Please do <strong>NOT</strong> use literal parentheses inside markdown link titles.</p>
<p>Instead of:</p>
<pre><code> [some (text)](https://example.com/curds) &lt;=== no thank you</code></pre>
<p>use:</p>
<pre><code> [some &amp;lpar;text&amp;rpar;](https://example.com/curds)</code></pre>
<p>Instead of:</p>
<pre><code> [ls(1)](https://example.com/ls-man-page.1) &lt;=== no thank you</code></pre>
<p>use:</p>
<pre><code> [ls&amp;lpar;1&amp;rpar;](https://example.com/ls-man-page.1)</code></pre>
<div id="closing-parentheses"> <div id="closing-parentheses">
<h2 id="please-do-not-end-markdown-links-with">Please do NOT end markdown links with “<code>))</code>”</h2> <h2 id="please-do-not-end-markdown-links-with">Please do NOT end markdown links with “<code>))</code>”</h2>
</div> </div>
@@ -676,23 +690,11 @@ to incorrect URLs or file paths.</p>
<p>Instead of:</p> <p>Instead of:</p>
<pre><code> [some text](https://example.com/foo_(bar)) &lt;=== no thank you</code></pre> <pre><code> [some text](https://example.com/foo_(bar)) &lt;=== no thank you</code></pre>
<p>use:</p> <p>use:</p>
<pre><code> [some text](https://example.com/foo_&amp;#x28;bar&amp;#x29;)</code></pre> <pre><code> [some text](https://example.com/foo_&amp;lpar;bar&amp;rpar;)</code></pre>
<p>As another example, instead of:</p> <p>As another example, instead of:</p>
<pre><code> This thing, ([some text](some/path)), is NOT ideal. &lt;=== no thank you</code></pre> <pre><code> This thing, ([some text](some/path)), is NOT ideal. &lt;=== no thank you</code></pre>
<p>use:</p> <p>use:</p>
<pre><code> This thing, [some text](some/path), is better.</code></pre> <pre><code> This thing, [some text](some/path), is better.</code></pre>
<div id="parentheses">
<h2 id="please-do-not-put-a-literal-or-in-markdown-link-titles">Please do NOT put a LITERAL “<code>(</code>” or “<code>)</code>” in markdown link titles</h2>
</div>
<p>Please do <strong>NOT</strong> use literal parentheses inside markdown link titles.</p>
<p>Instead of:</p>
<pre><code> [some (text)](https://example.com/cyrds) &lt;=== no thank you</code></pre>
<p>use:</p>
<pre><code> [some &amp;#x28;text&amp;#x29;](https://example.com/cyrds)</code></pre>
<p>Instead of:</p>
<pre><code> [ls(1)](https://example.com/ls-man-page.1) &lt;=== no thank you</code></pre>
<p>use:</p>
<pre><code> [ls&amp;#x28;1&amp;#x29;](https://example.com/ls-man-page.1)</code></pre>
<div id="code-text"> <div id="code-text">
<div id="code-and-text"> <div id="code-and-text">
<div id="text"> <div id="text">
+49 -40
View File
@@ -211,13 +211,15 @@ Please do **NOT** indent using ASCII tab characters in markdown files.
</div> </div>
</div> </div>
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, While we have nothing against the ASCII tab character in general,
we have discovered that ASCII tab characters create problems when we have discovered that ASCII tab characters create problems when
used as part of the leading whitespace within a markdown file. 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 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 **SPACES**.
ASCII tab characters anywhere inside a markdown file:
For example: For example:
@@ -243,7 +245,7 @@ not C code or any other non-markdown content:
```` ````
**NOTE**: Again, you are **perfectly welcome** to use ASCII tab characters in **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. ASCII tab characters in markdown files.
<div id="vim-tabs"> <div id="vim-tabs">
@@ -283,7 +285,7 @@ If you're in insert mode hit `ESC` first.
<div id="languages"> <div id="languages">
<div id="code"> <div id="code">
## Please do NOT _directly_ specify a language for a code block ## Please use HTML comments to specify a language for a code block
</div> </div>
</div> </div>
@@ -407,8 +409,7 @@ use:
a code block a code block
``` ```
Again, use of a trailing backslash (`\`) inside a markdown [**fenced code Again, use of a trailing backslash (`\`) inside a markdown code block is fine:
block**](https://www.markdownguide.org/extended-syntax/#fenced-code-blocks) is fine:
```` <!---markdown--> ```` <!---markdown-->
``` ```
@@ -419,8 +420,14 @@ block**](https://www.markdownguide.org/extended-syntax/#fenced-code-blocks) is f
``` ```
```` ````
This will prevent `pandoc(1)` from generating deprecated HTML elements such as as is:
`<br />`.
``` <!---markdown-->
`This is OK\`
```
Doing it this way will prevent `pandoc(1)` from generating deprecated HTML
elements such as `<br />`.
<div id="images"> <div id="images">
@@ -498,6 +505,37 @@ If a short line is needed, use:
<div id="parentheses">
## Please do NOT put a LITERAL "`(`" or "`)`" in markdown link titles
</div>
Please do **NOT** use literal parentheses inside markdown link titles.
Instead of:
``` <!---markdown-->
[some (text)](https://example.com/curds) <=== no thank you
```
use:
``` <!---markdown-->
[some &lpar;text&rpar;](https://example.com/curds)
```
Instead of:
``` <!---markdown-->
[ls(1)](https://example.com/ls-man-page.1) <=== no thank you
```
use:
``` <!---markdown-->
[ls&lpar;1&rpar;](https://example.com/ls-man-page.1)
```
<div id="closing-parentheses"> <div id="closing-parentheses">
## Please do NOT end markdown links with "`))`" ## Please do NOT end markdown links with "`))`"
</div> </div>
@@ -516,9 +554,11 @@ Instead of:
use: use:
``` <!---markdown--> ``` <!---markdown-->
[some text](https://example.com/foo_&#x28;bar&#x29;) [some text](https://example.com/foo_&lpar;bar&rpar;)
``` ```
As another example, instead of: As another example, instead of:
``` <!---markdown--> ``` <!---markdown-->
@@ -531,37 +571,6 @@ use:
This thing, [some text](some/path), is better. This thing, [some text](some/path), is better.
``` ```
<div id="parentheses">
## Please do NOT put a LITERAL "`(`" or "`)`" in markdown link titles
</div>
Please do **NOT** use literal parentheses inside markdown link titles.
Instead of:
``` <!---markdown-->
[some (text)](https://example.com/cyrds) <=== no thank you
```
use:
``` <!---markdown-->
[some &#x28;text&#x29;](https://example.com/cyrds)
```
Instead of:
``` <!---markdown-->
[ls(1)](https://example.com/ls-man-page.1) <=== no thank you
```
use:
``` <!---markdown-->
[ls&#x28;1&#x29;](https://example.com/ls-man-page.1)
```
<div id="code-text"> <div id="code-text">
<div id="code-and-text"> <div id="code-and-text">
<div id="text"> <div id="text">
+1 -1
View File
@@ -574,7 +574,7 @@ of the most recent news item.</p>
&quot;latest_news&quot; : &quot;Mon Jan 30 02:28:44 PST 2023&quot;</code></pre> &quot;latest_news&quot; : &quot;Mon Jan 30 02:28:44 PST 2023&quot;</code></pre>
<h2 id="section-7">2022-12-18</h2> <h2 id="section-7">2022-12-18</h2>
<p>As per the suggestion of <a href="https://fosstodon.org/@Virtaava@home.social">Toni Mikkola <p>As per the suggestion of <a href="https://fosstodon.org/@Virtaava@home.social">Toni Mikkola
(<span class="citation" data-cites="Virtaava">@Virtaava</span><span class="citation" data-cites="home.social">@home.social</span>)</a> (<span class="citation" data-cites="Virtaava">@Virtaava</span><span class="citation" data-cites="home.social&amp;rpar">@home.social&amp;rpar</span>;</a>
we now maintain a <a href="status.json">status.json</a> page on this website.</p> we now maintain a <a href="status.json">status.json</a> page on this website.</p>
<p>In addition to the IOCCC-style <em>Easter egg</em>, you may count on <p>In addition to the IOCCC-style <em>Easter egg</em>, you may count on
the JSON status page having a JSON member with name of <strong>“contest”</strong> the JSON status page having a JSON member with name of <strong>“contest”</strong>
+2 -2
View File
@@ -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) 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. 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 For those that cannot compile and/or do not work, we have made a
[Bugs and &#x28;Mis&#x29;features](bugs.html) page. [Bugs and &lpar;Mis&rpar;features](bugs.html) page.
We have made nearly 4823 changes to date! We have made nearly 4823 changes to date!
@@ -248,7 +248,7 @@ of the most recent news item.
## 2022-12-18 ## 2022-12-18
As per the suggestion of [Toni Mikkola As per the suggestion of [Toni Mikkola
&#x28;@Virtaava@home.social&#x29;](https://fosstodon.org/@Virtaava@home.social) &lpar;@Virtaava@home.social&rpar;](https://fosstodon.org/@Virtaava@home.social)
we now maintain a [status.json](status.json) page on this website. we now maintain a [status.json](status.json) page on this website.
In addition to the IOCCC-style _Easter egg_, you may count on In addition to the IOCCC-style _Easter egg_, you may count on
+1 -1
View File
@@ -73,7 +73,7 @@ block or blockquote, just a vertical bar).
This file contains _guidelines_ intended to help people who wish to This file contains _guidelines_ intended to help people who wish to
participate in the [International Obfuscated C Code Contest participate in the [International Obfuscated C Code Contest
&#x28;IOCCC&#x29;](https://www.ioccc.org). &lpar;IOCCC&rpar;](https://www.ioccc.org).
These are **NOT the [IOCCC rules](rules.html)**, though it does contain comments These are **NOT the [IOCCC rules](rules.html)**, though it does contain comments
about them. The [IOCCC guidelines](guidelines.html) should be viewed as about them. The [IOCCC guidelines](guidelines.html) should be viewed as
+1 -1
View File
@@ -753,7 +753,7 @@ guidelines](../markdown.html) for additional markdown guidance.
</div> </div>
The how to build instructions must be in Makefile format. See [the FAQ about The how to build instructions must be in Makefile format. See [the FAQ about
make&#x28;1&#x29; compatibility the IOCCC make&lpar;1&rpar; compatibility the IOCCC
supports](../faq.html#make_compatibility) for more details. supports](../faq.html#make_compatibility) for more details.
<p class="leftbar"> <p class="leftbar">
+1 -1
View File
@@ -5,7 +5,7 @@
* [Winning Entries](years.html) * [Winning Entries](years.html)
* [Winning Authors](authors.html) * [Winning Authors](authors.html)
* [Location of winning authors](location.html) * [Location of winning authors](location.html)
* [Bugs and &#x28;mis&#x29;features](bugs.html) * [Bugs and &lpar;mis&rpar;features](bugs.html)
## Status ## Status
+1 -1
View File
@@ -2409,7 +2409,7 @@ Cody also added the [try.sh](%%REPO_URL%%/1994/ldb/try.sh) script.
</div> </div>
[Cody](#cody) added two alt versions, [one which uses [Cody](#cody) added two alt versions, [one which uses
fgets_&#x28;&#x29;](%%REPO_URL%%/1994/schnitzi/schnitzi.alt.c) but when fed its own source code cannot fgets_&lpar;&rpar;](%%REPO_URL%%/1994/schnitzi/schnitzi.alt.c) but when fed its own source code cannot
generate code that compile and another [one with a bigger buffer generate code that compile and another [one with a bigger buffer
size](%%REPO_URL%%/1994/schnitzi/schnitzi.alt2.c) which, when fed its own source code, will size](%%REPO_URL%%/1994/schnitzi/schnitzi.alt2.c) which, when fed its own source code, will
generate compilable code but not with the same buffer size but rather the generate compilable code but not with the same buffer size but rather the