add notices to those who wish for a greater challenge

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.
This commit is contained in:
Landon Curt Noll committed 2024-07-07 00:25:20 -07:00
1 parent 7af7a80cca
commit 2e2ae5f132
112 files changed
+845 -216

No files matched your search

+9
View File
@@ -228,10 +228,19 @@ This allows for a convenient test suite:
```
### 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.
### Obfuscation:
If you do not want to puzzle out how it works, see [obfuscation.html](obfuscation.html).
<!--
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
+4
View File
@@ -528,6 +528,10 @@ To stifle these complaints:</p>
This allows for a convenient test suite:</p>
<pre><code> ln -sf prog eprog
PATH=. eprog &lt; test.in | diff - test.out</code></pre>
<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="obfuscation">Obfuscation:</h3>
<p>If you do not want to puzzle out how it works, see <a href="obfuscation.html">obfuscation.html</a>.</p>
<!--
+8
View File
@@ -204,6 +204,14 @@ X86 architectures indeed SSE/AVX is used for the long longs. Following is some
obfuscation information, So if you want to play tough, stop reading at this point.
### 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.
### Portable SIMD programming:
So how is this done? Quite simply by using the whole `long long` arithmetic's
+4
View File
@@ -527,6 +527,10 @@ in a portable way without ever using any SSE/AVX or other non-portable compiler
inline functions! The irony though, is that when compiling the program on modern
X86 architectures indeed SSE/AVX is used for the long longs. Following is some
obfuscation information, So if you want to play tough, stop reading at this point.</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="portable-simd-programming">Portable SIMD programming:</h3>
<p>So how is this done? Quite simply by using the whole <code>long long</code> arithmetic’s
capability. I think the C99 standard assures us that <code>long long</code> has at least 64
+10 -2
View File
@@ -64,7 +64,15 @@ the source code from all angles..
* Find `main()` function.
### 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 is a joke PDP-11 emulator. ("ll-dpd" is embedded in the code.
Read it upside down.)
@@ -80,7 +88,7 @@ You got it? This program is supposed to be used in this way:
You can enjoy the legendary winning entry of the first IOCCC, again.
### Internal
### How this entry works:
This program uses `__attribute__((constructor))`, which is a GCC extension, to
hijack the `main()` function call. And then it interprets `main()` as an
+6 -2
View File
@@ -438,7 +438,11 @@ the same reason. But I believe it is reasonably portable.</li>
the source code from all angles..</li>
<li>Find <code>main()</code> function.</li>
</ul>
<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 is a joke PDP-11 emulator. (“ll-dpd” is embedded in the code.
Read it upside down.)</p>
<p>You got it? This program is supposed to be used in this way:</p>
@@ -446,7 +450,7 @@ Read it upside down.)</p>
clang -o prog prog.c mullender.c
./prog</code></pre>
<p>You can enjoy the legendary winning entry of the first IOCCC, again.</p>
<h3 id="internal">Internal</h3>
<h3 id="how-this-entry-works">How this entry works:</h3>
<p>This program uses <code>__attribute__((constructor))</code>, which is a GCC extension, to
hijack the <code>main()</code> function call. And then it interprets <code>main()</code> as an
instruction sequence.</p>