Skip to content

Commit

Permalink
add notices to those who wish for a greater challenge
Browse files Browse the repository at this point in the history
We add the following level-3 header to help people identify text
they may wish to skip if they wish for a greater challenge:

```
```

After that notice we add:

```
**If you want a greater challenge, don't read any further**:
just try to understand the program via the source.

If you get stuck, come back and read below for additional hints and information.
```

And sometimes follow with:

```
```

Or sometimes follow with:

```
```

Where the alt code impacts a "greater challenge", we add instead:

```
**If you want a greater challenge, don't read any further**:
just try to understand the program without looking at the Alternate code.

If you get stuck, come back and look at the Alternate code.
```

And where a given command impacts a "greater challenge", we add instead:

```
**If you want a greater challenge, don't read any further**:
just try to understand the program without running the command below.

If you get stuck, come back and run the following command:
```

Perform `make www` to perform the above and test under macOS.
  • Loading branch information
lcn2 committed Jul 7, 2024
1 parent 7af7a80 commit 2e2ae5f
Show file tree
Hide file tree
Showing 112 changed files with 838 additions and 209 deletions.
13 changes: 10 additions & 3 deletions 1989/paul/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,8 @@ better debugger or trace could easily be added.

## Judges' remarks:

The author's comments is a detailed program explanation and spoiler. If you
want a real challenge, don't read any further and try to understand the program
via the source.
The author's comments is a detailed program explanation, if you wish to learn more about the obfuscation method used.


### Historical note:

Expand All @@ -55,6 +54,14 @@ However as this is no longer a problem the trailing `\` has been restored in all
versions, both the original and the fixed for modern systems version.


### NOTICE to those who wish for a greater challenge

**If you want a greater challenge, don't read any further**:
just try to understand the program via the source.

If you get stuck, come back and read below for additional hints and information.


## Author's remarks:

This programs computes and prints Fibonacci numbers by
Expand Down
8 changes: 5 additions & 3 deletions 1989/paul/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -420,15 +420,17 @@ <h3 id="alternate-build">Alternate build:</h3>
<h3 id="alternate-use">Alternate use:</h3>
<pre><code> ./paul.alt</code></pre>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>The author’s comments is a detailed program explanation and spoiler. If you
want a real challenge, don’t read any further and try to understand the program
via the source.</p>
<p>The author’s comments is a detailed program explanation, if you wish to learn more about the obfuscation method used.</p>
<h3 id="historical-note">Historical note:</h3>
<p>The original source contained a long line which caused many mailers to barf.
The original file may be re-constructed by removing the trailing <code>\</code> on line 12
and joining lines 12 and 13 together without a space.</p>
<p>However as this is no longer a problem the trailing <code>\</code> has been restored in all
versions, both the original and the fixed for modern systems version.</p>
<h3 id="notice-to-those-who-wish-for-a-greater-challenge">NOTICE to those who wish for a greater challenge</h3>
<p><strong>If you want a greater challenge, don’t read any further</strong>:
just try to understand the program via the source.</p>
<p>If you get stuck, come back and read below for additional hints and information.</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<p>This programs computes and prints Fibonacci numbers by
simulating a Turing machine with the proper program.
Expand Down
11 changes: 10 additions & 1 deletion 1990/dg/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,16 @@ which we have done for the wider audience.
If my preprocessor could hack it, I could write this as one single line rather
than 4, but when I do that I get a complaint "defines nested too deeply".

### Obfuscation spoiler:

### NOTICE to those who wish for a greater challenge

**If you want a greater challenge, don't read any further**:
just try to understand the program via the source.

If you get stuck, come back and read below for additional hints and information.


### How this entry works:

This is another rot13 job (believe it or not) - the `#define`s are a
novel way of adding tokens: `#define b12(x) 12 x` means that at
Expand Down
6 changes: 5 additions & 1 deletion 1990/dg/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -418,7 +418,11 @@ <h2 id="judges-remarks">Judges’ remarks:</h2>
<h2 id="authors-remarks">Author’s remarks:</h2>
<p>If my preprocessor could hack it, I could write this as one single line rather
than 4, but when I do that I get a complaint “defines nested too deeply”.</p>
<h3 id="obfuscation-spoiler">Obfuscation spoiler:</h3>
<h3 id="notice-to-those-who-wish-for-a-greater-challenge">NOTICE to those who wish for a greater challenge</h3>
<p><strong>If you want a greater challenge, don’t read any further</strong>:
just try to understand the program via the source.</p>
<p>If you get stuck, come back and read below for additional hints and information.</p>
<h3 id="how-this-entry-works">How this entry works:</h3>
<p>This is another rot13 job (believe it or not) - the <code>#define</code>s are a
novel way of adding tokens: <code>#define b12(x) 12 x</code> means that at
some point in the source a <code>12</code> is followed by the compressed nested
Expand Down
10 changes: 9 additions & 1 deletion 1990/pjr/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,15 @@ By use of pointers to functions returning a struct of pointers
to functions!


