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
@@ -275,7 +275,7 @@
},
{
"file_path" : "2013_birken.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,12 +142,12 @@ 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 alt</code></pre>
<pre><code> make alt</code></pre>
<p>We recommend that you use the alt version first to see what this entry looked
like back in 2013 (with a configurable speed). If you wish to use the original
version see the <a href="#original-code">original code</a> section below.</p>
<h2 id="to-use">To use:</h2>
<pre class="&lt;!---sh--&gt;"><code> ./birken.alt &lt; 17_columns_wide_paint_by_numbers_file</code></pre>
<pre><code> ./birken.alt &lt; 17_columns_wide_paint_by_numbers_file</code></pre>
<p>NOTE: if your terminal is messed up after running this (perhaps from exiting
before it finishes) try using <code>reset</code> to restore the terminal. This will clear
the screen.</p>
@@ -157,7 +158,7 @@ be problematic for some people, can be configured to different speeds by way of
the value used in <code>usleep(3)</code>. The default is <code>13500</code> but you can reconfigure
it should you wish (see below).</p>
<p>To see the program run on each text file, try:</p>
<pre class="&lt;!---sh--&gt;"><code> ./try.alt.sh</code></pre>
<pre><code> ./try.alt.sh</code></pre>
<p>If you have perl installed it will also try a random run.</p>
<p>Finding the ‘right’ default value was a fine line; the default, 15000
microseconds (0.015 seconds), will take quite a while to finish but it allows
@@ -165,29 +166,29 @@ one to more easily see what is going on. Even easier to see would be 25000 but
these values make it quite slow and one could easily lose interest. Like some
other entries where this was made an alternate version it is configurable at
compile time. If you wish to speed it up by 100% you can instead do:</p>
<pre class="&lt;!---sh--&gt;"><code> make clobber SLEEP=7500 alt</code></pre>
<pre><code> make clobber SLEEP=7500 alt</code></pre>
<p>and then try <code>birken.alt</code> as above.</p>
<p>If you wish to speed that up 200% (300% total) you can use instead try
<code>SLEEP=3750</code>. Doing this you might find the right value to your liking; use
ctrl-c to terminate the program early but note that the terminal is likely to be
messed up. In that case try:</p>
<pre class="&lt;!---sh--&gt;"><code> reset</code></pre>
<pre><code> reset</code></pre>
<p>to make it sane again (running to completion will do that for you).</p>
<h2 id="original-code">Original code:</h2>
<p>The original code will run faster with modern systems which is likely to make it
hard to see the art of the entry but you may do so if you wish.</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>
<p>Use <code>birken</code> as you would <code>birken.alt</code> above.</p>
<h3 id="original-try">Original try:</h3>
<p>To use the demo script with the original code, try:</p>
<pre class="&lt;!---sh--&gt;"><code> ./try.sh</code></pre>
<pre><code> ./try.sh</code></pre>
<p>PLEASE be careful if you are sensitive to flashing colours!</p>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>This program also wins the “Most amusing abuse of the iocccsize tool” award;
although not the absolute best: it is possible to achieve 0 by writing:</p>
<pre class="&lt;!---c--&gt;"><code> /* *\
<pre><code> /* *\
/....</code></pre>
<p>The game of Tetris had been used in many endeavors, from studying <a href="http://arxiv.org/abs/cs/0210020">algorithmic
complexity</a> to <a href="http://www.livescience.com/19894-tetris-treat-ptsd-flashbacks.html">treating
@@ -346,11 +347,11 @@ call to <code>fflush(3)</code> (N.B: see <a href="birken.alt.c">birken.alt.c</a>
<code>2013-07-30-v17</code>. The first line of the program is reproduced below.</p>
<p>char<em>_ = “’”“/</em>”;</p>
<p>If that line is added to the top of any program, the tool will report a size of 8.</p>
<pre class="&lt;!---sh--&gt;"><code> $ ./iocccsize -i &lt; prog.c
<pre><code> $ ./iocccsize -i &lt; prog.c
8</code></pre>
<p>When that line is deleted from this program, the tool properly reports the
secondary size limit of the program as 2048.</p>
<pre class="&lt;!---sh--&gt;"><code> $ ./iocccsize -i &lt; birken.c
<pre><code> $ ./iocccsize -i &lt; birken.c
2048</code></pre>
<p>Although this bug provides an easy means of circumventing contest rule 2, as
demonstrated from the size value, this entry is not necessarily striving for a
@@ -371,7 +372,7 @@ Pajitnov</a>’s original 1984
<p>Carefully selected variable names also yielded wonderful expressions like <code>l=0</code>,
<code>O=0</code>, <code>O=1</code> and <code>while(O)</code>. <code>"Tetris"</code> also makes a second appearance of
sorts:</p>
<pre class="&lt;!---c--&gt;"><code> [T][e][t]--; while(R+i) { s</code></pre>
<pre><code> [T][e][t]--; while(R+i) { s</code></pre>
<p>The source is formatted to resemble the
<a href="https://en.wikipedia.org/wiki/Tetris">Tetris</a> play-field mid-game. It is also
an homage to all the <a href="../../years.html">past IOCCC entries</a> formatted as a compact
@@ -578,10 +579,10 @@ Brothers 2, Nintendo, 1987.</p></li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/birken/toad.txt">toad.txt</a> - sprites in this textual format</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/birken/try.alt.sh">try.alt.sh</a> - how to run alternative code</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/birken/try.sh">try.sh</a> - how to run</li>
<li><a href="2013_birken.tar.bz2">2013_birken.tar.bz2</a> - download entry tarball</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>
<li><a href="2013_birken.tar.bz2">2013_birken.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/2013/birken/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/2013/birken/.entry.json">.entry.json</a> - description of entry in JSON</li>