From 22931fa3eb1e35a701fc10063fab4b9422510c35 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Wed, 31 Jul 2024 09:51:25 -0700 Subject: [PATCH] Fixes in html files and manifest from 2000 --- 2000/bellard/README.md | 4 +- 2000/bellard/index.html | 4 +- 2000/bmeyer/.entry.json | 6 +- 2000/bmeyer/README.md | 34 +++++----- 2000/bmeyer/index.html | 16 ++--- 2000/briddlebane/README.md | 6 +- 2000/briddlebane/index.html | 6 +- 2000/dlowe/README.md | 88 +++++++++++++----------- 2000/dlowe/index.html | 124 ++++++++++++++++++++++++---------- 2000/jarijyrki/.entry.json | 2 +- 2000/jarijyrki/README.md | 8 +-- 2000/jarijyrki/index.html | 8 +-- 2000/natori/README.md | 6 +- 2000/natori/index.html | 6 +- 2000/rince/README.md | 85 +++++++++++------------ 2000/rince/index.html | 92 ++++++++++++++----------- 2000/robison/README.md | 2 +- 2000/robison/index.html | 2 +- 2000/schneiderwent/README.md | 12 ++-- 2000/schneiderwent/index.html | 12 ++-- 2000/thadgavin/README.md | 14 ++-- 2000/thadgavin/index.html | 14 ++-- 2000/tomx/README.md | 6 +- 2000/tomx/index.html | 4 +- 24 files changed, 315 insertions(+), 246 deletions(-) diff --git a/2000/bellard/README.md b/2000/bellard/README.md index 85c983e85..1714586ea 100644 --- a/2000/bellard/README.md +++ b/2000/bellard/README.md @@ -20,7 +20,7 @@ its output is very specific, the internal FFT has a wide variety of uses. Can you modify this code to produce primes such as `23523*2^70000-1`, `48594^65536+1` or `6917!-1`? -NOTE: as bigger primes are found as time goes by this program no longer prints +**NOTE**: as bigger primes are found as time goes by this program no longer prints the biggest prime once noted by the author below. @@ -32,7 +32,7 @@ Fourier Transform to compute this number in a reasonable amount of time (the usual method would take ages !). The program uses >= 64 bit `long long` type. It should run on any -system with a gcc compiler. +system with a `gcc` compiler. ./try.sh @@ -33,7 +33,7 @@ The author recommended on linux/x86, glibc 2.0, libc4/5: ``` bmeyer: bmeyer.c - CC -DY="__setfpucw(0x127f)" -O6 $? -o $@ -lm + cc -DY="__setfpucw(0x127f)" -O6 $? -o $@ -lm ``` However many compilers use `-O3` as the maximum level for `-O` optimization. @@ -74,9 +74,9 @@ This program is called `GLICBAWLS` Squares". And that's exactly what this program does --- feed it a .PGM file -(either raw [i.e. P5] or ASCII [i.e. P2]) on stdin, and it will -output a compressed version to stdout. Feed it a compressed file -on stdin, and it will decompress it to stdout --- as either raw or +(either raw [i.e. P5] or ASCII [i.e. P2]) on `stdin`, and it will +output a compressed version to `stdout`. Feed it a compressed file +on `stdin`, and it will decompress it to `stdout` --- as either raw or ASCII .PGM, depending on what format it was compressed from. For example: @@ -215,7 +215,7 @@ In short --- running it through the preprocessor and the pretty-printer will give you something that looks slightly less like line noise and slightly more like a C program, but unless you are a true wizard, it is unlikely to gain you any insights into -what is actually going on....[^0] +what is actually going on....[^1] ### Bugs, Assumptions and TODO @@ -269,7 +269,7 @@ ordering. For each pixel, an expected value is calculated by creating a least squares predictor of order 12 based on all of the previously encoded/decoded pixels. However, the contribution of each pixel is weighted according to its [Manhattan-distance](https://en.wikipedia.org/wiki/Taxicab_geometry) from the -current pixel, `D`. That weight used is `pow(0.8,D)`. [^1] [^2] [^3] +current pixel, `D`. That weight used is `pow(0.8,D)`. [^2] [^3] [^4] In a similar way, the prediction *errors* for all previous pixels are combined --- a weighted average (with weight `pow(0.7,D)`) of @@ -293,27 +293,27 @@ arithmetic decoder provides the information which half the actual value is in. In both cases, the interval borders are adjusted accordingly, the arithmetic coder/decoder updated, and the interval halving repeated until the precise value has been -en/decoded[^4]. +en/decoded[^5]. -[^0]: Yes, this could be seen as a challenge.... -[^1]: Actually, the weight is `pow(0.8,D)/s`, where `s` is the sigma +[^1]: Yes, this could be seen as a challenge.... +[^2]: Actually, the weight is `pow(0.8,D)/s`, where `s` is the sigma used for encoding/decoding the particular previous pixel. Dividing by `s` is a rather arbitrary action justified only by the improvement in results. Mathematically, I can only justify dividing by `s^2`, or not dividing at all.... -[^2]: Obviously, these least squares predictors are not calculated +[^3]: Obviously, these least squares predictors are not calculated from scratch for each pixel. Some clever reuse of earlier results allows `O(1)` calculation, rather than the `O(previous_rows*columns)` this description would suggest. -[^3]: As anyone who has ever tried local least squares knows from +[^4]: As anyone who has ever tried local least squares knows from bitter experience, there is a lot of numerical instability associated with them. So `glicbawls` adds a bias towards an averaging predictor to the equation system the least squares predictor is calculated from. The weight that is given to this bias is constantly adjusted throughout coding/decoding, thus justifying the 'a' in `glicbawls`. -[^4]: In the case of near-lossless coding, the interval is not +[^5]: In the case of near-lossless coding, the interval is not necessarily *halved*, but rather split at a convenient point (the split points are chosen in such a way as to minimise the expected number of bits needed for coding). Also, the @@ -324,7 +324,7 @@ en/decoded[^4]. ### Photo Credit: [Lavabus](lavabus.pgm) was taken by the judge, Landon Curt Noll. -[Michael](michael.pgm) was provided by the author. [Lenna](%%REPO_URL%%/2000/bmeyer/lenna.glic) is a +[Michael](michael.pgm) was provided by the author. [Lenna](lenna.glic) is a 1972 Playboy centerfold (doesn't show very much). - [michael.pgm](michael.pgm) @@ -333,11 +333,11 @@ en/decoded[^4]. - [lavabus.pgm](lavabus.pgm) - A bus that was trapped by lava from [Kilauea - volcano](https://en.wikipedia.org/wiki/Kīlauea) in Hawaii, US. Nobody was + A bus that was trapped by lava from [Kīlauea + volcano](https://en.wikipedia.org/wiki/Kīlauea) in Hawaii, US. Nobody was in the bus at the time, BTW. Photo date: 1981. -- [lenna.glic](%%REPO_URL%%/2000/bmeyer/lenna.glic) +- [lenna.glic](lenna.glic) A November 1972 Playboy centerfold was scanned in long ago and has been used for image compression research since then. Playboy originally threatened to diff --git a/2000/bmeyer/index.html b/2000/bmeyer/index.html index 9773c5951..83f59e4a6 100644 --- a/2000/bmeyer/index.html +++ b/2000/bmeyer/index.html @@ -412,7 +412,7 @@ Location: AU - Commonwealth of Australi