### Spoiler:
### NOTICE to those who wish for a greater challenge

**If you want a greater challenge, don't read any further**:
just try to understand the program via the source.

If you get stuck, come back and read below for additional hints and information.


### What this entry does:

This program prints out the string:

Expand Down
6 changes: 5 additions & 1 deletion 1990/pjr/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,11 @@ <h2 id="judges-remarks">Judges’ remarks:</h2>
it is done?</p>
<p>By use of pointers to functions returning a struct of pointers
to functions!</p>
<h3 id="spoiler">Spoiler:</h3>
<h3 id="notice-to-those-who-wish-for-a-greater-challenge">NOTICE to those who wish for a greater challenge</h3>
<p><strong>If you want a greater challenge, don’t read any further</strong>:
just try to understand the program via the source.</p>
<p>If you get stuck, come back and read below for additional hints and information.</p>
<h3 id="what-this-entry-does">What this entry does:</h3>
<p>This program prints out the string:</p>
<blockquote>
<p>the quick brown fox jumped over the lazy dog</p>
Expand Down
11 changes: 10 additions & 1 deletion 1991/davidguy/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,16 @@ In other words, even if we took steps to present the algorithm clearly, (we
haven't) the relation of the computation performed to the specification of what
the program was supposed to do would still be hard to understand.

### Quasi-spoiler on internals:

### NOTICE to those who wish for a greater challenge

**If you want a greater challenge, don't read any further**:
just try to understand the program via the source.

If you get stuck, come back and read below for additional hints and information.


### How this entry works:

The program plays [Conway's Game of
Life](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life) in the root window's
Expand Down
6 changes: 5 additions & 1 deletion 1991/davidguy/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -458,7 +458,11 @@ <h2 id="authors-remarks">Authors’ remarks:</h2>
haven’t) the relation of the computation performed to the specification of what
the program was supposed to do would still be hard to understand.</p></li>
</ol>
<h3 id="quasi-spoiler-on-internals">Quasi-spoiler on internals:</h3>
<h3 id="notice-to-those-who-wish-for-a-greater-challenge">NOTICE to those who wish for a greater challenge</h3>
<p><strong>If you want a greater challenge, don’t read any further</strong>:
just try to understand the program via the source.</p>
<p>If you get stuck, come back and read below for additional hints and information.</p>
<h3 id="how-this-entry-works">How this entry works:</h3>
<p>The program plays <a href="https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life">Conway’s Game of
Life</a> in the root window’s
background pixmap. It starts by setting the background to random
Expand Down
12 changes: 10 additions & 2 deletions 1992/gson/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,10 +142,18 @@ eliminated. As AG also refrains from abusing the preprocessor, it
doesn't really have much to offer in terms of "surface obfuscation".
Instead, it tries to achieve both its speed and its obscurity through a
careful choice of algorithms. Some of the finer points of those
algorithms are outlined in the spoiler below.
algorithms are outlined the section below.


### How it works:
### NOTICE to those who wish for a greater challenge

**If you want a greater challenge, don't read any further**:
just try to understand the program via the source.

If you get stuck, come back and read below for additional hints and information.


### How this entry works:

