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
+56
-82
@@ -129,9 +129,9 @@
|
||||
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Jens_Schweikhardt">Jens
|
||||
Schweikhardt</a><br> Location: <a href="../../location.html#DE">DE</a> -
|
||||
<em>Federal Republic of Germany</em> (<em>Germany</em>) <br><br></li>
|
||||
<li>Name: <a href="../../authors.html#Jens_Schweikhardt">Jens Schweikhardt</a><br>
|
||||
Location: <a href="../../location.html#DE">DE</a> - <em>Federal Republic of Germany</em> (<em>Germany</em>)
|
||||
<br><br></li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -144,27 +144,27 @@ Schweikhardt</a><br> Location: <a href="../../location.html#DE">DE</a> -
|
||||
<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">./schweikh1</span></span></code></pre></div>
|
||||
<h2 id="try">Try:</h2>
|
||||
<p>To find the day that Easter falls on in the current year and to show
|
||||
all Easter dates from 1582 to 2199:</p>
|
||||
<p>To find the day that Easter falls on in the current year and to show all Easter
|
||||
dates from 1582 to 2199:</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>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>Look at the source. There is something very odd going on here. Where
|
||||
does the real code come from if everything is a C pre-processor
|
||||
<p>Look at the source. There is something very odd going on here.
|
||||
Where does the real code come from if everything is a C pre-processor
|
||||
statement?</p>
|
||||
<p>Clearly this is either the Best Use or the Worst Abuse of the C
|
||||
Preprocessor that the judges have seen this year!</p>
|
||||
<p>Clearly this is either the Best Use or the Worst Abuse of the
|
||||
C Preprocessor that the judges have seen this year!</p>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
<h3 id="what-this-program-does">What this program does</h3>
|
||||
<p>This program is an implementation of an algorithm that calculates the
|
||||
date of the Sunday following the first full moon after the spring
|
||||
equinox. (Also known as “Easter”, defined this way by the Nicaean
|
||||
Concilium in 325 Anno Domini.) The algorithm is attributed to the famous
|
||||
mathematician <a
|
||||
href="https://en.wikipedia.org/wiki/Carl_Friedrich_Gauss">Carl Friedrich
|
||||
Gauss</a> [“Meyers Handbuch ueber das Weltall” ‘Handbook About Space’,
|
||||
Meyer, 5th Edition, 1973, p149] and is suitable for anni domini within
|
||||
the <a href="https://en.wikipedia.org/wiki/Gregorian_calendar">Gregorian
|
||||
Calendar</a>, that is, from ad 1582 to ad 2199:</p>
|
||||
<p>This program is an implementation of an algorithm that calculates
|
||||
the date of the Sunday following the first full moon after the
|
||||
spring equinox. (Also known as “Easter”, defined this way by the
|
||||
Nicaean Concilium in 325 Anno Domini.) The algorithm is attributed
|
||||
to the famous mathematician <a href="https://en.wikipedia.org/wiki/Carl_Friedrich_Gauss">Carl Friedrich
|
||||
Gauss</a> [“Meyers Handbuch
|
||||
ueber das Weltall” ‘Handbook About Space’, Meyer, 5th Edition, 1973, p149] and is suitable
|
||||
for anni domini within the <a href="https://en.wikipedia.org/wiki/Gregorian_calendar">Gregorian
|
||||
Calendar</a>, that is, from ad 1582
|
||||
to ad 2199:</p>
|
||||
<pre><code>Let J be the year.
|
||||
If J is from 1582 to 1699, let M be 22, let N be 2
|
||||
If J is from 1700 to 1799, let M be 23, let N be 3
|
||||
@@ -191,93 +191,67 @@ c = J % 7 == 2
|
||||
d = 119 % 30 == 29
|
||||
e = 191 % 7 == 2</code></pre>
|
||||
<p>March 53 is invalid, so the result is April 22 1962.</p>
|
||||
<h3 id="why-i-think-this-is-obfuscated">Why I think this is
|
||||
obfuscated</h3>
|
||||
<p>Apart from the calculation of the Easter date, the definition
|
||||
<em>and</em> calculation of which are obfuscations in their own right,
|
||||
obfuscation lurks in many places. Look at those macro identifiers. What
|
||||
can be more obvious than a program that explicitly mentions the
|
||||
<h3 id="why-i-think-this-is-obfuscated">Why I think this is obfuscated</h3>
|
||||
<p>Apart from the calculation of the Easter date, the definition <em>and</em>
|
||||
calculation of which are obfuscations in their own right,
|
||||
obfuscation lurks in many places. Look at those macro identifiers.
|
||||
What can be more obvious than a program that explicitly mentions the
|
||||
grammatical constructs it is composed of? If you look at K&RII A.9.3
|
||||
you will find that a compound statement consists of an opening brace
|
||||
followed by a declaration list followed by a semicolon followed by a
|
||||
statement list followed by another semicolon and a closing brace. Nobody
|
||||
can learn that by heart so I gently remind the reader by defining a
|
||||
macro that expresses this clearly (line 25). This goes up to the
|
||||
definition of a translation unit. Unfortunately, due to the IOCCC’s size
|
||||
restrictions, I had to abbreviate some syntactic elements.
|
||||
<code>ae</code> actually reads “assignment expression”. I had to stop at
|
||||
some arbitrary point, so don’t waste your time trying to find out how
|
||||
preprocessing tokens form type qualifier lists, cast expressions or
|
||||
direct abstract declarators. Assuming the reader knows about these easy
|
||||
to remember language elements is justified in my opinion.</p>
|
||||
statement list followed by another semicolon and a closing brace.
|
||||
Nobody can learn that by heart so I gently remind the reader by
|
||||
defining a macro that expresses this clearly (line 25). This goes up
|
||||
to the definition of a translation unit. Unfortunately, due to the
|
||||
IOCCC’s size restrictions, I had to abbreviate some syntactic
|
||||
elements. <code>ae</code> actually reads “assignment expression”. I had to stop
|
||||
at some arbitrary point, so don’t waste your time trying to find out
|
||||
how preprocessing tokens form type qualifier lists, cast expressions
|
||||
or direct abstract declarators. Assuming the reader knows about
|
||||
these easy to remember language elements is justified in my opinion.</p>
|
||||
<h3 id="the-moral">The moral:</h3>
|
||||
<p>Try to be as precise as can be and no one will comprehend what you
|
||||
mean.</p>
|
||||
<p>Try to be as precise as can be and no one will comprehend what you mean.</p>
|
||||
<h4 id="the-formula">The formula:</h4>
|
||||
<pre><code>comprehension = 1/(2**precision)</code></pre>
|
||||
<h4 id="the-interpretation">The interpretation:</h4>
|
||||
<p>“Say nothing and everybody will understand.”</p>
|
||||
<p>The <code>-I/usr/include</code> in the build file is needed by gcc on
|
||||
Solaris because <code>gcc</code>’s “fixed” header in
|
||||
<code>gcc-lib/sparc-sun-solaris2.5/2.7.2/include/errno.h</code> is
|
||||
broken (sort of) because it has <em>two</em> identical extern
|
||||
declarations of errno. This leads to an error due to the redefinition of
|
||||
main. The <code>-I</code> option makes sure the working
|
||||
/usr/include/errno.h is found first, which shouldn’t cause any problems
|
||||
on other systems.</p>
|
||||
<p>The <code>-I/usr/include</code> in the build file is needed by gcc on Solaris because
|
||||
<code>gcc</code>’s “fixed” header in <code>gcc-lib/sparc-sun-solaris2.5/2.7.2/include/errno.h</code>
|
||||
is broken (sort of) because it has <em>two</em> identical extern declarations of errno.
|
||||
This leads to an error due to the redefinition of main. The <code>-I</code> option makes
|
||||
sure the working /usr/include/errno.h is found first, which shouldn’t cause any
|
||||
problems on other systems.</p>
|
||||
<h3 id="usage">Usage:</h3>
|
||||
<p>The program is run without arguments. It prints all dates in
|
||||
order.</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>
|
||||
<p>The program is run without arguments. It prints all dates in order.</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-1996schweikh1"><a name="inventory"></a>Inventory
|
||||
for 1996/schweikh1</h1>
|
||||
<h1 id="inventory-for-1996schweikh1"><a name="inventory"></a>Inventory for 1996/schweikh1</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/1996/schweikh1/schweikh1.c">schweikh1.c</a>
|
||||
- entry source</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/Makefile">Makefile</a>
|
||||
- entry Makefile</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/schweikh1.orig.c">schweikh1.orig.c</a>
|
||||
- original source</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/errno.h">errno.h</a>
|
||||
- declare errno as an extern int</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/try.sh">try.sh</a>
|
||||
- how to run</li>
|
||||
<li><a href="1996_schweikh1.tar.bz2">1996_schweikh1.tar.bz2</a> -
|
||||
download entry source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/schweikh1.c">schweikh1.c</a> - entry source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/Makefile">Makefile</a> - entry Makefile</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/schweikh1.orig.c">schweikh1.orig.c</a> - original source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/errno.h">errno.h</a> - declare errno as an extern int</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/try.sh">try.sh</a> - how to run</li>
|
||||
<li><a href="1996_schweikh1.tar.bz2">1996_schweikh1.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/1996/schweikh1/.entry.json">.entry.json</a>
|
||||
- description of entry in JSON</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/.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/1996/schweikh1/.entry.json">.entry.json</a> - description of entry in JSON</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/.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/1996/schweikh1/README.md">README.md</a>
|
||||
- markdown source for index.html</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1996/schweikh1/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