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
+80
-103
@@ -130,8 +130,8 @@
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Don_Yang">Don Yang</a><br>
|
||||
Location: <a href="../../location.html#US">US</a> - <em>United States of
|
||||
America</em> (<em>United States</em>) <br><br></li>
|
||||
Location: <a href="../../location.html#US">US</a> - <em>United States of America</em> (<em>United States</em>)
|
||||
<br><br></li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -146,35 +146,34 @@ America</em> (<em>United States</em>) <br><br></li>
|
||||
<h2 id="try">Try:</h2>
|
||||
<pre><code>./try.sh</code></pre>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>For extra credit, spot the checksum in the source file itself. What
|
||||
makes this one particularly interesting is that the checksum, strictly
|
||||
speaking, isn’t being computed at all. Rather, the file is modified to
|
||||
have the desired checksum! This does, we suppose, solve the problem that
|
||||
inserting a checksum would change the file’s checksum; if you have to
|
||||
change it, you might as well change it!</p>
|
||||
<p>This program was submitted under the name <code>Rinia</code>, so the
|
||||
Author’s Comments refer to it as such.</p>
|
||||
<p>For extra credit, spot the checksum in the source file itself.
|
||||
What makes this one particularly interesting is that the checksum,
|
||||
strictly speaking, isn’t being computed at all. Rather, the file
|
||||
is modified to have the desired checksum! This does, we suppose,
|
||||
solve the problem that inserting a checksum would change the file’s
|
||||
checksum; if you have to change it, you might as well change it!</p>
|
||||
<p>This program was submitted under the name <code>Rinia</code>, so the Author’s
|
||||
Comments refer to it as such.</p>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
<h3 id="rinia-11404"><code>Rinia</code> (1/14/04)</h3>
|
||||
<p><code>Rinia</code> is a tool for embedding CRCs in text files. No
|
||||
need to assign strange file names or package .SFVs with your files!
|
||||
<code>Rinia</code> will insert a human-readable checksum string in the
|
||||
text itself! <code>^_^</code></p>
|
||||
<p><code>Rinia</code> is a tool for embedding CRCs in text files. No need to assign
|
||||
strange file names or package .SFVs with your files! <code>Rinia</code> will
|
||||
insert a human-readable checksum string in the text itself! <code>^_^</code></p>
|
||||
<h3 id="usage">Usage</h3>
|
||||
<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">./omoikane</span> <span class="op"><</span>infile<span class="op">></span> <span class="op"><</span>layout<span class="op">></span> <span class="op"><</span>outfile<span class="op">></span></span></code></pre></div>
|
||||
<p>All three arguments may reference the same file. All files is assumed
|
||||
to be of ASCII character set.</p>
|
||||
<p>All three arguments may reference the same file. All files is
|
||||
assumed to be of ASCII character set.</p>
|
||||
<h3 id="input">Input</h3>
|
||||
<p>Any file larger than 8 bytes is valid. Upper limit on file size is
|
||||
limited by memory.</p>
|
||||
<p>If input file can’t be loaded for any reason, <code>Rinia</code> will
|
||||
say “bad input” and exit immediately.</p>
|
||||
<p>If input file can’t be loaded for any reason, <code>Rinia</code> will say “bad
|
||||
input” and exit immediately.</p>
|
||||
<h3 id="layout">Layout</h3>
|
||||
<p>The layout file contains a map of where <code>Rinia</code> can patch.
|
||||
The content consists of marker characters (where <code>Rinia</code> is
|
||||
allowed to change in the original text) and other characters (where the
|
||||
original text will stay as is). <code>Rinia</code> will select the
|
||||
marker character using these heuristics:</p>
|
||||
<p>The layout file contains a map of where <code>Rinia</code> can patch. The
|
||||
content consists of marker characters (where <code>Rinia</code> is allowed to
|
||||
change in the original text) and other characters (where the
|
||||
original text will stay as is). <code>Rinia</code> will select the marker
|
||||
character using these heuristics:</p>
|
||||
<ol type="1">
|
||||
<li>Ignore all space/control/extended characters.</li>
|
||||
<li>Select characters that appeared 8 times in a row.</li>
|
||||
@@ -182,10 +181,10 @@ marker character using these heuristics:</p>
|
||||
frequency.</li>
|
||||
</ol>
|
||||
<p>One way to create the layout file is to make a copy of the original
|
||||
file, replace where you want <code>Rinia</code> to match with a rare
|
||||
character, then replace the remaining ones with space. Often it’s
|
||||
possible to write the original file in such a way that it can be used as
|
||||
a layout.</p>
|
||||
file, replace where you want <code>Rinia</code> to match with a rare character,
|
||||
then replace the remaining ones with space. Often it’s possible to
|
||||
write the original file in such a way that it can be used as a
|
||||
layout.</p>
|
||||
<p>Example file/layout:</p>
|
||||
<pre><code>file: layout:
|
||||
crc = ######## ... . XXXXXXXX
|
||||
@@ -196,108 +195,86 @@ a layout.</p>
|
||||
patch = #FR-QQ
|
||||
other text here</code></pre>
|
||||
<p>Note that the original file by itself is a valid layout file, since
|
||||
<code>Rinia</code> will recognize that only <code>#</code> marks enough
|
||||
space to hold the checksum, and has the lowest frequency.</p>
|
||||
<p>If layout file can’t be used for any reason, <code>Rinia</code> will
|
||||
say “bad layout” and exit immediately.</p>
|
||||
<code>Rinia</code> will recognize that only <code>#</code> marks enough space to hold the
|
||||
checksum, and has the lowest frequency.</p>
|
||||
<p>If layout file can’t be used for any reason, <code>Rinia</code> will say “bad
|
||||
layout” and exit immediately.</p>
|
||||
<h3 id="output-m">Output m</h3>
|
||||
<p>If <code>Rinia</code> finds a usable checksum, she will say “OK.” and
|
||||
write to the specified output file. Otherwise the exit message is “fail”
|
||||
<p>If <code>Rinia</code> finds a usable checksum, she will say “OK.” and write to
|
||||
the specified output file. Otherwise the exit message is “fail”
|
||||
and nothing is written.</p>
|
||||
<p>Chances of success and how long it takes to run to completion is
|
||||
completely dominated by the layout file design. In general,
|
||||
<code>Rinia</code> runs faster if the checksum is placed before the
|
||||
other marker characters rather than after, e.g.:</p>
|
||||
completely dominated by the layout file design. In general, <code>Rinia</code>
|
||||
runs faster if the checksum is placed before the other marker
|
||||
characters rather than after, e.g.:</p>
|
||||
<pre><code> a: X X XXX b: XXXXXXXX c: XXXXXXXX
|
||||
XXXXXXXX X X XXX XXXXX
|
||||
</code></pre>
|
||||
<p><code>a</code> usually takes the longest time, while <code>c</code>
|
||||
usually is the fastest.</p>
|
||||
<p><code>a</code> usually takes the longest time, while <code>c</code> usually is the
|
||||
fastest.</p>
|
||||
<p>That said, each run is randomized with respect to system time, so
|
||||
it’s not always certain whether <code>Rinia</code> will succeed in a
|
||||
short time or not. In general, 5 marker characters are sufficient, and
|
||||
takes a few minutes.</p>
|
||||
<p>For reference, <code>rinia.c</code> was produced on a 1.7GHz machine
|
||||
(the checksum is at line 17). Out of 25 runs, the shortest was 2 seconds
|
||||
while the longest took 5 minutes. Average was about a minute. Checksum
|
||||
for this file (<code>b7a81524</code>) took about 4 minutes.</p>
|
||||
it’s not always certain whether <code>Rinia</code> will succeed in a short time
|
||||
or not. In general, 5 marker characters are sufficient, and takes
|
||||
a few minutes.</p>
|
||||
<p>For reference, <code>rinia.c</code> was produced on a 1.7GHz machine (the
|
||||
checksum is at line 17). Out of 25 runs, the shortest was 2
|
||||
seconds while the longest took 5 minutes. Average was about a
|
||||
minute. Checksum for this file (<code>b7a81524</code>) took about 4 minutes.</p>
|
||||
<h3 id="algorithm">Algorithm</h3>
|
||||
<p>Inserting a checksum in the file you are computing the checksum of
|
||||
isn’t quite trivial, since changing the file content would change the
|
||||
final checksum value.</p>
|
||||
<p>To insert the checksum, <code>Rinia</code> first assumes a random
|
||||
final checksum, inserts that string, then modifies other parts to
|
||||
compensate for the change in content.</p>
|
||||
<p>The compensation bytes are very easy to compute for binary files with
|
||||
enough consecutive scratch areas, but for text files with
|
||||
non-consecutive areas and limited degrees of freedom, <code>Rinia</code>
|
||||
has to try out all character combinations. This is done in a
|
||||
hierarchical fashion, computing only smallest partial checksum after
|
||||
each change.</p>
|
||||
isn’t quite trivial, since changing the file content would change
|
||||
the final checksum value.</p>
|
||||
<p>To insert the checksum, <code>Rinia</code> first assumes a random final
|
||||
checksum, inserts that string, then modifies other parts to compensate
|
||||
for the change in content.</p>
|
||||
<p>The compensation bytes are very easy to compute for binary files
|
||||
with enough consecutive scratch areas, but for text files with
|
||||
non-consecutive areas and limited degrees of freedom, <code>Rinia</code> has to
|
||||
try out all character combinations. This is done in a hierarchical
|
||||
fashion, computing only smallest partial checksum after each
|
||||
change.</p>
|
||||
<p>For computers a few years old, this is probably still too slow to be
|
||||
acceptable… but at the speed the IOCCC judges run the contest these
|
||||
days, I am sure you have enough patience for it <code>_^</code></p>
|
||||
acceptable… but at the speed the IOCCC judges run the contest
|
||||
these days, I am sure you have enough patience for it <code>_^</code></p>
|
||||
<h3 id="source-code">Source code</h3>
|
||||
<p><code>rinia.c</code> should compile anywhere (but with a few
|
||||
warnings). I don’t have a big-endian machine to test but
|
||||
<code>Rinia</code> should work there as well. ASCII character set
|
||||
required though.</p>
|
||||
<p>Code is formatted to the shape of “<code>Rinia</code>” from the
|
||||
anime/game “Moekko Company”. Of course at 90x50 it’s hard to recognize
|
||||
anything <code>^_^</code></p>
|
||||
<p><code>Rinia</code> is the slow but hardworking android. On some jobs
|
||||
she does very well, on others she would spend lots of time and effort
|
||||
but still fail…</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><code>rinia.c</code> should compile anywhere (but with a few warnings). I don’t
|
||||
have a big-endian machine to test but <code>Rinia</code> should work there as
|
||||
well. ASCII character set required though.</p>
|
||||
<p>Code is formatted to the shape of “<code>Rinia</code>” from the anime/game
|
||||
“Moekko Company”. Of course at 90x50 it’s hard to recognize anything
|
||||
<code>^_^</code></p>
|
||||
<p><code>Rinia</code> is the slow but hardworking android. On some jobs she does
|
||||
very well, on others she would spend lots of time and effort but
|
||||
still fail…</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-2004omoikane"><a name="inventory"></a>Inventory
|
||||
for 2004/omoikane</h1>
|
||||
<h1 id="inventory-for-2004omoikane"><a name="inventory"></a>Inventory for 2004/omoikane</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/2004/omoikane/omoikane.c">omoikane.c</a>
|
||||
- entry source</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/omoikane/Makefile">Makefile</a>
|
||||
- entry Makefile</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/omoikane/omoikane.orig.c">omoikane.orig.c</a>
|
||||
- original source</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/omoikane/omoikane.info">omoikane.info</a>
|
||||
- information about Rinia</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/omoikane/try.sh">try.sh</a>
|
||||
- how to run</li>
|
||||
<li><a href="2004_omoikane.tar.bz2">2004_omoikane.tar.bz2</a> - download
|
||||
entry source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/omoikane/omoikane.c">omoikane.c</a> - entry source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/omoikane/Makefile">Makefile</a> - entry Makefile</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/omoikane/omoikane.orig.c">omoikane.orig.c</a> - original source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/omoikane/omoikane.info">omoikane.info</a> - information about Rinia</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/omoikane/try.sh">try.sh</a> - how to run</li>
|
||||
<li><a href="2004_omoikane.tar.bz2">2004_omoikane.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/2004/omoikane/.entry.json">.entry.json</a>
|
||||
- description of entry in JSON</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/omoikane/.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/2004/omoikane/.entry.json">.entry.json</a> - description of entry in JSON</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/omoikane/.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/2004/omoikane/README.md">README.md</a>
|
||||
- markdown source for index.html</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/omoikane/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