Here follows a description of some of the data structures and
algorithms used by AG. It is by no means complete, but it may help
Expand Down
8 changes: 6 additions & 2 deletions 1992/gson/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -487,8 +487,12 @@ <h3 id="obfuscatory-notes">Obfuscatory notes</h3>
doesn’t really have much to offer in terms of “surface obfuscation”.
Instead, it tries to achieve both its speed and its obscurity through a
careful choice of algorithms. Some of the finer points of those
algorithms are outlined in the spoiler below.</p>
<h3 id="how-it-works">How it works:</h3>
algorithms are outlined the section below.</p>
<h3 id="notice-to-those-who-wish-for-a-greater-challenge">NOTICE to those who wish for a greater challenge</h3>
<p><strong>If you want a greater challenge, don’t read any further</strong>:
just try to understand the program via the source.</p>
<p>If you get stuck, come back and read below for additional hints and information.</p>
<h3 id="how-this-entry-works">How this entry works:</h3>
<p>Here follows a description of some of the data structures and
algorithms used by AG. It is by no means complete, but it may help
you get an idea about the general principles.</p>
Expand Down
11 changes: 10 additions & 1 deletion 1993/plummer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,16 @@ compilers) complain that there is no control path leading to a return from
`main()`. At 125 characters, it still fits on a single line (for those of us
who don't mind ruining our eyes with 132 column screens).

### Obfuscation:

### NOTICE to those who wish for a greater challenge

**If you want a greater challenge, don't read any further**:
just try to understand the program via the source.

If you get stuck, come back and read below for additional hints and information.


### How this entry works:

The first statement points the base of `l` (the argument vector) to
be the first argument by incrementing it. It then assigns `O` to
Expand Down
6 changes: 5 additions & 1 deletion 1993/plummer/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -481,7 +481,11 @@ <h2 id="authors-remarks">Author’s remarks:</h2>
compilers) complain that there is no control path leading to a return from
<code>main()</code>. At 125 characters, it still fits on a single line (for those of us
who don’t mind ruining our eyes with 132 column screens).</p>
<h3 id="obfuscation">Obfuscation:</h3>
<h3 id="notice-to-those-who-wish-for-a-greater-challenge">NOTICE to those who wish for a greater challenge</h3>
<p><strong>If you want a greater challenge, don’t read any further</strong>:
just try to understand the program via the source.</p>
<p>If you get stuck, come back and read below for additional hints and information.</p>
<h3 id="how-this-entry-works">How this entry works:</h3>
<p>The first statement points the base of <code>l</code> (the argument vector) to
be the first argument by incrementing it. It then assigns <code>O</code> to
point to the character before the first character of the second
Expand Down
13 changes: 12 additions & 1 deletion 1994/horton/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,15 @@ numbers to get a pleasing result, or use it for your high school algebra
class.


### SPOILER:
### NOTICE to those who wish for a greater challenge

**If you want a greater challenge, don't read any further**:
just try to understand the program via the source.

If you get stuck, come back and read below for additional hints and information.


### What this entry does:

