add rules, guidelines, fix HTML code, move compressed tarball in inventory

By changing the _inventory_order_ of the compressed tarball from
**100000** to **1415926535**, the compressed tarball will land at
the top of the secondary file list and remain still easy to find.

Updated the `manifest.numbers` spreadsheet and rebuilt
the `.entry.json` files.

Added `next/` directory to hold the next IOCCC rules and guidelines.
Added `next/README.md` that `bin/gen-top-html.sh` uses to form
the `next/index.html` file.

Added _Rules and Guidelines_ link to the sidenav bar to link to the
`next/index.html` file.

Added _IOCCC Rules_ as `next/rules.md` that `bin/gen-top-html.sh`
uses to form the `next/rules.html` file.

Added _IOCCC Guidelines_ as `next/guidelines.md` that `bin/gen-top-html.sh`
uses to form the `next/guidelines.html` file.

Changed `bin/gen-top-html.sh` VERSION from "1.2.4 2024-04-13"
to "1.3 2024-04-14".

Prevent `pandoc(1)` from interpreting the commented out language
of a markdown code block as a code class.  So a markdown such as:

````
``` <!---sh-->
...
```
````

that produced HTML of the form:

```html
<pre class="&lt;!---sh--&gt;"><code>...</code></pre>
```

will now produce HTML of the form:

```html
<pre><code>...</code></pre>
```

NOTE: Before when the language of a markdown code block
was not commented, the HTML produced by `pandoc(1)` was
oddly indented with extra whitespace on the first line
of the code block.  While commenting out the language
of the code block removed some of the odd intending,
it left a weird class in the HTML pre block that
surrounded the HTML code block.  This hack prevents
`pandoc(1)` from assigning a class to the HTML pre block.

Changed `in/md2html.sh` VERSION from "1.2.1 2024-04-13"
to "1.3 2024-04-14".

Added `make gen_sitemap` to end of both `make www` and `make
quick_www` in top level Makefile.

Ram `make www` to test under macOS and to perform the above.

**IMPORTANT NOTE**: The current `next/rules.md` and `next/guidelines.md`
are simply the 2020 IOCCC Rules and Guidelines converted into
markdown form.  There are **NOT** the Rules and Guidelines that
will be used the IOCCC MOCK, nor the next IOCCC.

TODO: Improve the `bin/gen-status.sh` tool to modify the top of the
      `next/rules.md` and `next/guidelines.md` files to keep them
      in sync with the _contest_status_ as found in `status.json`.

TODO: Improve the look and feel of the `next/rules.md` and
      `next/guidelines.md` markdown files.
This commit is contained in:
Landon Curt Noll committed 2024-04-14 16:54:24 -07:00
1 parent a672335d2d
commit 518a6336d0
734 files changed
+7919 -4119

No files matched your search

