build index.html for all winners

Updated manifest as per recent file changes.

Updated winner `.winner.json` to reflect the manifest changes.

Added [bin/all_run.sh](bin/all_run.sh) tool to run a command over
all winning entries.

These tools had slight improvements in the help usage message:

* bin/gen-author.sh VERSION="1.3.1 2024-01-16"
* bin/gen-inventory.sh VERSION="1.0.1 2024-01-16"
* bin/pandoc_wrapper.sh VERSION="1.3.1 2024-01-16"
* bin/subst.default.sh VERSION="1.1.1 2024-01-16"
* bin/subst.winner-index.sh VERSION="1.1.1 2024-01-16"

The `bin/readme2index.sh` tool was improved so that
if the `index.html` file exists and the tool forms
the exact same content, then the file `index.html`
file is NOT touched.

* bin/readme2index.sh VERSION="1.1 2024-01-16"

We used the following command to generate `index.html` files
for all winning entries:

```sh
bin/all_run.sh -v 3 bin/readme2index.sh
```

NOTE: We have not (yet) built HTML files above the winner directory
level (e.g., no year level nor top level HTML), nor have be built
non-index HTML files for winners.

NOTE: By default we are running `pandoc(1)` with:

```
--fail-if-warnings=true
```

This means that any problems with markdown to HTML
generates an error.  This is done to be sure that
the HTML conversion is clean.

We had to fix the following `README.md` files:

* `2000/rince/README.md`

The reference [^2] was never used.  We made a guess that [^2] applies
to the same spot as [^1].  Perhaps there is a better spot where
[^2] applies?

NOTE: For every reference, there MUST be some place where that
reference is used.

* 2012/vik/README.md

The string "$...$" is assumed to be a TeX encoded string.

NOTE: Every "$..$" needs to be backslashed as in "\$..\$".

* 2018/burton1/README.md

The reference [2] was duplicated.  We changed the
second [2] to [3].

NOTE: Every reference needs to have a unique number.

* 2020/carlini/README.md

The string "$...$" is assumed to be a TeX encoded string.

NOTE: Every "$..$" needs to be backslashed as in "\$..\$".

We also found 2 errors in the `author/author_handle.json` file set:

* author/Anonymous_2001.json

The `author/Anonymous_2001.json` file was missing.

* author/Jari_Arkko.json

The winner ID for `1989_jar.1` had a typo.
This commit is contained in:
Landon Curt Noll committed 2024-01-17 00:32:39 -08:00
1 parent 893cd915b6
commit c1466f5165
350 files changed
+95242 -4217

No files matched your search

