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

+364 -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,376 @@
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<!-- -->
<!-- file: 2014/birken/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>2014 birken</title>
<meta name="description" content="IOCCC year: 2014 IOCCC winner: birken winner index page">
<meta name="keywords" content="IOCCC,2014,birken,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>2014/birken</title>
<meta name="description" content="2014 IOCCC winner birken">
<meta name="keywords" content="IOCCC, 2014, IOCCC 2014, IOCCC winner, birken">
</head>
<!-- END: this line ends content from: inc/head.default.html -->
<!-- START: this line starts content from: inc/body.default.html -->
<body>
<h1>2014 birken</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>2014/birken</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.first.html -->
<!-- Start Nu Html Checker -->
<p><a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F2014%2Fbirken%2Findex.html">Nu Html check https://ioccc-src.github.io/temp-test-ioccc/2014/birken/index.html</a></p>
<!-- End Nu Html Checker -->
<div class="topnav">
<a class="Left Disabled" href="#">first entry</a>
<a class="Left" href="../index.html">&uarr; 2014 &uarr;</a>
<a class="Left" href="../deak/index.html">deak &rarr;</a>
<a class="Right" href="#inventory">Inventory</a>
</div>
<!-- END: this line ends content from: inc/topnav.first.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>Authors:</strong></a> <br><br>Name: <a
href="/temp-test-ioccc/winners.html#Alexander_Prishchepov">Alexander
Prishchepov</a><br> Location: <a
href="/temp-test-ioccc/location.html#US">US</a> <br><br>Name: <a
href="/temp-test-ioccc/winners.html#Michael_Birken">Michael
Birken</a><br> Location: <a
href="/temp-test-ioccc/location.html#US">US</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>
<p>There is alternate code that lets you redefine the port to bind to,
in case there is a firewall issue, and also lets you redefine the timing
constant, <code>STARDATE</code>. See <a
href="#alternate%20code">Alternate code</a> below.</p>
<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> <span class="op">&lt;</span> some_secret_or_something</span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a><span class="ex">./prog</span> http://host<span class="pp">[</span><span class="ss">:port</span><span class="pp">]</span></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">./prog</span> <span class="op">&lt;</span> README.md</span></code></pre></div>
<p>or maybe:</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="bu">echo</span> <span class="st">&quot;IOCCC 2014!&quot;</span> <span class="kw">|</span> <span class="ex">./prog</span></span></code></pre></div>
<p>Next, try in another terminal, as the above one is running:</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">./prog</span> http://127.0.0.1:1701</span></code></pre></div>
<p>What happens if you specify instead of a regular file something like
<code>/dev/null</code> ?</p>
<p>But there’s more! Try opening in a browser the same address and then
see what happens. This is explained by the authors when explaining their
inspiration.</p>
<h2 id="alternate-code">Alternate code:</h2>
<p>This version allows you to redefine the port to bind to, should 1701
be a problem for some reason, and it also allows you to change the
timing as described by the author. See <a
href="#configuration">configuration</a> below.</p>
<h3 id="alternate-build">Alternate build:</h3>
<p>To specify the port to say, 31337, try:</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">make</span> clobber PORT=31337 alt</span></code></pre></div>
<p>To change the timing constant, <code>STARDATE</code>, try:</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">make</span> clobber TIME=5000000 alt</span></code></pre></div>
<p>You can combine them both of course.</p>
<h3 id="alternate-use">Alternate use:</h3>
<p>Use <code>prog.alt</code> as you would <code>prog</code> above.
Remember that ports &lt; 1024 are privileged ports that unprivileged
users cannot use.</p>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>Port 1701? Well this is not the l2f registered TCP/1701 protocol.
Sniff the traffic to/from that port. You will see HTTP client and server
traffic. The HTML content you may see is static and immutable. Nothing
funny with the HTTP status codes. Even the timestamp cookie, once set,
remains static throughout the session. The data appears to not be
transmitted within the binary content communicated between client and
server.</p>
<p>So how does this program do it? A trek though the cloak of
obfuscation awaits the reader of the source!</p>
<h2 id="authors-remarks">Authors’ remarks:</h2>
<h3 id="abstract">Abstract</h3>
<p>When launched in web server mode, this application appears to deliver
nothing more than a static HTML page. But, in actuality, it allows
covert file transfer over the Internet. This is demonstrated by starting
the application as a client-side downloader. The hidden transmitted data
cannot be reconstructed or even detected from the binary content of the
traffic between the client and the server.</p>
<h2 id="to-use-web-server">To use web server</h2>
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./prog</span> <span class="op">&lt;</span> secret_file_to_be_downloaded</span></code></pre></div>
<p>Try using the program’s source code as the secret file:</p>
<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./prog</span> <span class="op">&lt;</span> prog.c</span></code></pre></div>
<h2 id="to-use-client-side-downloader">To use client-side
downloader</h2>
<div class="sourceCode" id="cb10"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./prog</span> http://host<span class="pp">[</span><span class="ss">:port</span><span class="pp">]</span></span></code></pre></div>
<p>The optional port defaults to 1701. If the web server instance is
started on the same box, try:</p>
<div class="sourceCode" id="cb11"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./prog</span> http://127.0.0.1:1701</span></code></pre></div>
<p>It will incrementally display the contents of the hidden file at a
rate of approximately 1 baud.</p>
<p>The client-side downloader will automatically terminate if the web
server is bounced.</p>
<h3 id="html-content">HTML content</h3>
<p>Plug the URL into a browser to view a static HTML page containing
ASCII artwork.</p>
<h3 id="exploration">Exploration</h3>
<p>Studying the network traffic will reveal that the HTML content is
static and immutable, the HTTP request and response fields do not
contain anything remarkable, HTTP status and error codes are not
exploited, no unusual or deprecated features of HTTP are used, and while
the cookie is based on a timestamp, its value also remains unchanged
throughout the session. As mentioned in the abstract, the data is not
transmitted within the binary content communicated between the client
and the server. A full explanation of the protocol appears below, but
feel free to explore before reading further.</p>
<h3 id="inspiration">Inspiration</h3>
<p>The inspiration for this program comes from <a
href="https://memory-alpha.fandom.com/wiki/Star_Trek_VI:_The_Undiscovered_Country">Star
Trek VI: The Undiscovered Country</a>, specifically the final
confrontation between the <a
href="https://memory-alpha.fandom.com/wiki/USS_Enterprise_(NCC-1701)">Enterprise</a>
and the enhanced prototype <a
href="https://memory-alpha.fandom.com/wiki/Klingon_Bird-of-Prey">Klingon
Bird of Prey</a>. The definitive feature of the prototype was its
ability to fire while cloaked. But, perhaps even more impressive was its
ability to keep an open communication channel with the Enterprise
throughout the battle, enabling the antagonist <a
href="https://memory-alpha.fandom.com/wiki/Chang_(General)">Chang</a> to
taunt <a
href="https://memory-alpha.fandom.com/wiki/James_T._Kirk">Captain
Kirk</a> with <a
href="https://en.wikipedia.org/wiki/William_Shakespeare">Shakespearian</a>
quotes while he slowly pelted his ship with torpedoes. Normally, cloaked
vessels must maintain silent running to avoid detection.</p>
<p>The battle is commemorated in the form of ASCII artwork depicting the
ships faced head-to-head in the page delivered by the web server. Plus,
the program source code is formatted in the shape of a Klingon Bird of
Prey. The code itself includes a number of Star Trek references: the
registry number of the Enterprise (NCC-1701) is defined as a constant;
variable names spell out Cpt. James T. Kirk and <a
href="https://memory-alpha.fandom.com/wiki/Odo">Odo</a> (the <a
href="https://memory-alpha.fandom.com/wiki/Star_Trek:_Deep_Space_Nine">Deep
Space 9</a> character was played by René Auberjonois who also appeared
as <a href="https://memory-alpha.fandom.com/wiki/West">Colonel West</a>
in <a
href="https://memory-alpha.fandom.com/wiki/Star_Trek_VI:_The_Undiscovered_Country">Star
Trek VI</a>); the <code>STARDATE</code> constant makes timing
configurable; and, the constant <code>k</code> stands for <a
href="https://memory-alpha.fandom.com/wiki/Khan_Noonien_Singh">Khan</a>
(in the final engagement in <a
href="https://memory-alpha.fandom.com/wiki/Star_Trek_II:_The_Wrath_of_Khan">Star
Trek II: The Wrath of Khan</a>, the damaged Enterprise managed to
disable the USS <a
href="https://memory-alpha.fandom.com/wiki/USS_Reliant_(NCC-1864)">Reliant</a>’s
shield generator by accessing its prefix code: 16309).</p>
<h3 id="secondary-size-limit">Secondary size limit</h3>
<p>As obligated by a program that employs 23rd century cloaking
technology, when the source is fed as input to <a
href="../iocccsize.c">IOCCC size tool version 2014-09-23-v19</a>, and
the <code>-i</code> command line option is used, the value printed is
0.</p>
<h3 id="transmission-protocol-revealed">Transmission protocol
revealed</h3>
<p>The client-side downloader relies on the response time of the web
server rather than the binary content of the response. The server
transmits 1 nibble at a time by counting to the nibble value via a
sequence of rapid responses terminated by a long response. For instance,
the value 5 would be transmitted by making a series of requests that
result in 5 near instantaneous responses followed by a half-second
delayed response. The long delay is skipped in the case of 15, the
maximal nibble value. With the aid of an ASCII table, it is actually
possible to read the nibbles by repeatedly pressing the refresh button
within a browser and observing the page refresh delay.</p>
<p>Nibble Count Coding (file transfer protocol NCC-1701) is faster than
transmitting each individual bit as a short or long delay because it
sends each byte with 2 long delays whereas communicating individual bits
requires 8 long delays in the worst case scenario. In fact, Nibble Count
Coding is faster than applying Huffman Coding since that is designed to
produce compact codes under the assumption that the bit value does not
affect transmission time.</p>
<p>The server relies on the cookie to identify each client uniquely,
enabling it to transfer the sequence independently to each client.</p>
<h3 id="configuration">Configuration</h3>
<p>As with all network communication, accurate transmission of data
relies on the nature of hardware revealed through statistics and
timeouts set accordingly. The long delay is arbitrarily set to
<code>0.5</code> seconds. This is microsecond tunable via the
<code>STARDATE</code> constant defined at the top of the source code.
Increase the value in the event of transmission errors. Decrease the
value to download faster and less reliably.</p>
<p>The NCC constant is the web server port number.</p>
<h3 id="obfuscations">Obfuscations</h3>
<ul>
<li>The ASCII artwork is compressed using run-length encoding.</li>
<li>One long string stores a series of strings concatenated together and
referenced via pointers.</li>
<li>The long string is shift encrypted.</li>
<li>Short and meaningless identifiers are used throughout.</li>
<li>Reversed array indexing was applied immoderately.</li>
<li>Minus is used in place of not-equals.</li>
<li><code>O</code> and <code>l</code> were selected for their
resemblance to <code>0</code> and <code>1</code> respectively.</li>
<li>Standard constants and ASCII characters were replaced with their
respective numerical values.</li>
</ul>
<h3 id="compiler-warnings">Compiler warnings</h3>
<p>For space considerations, the following include statements were
dropped resulting in compiler warnings:</p>
<div class="sourceCode" id="cb12"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="pp">#include </span><span class="im">&lt;asm/byteorder.h&gt;</span></span>
<span id="cb12-2"><a href="#cb12-2" aria-hidden="true" tabindex="-1"></a><span class="pp">#include </span><span class="im">&lt;ctype.h&gt;</span></span>
<span id="cb12-3"><a href="#cb12-3" aria-hidden="true" tabindex="-1"></a><span class="pp">#include </span><span class="im">&lt;netinet/in.h&gt;</span></span>
<span id="cb12-4"><a href="#cb12-4" aria-hidden="true" tabindex="-1"></a><span class="pp">#include </span><span class="im">&lt;stdlib.h&gt;</span></span>
<span id="cb12-5"><a href="#cb12-5" aria-hidden="true" tabindex="-1"></a><span class="pp">#include </span><span class="im">&lt;string.h&gt;</span></span>
<span id="cb12-6"><a href="#cb12-6" aria-hidden="true" tabindex="-1"></a><span class="pp">#include </span><span class="im">&lt;sys/select.h&gt;</span></span>
<span id="cb12-7"><a href="#cb12-7" aria-hidden="true" tabindex="-1"></a><span class="pp">#include </span><span class="im">&lt;sys/socket.h&gt;</span></span>
<span id="cb12-8"><a href="#cb12-8" aria-hidden="true" tabindex="-1"></a><span class="pp">#include </span><span class="im">&lt;sys/types.h&gt;</span></span>
<span id="cb12-9"><a href="#cb12-9" aria-hidden="true" tabindex="-1"></a><span class="pp">#include </span><span class="im">&lt;sys/unistd.h&gt;</span></span></code></pre></div>
<p>It may be necessary to restore some of these under certain
environments.</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>
<!-- START: this line starts content generated by: bin/gen-inventory.sh -->
<h1 id="inventory-for-2014birken"><a name="inventory"></a>Inventory for
2014/birken</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/2014/birken/prog.c">prog.c</a>
- winning source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/birken/Makefile">Makefile</a>
- winner Makefile</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/birken/prog.alt.c">prog.alt.c</a>
- alternative source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/birken/prog.orig.c">prog.orig.c</a>
- original source</li>
<li><a href="2014_birken.tar.bz2">2014_birken.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/2014/birken/.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/2014/birken/.winner.json">.winner.json</a>
- description of winner in JSON</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/birken/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%2F2014%2Fbirken%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 -->