+1 -1
View File
@@ -51,7 +51,7 @@
},
{
"file_path" : "1984_anonymous.tar.bz2",
"inventory_order" : 100000,
"inventory_order" : 1415926535,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
+6 -5
View File
@@ -88,6 +88,7 @@
<div class="sidenav">
<a href="../../news.html">IOCCC News</a>
<a href="../../status.html">Contest status</a>
<a href="../../next/index.html">Rules and Guidelines</a>
<a href="../../faq.html#submit">How to enter the IOCCC</a>
<a href="../../faq.html">FAQ</a>
</div>
@@ -141,19 +142,19 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<h2 id="to-build">To build:</h2>
<pre class="&lt;!---sh--&gt;"><code> make all</code></pre>
<pre><code> make all</code></pre>
<h2 id="to-use">To use:</h2>
<pre class="&lt;!---sh--&gt;"><code> ./anonymous</code></pre>
<pre><code> ./anonymous</code></pre>
<h2 id="alternate-code">Alternate code:</h2>
<p>The original version of this entry was added, by request,
in order to show the code that was turned into the
<a href="https://web.archive.org/web/20070120220721/https://thomasscovell.com/tattoo.php">tattoo</a>,
as the alternate code. See below for the tattoo side-by-side with the code.</p>
<h3 id="alternate-build">Alternate build:</h3>
<pre class="&lt;!---sh--&gt;"><code> make alt</code></pre>
<pre><code> make alt</code></pre>
<h3 id="alternate-use">Alternate use:</h3>
<p>NOTE: this version might not work on some systems like macOS.</p>
<pre class="&lt;!---sh--&gt;"><code> ./anonymous.alt</code></pre>
<pre><code> ./anonymous.alt</code></pre>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>The author was too embarrassed that they could write such trash, so I
promised to protect their identity. I will say that the author of this
@@ -221,10 +222,10 @@ ends in a smily face: <code>;}</code>.</p>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/anonymous/anonymous.alt.c">anonymous.alt.c</a> - alternative source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/anonymous/anonymous.orig.c">anonymous.orig.c</a> - original source</li>
<li><a href="1984-anonymous-tattoo.jpg">1984-anonymous-tattoo.jpg</a> - source code tattoo</li>
<li><a href="1984_anonymous.tar.bz2">1984_anonymous.tar.bz2</a> - download entry tarball</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>
<li><a href="1984_anonymous.tar.bz2">1984_anonymous.tar.bz2</a> - download entry tarball</li>
<li><a href="index.html">index.html</a> - this web page</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/anonymous/README.md">README.md</a> - markdown source for this web page</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/anonymous/.entry.json">.entry.json</a> - description of entry in JSON</li>
+1 -1
View File
@@ -43,7 +43,7 @@
},
{
"file_path" : "1984_decot.tar.bz2",
"inventory_order" : 100000,
"inventory_order" : 1415926535,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
+9 -8
View File
@@ -88,6 +88,7 @@
<div class="sidenav">
<a href="../../news.html">IOCCC News</a>
<a href="../../status.html">Contest status</a>
<a href="../../next/index.html">Rules and Guidelines</a>
<a href="../../faq.html#submit">How to enter the IOCCC</a>
<a href="../../faq.html">FAQ</a>
</div>
@@ -141,7 +142,7 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<h2 id="to-build">To build:</h2>
<pre class="&lt;!---sh--&gt;"><code> make all</code></pre>
<pre><code> make all</code></pre>
<p>NOTE: there is an <a href="#alternate-code">alternate version</a> which will only work if
you have an old enough compiler or a compiler that supports <code>-traditional-cpp</code>.
The original code was fixed in 2023 to not require this.</p>
@@ -150,15 +151,15 @@ The original code was fixed in 2023 to not require this.</p>
<pre><code> STATUS: INABIAF - please **DO NOT** fix</code></pre>
<p>For more detailed information see <a href="../../bugs.html#1984_decot">1984 decot bugs</a>.</p>
<h2 id="to-use">To use:</h2>
<pre class="&lt;!---sh--&gt;"><code> ./decot</code></pre>
<pre><code> ./decot</code></pre>
<h2 id="alternate-code">Alternate code:</h2>
<p>This alternate code, the original, requires a compiler that supports
<code>-traditional-cpp</code> or an old enough compiler. If you have such a compiler you
can use this version.</p>
<h3 id="alternate-build">Alternate build:</h3>
<pre class="&lt;!---sh--&gt;"><code> make alt</code></pre>
<pre><code> make alt</code></pre>
<h3 id="alternate-use">Alternate use:</h3>
<pre class="&lt;!---sh--&gt;"><code> ./decot.alt</code></pre>
<pre><code> ./decot.alt</code></pre>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>This program prints out what looks like a fragment of C code.</p>
<p>Is this a <strong>bug</strong> or is this a <strong>feature</strong>? To help choose
@@ -166,13 +167,13 @@ the judges offer this one comment: understand remarks!</p>
<h3 id="historical-remarks">Historical remarks:</h3>
<p>Some new (in 1984) compilers disliked line 15 of the original source, so we
changed it from:</p>
<pre class="&lt;!---c--&gt;"><code> for(signal=0;*k * x * __FILE__ *i;) do {</code></pre>
<pre><code> for(signal=0;*k * x * __FILE__ *i;) do {</code></pre>
<p>to:</p>
<pre class="&lt;!---c--&gt;"><code> for(signal=0;*k *x * __FILE__ *i;) do {</code></pre>
<pre><code> for(signal=0;*k *x * __FILE__ *i;) do {</code></pre>
<p>To see what we mean look at the <a href="decot.orig.c">original source file</a>. The
<a href="decot.alt.c">alternate code</a> is the version that has this modification. The
fixed version has instead:</p>
<pre class="&lt;!---c--&gt;"><code> for(signal=0;*k *= * __FILE__ *i;) do {</code></pre>
<pre><code> for(signal=0;*k *= * __FILE__ *i;) do {</code></pre>
<h2 id="authors-remarks">Author’s remarks:</h2>
<p>No remarks were provided by the author.</p>
<!--
@@ -202,10 +203,10 @@ fixed version has instead:</p>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/decot/Makefile">Makefile</a> - entry Makefile</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/decot/decot.alt.c">decot.alt.c</a> - alternative source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/decot/decot.orig.c">decot.orig.c</a> - original source</li>
<li><a href="1984_decot.tar.bz2">1984_decot.tar.bz2</a> - download entry tarball</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>
<li><a href="1984_decot.tar.bz2">1984_decot.tar.bz2</a> - download entry tarball</li>
<li><a href="index.html">index.html</a> - this web page</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/decot/README.md">README.md</a> - markdown source for this web page</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/decot/.entry.json">.entry.json</a> - description of entry in JSON</li>
+1
View File
@@ -86,6 +86,7 @@
<div class="sidenav">
<a href="../news.html">IOCCC News</a>
<a href="../status.html">Contest status</a>
<a href="../next/index.html">Rules and Guidelines</a>
<a href="../faq.html#submit">How to enter the IOCCC</a>
<a href="../faq.html">FAQ</a>
</div>
+1 -1
View File
@@ -43,7 +43,7 @@
},
{
"file_path" : "1984_laman.tar.bz2",
"inventory_order" : 100000,
"inventory_order" : 1415926535,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
+7 -6
View File
@@ -88,6 +88,7 @@
<div class="sidenav">
<a href="../../news.html">IOCCC News</a>
<a href="../../status.html">Contest status</a>
<a href="../../next/index.html">Rules and Guidelines</a>
<a href="../../faq.html#submit">How to enter the IOCCC</a>
<a href="../../faq.html">FAQ</a>
</div>
@@ -141,21 +142,21 @@ Location: <a href="../../location.html#ZZ">ZZ</a> - <em>Unknown location</em></l
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<h2 id="to-build">To build:</h2>
<pre class="&lt;!---sh--&gt;"><code> make all</code></pre>
<pre><code> make all</code></pre>
<h2 id="to-use">To use:</h2>
<pre class="&lt;!---sh--&gt;"><code> ./laman &lt;positive number&gt;</code></pre>
<pre><code> ./laman &lt;positive number&gt;</code></pre>
<h2 id="try">Try:</h2>
<p>The program accepts ONE POSITIVE number. Seeing is believing, so try things
like:</p>
<pre class="&lt;!---sh--&gt;"><code> ./try.sh</code></pre>
<pre><code> ./try.sh</code></pre>
<p>This code should run you in circles.</p>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>Some new compilers (in 1984) dislike lines 6 and 10 of the source, so we changed
them from:</p>
<pre class="&lt;!---c--&gt;"><code> ;++f)a[ b&lt;&lt;5|c] =d++,b+ =e;for( f=0;f&lt;O
<pre><code> ;++f)a[ b&lt;&lt;5|c] =d++,b+ =e;for( f=0;f&lt;O
&lt;&lt;5|c]^ =a[b&lt;&lt;5 |c]^=a[ (k-(b+1 ))&lt;&lt;5|c]</code></pre>
<p>to:</p>
<pre class="&lt;!---c--&gt;"><code> ;++f)a[ b&lt;&lt;5|c] =d++,b+= e;for( f=0;f&lt;O
<pre><code> ;++f)a[ b&lt;&lt;5|c] =d++,b+= e;for( f=0;f&lt;O
&lt;&lt;5|c]^= a[b&lt;&lt;5 |c]^=a[ (k-(b+1 ))&lt;&lt;5|c]</code></pre>
<p>I hope you have a C beautifier!</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
@@ -187,10 +188,10 @@ them from:</p>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/laman/Makefile">Makefile</a> - entry Makefile</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/laman/laman.orig.c">laman.orig.c</a> - original source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/laman/try.sh">try.sh</a> - how to run</li>
<li><a href="1984_laman.tar.bz2">1984_laman.tar.bz2</a> - download entry tarball</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>
<li><a href="1984_laman.tar.bz2">1984_laman.tar.bz2</a> - download entry tarball</li>
<li><a href="index.html">index.html</a> - this web page</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/laman/README.md">README.md</a> - markdown source for this web page</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/laman/.entry.json">.entry.json</a> - description of entry in JSON</li>
+1 -1
View File
@@ -60,7 +60,7 @@
},
{
"file_path" : "1984_mullender.tar.bz2",
"inventory_order" : 100000,
"inventory_order" : 1415926535,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
+14 -13
View File
@@ -88,6 +88,7 @@
<div class="sidenav">
<a href="../../news.html">IOCCC News</a>
<a href="../../status.html">Contest status</a>
<a href="../../next/index.html">Rules and Guidelines</a>
<a href="../../faq.html#submit">How to enter the IOCCC</a>
<a href="../../faq.html">FAQ</a>
</div>
@@ -144,7 +145,7 @@ Location: <a href="../../location.html#NL">NL</a> - <em>Kingdom of the Netherlan
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<h2 id="to-build">To build:</h2>
<pre class="&lt;!---sh--&gt;"><code> make alt</code></pre>
<pre><code> make alt</code></pre>
<p>NOTE: the original code will not work on any system other than
<a href="https://en.wikipedia.org/wiki/VAX-11">VAX-11</a> and
<a href="https://en.wikipedia.org/wiki/PDP-11">PDP-11</a> and this is why we encourage you
@@ -155,7 +156,7 @@ the original version.</p>
<pre><code> STATUS: INABIAF - please **DO NOT** fix</code></pre>
<p>For more detailed information see <a href="../../bugs.html#1984_mullender">1984 mullender bugs</a>.</p>
<h2 id="to-use">To use:</h2>
<pre class="&lt;!---sh--&gt;"><code> ./mullender.alt [microseconds]</code></pre>
<pre><code> ./mullender.alt [microseconds]</code></pre>
<p>Hit ctrl-c/intr to exit the program.</p>
<p>The default microseconds is 190000 as this is approximately how long it slept in
the original entry but it can be no lower than 5000 as any lower doesn’t work
@@ -169,7 +170,7 @@ overflow!</p>
<p>BTW: is there such a thing as too fast a CPU ? :-) Actually yes for certain code
which is probably not as uncommon as you think :-).</p>
<h2 id="try">Try:</h2>
<pre class="&lt;!---sh--&gt;"><code> ./mullender.alt
<pre><code> ./mullender.alt
./mullender.alt 5000 # wait for 5000 microseconds and see what happens
@@ -184,9 +185,9 @@ happens after some time of waiting?</p>
<a href="https://en.wikipedia.org/wiki/PDP-11">PDP-11</a>. In the following years, 1985 on,
machine dependent code was discouraged.</p>
<h3 id="original-build">Original build:</h3>
<pre class="&lt;!---sh--&gt;"><code> make all</code></pre>
<pre><code> make all</code></pre>
<h3 id="original-use">Original use:</h3>
<pre class="&lt;!---sh--&gt;"><code> ./mullender</code></pre>
<pre><code> ./mullender</code></pre>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>Without question, this C program is the one of the most obfuscated C program
that has ever been received! Like all great contest entries, it resulted in a
@@ -225,11 +226,11 @@ in the <em>fabulous</em> <a href="https://github.com/dspinellis/unix-history-rep
Repo</a>.</p>
<h3 id="gentab-build">gentab build:</h3>
<p><code>gentab.c</code> can be built like:</p>
<pre class="&lt;!---sh--&gt;"><code> make gentab</code></pre>
<pre><code> make gentab</code></pre>
<h3 id="gentab-use">gentab use:</h3>
<pre class="&lt;!---sh--&gt;"><code> ./gentab file</code></pre>
<pre><code> ./gentab file</code></pre>
<h3 id="gentab-try">gentab try:</h3>
<pre class="&lt;!---sh--&gt;"><code> ./gentab gentab &gt; g.c</code></pre>
<pre><code> ./gentab gentab &gt; g.c</code></pre>
<p>NOTE: it is highly unlikely that you will be able to run the output of <code>gentab</code>
but it should at least compile.</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
@@ -312,7 +313,7 @@ that branches over the VAX code. The PDP and VAX codes are thus completely
separate.</p>
<p>The <a href="https://en.wikipedia.org/wiki/Programmed_Data_Processor">PDP</a> and
<a href="https://en.wikipedia.org/wiki/VAX">VAX</a> codes implement the same algorithm:</p>
<pre class="&lt;!---c--&gt;"><code> for (;;) {
<pre><code> for (;;) {
write(1, &quot; :-)\b\b\b\b&quot;, 9);
delay();
}</code></pre>
@@ -333,7 +334,7 @@ simple.</p>
<a href="https://en.wikipedia.org/wiki/Programmed_Data_Processor">PDP</a> code in assembly.
We both knew <a href="https://en.wikipedia.org/wiki/PDP-11">PDP-11</a> assembly so that was
no problem. The assembly code we came up with is as follows:</p>
<pre class="&lt;!---asm--&gt;"><code> pdp:
<pre><code> pdp:
mov pc,r4
tst -(r4)
sub $9, r4
@@ -373,7 +374,7 @@ VAX <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a>, we w
VAX code in C and massaged the
<a href="https://en.wikipedia.org/wiki/Compiler">compiler</a> output. The VAX assembly
program that we came up with is as follows:</p>
<pre class="&lt;!---asm--&gt;"><code> vax: .word 0400 + (pdp - vax) / 2 - 1
<pre><code> vax: .word 0400 + (pdp - vax) / 2 - 1
1:
pushl $9
pushal str
@@ -426,7 +427,7 @@ extracted the machine code from the object file.</p>
<p>NOTE from judges: see <a href="gentab.c">gentab.c</a> for a copy of this file that can be
compiled in modern systems.</p>
</blockquote>
<pre class="&lt;!---c--&gt;"><code> #include &lt;stdio.h&gt;
<pre><code> #include &lt;stdio.h&gt;
#include &lt;a.out.h&gt;
main(argc, argv) char **argv;
@@ -522,10 +523,10 @@ the comment to <code>&amp;&amp;</code>.</p>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/mullender/mullender.orig.c">mullender.orig.c</a> - original source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/mullender/gentab.c">gentab.c</a> - author tool to generate code</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/mullender/a.out.h">a.out.h</a> - header file for gentab.c for compatibility with 1984 systems</li>
<li><a href="1984_mullender.tar.bz2">1984_mullender.tar.bz2</a> - download entry tarball</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>
<li><a href="1984_mullender.tar.bz2">1984_mullender.tar.bz2</a> - download entry tarball</li>
<li><a href="index.html">index.html</a> - this web page</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/mullender/README.md">README.md</a> - markdown source for this web page</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1984/mullender/.entry.json">.entry.json</a> - description of entry in JSON</li>