To use:

    ./bmeyer

Try:

-

In a video window (white text on black background):

+

In a terminal window (white text on black background):

    ./try.sh

The script will suggest you compare the output of the program with images, prompting you to press any key to continue so that you may do so.

@@ -421,7 +421,7 @@ prompting you to press any key to continue so that you may do so.

dashed argument) for compression and decompression! You’ve been warned.

The author recommended on linux/x86, glibc 2.0, libc4/5:

    bmeyer: bmeyer.c
-            CC -DY="__setfpucw(0x127f)" -O6 $? -o $@ -lm
+ cc -DY="__setfpucw(0x127f)" -O6 $? -o $@ -lm

However many compilers use -O3 as the maximum level for -O optimization.

And on linux/x86, glibc 2.1:

    bmeyer: bmeyer.c
@@ -446,9 +446,9 @@ chance any given file produced might not be portable.

GLICBAWLS stands for “Grey Level Image Compression By Adaptive Weighted Least Squares”.

And that’s exactly what this program does — feed it a .PGM file -(either raw [i.e. P5] or ASCII [i.e. P2]) on stdin, and it will -output a compressed version to stdout. Feed it a compressed file -on stdin, and it will decompress it to stdout — as either raw or +(either raw [i.e. P5] or ASCII [i.e. P2]) on stdin, and it will +output a compressed version to stdout. Feed it a compressed file +on stdin, and it will decompress it to stdout — as either raw or ASCII .PGM, depending on what format it was compressed from. For example:

    ./glicbawls < michael.pgm > michael.glic
@@ -614,16 +614,16 @@ interval halving repeated until the precise value has been en/decoded5.

Photo Credit:

Lavabus was taken by the judge, Landon Curt Noll. -Michael was provided by the author. Lenna is a +Michael was provided by the author. Lenna is a 1972 Playboy centerfold (doesn’t show very much).

Judges’ remarks:

-

One could argue that this program was a “diseased dumpster of tripe” +

