update index.html and .winner.json per recent manifest changes

This commit is contained in:
Cody Boone Ferguson committed 2024-01-23 10:00:41 -08:00
1 parent a286f595a4
commit 483a00aa5e
75 files changed
+245 -161

No files matched your search

+19 -23
View File
@@ -114,7 +114,7 @@
<p><a name="author"><strong>Author:</strong></a> <br><br>Name: <a
href="/temp-test-ioccc/winners.html#Anonymous_2005">Anonymous
2005</a><br> Location: <a
href="/temp-test-ioccc/location.html#null">unknown</a></p>
href="/temp-test-ioccc/location.html#ZZ">ZZ</a></p>
<!-- END: next line ends content generated by: bin/gen-author.sh -->
<h2 id="to-build">To build:</h2>
@@ -134,20 +134,17 @@ anon in bugs.md</a>.</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./anon</span> x y <span class="pp">[</span><span class="ss">z</span><span class="pp">]</span></span></code></pre></div>
<h2 id="try">Try:</h2>
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./anon</span> 4 4</span>
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./anon</span> 3 3 3</span></code></pre></div>
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb5-3"><a href="#cb5-3" aria-hidden="true" tabindex="-1"></a><span class="ex">./anon</span> 3 3 3</span></code></pre></div>
<p>After a very large number of moves this program will deliberately
force itself to destroy its runtime stack. This is the author’s way to
prevent you from being frustrated (which might happen as it likes to
create unsolvable puzzles just to hook you) and spending too much time
playing. :-)</p>
<p>This is supposed to happen. As is written in the <a
href="http://catb.org/jargon/html/F/feature.html">The Jargon
File</a>:</p>
<pre><code>That&#39;s not a bug, that&#39;s a feature.</code></pre>
<p>If you want to see this in action you can easily do this:</p>
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">yes</span> <span class="st">&#39;please crash on me :-)&#39;</span> <span class="kw">|</span> <span class="ex">./anon</span> 4 4</span></code></pre></div>
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">yes</span> <span class="st">&#39;please crash on me :-)&#39;</span> <span class="kw">|</span> <span class="ex">./anon</span> 4 4</span></code></pre></div>
<p>What happens if you specify a larger board? For instance:</p>
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="fu">yes</span> <span class="st">&#39;please crash on me :-)&#39;</span> <span class="kw">|</span> <span class="ex">./anon</span> 10 10 10</span></code></pre></div>
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">yes</span> <span class="st">&#39;please crash on me :-)&#39;</span> <span class="kw">|</span> <span class="ex">./anon</span> 10 10 10</span></code></pre></div>
<p>If you specify more than three args the program might also crash or
do something strange. This might also happen if you specify excessively
large board dimensions. Try <code>100 100 100</code> for instance and
@@ -155,10 +152,9 @@ see what happens!</p>
<h2 id="alternate-version">Alternate version:</h2>
<p>The alternate version uses <code>vi(m)</code> like movement keys.</p>
<h3 id="alternate-build">Alternate build:</h3>
<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt</span></code></pre></div>
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt</span></code></pre></div>
<p>To compile the version without <code>stty(1)</code>:</p>
<div class="sourceCode" id="cb10"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt-no_stty</span></code></pre></div>
<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt-no_stty</span></code></pre></div>
<h3 id="alternate-use">Alternate use:</h3>
<p>Use <code>anon.alt</code> as you would <code>anon</code> with the
change in movements:</p>
@@ -190,11 +186,11 @@ the screen.</p>
<p>The program takes 2 or 3 arguments, specifying the dimensions of the
board. For example, to play the original version of the Fifteen
Puzzle:</p>
<div class="sourceCode" id="cb12"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./anon</span> 4 4</span></code></pre></div>
<div class="sourceCode" id="cb11"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./anon</span> 4 4</span></code></pre></div>
<p>To play with a 3D board, do something like this:</p>
<div class="sourceCode" id="cb13"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./anon</span> 3 3 3</span></code></pre></div>
<div class="sourceCode" id="cb12"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./anon</span> 3 3 3</span></code></pre></div>
<p><strong>WARNING: do NOT run the program with more than 3 command-line
arguments. This will trigger a bug that will cause it to crash or do
something strange. :-)</strong></p>
@@ -420,7 +416,7 @@ any return value can simply be stored in a well-known location in the
<code>MASS</code>.</p>
<p><code>if(p,q,r,s)</code> is, in fact, an <code>if</code> statement.
:-) It is equivalent to:</p>
<div class="sourceCode" id="cb17"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="cf">if</span> <span class="op">(</span>p<span class="op">)</span> <span class="op">{</span> q<span class="op">;</span> r <span class="op">}</span> <span class="cf">else</span> <span class="op">{</span>s<span class="op">}</span></span></code></pre></div>
<div class="sourceCode" id="cb16"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a><span class="cf">if</span> <span class="op">(</span>p<span class="op">)</span> <span class="op">{</span> q<span class="op">;</span> r <span class="op">}</span> <span class="cf">else</span> <span class="op">{</span>s<span class="op">}</span></span></code></pre></div>
<p>Why are <code>q</code> and <code>r</code> split up? Because it’s
cleaner (in whatever twisted sense of the word that can be applied to an
IOCCC entry) to implement using boolean expressions. Keep in mind that
@@ -447,14 +443,14 @@ body, and <code>i</code> is the index variable (well, the index into the
<code>y-1</code> define the starting and ending values of
<code>i</code>, and <code>z</code> is the loop body. <code>Z</code> is
the post-loop code in the current state. For example:</p>
<div class="sourceCode" id="cb18"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="cf">for</span><span class="op">(</span>s<span class="op">,</span>i<span class="op">,</span> <span class="dv">0</span><span class="op">,</span> <span class="dv">10</span><span class="op">,</span></span>
<span id="cb18-2"><a href="#cb18-2" aria-hidden="true" tabindex="-1"></a>some_code <span class="op">,</span></span>
<span id="cb18-3"><a href="#cb18-3" aria-hidden="true" tabindex="-1"></a>other_code<span class="op">)</span></span></code></pre></div>
<div class="sourceCode" id="cb17"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="cf">for</span><span class="op">(</span>s<span class="op">,</span>i<span class="op">,</span> <span class="dv">0</span><span class="op">,</span> <span class="dv">10</span><span class="op">,</span></span>
<span id="cb17-2"><a href="#cb17-2" aria-hidden="true" tabindex="-1"></a>some_code <span class="op">,</span></span>
<span id="cb17-3"><a href="#cb17-3" aria-hidden="true" tabindex="-1"></a>other_code<span class="op">)</span></span></code></pre></div>
<p>is equivalent to:</p>
<div class="sourceCode" id="cb19"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="cf">for</span> <span class="op">(</span>i<span class="op">=</span><span class="dv">0</span><span class="op">;</span> i<span class="op">&amp;</span>lt<span class="op">;</span><span class="dv">10</span><span class="op">;</span> i<span class="op">++)</span> <span class="op">{</span></span>
<span id="cb19-2"><a href="#cb19-2" aria-hidden="true" tabindex="-1"></a> some_code<span class="op">;</span></span>
<span id="cb19-3"><a href="#cb19-3" aria-hidden="true" tabindex="-1"></a><span class="op">}</span></span>
<span id="cb19-4"><a href="#cb19-4" aria-hidden="true" tabindex="-1"></a>other_code<span class="op">;</span></span></code></pre></div>
<div class="sourceCode" id="cb18"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="cf">for</span> <span class="op">(</span>i<span class="op">=</span><span class="dv">0</span><span class="op">;</span> i<span class="op">&amp;</span>lt<span class="op">;</span><span class="dv">10</span><span class="op">;</span> i<span class="op">++)</span> <span class="op">{</span></span>
<span id="cb18-2"><a href="#cb18-2" aria-hidden="true" tabindex="-1"></a> some_code<span class="op">;</span></span>
<span id="cb18-3"><a href="#cb18-3" aria-hidden="true" tabindex="-1"></a><span class="op">}</span></span>
<span id="cb18-4"><a href="#cb18-4" aria-hidden="true" tabindex="-1"></a>other_code<span class="op">;</span></span></code></pre></div>
<p>Note the “wrong” indentation in the former: the author prefers to
write it that way, since the analogy to the usual <code>for</code> loop
is clearer. This is why it’s easier to understand the pre-CPP code,
+21 -14
View File
@@ -121,25 +121,29 @@ href="/temp-test-ioccc/location.html#FR">FR</a></p>
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
<h2 id="to-use">To use:</h2>
<p>You will need an <a
href="https://www.w3.org/TR/SVG11/expanded-toc.html">SVG</a> viewer.
Look here to find some <a
href="https://www.w3.org/TR/SVG11/expanded-toc.html">SVG</a> viewer or a
converter like <a
href="https://imagemagick.org/index.php">ImageMagick</a>’s
<code>convert</code>.</p>
<p>Look here to find some <a
href="https://www.w3.org/Graphics/SVG/WG/wiki/Implementations">SVG
Viewer Implementations</a>.</p>
<p>The following will create an <code>SVG</code> file:</p>
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">ruby</span> <span class="at">-e</span> <span class="st">&#39;20.times{puts &quot;#{rand} #{rand}&quot;}&#39;</span> <span class="kw">|</span> <span class="ex">./boutines</span> <span class="op">&gt;</span> test.svg</span></code></pre></div>
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./boutines</span> <span class="op">&lt;</span> input <span class="op">&gt;</span> output.svg</span></code></pre></div>
<h2 id="try">Try:</h2>
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./boutines</span> <span class="op">&lt;</span> input.txt <span class="op">&gt;</span> result.svg</span></code></pre></div>
<p>After running the above commands, use <a
href="https://imagemagick.org/index.php">ImageMagick</a>’s
<code>convert</code> tool to convert the images to a png file:</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">convert</span> test.svg test.png</span>
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="ex">convert</span> result.svg result.png</span></code></pre></div>
<p>and then open it with your preferred graphics viewer or editor.</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
<p>If <code>ruby</code> is installed <a href="try.sh">try.sh</a> will
generate an SVG file by:</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">ruby</span> <span class="at">-e</span> <span class="st">&#39;20.times{puts &quot;#{rand} #{rand}&quot;}&#39;</span> <span class="kw">|</span> <span class="ex">./boutines</span> <span class="op">&gt;</span> test.svg</span></code></pre></div>
<p>It will also create an SVG file with the file <a
href="input.txt">input.txt</a>.</p>
<p>The script will check if <code>convert</code> is available and if so
it will try converting the SVG file(s) to PNG file(s) which you should
be able to view in most any graphics viewer, editor or web browser.</p>
<p>If you have a program that opens <a
href="https://www.w3.org/TR/SVG11/expanded-toc.html">SVG</a> files then
you could open the <code>test.svg</code> file directly. An example
program is <a href="https://inkscape.org">Inkscape</a>. See the <a
you could open the <code>test.svg</code> and <code>result.svg</code>
files directly. An example program is <a
href="https://inkscape.org">Inkscape</a>. See the <a
href="https://www.w3.org/Graphics/SVG/WG/wiki/Implementations">list</a>
cited above for others.</p>
<h2 id="judges-remarks">Judges’ remarks:</h2>
@@ -283,6 +287,9 @@ href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/boutines/bou
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/boutines/input.txt">input.txt</a>
- sample input</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/boutines/try.sh">try.sh</a>
- how to run</li>
<li><a href="2005_boutines.tar.bz2">2005_boutines.tar.bz2</a> - download
winning source</li>
</ul>
+7 -4
View File
@@ -124,8 +124,8 @@ href="#alternate-code">alternate code</a> below.</p>
<h2 id="to-use">To use:</h2>
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./persano</span> p q [num frames]</span></code></pre></div>
<h2 id="try">Try:</h2>
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./persano</span> 3 16 <span class="op">&gt;</span> knot3-16.gif</span></code></pre></div>
<p>Open the <a href="https://en.wikipedia.org/wiki/GIF">GIF</a> file
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
<p>Open the <a href="https://en.wikipedia.org/wiki/GIF">GIF</a> files
with a viewer capable of displaying animated GIFs and watch closely at
the bottom of the picture (you may need to use <a
href="https://www.lcdf.org/gifsicle/">gifsicle</a> - a great tool to
@@ -225,7 +225,7 @@ this license:</p>
<pre><code>Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)</code></pre>
<p>For more information, see:
https://creativecommons.org/licenses/by-sa/4.0/</p>
<section id="footnotes" class="footnotes footnotes-end-of-document"
<aside id="footnotes" class="footnotes footnotes-end-of-document"
role="doc-endnotes">
<hr />
<ol>
@@ -242,7 +242,7 @@ role="doc-backlink">↩︎</a></p></li>
<li id="fn4"><p>;)<a href="#fnref4" class="footnote-back"
role="doc-backlink">↩︎</a></p></li>
</ol>
</section>
</aside>
<!-- START: this line starts content generated by: bin/gen-inventory.sh -->
<h1 id="inventory-for-2005persano"><a name="inventory"></a>Inventory for
@@ -262,6 +262,9 @@ href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/pers
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/persano.orig.c">persano.orig.c</a>
- original source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/try.sh">try.sh</a>
- how to run</li>
<li><a href="2005_persano.tar.bz2">2005_persano.tar.bz2</a> - download
winning source</li>
</ul>