As should be obvious from 20 feet away, the program is a cubic plotter.
It plots against certain artists, splattering their cubes with graphs
Expand All @@ -85,6 +93,9 @@ See the [gtface](%%REPO_URL%%/1994/horton/gtface.c) program for another example.
./gtface < gtface.data
```


### How this entry works:

For more information, see my article

[Using GraphTab; USENIX ;login: Sept/Oct 1992, pages 28-31](login_sept92-pp28-31.pdf).
Expand Down
7 changes: 6 additions & 1 deletion 1994/horton/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -429,7 +429,11 @@ <h2 id="authors-remarks">Author’s remarks:</h2>
<p>Run it with any 4 numeric arguments, e.g. <code>./horton 3 2 1 0</code>. Play with the
numbers to get a pleasing result, or use it for your high school algebra
class.</p>
<h3 id="spoiler">SPOILER:</h3>
<h3 id="notice-to-those-who-wish-for-a-greater-challenge">NOTICE to those who wish for a greater challenge</h3>
<p><strong>If you want a greater challenge, don’t read any further</strong>:
just try to understand the program via the source.</p>
<p>If you get stuck, come back and read below for additional hints and information.</p>
<h3 id="what-this-entry-does">What this entry does:</h3>
<p>As should be obvious from 20 feet away, the program is a cubic plotter.
It plots against certain artists, splattering their cubes with graphs
of their cubic equations. Those dastardly arguments are mere coefficients,
Expand All @@ -439,6 +443,7 @@ <h3 id="spoiler">SPOILER:</h3>
<p>See the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1994/horton/gtface.c">gtface</a> program for another example. Try:</p>
<pre><code> make gtface
./gtface &lt; gtface.data</code></pre>
<h3 id="how-this-entry-works">How this entry works:</h3>
<p>For more information, see my article</p>
<p><a href="login_sept92-pp28-31.pdf">Using GraphTab; USENIX ;login: Sept/Oct 1992, pages 28-31</a>.</p>
<pre><code> MMMM,M,MM&quot;MM,,,
Expand Down
11 changes: 10 additions & 1 deletion 1994/imc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,16 @@ parameter or an invalid parameter is given, then 5 is assumed. The
maximum parameter is determined only by the amount of CPU time, virtual
memory and display (or file) space available.

### OBFUSCATION:

### NOTICE to those who wish for a greater challenge

**If you want a greater challenge, don't read any further**:
just try to understand the program via the source.

If you get stuck, come back and read below for additional hints and information.


### How this entry works:

OK, so you have probably seen magic square printers before. But what
about one that deals with even sizes as well as odd ones, or one that
Expand Down
6 changes: 5 additions & 1 deletion 1994/imc/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,11 @@ <h2 id="authors-remarks">Author’s remarks:</h2>
parameter or an invalid parameter is given, then 5 is assumed. The
maximum parameter is determined only by the amount of CPU time, virtual
memory and display (or file) space available.</p>
<h3 id="obfuscation">OBFUSCATION:</h3>
<h3 id="notice-to-those-who-wish-for-a-greater-challenge">NOTICE to those who wish for a greater challenge</h3>
<p><strong>If you want a greater challenge, don’t read any further</strong>:
just try to understand the program via the source.</p>
<p>If you get stuck, come back and read below for additional hints and information.</p>
<h3 id="how-this-entry-works">How this entry works:</h3>
<p>OK, so you have probably seen magic square printers before. But what
about one that deals with even sizes as well as odd ones, or one that
prints out a different one each time (or attempts to, at any rate)?</p>
Expand Down
8 changes: 8 additions & 0 deletions 1994/schnitzi/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,14 @@ You might also wish to redirect the output to another file,
compile it and compare how it works to the original code.


### NOTICE to those who wish for a greater challenge

**If you want a greater challenge, don't read any further**:
just try to understand the program via the source.

If you get stuck, come back and read below for additional hints and information.


## Author's remarks:

This is a program which takes any text file as input and 'flips'
Expand Down
4 changes: 4 additions & 0 deletions 1994/schnitzi/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -438,6 +438,10 @@ <h2 id="judges-remarks">Judges’ remarks:</h2>
find out why?</p>
<p>You might also wish to redirect the output to another file,
compile it and compare how it works to the original code.</p>
<h3 id="notice-to-those-who-wish-for-a-greater-challenge">NOTICE to those who wish for a greater challenge</h3>
<p><strong>If you want a greater challenge, don’t read any further</strong>:
just try to understand the program via the source.</p>
<p>If you get stuck, come back and read below for additional hints and information.</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<p>This is a program which takes any text file as input and ‘flips’
the input file along a diagonal running from the top left corner
Expand Down
10 changes: 9 additions & 1 deletion 1994/tvr/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,19 @@ Mode may be a value from 0 to 12.

## Alternate code:

The author provided us a spoiler version that might be of interest to some.

### NOTICE to those who wish for a greater challenge

**If you want a greater challenge, don't read any further**:
just try to understand the program without looking at the Alternate code.

If you get stuck, come back and look at the Alternate code.


### Alternate build:

The author provided us a less obfuscated version that might be of interest to some.

``` <!---sh-->
make alt
```
Expand Down
6 changes: 5 additions & 1 deletion 1994/tvr/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -416,8 +416,12 @@ <h2 id="try">Try:</h2>
<pre><code> ./try.color.sh # for colour displays
./try.bw.sh # for Black &amp; White displays</code></pre>
<h2 id="alternate-code">Alternate code:</h2>
<p>The author provided us a spoiler version that might be of interest to some.</p>
<h3 id="notice-to-those-who-wish-for-a-greater-challenge">NOTICE to those who wish for a greater challenge</h3>
<p><strong>If you want a greater challenge, don’t read any further</strong>:
just try to understand the program without looking at the Alternate code.</p>
<p>If you get stuck, come back and look at the Alternate code.</p>
<h3 id="alternate-build">Alternate build:</h3>
<p>The author provided us a less obfuscated version that might be of interest to some.</p>
<pre><code> make alt</code></pre>
<h3 id="alternate-use">Alternate use:</h3>
<pre><code> ./tvr.alt altmode screensize/2 &lt; colormapfile</code></pre>
Expand Down
8 changes: 7 additions & 1 deletion 1994/westley/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,13 @@ To see the game from start to complete, try:

Not all compiler errors are bad.

For spoilers see the end of the notes from the author below.

### NOTICE to those who wish for a greater challenge

**If you want a greater challenge, don't read any further**:
just try to understand the program via the source.

If you get stuck, come back and read below for additional hints and information.


## Author's remarks:
Expand Down
5 changes: 4 additions & 1 deletion 1994/westley/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -463,7 +463,10 @@ <h3 id="original-try">Original try:</h3>
<pre><code> ./try.sh</code></pre>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>Not all compiler errors are bad.</p>
<p>For spoilers see the end of the notes from the author below.</p>
<h3 id="notice-to-those-who-wish-for-a-greater-challenge">NOTICE to those who wish for a greater challenge</h3>
<p><strong>If you want a greater challenge, don’t read any further</strong>:
just try to understand the program via the source.</p>
<p>If you get stuck, come back and read below for additional hints and information.</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<p>This program, in accordance with the rules, compiles into a legal
C program without human intervention. However, it simply compiles
Expand Down
13 changes: 13 additions & 0 deletions 1995/leo/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,19 @@ Special thanks:
[isotopes](https://en.wikipedia.org/wiki/Isotope).


### NOTICE to those who wish for a greater challenge

**If you want a greater challenge, don't read any further**:
just try to understand the program via the source.

If you get stuck, come back and read below for additional hints and information.


### Secret switch

See [secret.html[(secret.html) for a bit if secret switch information.


<!--
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
Expand Down
Loading

0 comments on commit 2e2ae5f

Please sign in to comment.