One could argue that this program was a “diseased dumpster of tripe” but I suspect that would only result in the judges being heckled as a -“scum-encrusted congress of obscurity” (but only if it was in the early +“scum-encrusted congress of obscurity” (but only if it was in the early evening of Dec 22, 2000).

Can you find out how it stores the insult strings? Can you then take an insult and figure out when it will be uttered?

-

Author’s remarks:

+

Authors’ remarks:

This program was broadcast from deep within the Zarbonic Cluster and received at 9:03pm on March 21st, 2000 by Moxen N. Briddlebane. The original author, as designated by other components of the diff --git a/2000/dlowe/README.md b/2000/dlowe/README.md index 57b1b1df6..d74f3264f 100644 --- a/2000/dlowe/README.md +++ b/2000/dlowe/README.md @@ -43,8 +43,8 @@ When this entry was submitted the rules of the IOCCC did not prohibit the use of embedded language interpreters. The judges considered disqualifying this entry because of the use of perl, but on the other hand it qualifies as the Worst Abuse of the Rules. As a previous author, -[David Lowe](../../authors.html#J_David_Lowe) continues to inflict the highest quality "poot" on the -Judges. +[David Lowe](../../authors.html#J_David_Lowe) continues to inflict the highest +quality "`poot`" on the Judges. The program also contains an undocumented command for Chad and Chongo (Landon). The judges' remarks contain a clue to the hidden command :-). @@ -71,31 +71,41 @@ based on the `dc(1)` unix calculator. This program understands the following `dc(1)` commands: -``` - p prints the top stack value without altering the stack. - P prints the top stack value, removing it from the stack, and - doesn't print a trailing newline. - f prints the contents of the stack, one number per line, - without modifying it. - c clears the stack. - d pushes a copy of the top stack value onto the stack. - r reverses the order of the top two stack values. -``` +- `p` + * prints the top stack value without altering the stack. +- `P` + * prints the top stack value, removing it from the stack, and + doesn't print a trailing newline. +- `f` + * prints the contents of the stack, one number per line, + without modifying it. +- `c` + * clears the stack. +- `d` + * pushes a copy of the top stack value onto the stack. +- `r` + * reverses the order of the top two stack values. And the following arithmetic operators are supported: -``` - + Pops 2 values and pushes their sum. - - Pops 2 values and pushes the result of subtracting the first - from the second. - * Pops 2 values and pushes their product. - / Pops 2 values and pushes the result of dividing the second - by the first. - ^ Pops 2 values and pushes the result of raising the second - to the power of the first. - % Pops 2 values and pushes the remainder of the division that - / would do. -``` +- `+` + * Pops 2 values and pushes their sum. + +- `-` + * Pops 2 values and pushes the result of subtracting the first + from the second. + +- `*` + * Pops 2 values and pushes their product. +- `/` + * Pops 2 values and pushes the result of dividing the second + by the first. +- `^` + * Pops 2 values and pushes the result of raising the second + to the power of the first. +- `%` + * Pops 2 values and pushes the remainder of the division that + `/` would do. The precision and range are double, like it or not, except that the modulus operator actually returns `(p1 - (p2 * (p1 / p2)))`, but with @@ -110,16 +120,16 @@ or EOF is encountered. ### Diagnostics: -``` - "stack empty" Not enough on the stack for the requested command - "divide by zero" Attempt to divide by zero - "unimplemented" Invalid input - - Floating point exception (core dumped) (or something to that effect) - Bug in Perl_sv_upgrade causes this in some cases when - the results of an operation are really huge (> 10^308) - This bug appears to be fixed in perl5.6.0 -``` +- "stack empty" + * Not enough on the stack for the requested command +- "divide by zero" + * Attempt to divide by zero +- "unimplemented" + * Invalid input +- "Floating point exception (core dumped)" (or something to that effect) + * Bug in Perl_sv_upgrade causes this in some cases when the results of an + operation are really huge (> 10^308) This bug appears to be fixed in + perl5.6.0. ### Examples: @@ -244,7 +254,7 @@ possible to write (even more) obfuscated reverse Polish commands (I figure this explanation moves the synonyms from 'bug' to 'feature'!) -. The first IOCCC entry with an "easter egg"?... +- The first IOCCC entry with an "easter egg"?... ### Aside: on unobfuscated Perl @@ -266,15 +276,15 @@ If you don't change the rules, it'll be embedded Ada next year! ### Auto defend -A. Isn't this the obfuscated C contest? What's this Perl `$#_&&$_`? +0. Isn't this the obfuscated C contest? What's this Perl `$#_&&$_`? -D. Hey, this program *is* 100% C, and does not exec an external Perl +1. Hey, this program *is* 100% C, and does not exec an external Perl interpreter. It simply links against the Perl language library. The "Perl code" is just a C string constant. -A. Perl isn't portable enough, or ubiquitous enough. +2. Perl isn't portable enough, or ubiquitous enough. -D. I'd argue that it is more portable than X. According to the Perl +3. I'd argue that it is more portable than X. According to the Perl folks, it runs on the following platforms: Acorn, AIX, Amiga, AS/400, BeOS, Concurrent, Debian, DEC OSF/1, Digital UNIX, EPOC, FreeBSD, Guardian, HP-UX, IRIX, LinuxPPC, LynxOS, MacOS, MachTen, Minix, MPE/iX, diff --git a/2000/dlowe/index.html b/2000/dlowe/index.html index c707f3250..eaf58bb12 100644 --- a/2000/dlowe/index.html +++ b/2000/dlowe/index.html @@ -428,8 +428,8 @@ Location: US - United States of America the use of embedded language interpreters. The judges considered disqualifying this entry because of the use of perl, but on the other hand it qualifies as the Worst Abuse of the Rules. As a previous author, -David Lowe continues to inflict the highest quality “poot” on the -Judges.

+David Lowe continues to inflict the highest +quality “poot” on the Judges.

The program also contains an undocumented command for Chad and Chongo (Landon). The judges’ remarks contain a clue to the hidden command :-).

-

. The first IOCCC entry with an “easter egg”?…

Aside: on unobfuscated Perl

My original intent was to write obfuscated C and crystal-clear Perl, to highlight my bending of the rules. Unfortunately, Perl really @@ -590,12 +642,13 @@ the list of qualifications for judges… Oh dear, I guess your C beautifier won’t help too much, either ;)

If you don’t change the rules, it’ll be embedded Ada next year!

Auto defend

-

A. Isn’t this the obfuscated C contest? What’s this Perl $#_&&$_?

-