+280 -13
View File
@@ -1,4 +1,6 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!-- START: two lines up starts content from: inc/top.default.html -->
<!-- -->
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
@@ -6,27 +8,292 @@
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<!-- -->
<!-- file: 2020/kurdyukov4/index.html created by: fake.gen_index.sh version: 1.0.5 2023-10-31 -->
<html lang="en">
<!-- END: this line ends content from: inc/top.default.html -->
<!-- -->
<!-- This file was formed by the tool: bin/readme2index.sh version: 1.1 2024-01-16 -->
<!-- -->
<!-- START: this line starts content from: inc/head.default.html -->
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>2020 kurdyukov4</title>
<meta name="description" content="IOCCC year: 2020 IOCCC winner: kurdyukov4 winner index page">
<meta name="keywords" content="IOCCC,2020,kurdyukov4,winner index page">
<link rel="stylesheet" href="/temp-test-ioccc/ioccc.css">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>2020/kurdyukov4</title>
<meta name="description" content="2020 IOCCC winner kurdyukov4">
<meta name="keywords" content="IOCCC, 2020, IOCCC 2020, IOCCC winner, kurdyukov4">
</head>
<!-- END: this line ends content from: inc/head.default.html -->
<!-- START: this line starts content from: inc/body.default.html -->
<body>
<h1>2020 kurdyukov4</h1>
<!-- END: this line ends content from: inc/body.default.html -->
<!-- START: this line starts content from: inc/header.default.html -->
<p>XXX - fake content until readme2index is working - XXX</p>
<div class="header">
<img src="/temp-test-ioccc/png/ioccc.png" alt="IOCCC image by Matt Zucker" width=300 height=110>
<h1>The International Obfuscated C Code Contest</h1>
<h2>2020/kurdyukov4</h2>
</div>
<hr style="width:50%;text-align:left;margin-left:0">
<!-- END: this line ends content from: inc/header.default.html -->
<!-- START: this line starts content from: inc/topnav.mid.html -->
<!-- Start Nu Html Checker -->
<p><a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F2020%2Fkurdyukov4%2Findex.html">Nu Html check https://ioccc-src.github.io/temp-test-ioccc/2020/kurdyukov4/index.html</a></p>
<!-- End Nu Html Checker -->
<div class="topnav">
<a class="Left" href="../kurdyukov3/index.html">&larr; kurdyukov3</a>
<a class="Left" href="../index.html">&uarr; 2020 &uarr;</a>
<a class="Left" href="../otterness/index.html">otterness &rarr;</a>
<a class="Right" href="#inventory">Inventory</a>
</div>
<!-- END: this line ends content from: inc/topnav.mid.html -->
<!-- START: this line starts content from: inc/begin-row.default.html -->
<div class="row">
<!-- END: this line ends content from: inc/begin-row.default.html -->
<!-- START: this line starts content from: inc/begin-leftcolumn.default.html -->
<div class="leftcolumn">
<!-- END: this line ends content from: inc/begin-leftcolumn.default.html -->
<!-- START: this line starts content from: inc/sidenav.default.html -->
<div class="sidenav">
<a href="#content">Jump to contents</a>
</div>
<hr>
<div class="sidenav">
<a href="/temp-test-ioccc/index.html">IOCCC Home</a>
<a href="/temp-test-ioccc/years.html">Winning Entries</a>
<a href="/temp-test-ioccc/winners.html">People who have won</a>
</div>
<hr>
<div class="sidenav">
<a href="/temp-test-ioccc/news.html">IOCCC News</a>
<a href="/temp-test-ioccc/faq.html#submit">How to enter the IOCCC</a>
<a href="/temp-test-ioccc/faq.html">FAQ</a>
</div>
<hr>
<div class="sidenav">
<a href="/temp-test-ioccc/bugs.html">Bugs &amp; (mis)features</a>
<a href="/temp-test-ioccc/faq.html#fix_a_winner">Fixing IOCCC winners</a>
<a href="/temp-test-ioccc/faq.html#fix_web_site">Fixing the web site</a>
<a href="/temp-test-ioccc/faq.html#fix_author">Fixing winner info</a>
<a href="/temp-test-ioccc/thanks-for-help.html">Thanks for the help</a>
</div>
<hr>
<div class="sidenav">
<a href="/temp-test-ioccc/judges.html">The IOCCC Judges</a>
<a href="/temp-test-ioccc/contact.html">Contacting the IOCCC</a>
</div>
<hr>
<div class="sidenav">
<a href="#top">Jump to top</a>
</div>
<!-- END: this line ends content from: inc/sidenav.default.html -->
<!-- START: this line starts content from: inc/end-leftcolumn.default.html -->
</div>
<!-- END: this line ends content from: inc/end-leftcolumn.default.html -->
<!-- START: this line starts content from: inc/begin-rightcolumn.default.html -->
<div class="rightcolumn">
<!-- END: this line ends content from: inc/begin-rightcolumn.default.html -->
<!-- START: this line starts content from: inc/before-content.default.html -->
<a name="content"></a>
<!-- END: this line ends content from: inc/before-content.default.html -->
<!-- START: this line starts content generated by: bin/gen-author.sh -->
<p><a name="author"><strong>Author:</strong></a> <br><br>Name: <a
href="/temp-test-ioccc/winners.html#Ilya_Kurdyukov">Ilya
Kurdyukov</a><br> Location: <a
href="/temp-test-ioccc/location.html#RU">RU</a></p>
<!-- END: next line ends content generated by: bin/gen-author.sh -->
<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>
<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">./prog</span> text_file output_length context_length random_seed</span></code></pre></div>
<h2 id="try">Try:</h2>
<p>When running this, ask yourself why it gets progressively slower when
the context length decreases:</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>
<blockquote>
<p>Performance depends on the number of same hashes found. Too many
identical strings if the context length is small. – Author</p>
</blockquote>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>We were able to <a href="rand.c">write our own program</a> performing
the same trick using the (still non-standard, for some reason) library
function <code>memmem()</code>, but that way it works too fast
regardless of the context length, and it’s much less fun.</p>
<p>The author wrote in reply:</p>
<hr />
<p>Wow, amazing! Very fast, but there is a drawback to randomness. If
some string only appears after half the input, the first instance of
this string will have a 50% chance of occurrence. Example:</p>
<pre><code>echo &quot;00000000000000000000 01 02 02 02 02 02 02&quot; &gt; test.txt
./prog test.txt 1000 2 123
# more twos in output
./rand test.txt 1000 2 123
# more ones in output</code></pre>
<blockquote>
<p>But this will happen very rarely on real data. – Author</p>
</blockquote>
<hr />
<p>Try using the same random seed and varying the context size.</p>
<p>BTW: what on Middle-earth is <code>lámatyávë</code>? It’s Quenya, one
of the languages of the Elves in Tolkien’s Legendarium. It means sound
taste (plural is lámatyáver) and it refers to phonaesthesia - in other
words, it refers to the pleasure of sound and form of words. It’s
discussed in <a
href="https://en.wikipedia.org/wiki/Morgoth%27s_Ring">Morgoth’s
Ring</a>, volume X of <a
href="https://en.wikipedia.org/wiki/The_History_of_Middle-earth">History
of Middle-earth (HoMe)</a>. Now can you appreciate the award title a bit
better?</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<h3 id="building">Building:</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">cc</span> prog.c <span class="at">-o</span> prog</span></code></pre></div>
<h3 id="usage">Usage:</h3>
<p>This program generates random text from the provided dictionary using
a Markov chain, outputting to <code>stdout</code>.</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="ex">./prog</span> input.txt 2000 10 12345</span></code></pre></div>
<p>Parameters are:</p>
<ol type="1">
<li><p>dictionary filename Need at least the size of the book, the more
the better (1Mb); you can concatenate several books into one file. This
should be a text file (not <code>.doc</code>/<code>.pdf</code>). You can
feed it with books in <code>.fb2</code> format, metadata is filtered.
Whitespace characters are also filtered. For languages other than
English, it’s better to use ANSI encoding. You can use UTF, but you need
to increase the chain length (if one ANSI character is encoded as two
UTF bytes, then multiply chain length by two).</p></li>
<li><p>bytes to generate (limited to 1Mb)</p></li>
<li><p>chain length Randomness and performance depend inversely on this
parameter and the size of the dictionary. If you feel that the bytes are
generated too slowly, then you need to increase the length of the chain.
This length means that any part of the output of this size in bytes
exists somewhere in the dictionary.</p></li>
<li><p>random seed</p></li>
</ol>
<h3 id="example">Example</h3>
<p>You can try this with the inputs provided with <a
href="/2019/mills/README.md">2019/mills</a> from the IOCCC winners.</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="ex">$</span> ./prog Shakespeare.txt 2001 10 12345</span></code></pre></div>
<p>produces:</p>
<pre><code>r sons, wives for them, as the hope I had it. This is the way they be not too ra
sh a trial of you only. Therefore will not out of door? Nurse: Marry, bachelor,
Have other some, he is in Rome: but where is Warwick frowns at his. PRINCE EDWAR
D: Where is the light: But I will watch thy waking, what work he makes Amongst y
ou? Come, sirs, We shall write to you, fortune and The hazard of much blood. I w
ould to heaven, respective lenity, And fire-eyed fury be my convoy in the senten
ced; &#39;tis too horrible, so bloody on the banks If they were created, Would bring
them to our presence? FLORIZEL: And those his golden crown, What is six winters
? they are but Lewis and Warwick bids you come too late come from the king&#39;s fri
end, and will do&#39;t; for, look you, sir, For still thy true servitor: I will rend
an oak And peg thee in his knotty entrails till Thou hast hazel eyes: what eye
but such an eye would spy out such a day to-morrow, or next day: He is within th
e limit of the like, forsworn to love, Send her a story of more woe Than this is
a merry ballad, but a very pretty one. MOPSA: Thou hast amazed me, My name is E
lbow: I do lean upon, Now thou art: Thy tears are womanish; thy wild acts denote
The unreasonably: come, you must: and there, I then do&#39;t to them? VOLUMNIA: Now
the red pestilence hangs in our aim, which is yours. What is&#39;t your honour, as
in war, since then, You have said before: My child is dead; or &#39;twere not &#39;long
of him; but he, like you, lads; about your ears it is Menenius? Second Officer:
Come, come, young wanton and effeminate boy, Takes on the hungry beach Fillip th
e stars Shall bitterly begin his wooing that we have in hand are angry And frown
ing brow to brow, ourselves, Still your own affections are devised, As blanks, b
enevolences, and I thank thee for it. KING HENRY VI: Master lieutenant comes. Ma
ster lieutenant comes. Master lieutenant, pray you,-- CORIOLANUS: What&#39;s that to
him? CHRISTOPHER: At Pembroke, Sir James Blunt, And Rice ap Thomas with a virtu</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>
<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>
<!-- START: this line starts content generated by: bin/gen-inventory.sh -->
<h1 id="inventory-for-2020kurdyukov4"><a name="inventory"></a>Inventory
for 2020/kurdyukov4</h1>
<h2 id="primary-files">Primary files</h2>
<ul>
<li><a href="index.html">index.html</a> - winner home page</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov4/prog.c">prog.c</a>
- winning source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov4/Makefile">Makefile</a>
- winner Makefile</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov4/prog.orig.c">prog.orig.c</a>
- original source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov4/Eugene_Onegin.txt">Eugene_Onegin.txt</a>
- Eugene Onegin poetry</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov4/Shakespeare.txt">Shakespeare.txt</a>
- Shakespeare text</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov4/rand.c">rand.c</a>
- randomize a file</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov4/try.sh">try.sh</a>
- how to run</li>
<li><a href="2020_kurdyukov4.tar.bz2">2020_kurdyukov4.tar.bz2</a> -
download winning source</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov4/.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/2020/kurdyukov4/.winner.json">.winner.json</a>
- description of winner in JSON</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/kurdyukov4/README.md">README.md</a>
- markdown source for index.html</li>
</ul>
<!-- END: next line ends content generated by: bin/gen-inventory.sh -->
<!-- START: this line starts content from: inc/after-content.default.html -->
<!-- END: this line ends content from: inc/after-content.default.html -->
<!-- START: this line starts content from: inc/end-rightcolumn.default.html -->
</div>
<!-- END: this line ends content from: inc/end-rightcolumn.default.html -->
<!-- START: this line starts content from: inc/end-row.default.html -->
</div>
<!-- END: this line ends content from: inc/end-row.default.html -->
<!-- START: this line starts content from: inc/footer.default.html -->
<div class="footer">
<hr>
<h2>Coda</h2>
<p><a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F2020%2Fkurdyukov4%2Findex.html">Nu HTML check this web page</a></p>
<p><a href="#top">Jump to top</a> <a href="#content">Jump to Content</a> <a href="#inventory">Jump to Inventory</a></p>
</div>
<!-- END: this line ends content from: inc/footer.default.html -->
<!-- START: this line starts content from: inc/bottom.default.html -->
</body>
</html>
<!-- END: this line ends content from: inc/bottom.default.html -->