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:
1 parent
9eb7a54e9f
commit
b0b212acb1
402 files changed
+37061
-55132
No files matched your search
+85
-127
@@ -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"><</span> input <span class="op">></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">'20.times{puts "#{rand} #{rand}"}'</span> <span class="kw">|</span> <span class="ex">./boutines</span> <span class="op">></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">></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 -->
|
||||
|
||||
Reference in new issue
Block a user