force use of pandoc version >= 3.1.12.2

The `bin/pandoc-wrapper.sh` tool will verify that the ssytem
has a recent enough version of `pandoc(1)`.

We explain why we insist on `pandoc(1)`. version >= 3.1.12.2
in comments where the $PANDOC_MIN_VERSION is set.

Added `--wrap=preserve` as a default argument to `pandoc(1)`.
While this change will impact every HTML file generated,
we believe this will improve the ability of someone to look
at the generated HTML and correlate with the original markdown.

Changed `bin/pandoc-wrapper.sh` VERSION from "1.4.2 2024-03-17"
to "1.4.3 2024-03-18".

Performed `make www` to achieve all of the above and to generate
HTML using the new  `--wrap=preserve` `pandoc(1)` mode.
This commit is contained in:
Landon Curt Noll committed 2024-03-18 01:26:39 -07:00
1 parent 9eb7a54e9f
commit b0b212acb1
402 files changed
+37061 -55132

No files matched your search

+85 -127
View File
@@ -129,9 +129,9 @@
<h2 id="author"><a name="author"></a>Author:</h2>
<ul>
<li>Name: <a href="../../authors.html#Francois_Boutines">Francois
Boutines</a><br> Location: <a href="../../location.html#FR">FR</a> -
<em>French Republic</em> (<em>France</em>) <br><br></li>
<li>Name: <a href="../../authors.html#Francois_Boutines">Francois Boutines</a><br>
Location: <a href="../../location.html#FR">FR</a> - <em>French Republic</em> (<em>France</em>)
<br><br></li>
</ul>
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
@@ -142,71 +142,61 @@ Boutines</a><br> Location: <a href="../../location.html#FR">FR</a> -
<h2 id="to-build">To build:</h2>
<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 or a
converter like <a
href="https://imagemagick.org/index.php">ImageMagick</a>’s
<code>convert</code>. See <a href="../../faq.html#imagemagick">FAQ 3.17
- How do I compile and install ImageMagick for entries that require
it?</a>.</p>
<p>Look here to find some <a
href="https://www.w3.org/Graphics/SVG/WG/wiki/Implementations">SVG
Viewer Implementations</a>.</p>
<p>You will need an <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>.
See <a href="../../faq.html#imagemagick">FAQ 3.17 - How do I compile and install ImageMagick for entries that
require it?</a>.</p>
<p>Look here to find some <a href="https://www.w3.org/Graphics/SVG/WG/wiki/Implementations">SVG Viewer
Implementations</a>.</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">./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">./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>
<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> 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>
<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> 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>
<p>Can you explain the author’s remark “[generated files] are not as
scalable as their name suggests”?</p>
<p>Can you explain the author’s remark “[generated files] are not as scalable as
their name suggests”?</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<p><em>In memory of my father Pierre Boutines-Vignard.</em></p>
<h3 id="walk-through">Walk-through</h3>
<p>My program works as follows:</p>
<h4 id="input">Input</h4>
<p>A list of 2D points in the <a
href="https://en.wikipedia.org/wiki/Unit_square">unit square</a>.</p>
<p>A list of 2D points in the <a href="https://en.wikipedia.org/wiki/Unit_square">unit
square</a>.</p>
<h4 id="output">Output</h4>
<p>A <a href="https://en.wikipedia.org/wiki/Voronoi_diagram">Voronoi
diagram</a> of the set as an <a
href="https://www.w3.org/TR/SVG11/expanded-toc.html">SVG</a> stream.</p>
<p>A <a href="https://en.wikipedia.org/wiki/Voronoi_diagram">Voronoi diagram</a> of the set as
an <a href="https://www.w3.org/TR/SVG11/expanded-toc.html">SVG</a> stream.</p>
<p>This will possibly save a compressed SVG file and may be useful:</p>
<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">./boutines</span> <span class="kw">|</span> <span class="fu">gzip</span> <span class="op">&gt;</span> result.svg.gz</span></code></pre></div>
<p>Input consists of a list of floating points values separated by
whitespaces (ranging preferably in <code>[0,1]</code>). Alternating a
horizontal coordinate, a whitespace then the other coordinate (pointing
downwards in the resulting graph) and a newline will just go fine:</p>
<p>Input consists of a list of floating points values separated by whitespaces
(ranging preferably in <code>[0,1]</code>). Alternating a horizontal coordinate, a
whitespace then the other coordinate (pointing downwards in the resulting
graph) and a newline will just go fine:</p>
<pre><code>0 0
0 1
1 0
1 1
.5 .5</code></pre>
<p>Strictly speaking, you have to provide a <strong>set</strong> of
points. If there are duplicates in the list, there is no guarantee on
the one to be shown (in addition their labels will overlap) in the
resulting colored <a
href="https://en.wikipedia.org/wiki/Voronoi_diagram">Voronoi
<p>Strictly speaking, you have to provide a <strong>set</strong> of points. If there are
duplicates in the list, there is no guarantee on the one to be shown (in
addition their labels will overlap) in the resulting colored <a href="https://en.wikipedia.org/wiki/Voronoi_diagram">Voronoi
diagram</a>.</p>
<h3 id="caution">Caution</h3>
<p>This program might have been a lot shorter, but nearly impractical
even for medium sized datasets. On the other hand it could have been a
lot faster, but hard to qualify under the IOCCC size limit. So guess
what I did? A compromise favoring innermost obfuscation, sacrificing
sometimes speed and other tedious factors.</p>
<p>This program might have been a lot shorter, but nearly impractical even for
medium sized datasets. On the other hand it could have been a lot faster, but
hard to qualify under the IOCCC size limit. So guess what I did? A compromise
favoring innermost obfuscation, sacrificing sometimes speed and other tedious
factors.</p>
<p>Therefore this entry is limited to</p>
<blockquote>
<figure>
@@ -214,33 +204,29 @@ sometimes speed and other tedious factors.</p>
<figcaption aria-hidden="true">floor(-1)</figcaption>
</figure>
</blockquote>
<p>points and won’t even be suitable for more than a few thousand;
although generated files did pass the <a
href="https://validator.w3.org/#validate_by_upload+with_options">W3C SVG
Validator</a>, and are highly compressible, they are not as scalable as
their name suggests… For serious applications about <a
href="https://en.wikipedia.org/wiki/Voronoi_diagram">Voronoi
diagrams</a>, see <a href="http://www.qhull.org/">Qhull</a>, <a
href="https://www.cgal.org">CGAL</a> and the like but you may still
encounter large output volumes (and have to handle some sort of clipping
in order to represent properly infinite regions of the diagram in <a
href="https://www.w3.org/TR/SVG11/expanded-toc.html">SVG</a>).</p>
<p>Beware, compilation may report warnings about precision loss, linting
may be a disaster, but the code should remain portable, and the output
accurate enough for most devices (including many inkjet printers). If
you ever miss precision on a particular dataset or peripheral, you may
want to dive in and let <code>U</code> be the next power of
<code>__LINE__</code>.</p>
<p>NOTE: bad inputs will be sanctioned by the production of the 42nd <a
href="https://en.wikipedia.org/wiki/Mersenne_prime">Mersenne prime</a>
(i.e. 2^25964951 -1); memory will be kept.</p>
<h3 id="why-i-think-this-code-is-obfuscated">Why I think this code is
Obfuscated ?</h3>
<p>points and won’t even be suitable for more than a few thousand; although
generated files did pass the <a href="https://validator.w3.org/#validate_by_upload+with_options">W3C SVG
Validator</a>, and are
highly compressible, they are not as scalable as their name suggests… For
serious applications about <a href="https://en.wikipedia.org/wiki/Voronoi_diagram">Voronoi
diagrams</a>, see
<a href="http://www.qhull.org/">Qhull</a>, <a href="https://www.cgal.org">CGAL</a> and the like but
you may still encounter large output volumes (and have to handle some sort of
clipping in order to represent properly infinite regions of the diagram in
<a href="https://www.w3.org/TR/SVG11/expanded-toc.html">SVG</a>).</p>
<p>Beware, compilation may report warnings about precision loss, linting may be a
disaster, but the code should remain portable, and the output accurate enough
for most devices (including many inkjet printers). If you ever miss precision
on a particular dataset or peripheral, you may want to dive in and let <code>U</code> be
the next power of <code>__LINE__</code>.</p>
<p>NOTE: bad inputs will be sanctioned by the production of the 42nd <a href="https://en.wikipedia.org/wiki/Mersenne_prime">Mersenne
prime</a> (i.e. 2^25964951 -1);
memory will be kept.</p>
<h3 id="why-i-think-this-code-is-obfuscated">Why I think this code is Obfuscated ?</h3>
<p>I’m quite divided on the subject because I wrote:</p>
<ul>
<li>Clear <a
href="https://www.w3.org/TR/SVG11/expanded-toc.html">SVG</a> keywords
but complicated output statements.</li>
<li>Clear <a href="https://www.w3.org/TR/SVG11/expanded-toc.html">SVG</a> keywords but
complicated output statements.</li>
<li>No nested loops but loads of function calls.</li>
<li>Easy recursion but no clear data structure.</li>
<li>Easy maths but no use of <code>math.h</code>.</li>
@@ -249,91 +235,63 @@ but complicated output statements.</li>
<p>Be sure to check the antepenultimate line of code.</p>
<h3 id="missing-features">Missing Features</h3>
<h4 id="color-control">Color control</h4>
<p>Cell colors are chosen randomly (with a questionable rejection
scheme). It might have been useful to input them along with sites
coordinates, turning the application into a puzzling graphics
engine.</p>
<p>Cell colors are chosen randomly (with a questionable rejection scheme). It
might have been useful to input them along with sites coordinates, turning the
application into a puzzling graphics engine.</p>
<h4 id="site-labelling">Site labelling</h4>
<p>The points are implicitly numbered in the order they were entered
(starting at one). This can be overridden however, via a simple XSL
transformation.</p>
<h4 id="site-radius">Site radius</h4>
<p>The site radius is hardcoded in the code, I still wonder why I did
not design it as a function of the underlying cell’s area (which can be
averaged for free) or at least a command line parameter. Same with the
char set, the viewport and potentially every <a
href="https://www.w3.org/TR/SVG11/expanded-toc.html">SVG</a>
property.</p>
<p>The site radius is hardcoded in the code, I still wonder why I did not
design it as a function of the underlying cell’s area (which can be averaged
for free) or at least a command line parameter. Same with the char set, the
viewport and potentially every
<a href="https://www.w3.org/TR/SVG11/expanded-toc.html">SVG</a> property.</p>
<h3 id="see-also">See Also</h3>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Voronoi_diagram">Voronoi at
Wikipedia</a>,</li>
<li><a
href="http://www2.toki.or.id/book/AlgDesignManual/BOOK/BOOK4/NODE187.HTM">An
Excerpt from The Algorithm Design Manual</a>,</li>
<li><a href="http://en.wikipedia.org/wiki/Voronoi_diagram">Voronoi at Wikipedia</a>,</li>
<li><a href="http://www2.toki.or.id/book/AlgDesignManual/BOOK/BOOK4/NODE187.HTM">An Excerpt from The Algorithm Design Manual</a>,</li>
<li><a href="http://www.snibbe.com/scott/bf">Voronoi and Art</a></li>
</ul>
<h3 id="example-output">Example Output</h3>
<blockquote>
<figure>
<img src="Voronoi.png"
alt="Voronoi diagram of two regular pentagon vertices" />
<figcaption aria-hidden="true">Voronoi diagram of two regular pentagon
vertices</figcaption>
<img src="Voronoi.png" alt="Voronoi diagram of two regular pentagon vertices" />
<figcaption aria-hidden="true">Voronoi diagram of two regular pentagon vertices</figcaption>
</figure>
</blockquote>
<h2 id="copyright-and-cc-by-sa-4.0-license">Copyright and CC BY-SA 4.0
License:</h2>
<p>This file is Copyright (c) 2023 by Landon Curt Noll. All Rights
Reserved. You are free to share and adapt this file under the terms of
this license:</p>
<h2 id="copyright-and-cc-by-sa-4.0-license">Copyright and CC BY-SA 4.0 License:</h2>
<p>This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
You are free to share and adapt this file under the terms of 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>
<p>For more information, see: https://creativecommons.org/licenses/by-sa/4.0/</p>
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<!-- START: this line starts content for HTML phase 22 by: bin/output-index-inventory.sh via bin/md2html.sh -->
<!-- START: this line starts content generated by: bin/output-index-inventory.sh -->
<h1 id="inventory-for-2005boutines"><a name="inventory"></a>Inventory
for 2005/boutines</h1>
<h1 id="inventory-for-2005boutines"><a name="inventory"></a>Inventory for 2005/boutines</h1>
<p><a href="#top">Jump to top</a></p>
<h2 id="primary-files">Primary files</h2>
<ul>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/boutines/boutines.c">boutines.c</a>
- entry source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/boutines/Makefile">Makefile</a>
- entry Makefile</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/boutines/boutines.orig.c">boutines.orig.c</a>
- original source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/boutines/boutines.c">boutines.c</a> - entry source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/boutines/Makefile">Makefile</a> - entry Makefile</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/boutines/boutines.orig.c">boutines.orig.c</a> - original source</li>
<li><a href="Voronoi.png">Voronoi.png</a> - output example</li>
<li><a href="eqn.png">eqn.png</a> - equation limit for entry</li>
<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
entry source</li>
<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 entry source</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>
<li><a href="index.html">index.html</a> - entry home page</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/boutines/.entry.json">.entry.json</a>
- description of entry in JSON</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/boutines/.gitignore">.gitignore</a>
- list of files that should not be committed under git</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/boutines/.entry.json">.entry.json</a> - description of entry in JSON</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/boutines/.gitignore">.gitignore</a> - list of files that should not be committed under git</li>
<li><a href=".path">.path</a> - directory path from top directory</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/boutines/README.md">README.md</a>
- markdown source for index.html</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/boutines/README.md">README.md</a> - markdown source for index.html</li>
</ul>
<!-- END: next line ends content generated by: bin/output-index-inventory.sh -->