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
@@ -67,7 +67,7 @@
},
{
"file_path" : "2000_bmeyer.tar.bz2",
"inventory_order" : 100000,
"inventory_order" : 1415926535,
"OK_to_edit" : false,
"display_as" : "tbz2",
"display_via_github" : false,
+13 -12
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,23 +142,23 @@ Location: <a href="../../location.html#AU">AU</a> - <em>Commonwealth of Australi
<!-- 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</code></pre>
<pre><code> make</code></pre>
<h2 id="to-use">To use:</h2>
<pre class="&lt;!---sh--&gt;"><code> ./bmeyer</code></pre>
<pre><code> ./bmeyer</code></pre>
<h2 id="try">Try:</h2>
<p>In a video window (white text on black background):</p>
<pre class="&lt;!---sh--&gt;"><code> ./try.sh</code></pre>
<pre><code> ./try.sh</code></pre>
<p>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.</p>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>Don’t even think of supplying different compression factors (the
dashed argument) for compression and decompression! You’ve been warned.</p>
<p>The author recommended on linux/x86, glibc 2.0, libc4/5:</p>
<pre class="&lt;!---make--&gt;"><code> bmeyer: bmeyer.c
<pre><code> bmeyer: bmeyer.c
CC -DY=&quot;__setfpucw(0x127f)&quot; -O6 $? -o $@ -lm</code></pre>
<p>However many compilers use <code>-O3</code> as the maximum level for <code>-O</code> optimization.</p>
<p>And on linux/x86, glibc 2.1:</p>
<pre class="&lt;!---make--&gt;"><code> bmeyer: bmeyer.c
<pre><code> bmeyer: bmeyer.c
gcc -DY=&#39;int x=0x127f; __asm__ (&quot;fldcw %0&quot; : : &quot;m&quot; (*&amp;x))&#39; $? -o $@ -lm</code></pre>
<p>Compile with the maximum possible optimization on your system.
If your system has 80-bit internal representation of floating
@@ -184,9 +185,9 @@ 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:</p>
<pre class="&lt;!---sh--&gt;"><code> ./glicbawls &lt; michael.pgm &gt; michael.glic</code></pre>
<pre><code> ./glicbawls &lt; michael.pgm &gt; michael.glic</code></pre>
<p>and then</p>
<pre class="&lt;!---sh--&gt;"><code> ./glicbawls &lt; michael.glic &gt; michael.decoded.pgm</code></pre>
<pre><code> ./glicbawls &lt; michael.glic &gt; michael.decoded.pgm</code></pre>
<p>As it turns out, <code>glicbawls</code> compresses greyscale images (or, more
precisely, “natural” greyscale images) better than any other
program I am aware of (with the exception of the not-yet-published
@@ -199,7 +200,7 @@ have trouble recognizing the image, try squinting at it ;-).</p>
<p>If you still have trouble, simply use a terminal or xterm with
more than 80 columns, and tell <code>glicbawls</code> about it by giving the
number of columns as an argument. For example</p>
<pre class="&lt;!---sh--&gt;"><code> ./glicbawls 260 &lt;lavabus.pgm &gt;lavabus.glic</code></pre>
<pre><code> ./glicbawls 260 &lt;lavabus.pgm &gt;lavabus.glic</code></pre>
<p>will allow <code>glicbawls</code> to use up to 260 columns, which makes things
much more recognizable.</p>
<p>Still running out of space? Need to compress those images just a
@@ -212,13 +213,13 @@ error of 2 is allowed, an original pixel value of 37 could be
decoded as 35, 36, 37, 38 or 39. In order to use this mode, simply
give the maximum allowed error as an argument, with a dash (<code>-</code>)
before it. For example:</p>
<pre class="&lt;!---sh--&gt;"><code> ./glicbawls -2 &lt; graph.pgm &gt; graph.2.glic</code></pre>
<pre><code> ./glicbawls -2 &lt; graph.pgm &gt; graph.2.glic</code></pre>
<p>will compress in a way that allows decompression with a maximum
error of two. You can combine both types of arguments, i.e.:</p>
<pre class="&lt;!---sh--&gt;"><code> ./glicbawls -3 180 &lt; graph.pgm &gt;graph.3.glic</code></pre>
<pre><code> ./glicbawls -3 180 &lt; graph.pgm &gt;graph.3.glic</code></pre>
<p>will compress with a maximum error of 3, using a 180 column
terminal for the progress display, and:</p>
<pre class="&lt;!---sh--&gt;"><code> ./glicbawls -3 180 &lt; graph.3.glic &gt; graph.3maxerr.pgm</code></pre>
<pre><code> ./glicbawls -3 180 &lt; graph.3.glic &gt; graph.3maxerr.pgm</code></pre>
<p>will decompress the result on such a terminal.</p>
<p>But wait, there is more — you can also feed <code>glicbawls</code> .PPM files
(i.e. colour images), raw or ASCII, your choice. <code>glicbawls</code> will
@@ -421,10 +422,10 @@ guarantee decoding within the requested maximum error.<a href="#fnref5" class="f
<li><a href="michael.pgm">michael.pgm</a> - author’s Godchild and Nephew</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/bmeyer/try.sh">try.sh</a> - how to run</li>
<li><a href="lenna.glic">lenna.glic</a> - P10 scan of 1972 Playboy centerfold</li>
<li><a href="2000_bmeyer.tar.bz2">2000_bmeyer.tar.bz2</a> - download entry tarball</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>
<li><a href="2000_bmeyer.tar.bz2">2000_bmeyer.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/2000/bmeyer/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/2000/bmeyer/.entry.json">.entry.json</a> - description of entry in JSON</li>