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

+75 -99
View File
@@ -129,12 +129,12 @@
<h2 id="authors"><a name="author"></a>Authors:</h2>
<ul>
<li>Name: <a href="../../authors.html#David_Van_Brackle">David Van
Brackle</a><br> Location: <a href="../../location.html#ZZ">ZZ</a> -
<em>Unknown location</em> <br><br></li>
<li>Name: <a href="../../authors.html#Mark_Schnitzius">Mark
Schnitzius</a><br> Location: <a href="../../location.html#ZZ">ZZ</a> -
<em>Unknown location</em> <br><br></li>
<li>Name: <a href="../../authors.html#David_Van_Brackle">David Van Brackle</a><br>
Location: <a href="../../location.html#ZZ">ZZ</a> - <em>Unknown location</em>
<br><br></li>
<li>Name: <a href="../../authors.html#Mark_Schnitzius">Mark Schnitzius</a><br>
Location: <a href="../../location.html#ZZ">ZZ</a> - <em>Unknown location</em>
<br><br></li>
</ul>
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
@@ -144,79 +144,76 @@ Schnitzius</a><br> Location: <a href="../../location.html#ZZ">ZZ</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> all</span></code></pre></div>
<p>The authors provided a spoiler version, originally uuencoded but
uudecoded by us in 2023. See <a href="#alternate-code">Alternate
code</a> below.</p>
<p>The authors provided a spoiler version, originally uuencoded but uudecoded by us
in 2023. See <a href="#alternate-code">Alternate code</a> below.</p>
<h3 id="bugs-and-misfeatures">Bugs and (Mis)features:</h3>
<p>The current status of this entry is:</p>
<pre><code>STATUS: missing file - please provide it</code></pre>
<p>For more detailed information see <a
href="../../bugs.html#1995_vanschnitz">1995 vanschnitz bugs</a>.</p>
<p>For more detailed information see <a href="../../bugs.html#1995_vanschnitz">1995 vanschnitz bugs</a>.</p>
<h2 id="to-use">To use:</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">./vanschnitz</span></span></code></pre></div>
<h2 id="try">Try:</h2>
<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">./try.sh</span></span></code></pre></div>
<h2 id="alternate-code">Alternate code:</h2>
<p>The authors provided a spoiler version of the program. Originally
uuencoded we have decoded it for the wider audience in <a
href="vanschnitz.alt.c">vanschnitz.alt.c</a>. The <code>uuencode</code>d
blob is still available in their remarks below. They encourage you to
first try and figure out the program without the spoiler.</p>
<p>The authors provided a spoiler version of the program. Originally uuencoded we
have decoded it for the wider audience in <a href="vanschnitz.alt.c">vanschnitz.alt.c</a>. The
<code>uuencode</code>d blob is still available in their remarks below. They encourage you
to first try and figure out the program without the spoiler.</p>
<h3 id="alternate-build">Alternate build:</h3>
<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="fu">make</span> alt</span></code></pre></div>
<h3 id="alternate-use">Alternate use:</h3>
<p>Use <code>vanschnitz.alt</code> as you would <code>vanschnitz</code>
above.</p>
<p>Use <code>vanschnitz.alt</code> as you would <code>vanschnitz</code> above.</p>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>Back in 1995, values of <code>LEVEL&gt;8</code> caused some compilers
(and in one case a system) to crash during compilation. In 2023 with
modern systems this is not really a problem.</p>
<p>Back in 1995 we also suggested that for a bad/slow time to try
<code>LEVEL=15</code> but this is not a big deal in 2023 either.</p>
<p>Back in 1995, values of <code>LEVEL&gt;8</code> caused some compilers (and in one case a
system) to crash during compilation. In 2023 with modern systems this is not
really a problem.</p>
<p>Back in 1995 we also suggested that for a bad/slow time to try <code>LEVEL=15</code> but
this is not a big deal in 2023 either.</p>
<h2 id="authors-remarks">Authors’ remarks:</h2>
<p>A classic problem in computer science is known as the Towers of
Hanoi. It involves a set of different-sized disks mounted on one of
three pegs. The object is to move the pile of disks to one of the other
pegs. You may only move one disk at a time, and there is an additional
constraint that a disk may never be placed on top of a smaller disk.</p>
<p>Our program solves the Towers of Hanoi problem. Well, that’s not
exactly true; actually, it’s the compiler that solves the problem. The
resulting program just prints out the correct solution.</p>
<p>How do you trick a compiler into actually solving the problem? First,
you must tell it how many disks you wish to solve it for. This is done
by defining the symbol <code>n</code> on the compile line. For instance,
to cause the compiler to solve the Towers of Hanoi problem with four
disks, you would compile the program like this:</p>
<p>A classic problem in computer science is known as the Towers
of Hanoi. It involves a set of different-sized disks mounted
on one of three pegs. The object is to move the pile of disks
to one of the other pegs. You may only move one disk at a
time, and there is an additional constraint that a disk may
never be placed on top of a smaller disk.</p>
<p>Our program solves the Towers of Hanoi problem. Well, that’s
not exactly true; actually, it’s the compiler that solves the
problem. The resulting program just prints out the correct
solution.</p>
<p>How do you trick a compiler into actually solving the problem?
First, you must tell it how many disks you wish to solve it
for. This is done by defining the symbol <code>n</code> on the compile
line. For instance, to cause the compiler to solve the Towers
of Hanoi problem with four disks, you would compile the program
like this:</p>
<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">gcc</span> hanoi.c <span class="at">-o</span> hanoi <span class="at">-Dn</span><span class="op">=</span>4</span></code></pre></div>
<p>A default value of <code>5</code> will be used for <code>n</code> if
you do not define it on the command line. The value of <code>n</code>
cannot be greater than fifteen (the compiler we used to test has a limit
on the <code>#include</code> depth). The compiler then solves the
problem using binary arithmetic based on whether particular symbols are
defined or not.</p>
<p>To loop, the program <code>#include</code>s itself. This is, of
course, expensive; one compile we did with <code>n=14</code> took about
fifty minutes to compile on our system (compiling with <code>n=15</code>
caused our system to crash).</p>
<p>The resulting program that the compiler generates simply prints out
the answer. Did I say “simply”? Actually, the whole resulting program
consists of a single <code>printf(3)</code> statement, consisting of a
massive string constant of length <code>35*(2^n-1)</code>, followed by
<code>3*(2^n-1)</code> integers which get formatted into the string. For
our <code>n=14</code> run, this adds up to a string constant of length
573405, followed by 49149 integers delimited by commas. (Generating the
string constant depends on the ANSI C feature in which adjacent
character strings are concatenated; a version that does not use this
feature has been included for people who can only run K&amp;R). A good
way to see the resulting program (on a Unix system) is to do the
command</p>
<p>A default value of <code>5</code> will be used for <code>n</code> if you do not define
it on the command line. The value of <code>n</code> cannot be greater than
fifteen (the compiler we used to test has a limit on the <code>#include</code>
depth). The compiler then solves the problem using binary
arithmetic based on whether particular symbols are defined or not.</p>
<p>To loop, the program <code>#include</code>s itself. This is, of course, expensive; one
compile we did with <code>n=14</code> took about fifty minutes to compile on our system
(compiling with <code>n=15</code> caused our system to crash).</p>
<p>The resulting program that the compiler generates simply
prints out the answer. Did I say “simply”? Actually, the
whole resulting program consists of a single <code>printf(3)</code> statement,
consisting of a massive string constant of length <code>35*(2^n-1)</code>,
followed by <code>3*(2^n-1)</code> integers which get formatted into the
string. For our <code>n=14</code> run, this adds up to a string constant
of length 573405, followed by 49149 integers delimited by
commas. (Generating the string constant depends on the
ANSI C feature in which adjacent character strings are
concatenated; a version that does not use this feature has been
included for people who can only run K&amp;R). A good way to see
the resulting program (on a Unix system) is to do the command</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">gcc</span> hanoi.c <span class="at">-E</span> <span class="at">-Dn</span><span class="op">=</span>5 <span class="kw">|</span> <span class="fu">grep</span> <span class="at">-v</span> <span class="dt">\#</span> <span class="kw">|</span> <span class="fu">grep</span> <span class="at">-v</span> ^<span class="dt">\$</span></span></code></pre></div>
<p>For an odd number of disks, the program will provide a solution
wherein the disks end up on peg 2; for an even number of disks, they
will end on peg 3. This should provide some hint as to what sort of
algorithm is used.</p>
<p>We have included a <a href="spoiler.c">spoiler</a> version of the
program, with meaningful symbol names and comments, but we encourage you
<p>For an odd number of disks, the program will provide a
solution wherein the disks end up on peg 2; for an even
number of disks, they will end on peg 3. This should
provide some hint as to what sort of algorithm is used.</p>
<p>We have included a <a href="spoiler.c">spoiler</a> version of the program, with
meaningful symbol names and comments, but we encourage you
to try to decipher the program without it…</p>
<pre><code>begin 444 spoiler.c
M(VEF;F1E9B`@24Y)5$E!3$E:140*&quot;B\J&quot;B`J(&quot;!)9B!N(&amp;ES;B=T(&amp;1E9FEN
@@ -296,56 +293,35 @@ M&quot;@HC96YD:68@(&quot;\J(&quot;-E;&#39;-E(&amp;]F(&quot;-I9FYD968@24Y)5$E!3$E
`
end
</code></pre>
<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-1995vanschnitz"><a name="inventory"></a>Inventory
for 1995/vanschnitz</h1>
<h1 id="inventory-for-1995vanschnitz"><a name="inventory"></a>Inventory for 1995/vanschnitz</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/1995/vanschnitz/vanschnitz.c">vanschnitz.c</a>
- entry source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/Makefile">Makefile</a>
- entry Makefile</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/vanschnitz.alt.c">vanschnitz.alt.c</a>
- alternative source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/vanschnitz.orig.c">vanschnitz.orig.c</a>
- original source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/try.sh">try.sh</a>
- how to run</li>
<li><a href="1995_vanschnitz.tar.bz2">1995_vanschnitz.tar.bz2</a> -
download entry source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/vanschnitz.c">vanschnitz.c</a> - entry source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/Makefile">Makefile</a> - entry Makefile</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/vanschnitz.alt.c">vanschnitz.alt.c</a> - alternative source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/vanschnitz.orig.c">vanschnitz.orig.c</a> - original source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/try.sh">try.sh</a> - how to run</li>
<li><a href="1995_vanschnitz.tar.bz2">1995_vanschnitz.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/1995/vanschnitz/.entry.json">.entry.json</a>
- description of entry in JSON</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/.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/1995/vanschnitz/.entry.json">.entry.json</a> - description of entry in JSON</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/.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/1995/vanschnitz/README.md">README.md</a>
- markdown source for index.html</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/README.md">README.md</a> - markdown source for index.html</li>
</ul>
<!-- END: next line ends content generated by: bin/output-index-inventory.sh -->