D. Hey, this program is 100% C, and does not exec an external Perl +

    +
  1. Isn’t this the obfuscated C contest? What’s this Perl $#_&&$_?

  2. +
  3. Hey, this program is 100% C, and does not exec an external Perl interpreter. It simply links against the Perl language library. -The “Perl code” is just a C string constant.

    -

    A. Perl isn’t portable enough, or ubiquitous enough.

    -

    D. I’d argue that it is more portable than X. According to the Perl +The “Perl code” is just a C string constant.

  4. +
  5. Perl isn’t portable enough, or ubiquitous enough.

  6. +
  7. I’d argue that it is more portable than X. According to the Perl folks, it runs on the following platforms: Acorn, AIX, Amiga, AS/400, BeOS, Concurrent, Debian, DEC OSF/1, Digital UNIX, EPOC, FreeBSD, Guardian, HP-UX, IRIX, LinuxPPC, LynxOS, MacOS, MachTen, Minix, MPE/iX, @@ -603,7 +656,8 @@ MS-DOS, MVS, NetBSD, Netware, NextStep, OpenBSD, OpenLinux, ODT, OpenVMS, OS/2, OS390, OSR, PowerMAX, Psion, QNX, Redhat, Reliant UNIX, RISCOS, SCO, SGI, SINIX, Slackware, Solaris, Sun, SuSE, Tandem, Tru64, UNIX, U/WIN, Unixware, VMS, Win31, Win32, Windows 3.1, and Windows 95/98/NT/2K. -Granted, embeddable Perl isn’t quite so portable, but still…

    +Granted, embeddable Perl isn’t quite so portable, but still…

  8. +

Also, Perl 5 is bundled with the following OS distributions: AIX 4.3.3+, FreeBSD 3.0+, IRIX 6.4+, every Linux distribution, NetBSD, OpenBSD, and DEC Tru64 5.0+, again according to the Perl people.

diff --git a/2000/jarijyrki/.entry.json b/2000/jarijyrki/.entry.json index 8f631b226..7caae8e69 100644 --- a/2000/jarijyrki/.entry.json +++ b/2000/jarijyrki/.entry.json @@ -77,7 +77,7 @@ { "file_path" : "finance.sheet", "inventory_order" : 4000000000, - "OK_to_edit" : true, + "OK_to_edit" : false, "display_as" : "spreadsheet", "display_via_github" : false, "entry_text" : "example spreadsheet file" diff --git a/2000/jarijyrki/README.md b/2000/jarijyrki/README.md index 5734ad491..1db5ddf5f 100644 --- a/2000/jarijyrki/README.md +++ b/2000/jarijyrki/README.md @@ -4,7 +4,7 @@ make ``` -NOTE: this entry requires the `X11/Xlib.h` header file and the X11 library to +**NOTE**: this entry requires the `X11/Xlib.h` header file and the X11 library to compile. For more information see the FAQ on "[X11](../../faq.html#X11)". @@ -143,14 +143,14 @@ Finish the formula with `!` to create the histogram. #### 2.2. Starting and Loading Spreadsheets To start the spreadsheet program with an existing -spreadsheet, for instance [finance.sheet](%%REPO_URL%%/2000/jarijyrki/finance.sheet), use the following +spreadsheet, for instance [finance.sheet](finance.sheet), use the following command line: ``` ./jarijyrki < finance.sheet ``` -The file [finance.sheet](%%REPO_URL%%/2000/jarijyrki/finance.sheet) has been provided as an example. This +The file [finance.sheet](finance.sheet) has been provided as an example. This file contains a set of financial numbers and two graphical entities - a pie chart and a histogram - based on them. We recommend starting the use of the program from this file, as a way to study and learn the formula language @@ -186,7 +186,7 @@ Below the Formula Area is the Column Letters Area: `A`, `B`, and so on. Correspondingly, on the left side of the window is the Row Numbers Area: `1`, `2`, and so on. The rest of the window is dedicated to the actual spreadsheet cells. -The example spreadsheet, [finance.sheet](%%REPO_URL%%/2000/jarijyrki/finance.sheet), provided with this +The example spreadsheet, [finance.sheet](finance.sheet), provided with this program contains two sets of numbers in the visible area of the spreadsheet. The top set of numbers forms the product-by-product turnover breakdown of an imaginary company. Below it is the yearly development of the company profits. On diff --git a/2000/jarijyrki/index.html b/2000/jarijyrki/index.html index 37e5b1578..dfeb01335 100644 --- a/2000/jarijyrki/index.html +++ b/2000/jarijyrki/index.html @@ -414,7 +414,7 @@ Location: FI - Republic of Finland

To build:

    make
-

NOTE: this entry requires the X11/Xlib.h header file and the X11 library to +

NOTE: this entry requires the X11/Xlib.h header file and the X11 library to compile. For more information see the FAQ on “X11”.

To use:

@@ -483,10 +483,10 @@ character at the end of the formula; press backspace to delete the last one.

Finish the formula with ! to create the histogram.

2.2. Starting and Loading Spreadsheets

To start the spreadsheet program with an existing -spreadsheet, for instance finance.sheet, use the following +spreadsheet, for instance finance.sheet, use the following command line:

    ./jarijyrki < finance.sheet
-

The file finance.sheet has been provided as an example. This +

The file finance.sheet has been provided as an example. This file contains a set of financial numbers and two graphical entities - a pie chart and a histogram - based on them. We recommend starting the use of the program from this file, as a way to study and learn the formula language @@ -507,7 +507,7 @@ currently selected cell. The program starts with A1 as being the cu Below the Formula Area is the Column Letters Area: A, B, and so on. Correspondingly, on the left side of the window is the Row Numbers Area: 1, 2, and so on. The rest of the window is dedicated to the actual spreadsheet cells.

-

The example spreadsheet, finance.sheet, provided with this +

The example spreadsheet, finance.sheet, provided with this program contains two sets of numbers in the visible area of the spreadsheet. The top set of numbers forms the product-by-product turnover breakdown of an imaginary company. Below it is the yearly development of the company profits. On diff --git a/2000/natori/README.md b/2000/natori/README.md index 683b2d8dd..22c70f618 100644 --- a/2000/natori/README.md +++ b/2000/natori/README.md @@ -5,7 +5,7 @@ ``` An alt version exists for those in the southern hemisphere (or those who want to -see what it would be in the southern hemisphere). See [alternate +see what it would be in the southern hemisphere). See [Alternate version](#alternate-code) below. @@ -29,7 +29,7 @@ times in a day). Also try modifying the code so that it will show another Moon phase based on input or else just by the code itself. Bonus points if you can make it show all. -NOTE: if it's a Full Moon the script won't look as nice. +**NOTE**: if it's a Full Moon the script won't look as nice. ## Alternate code: @@ -40,7 +40,7 @@ The author noted that those in the southern hemisphere might want to change ### Alternate build: -To run the alternate code that supports the southern hemisphere: +To build the alternate code that works for the southern hemisphere: ``` make alt diff --git a/2000/natori/index.html b/2000/natori/index.html index 02979e602..c1fade484 100644 --- a/2000/natori/index.html +++ b/2000/natori/index.html @@ -410,7 +410,7 @@ Location: JP - Japan

To build:

    make

An alt version exists for those in the southern hemisphere (or those who want to -see what it would be in the southern hemisphere). See alternate +see what it would be in the southern hemisphere). See Alternate version below.

To use:

    ./natori
@@ -421,12 +421,12 @@ Moon phase changes), and each time run it several times in a row (or several times in a day).

Also try modifying the code so that it will show another Moon phase based on input or else just by the code itself. Bonus points if you can make it show all.

-

NOTE: if it’s a Full Moon the script won’t look as nice.

+

NOTE: if it’s a Full Moon the script won’t look as nice.

Alternate code:

The author noted that those in the southern hemisphere might want to change acos(l/2) into acos(-l/2) which we have done in the alternate version.

Alternate build:

-

To run the alternate code that supports the southern hemisphere:

+

To build the alternate code that works for the southern hemisphere:

    make alt

Alternate use:

    ./natori.alt
diff --git a/2000/rince/README.md b/2000/rince/README.md index d5233f007..d664989e0 100644 --- a/2000/rince/README.md +++ b/2000/rince/README.md @@ -4,7 +4,7 @@ make all ``` -NOTE: this entry requires the `X11/Xlib.h` header file and the X11 library to +**NOTE**: this entry requires the `X11/Xlib.h` header file and the X11 library to compile. For more information see the FAQ on "[X11](../../faq.html#X11)". @@ -91,20 +91,22 @@ for an example. This program plots the positions of the four [Galilean moons](https://en.wikipedia.org/wiki/Galilean_moons) of -[Jupiter](https://en.wikipedia.org/wiki/Jupiter), as seen from -[Earth](https://en.wikipedia.org/wiki/Earth). It doesn't correct for your +[Jupiter](https://science.nasa.gov/jupiter/), as seen from +[Earth](https://science.nasa.gov/earth/). It doesn't correct for your location on Earth, but I assure you that the [parallax](https://en.wikipedia.org/wiki/Parallax#Astronomy) is minimal! The moons are labelled with Roman numerals from `I` to `IV`, `I` being the closest to the planet and `IV` being the furthest. They are: -``` - I Io - II Europa - III Ganymede - IV Callisto -``` +- `I` + * [Io](https://science.nasa.gov/jupiter/moons/io) +- `II` + * [Europa](https://science.nasa.gov/jupiter/moons/europa/) +- `III` + * [Ganymede](https://science.nasa.gov/jupiter/moons/ganymede/) +- `IV` + * [Callisto](https://science.nasa.gov/jupiter/moons/callisto) Amazingly, all it takes is a pair of binoculars to see the Galilean moons, so the results can be experimentally checked. (Note that at present, the @@ -135,40 +137,31 @@ Galileo discovered the moons in January 1610. states the following: -``` - By early 1610, Galileo had further improved his telescope by - double its power, so it now enlarged objects a thousand - times. He began looking at the stars and couldn't believe how - many more he could now see! The number seemed infinite. He was - beginning to realize the fixed stars weren't a flat distant - wall on a globe, but a three-dimensional expanse bigger than - anyone had ever thought! - - Then, on January 7, about an hour after sunset, Jupiter rose - in the east, and Galileo happened to turn his powerful scope - on its bright disk. It wasn't the first time he had looked at - Jupiter, but before it was with one of his lesser-powered - telescopes. This time, though, he noticed three small but - bright stars near the planet, two to one side and one to the - other. He wondered at how bright the small stars were and how - they were arranged in what seemed like a straight line. The - next night he decided to look at Jupiter again, and to his - surprise, the stars had moved. But not in such a way as he - would expect. If Jupiter was moving as it normally should, the - stars would be east of Jupiter. But all three were to the - west! The next night was cloudy, but on January 10, Galileo - was able to observe the planet again. One of the stars was - gone, and the other two were now on the east side. As the - stars moved around Jupiter on each succeeding night, and were - finally joined by a fourth star, it dawned on Galileo that - what he had found were moons orbiting Jupiter! Almost at once - he realized that this was proof that not all objects orbited - the Earth. Here were four bodies that were orbiting - Jupiter. One argument against the sun-centered theory was, if - the Earth orbited the sun, wouldn't the moon get left behind? - Here he could see for himself that somehow, a planet could - orbit the sun, and not leave a moon behind! -``` +> By early 1610, Galileo had further improved his telescope by double its power, +so it now enlarged objects a thousand times. He began looking at the stars and +couldn't believe how many more he could now see! The number seemed infinite. He +was beginning to realize the fixed stars weren't a flat distant wall on a globe, +but a three-dimensional expanse bigger than anyone had ever thought! +> +> Then, on January 7, about an hour after sunset, Jupiter rose in the east, +and Galileo happened to turn his powerful scope on its bright disk. It wasn't +the first time he had looked at Jupiter, but before it was with one of his +lesser-powered telescopes. This time, though, he noticed three small but bright +stars near the planet, two to one side and one to the other. He wondered at how +bright the small stars were and how they were arranged in what seemed like a +straight line. The next night he decided to look at Jupiter again, and to his +surprise, the stars had moved. But not in such a way as he would expect. If +Jupiter was moving as it normally should, the stars would be east of Jupiter. +But all three were to the west! The next night was cloudy, but on January 10, +Galileo was able to observe the planet again. One of the stars was gone, and the +other two were now on the east side. As the stars moved around Jupiter on each +succeeding night, and were finally joined by a fourth star, it dawned on Galileo +that what he had found were moons orbiting Jupiter! Almost at once he realized +that this was proof that not all objects orbited the Earth. Here were four +bodies that were orbiting Jupiter. One argument against the sun-centered theory +was, if the Earth orbited the sun, wouldn't the moon get left behind? Here he +could see for himself that somehow, a planet could orbit the sun, and not leave +a moon behind! Thus we can plot Galileo's discoveries using the following three plots: @@ -210,7 +203,9 @@ This program assumes: 1. The ASCII character set is used. -2. That an enormous comet hasn't changed the course of Jupiter (or Earth!). +2. That an enormous comet hasn't changed the course of +[Jupiter](https://science.nasa.gov/jupiter/) (or +[Earth](https://science.nasa.gov/earth/)!). 3. That the date has not been specified as the gap between the [Julian](https://en.wikipedia.org/wiki/Julian_calendar) and @@ -234,7 +229,7 @@ run from the surface of [Mars](https://science.nasa.gov/mars/). In addition to the normal obfuscations, I feel that the code contains some less common tricks. Taken through the standard rounds listed in the -[guidelines](../../2000/guidelines.txt), the code attempts to pass these as follows: +[guidelines](../guidelines.txt), the code attempts to pass these as follows: 1. Look at the original source diff --git a/2000/rince/index.html b/2000/rince/index.html index 8cfbb108c..9ae1bb647 100644 --- a/2000/rince/index.html +++ b/2000/rince/index.html @@ -409,7 +409,7 @@ Location: GB - United Kingdom of Great

To build:

    make all
-

NOTE: this entry requires the X11/Xlib.h header file and the X11 library to +

NOTE: this entry requires the X11/Xlib.h header file and the X11 library to compile. For more information see the FAQ on “X11”.

Bugs and (Mis)features:

@@ -457,16 +457,30 @@ for an example.

What it does

This program plots the positions of the four Galilean moons of -Jupiter, as seen from -Earth. It doesn’t correct for your +Jupiter, as seen from +Earth. It doesn’t correct for your location on Earth, but I assure you that the parallax is minimal!

The moons are labelled with Roman numerals from I to IV, I being the closest to the planet and IV being the furthest. They are:

-
    I     Io
-    II    Europa
-    III   Ganymede
-    IV    Callisto
+

Amazingly, all it takes is a pair of binoculars to see the Galilean moons, so the results can be experimentally checked. (Note that at present, the best views of Jupiter are over the autumn/winter.)

@@ -487,38 +501,32 @@ confusion, please consult the following chart (*):

Galileo discovered the moons in January 1610. https://web.archive.org/web/20001204212000/http://www-isds.jpl.nasa.gov/cwo/cwo_54ga/html/cd/galileo.htm states the following:

-
    By early 1610, Galileo had further improved his telescope by
-    double its power, so it now enlarged objects a thousand
-    times. He began looking at the stars and couldn't believe how
-    many more he could now see! The number seemed infinite. He was
-    beginning to realize the fixed stars weren't a flat distant
-    wall on a globe, but a three-dimensional expanse bigger than
-    anyone had ever thought!
-
-    Then, on January 7, about an hour after sunset, Jupiter rose
-    in the east, and Galileo happened to turn his powerful scope
-    on its bright disk. It wasn't the first time he had looked at
-    Jupiter, but before it was with one of his lesser-powered
-    telescopes. This time, though, he noticed three small but
-    bright stars near the planet, two to one side and one to the
-    other. He wondered at how bright the small stars were and how
-    they were arranged in what seemed like a straight line. The
-    next night he decided to look at Jupiter again, and to his
-    surprise, the stars had moved. But not in such a way as he
-    would expect. If Jupiter was moving as it normally should, the
-    stars would be east of Jupiter. But all three were to the
-    west! The next night was cloudy, but on January 10, Galileo
-    was able to observe the planet again. One of the stars was
-    gone, and the other two were now on the east side. As the
-    stars moved around Jupiter on each succeeding night, and were
-    finally joined by a fourth star, it dawned on Galileo that
-    what he had found were moons orbiting Jupiter!  Almost at once
-    he realized that this was proof that not all objects orbited
-    the Earth. Here were four bodies that were orbiting
-    Jupiter. One argument against the sun-centered theory was, if
-    the Earth orbited the sun, wouldn't the moon get left behind?
-    Here he could see for himself that somehow, a planet could
-    orbit the sun, and not leave a moon behind!
+
+

By early 1610, Galileo had further improved his telescope by double its power, +so it now enlarged objects a thousand times. He began looking at the stars and +couldn’t believe how many more he could now see! The number seemed infinite. He +was beginning to realize the fixed stars weren’t a flat distant wall on a globe, +but a three-dimensional expanse bigger than anyone had ever thought!

+

Then, on January 7, about an hour after sunset, Jupiter rose in the east, +and Galileo happened to turn his powerful scope on its bright disk. It wasn’t +the first time he had looked at Jupiter, but before it was with one of his +lesser-powered telescopes. This time, though, he noticed three small but bright +stars near the planet, two to one side and one to the other. He wondered at how +bright the small stars were and how they were arranged in what seemed like a +straight line. The next night he decided to look at Jupiter again, and to his +surprise, the stars had moved. But not in such a way as he would expect. If +Jupiter was moving as it normally should, the stars would be east of Jupiter. +But all three were to the west! The next night was cloudy, but on January 10, +Galileo was able to observe the planet again. One of the stars was gone, and the +other two were now on the east side. As the stars moved around Jupiter on each +succeeding night, and were finally joined by a fourth star, it dawned on Galileo +that what he had found were moons orbiting Jupiter! Almost at once he realized +that this was proof that not all objects orbited the Earth. Here were four +bodies that were orbiting Jupiter. One argument against the sun-centered theory +was, if the Earth orbited the sun, wouldn’t the moon get left behind? Here he +could see for himself that somehow, a planet could orbit the sun, and not leave +a moon behind!

+

Thus we can plot Galileo’s discoveries using the following three plots:

    ./rince 0 $(./dmy2jd  7.8 1 1610)
     ./rince 0 $(./dmy2jd  8.8 1 1610)
@@ -543,7 +551,9 @@ description of the origins of Julian Days can be found at
 

This program assumes:

  1. The ASCII character set is used.

  2. -
  3. That an enormous comet hasn’t changed the course of Jupiter (or Earth!).

  4. +
  5. That an enormous comet hasn’t changed the course of +Jupiter (or +Earth!).

  6. That the date has not been specified as the gap between the Julian and Gregorian calendar.

  7. @@ -560,7 +570,7 @@ run from the surface of Mars.

    Obfuscations

    In addition to the normal obfuscations, I feel that the code contains some less common tricks. Taken through the standard rounds listed in the -guidelines, the code attempts to pass these as follows:

    +guidelines, the code attempts to pass these as follows:

    1. Look at the original source

      With luck, pure casual inspection should not reveal much except diff --git a/2000/robison/README.md b/2000/robison/README.md index cfa4583bf..52eccf3ba 100644 --- a/2000/robison/README.md +++ b/2000/robison/README.md @@ -34,7 +34,7 @@ Highly Compressed Program for Playing Hygienic Checkers ### FIELD OF INVENTION The present invention generally relates to -[checkers](https://en.wikipedia.org/wiki/Checkers). +[Checkers](https://en.wikipedia.org/wiki/Checkers). ### BACKGROUND OF THE INVENTION diff --git a/2000/robison/index.html b/2000/robison/index.html index b4125a823..7501a04fc 100644 --- a/2000/robison/index.html +++ b/2000/robison/index.html @@ -424,7 +424,7 @@ author a patent he applied for. :-)

      Highly Compressed Program for Playing Hygienic Checkers

      FIELD OF INVENTION

      The present invention generally relates to -checkers.

      +Checkers.

      BACKGROUND OF THE INVENTION

      Within the field of Checkers, the problem of finding a hygienic opponent is difficult, as good opponents are diff --git a/2000/schneiderwent/README.md b/2000/schneiderwent/README.md index be7524f49..4e63ae4a2 100644 --- a/2000/schneiderwent/README.md +++ b/2000/schneiderwent/README.md @@ -53,9 +53,7 @@ keeping the program portable between different encodings This entry displays the current time to the console, for example: -``` - it's just after ten 'til 6 in the evening -``` +> it's just after ten 'til 6 in the evening FWIW, none of the compilers with which this entry was tested issued any warnings or errors in compiling the source for this entry. No @@ -79,10 +77,10 @@ Obfuscation in this entry consists of: [EBCDIC](https://en.wikipedia.org/wiki/EBCDIC) character values - this is not an attempt at encryption, but rather at cross platform compatibility. * [ASCII](https://en.wikipedia.org/wiki/ASCII) character values are calculated -from the EBCDIC in a particularly ugly abuse of the `?:` operator. -* Detection of whether to print the ASCII or EBCDIC values is done by taking the -remainder of dividing the character `'J'` by `2` - the ASCII value of the -character is even, the EBCDIC value is odd. +from the [EBCDIC](https://en.wikipedia.org/wiki/EBCDIC) in a particularly ugly +abuse of the `?:` operator. Detection of whether to print the ASCII or EBCDIC +values is done by taking the remainder of dividing the character `'J'` by `2` - +the ASCII value of the character is even, the EBCDIC value is odd. * The messages to be `printf(3)`ed are determined via multiple table lookups and bit-masked values. * For minutes, the bit position turned on is multiplied by two to determine the diff --git a/2000/schneiderwent/index.html b/2000/schneiderwent/index.html index 8fa4811cf..3403532f9 100644 --- a/2000/schneiderwent/index.html +++ b/2000/schneiderwent/index.html @@ -432,7 +432,9 @@ keeping the program portable between different encodings (Chinese, Japanese, Russian - anyone?) may be an entertaining task.

      Author’s remarks:

      This entry displays the current time to the console, for example:

      -
          it's just after ten 'til 6 in the evening
      +
      +

      it’s just after ten ’til 6 in the evening

      +

      FWIW, none of the compilers with which this entry was tested issued any warnings or errors in compiling the source for this entry. No doubt lint will complain about the goto statements.

      @@ -451,10 +453,10 @@ deficiency.

      EBCDIC character values - this is not an attempt at encryption, but rather at cross platform compatibility.
    2. ASCII character values are calculated -from the EBCDIC in a particularly ugly abuse of the ?: operator.
    3. -
    4. Detection of whether to print the ASCII or EBCDIC values is done by taking the -remainder of dividing the character 'J' by 2 - the ASCII value of the -character is even, the EBCDIC value is odd.
    5. +from the EBCDIC in a particularly ugly +abuse of the ?: operator. Detection of whether to print the ASCII or EBCDIC +values is done by taking the remainder of dividing the character 'J' by 2 - +the ASCII value of the character is even, the EBCDIC value is odd.
    6. The messages to be printf(3)ed are determined via multiple table lookups and bit-masked values.
    7. For minutes, the bit position turned on is multiplied by two to determine the diff --git a/2000/thadgavin/README.md b/2000/thadgavin/README.md index ec021e25a..5b5085043 100644 --- a/2000/thadgavin/README.md +++ b/2000/thadgavin/README.md @@ -4,16 +4,16 @@ make alt ``` -NOTE: if you don't have curses or SDL1 installed both modes will fail to compile. In +**NOTE**: if you don't have curses or SDL1 installed both modes will fail to compile. In that case see the FAQ on "[SDL1 and SDL2](../../faq.html#SDL)" and the -FAQ on "[ncurses](../../faq.html#curses)" +FAQ on "[(n)curses](../../faq.html#curses)" for more information. We recommend that you use the alternate code so you can see what this entry looked like back in 2000 (with a configurable speed). See the -[original code](#original-code) section for the original entry. +[Original code](#original-code) section for the original entry. ## To use: @@ -64,14 +64,14 @@ in the same command. ## Original code: -WARNING: if you are sensitive to rapid movement or if you want to see better -what is going on then please use the alternate code as described above. If you +**WARNING**: if you are sensitive to rapid movement or if you want to see better +what is going on then please use the [Alternate code](#to-build) as described above. If you wish to see the original entry see below. -NOTE: in curses mode you might want to type `reset` after execution of this +**NOTE**: in curses mode you might want to type `reset` after execution of this program if your terminal is messed up after exiting the program (send intr, typically ctrl-c) as the program does not call `endwin()`. Using `reset` will -clear the screen. The alternate code, as noted above, allows one to quit early so this +clear the screen. The [Alternate code](#to-build), as noted above, allows one to quit early so this is not a problem there. diff --git a/2000/thadgavin/index.html b/2000/thadgavin/index.html index 9f97e1062..6b7c24a75 100644 --- a/2000/thadgavin/index.html +++ b/2000/thadgavin/index.html @@ -414,15 +414,15 @@ Location: GB - United Kingdom of Great

      To build:

          make alt
      -

      NOTE: if you don’t have curses or SDL1 installed both modes will fail to compile. In +

      NOTE: if you don’t have curses or SDL1 installed both modes will fail to compile. In that case see the FAQ on “SDL1 and SDL2” and the -FAQ on “ncurses” +FAQ on “(n)curses” for more information.

      We recommend that you use the alternate code so you can see what this entry looked like back in 2000 (with a configurable speed). See the -original code section for the original entry.

      +Original code section for the original entry.

      To use:

          ./thadgavin.alt

      You can press ‘q’ at any time to exit.

      @@ -446,13 +446,13 @@ microseconds) for the SDL version.

      it’s better to not tie the two values together. You may of course redefine both in the same command.

      Original code:

      -

      WARNING: if you are sensitive to rapid movement or if you want to see better -what is going on then please use the alternate code as described above. If you +

      WARNING: if you are sensitive to rapid movement or if you want to see better +what is going on then please use the Alternate code as described above. If you wish to see the original entry see below.

      -

      NOTE: in curses mode you might want to type reset after execution of this +

      NOTE: in curses mode you might want to type reset after execution of this program if your terminal is messed up after exiting the program (send intr, typically ctrl-c) as the program does not call endwin(). Using reset will -clear the screen. The alternate code, as noted above, allows one to quit early so this +clear the screen. The Alternate code, as noted above, allows one to quit early so this is not a problem there.

      Original build:

          make all
      diff --git a/2000/tomx/README.md b/2000/tomx/README.md index a18b918e9..7932899a7 100644 --- a/2000/tomx/README.md +++ b/2000/tomx/README.md @@ -4,8 +4,8 @@ make ``` -There is an alternate version that compiles [mkentry.c](%%REPO_URL%%/2000/mkentry.c). See -[alternate code](#alternate-code). +There is an alternate version that compiles [mkentry.c](%%REPO_URL%%/2000/tomx/mkentry.c). See +[Alternate code](#alternate-code). ## To use: @@ -100,7 +100,7 @@ the `main()`, leaving the complexities of the C file elsewhere and making this source still acceptable to `make` and `sh`. The following modification to the last few lines will compile the IOCCC's famous [mkentry.c](%%REPO_URL%%/2000/tomx/mkentry.c). -``` +``` .PHONY: /* true clean */ #undef true #include "mkentry.c" diff --git a/2000/tomx/index.html b/2000/tomx/index.html index 6b78598a7..745edb1fd 100644 --- a/2000/tomx/index.html +++ b/2000/tomx/index.html @@ -409,8 +409,8 @@ Location: NL - Kingdom of the Netherlan

      To build:

          make
      -

      There is an alternate version that compiles mkentry.c. See -alternate code.

      +

      There is an alternate version that compiles mkentry.c. See +Alternate code.

      To use:

          ./tomx

      Try: