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

+389 -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,401 @@
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<!-- -->
<!-- file: 2000/dlowe/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>2000 dlowe</title>
<meta name="description" content="IOCCC year: 2000 IOCCC winner: dlowe winner index page">
<meta name="keywords" content="IOCCC,2000,dlowe,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>2000/dlowe</title>
<meta name="description" content="2000 IOCCC winner dlowe">
<meta name="keywords" content="IOCCC, 2000, IOCCC 2000, IOCCC winner, dlowe">
</head>
<!-- END: this line ends content from: inc/head.default.html -->
<!-- START: this line starts content from: inc/body.default.html -->
<body>
<h1>2000 dlowe</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>2000/dlowe</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%2F2000%2Fdlowe%2Findex.html">Nu Html check https://ioccc-src.github.io/temp-test-ioccc/2000/dlowe/index.html</a></p>
<!-- End Nu Html Checker -->
<div class="topnav">
<a class="Left" href="../dhyang/index.html">&larr; dhyang</a>
<a class="Left" href="../index.html">&uarr; 2000 &uarr;</a>
<a class="Left" href="../jarijyrki/index.html">jarijyrki &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#J_David_Lowe">J. David Lowe</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>The following bit of perl may help determine the values you need:</p>
<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="fu">perl</span> <span class="at">-MConfig</span> <span class="at">-e</span> <span class="st">&#39;print &quot;$Config{archlibexp}/CORE\n&quot;&#39;</span></span></code></pre></div>
<p>… just in case the Makefile does not figure this out for you.</p>
<h3 id="bugs-and-misfeatures">Bugs and (Mis)features:</h3>
<p>The current status of this entry is:</p>
<pre><code>STATUS: doesn&#39;t work with some platforms - please help us fix
STATUS: known bug - please help us fix</code></pre>
<p>For more detailed information see <a href="/bugs.md#2000-dlowe">2000
dlowe in bugs.md</a>.</p>
<h2 id="to-use">To use:</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">./dlowe</span> [file ...]</span></code></pre></div>
<h2 id="try">Try:</h2>
<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="bu">echo</span> <span class="st">&quot;13 14 15 16 17 + - * / p&quot;</span> <span class="kw">|</span> <span class="ex">./dlowe</span></span></code></pre></div>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>When this entry was submitted the rules of the IOCCC did not prohibit
the use of embedded language interpreters. The judges considered
disqualifying this entry because of the use of perl, but on the other
hand it qualifies as the Worst Abuse of the Rules. As a previous winner*
David Lowe continues to inflict the highest quality “poot” on the
Judges.</p>
<p>The program also contains an undocumented command for Chad and Chongo
(Landon). The judges’ remarks contain a clue to the hidden command
:-).</p>
<ul>
<li>The IOCCC uses an anonymous judging process which keeps the identity
of the submitters hidden until all the prize winners have been
selected.</li>
</ul>
<h2 id="authors-remarks">Author’s remarks:</h2>
<h3 id="usage">Usage</h3>
<pre><code>./dlowe [file ...]</code></pre>
<h3 id="synopsis">Synopsis</h3>
<p>This is a <a
href="https://en.wikipedia.org/wiki/Reverse_Polish_notation">Reverse
Polish calculator</a>, loosely based on the <code>dc(1)</code> unix
calculator.</p>
<h1 id="syntax">Syntax</h1>
<p>This program understands the following <code>dc(1)</code>
commands:</p>
<pre><code>p prints the top stack value without altering the stack.
P prints the top stack value, removing it from the stack, and
doesn&#39;t print a trailing newline.
f prints the contents of the stack, one number per line,
without modifying it.
c clears the stack.
d pushes a copy of the top stack value onto the stack.
r reverses the order of the top two stack values.</code></pre>
<p>And the following arithmetic operators are supported:</p>
<pre><code> + Pops 2 values and pushes their sum.
- Pops 2 values and pushes the result of subtracting the first
from the second.
* Pops 2 values and pushes their product.
/ Pops 2 values and pushes the result of dividing the second
by the first.
^ Pops 2 values and pushes the result of raising the second
to the power of the first.
% Pops 2 values and pushes the remainder of the division that
/ would do.</code></pre>
<p>The precision and range are double, like it or not, except that the
modulus operator actually returns <code>(p1 - (p2 * (p1 / p2)))</code>,
but with the innermost division calculated at integer precision. This is
usually what you expect
(e.g. <code>echo "12 8 % p" | ./dlowe == 4</code>)</p>
<p>Commands are read from <code>stdin</code> or from a list of files
named on the command line. Unlike <code>dc(1)</code>, multiple commands
on the same line must be space separated. Commands are only executed
when a newline or EOF is encountered.</p>
<h3 id="diagnostics">Diagnostics:</h3>
<pre><code>&quot;stack empty&quot; Not enough on the stack for the requested command
&quot;divide by zero&quot; Attempt to divide by zero
&quot;unimplemented&quot; Invalid input
Floating point exception (core dumped) (or something to that effect)
Bug in Perl_sv_upgrade causes this in some cases when
the results of an operation are really huge (&gt; 10^308)
This bug appears to be fixed in perl5.6.0
</code></pre>
<h3 id="examples">Examples:</h3>
<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">$</span> echo <span class="st">&#39;12 13 14 15 16 + + + + f&#39;</span> <span class="kw">|</span> <span class="ex">./dlowe</span></span>
<span id="cb10-2"><a href="#cb10-2" aria-hidden="true" tabindex="-1"></a><span class="ex">70</span></span>
<span id="cb10-3"><a href="#cb10-3" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> echo <span class="st">&#39;12 13 14 15 16 17 + - * / p&#39;</span> <span class="kw">|</span> <span class="ex">./dlowe</span></span>
<span id="cb10-4"><a href="#cb10-4" aria-hidden="true" tabindex="-1"></a><span class="ex">-0.0515873015873016</span></span>
<span id="cb10-5"><a href="#cb10-5" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> echo <span class="st">&#39;+&#39;</span> <span class="kw">|</span> <span class="ex">./dlowe</span></span>
<span id="cb10-6"><a href="#cb10-6" aria-hidden="true" tabindex="-1"></a><span class="ex">stack</span> empty</span>
<span id="cb10-7"><a href="#cb10-7" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> echo <span class="st">&#39;999999999999999 1 + p&#39;</span> <span class="kw">|</span> <span class="ex">./dlowe</span></span>
<span id="cb10-8"><a href="#cb10-8" aria-hidden="true" tabindex="-1"></a><span class="ex">1e+15</span></span>
<span id="cb10-9"><a href="#cb10-9" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> echo <span class="st">&#39;99999999999999 1 + p&#39;</span> <span class="kw">|</span> <span class="ex">./dlowe</span></span>
<span id="cb10-10"><a href="#cb10-10" aria-hidden="true" tabindex="-1"></a><span class="ex">100000000000000</span></span>
<span id="cb10-11"><a href="#cb10-11" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> echo <span class="st">&#39;12.5 9 % 10 * 15 + f&#39;</span> <span class="kw">|</span> <span class="ex">./dlowe</span></span>
<span id="cb10-12"><a href="#cb10-12" aria-hidden="true" tabindex="-1"></a><span class="ex">50</span></span>
<span id="cb10-13"><a href="#cb10-13" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> echo <span class="st">&#39;7 P 6 d P P 8 p&#39;</span> <span class="kw">|</span> <span class="ex">./dlowe</span> <span class="kw">|</span> <span class="fu">tr</span> 876 tpo</span>
<span id="cb10-14"><a href="#cb10-14" aria-hidden="true" tabindex="-1"></a><span class="ex">poot</span></span></code></pre></div>
<h3 id="code-concept">Code Concept:</h3>
<p>We all know that Perl and other VHLLs (very high level languages) are
particularly well-suited for (among other things) string handling, I/O,
and powerful built-in data types, and (relatively) poorly suited for
number crunching and other processor-intensive tasks - areas where C is
strongest. This program takes this knowledge to its extreme conclusion,
using each language for its strengths. Thus, it uses Perl to read and
parse input, for output, and for the easy-to-use list primitive, and
uses C for mathematical operations. Since the rules of this contest
state that the program must be generated by an ANSI C compiler, of
course, the outer Perl layer is wrapped with a thin layer of C.</p>
<p>In case that wasn’t clear, in a nutshell: this program is C, calling
embedded Perl (contained in a C string), which in turn calls back to C,
which performs math on Perl data types and calls Perl functions for
error reporting.</p>
<h3 id="requirements">Requirements:</h3>
<p>Unfortunately, Perl is an evolving beast - that includes the
embedding API and the XS API. The code was developed under
<code>Perl 5.005_03</code>, successfully tested against
<code>Perl 5.6.0</code>, <code>Perl 5.005_02</code> and
<code>Perl 5.004_04</code>, and according to the version delta
documentation, should work as-is with <code>Perl 5.002</code> and later
(which has been around since February 1996). To clarify - it’s not the
Perl code itself that may be non-portable, it’s the C code for embedding
Perl and for calling C from Perl.</p>
<p>It is also important that Perl be installed cleanly and correctly.
You may have problems linking if, for example, you have multiple
overlapping versions of Perl installed (which might not be a problem for
scripts, but causes problems with embedding the interpreter). More
commonly, you may get non-fatal warnings from the linker, caused by
slight mis-configurations of Perl on your system.</p>
<p>Some compilers also complain that “third argument of
<code>main()</code> is deprecated” or something to that effect. But in
Perl prior to <code>5.6.0</code>, the header file “proto.h” actually had
a prototype for <code>main()</code>, so applications which embed Perl
must use the three argument form of <code>main()</code>.</p>
<h3 id="aside-history">Aside: history…</h3>
<p>Larry Wall wrote the original Perl in 1986-87, the same two
successive years he won the IOCCC. I hope this program helps you to
realize that this was no fluke - that Perl and Obfuscation are as
inseparable as, say, camels and humps.</p>
<h3 id="obfuscated">Obfuscated?</h3>
<ul>
<li><p>Reverse Polish notation is pretty strange, in and of
itself.</p></li>
<li><p>The layout of the program is three roughly symmetrical “stacks”
of code. This layout is quite sensitive in places - my C indenter
actually breaks the code by inserting spaces in certain places.</p></li>
<li><p>Anyone who has ever programmed in Perl can attest to the fact
that it is particularly well-suited to obfuscation; thus, the Perl is
obfuscated. (Here’s my favorite legal Perl from this program:
<code>_:$_=&lt;&gt;;</code> - but <code>$SS[$#SS]-=$SS[$#SS-1]</code>
isn’t bad, either).</p></li>
<li><p>I’ve eschewed traditional branch and loop structures such as
<code>if</code> and <code>for</code>, in favor of their oft-neglected
cousins, <code>goto</code> and <code>?:</code>, in both the Perl and C
code.</p></li>
<li><p>I’ve used some highly magical Perl incantations, such as symbolic
references, the <code>goto &amp;NAME</code> syntax,
<code>AUTOLOAD</code> for exception handling, and abuse of the default
scalar (<code>$_</code>).</p></li>
<li><p>I’ve also deliberately used Perl syntax that is very much unlike
C syntax: the <code>&amp;NAME</code> rather than <code>NAME()</code>
function calling syntax, leaving off parentheses wherever possible,
using <code>print()</code> instead of <code>printf()</code>, and using
the English style logic operators <code>and</code> and <code>or</code>
rather than <code>&amp;&amp;</code> and <code>||</code>, for
example.</p></li>
<li><p>The fact that all the Perl code is in double-quotes doesn’t lend
any readability to the regular expressions and quoted strings
therein.</p></li>
<li><p>The points and ways in which C and Perl connect are
<em>really</em> obscure. They’re also incredibly poorly documented, as
they’re primarily used in machine-generated code. However, there’s a
wealth of example code on <a href="https://www.cpan.org">CPAN
(www.cpan.org)</a>.</p></li>
<li><p>The Perl API functions are almost all macros, so you will
probably find that preprocessor expansion will only make things worse.
They also have helpful, verbose names like <code>SvNV</code>,
<code>SvIV</code>, and <code>newSVpv</code>. I couldn’t have done better
myself!</p></li>
<li><p>Figuring out how the mathematical C functions get called is a bit
tricky. Note the lack of explicit switching based on command
input.</p></li>
<li><p>Because of the “interesting” way that commands are interpreted,
all of the commands have synonyms. For example, if you find it easier to
remember, <code>=</code> is synonymous with <code>d</code>. This also
makes it possible to write (even more) obfuscated reverse Polish
commands (I figure this explanation moves the synonyms from ‘bug’ to
‘feature’!)</p></li>
</ul>
<p>. The first IOCCC entry with an “easter egg”?…</p>
<h3 id="aside-on-unobfuscated-perl">Aside: on unobfuscated Perl</h3>
<p>My original intent was to write obfuscated C and crystal-clear Perl,
to highlight my bending of the rules. Unfortunately, Perl really doesn’t
lend itself to crystal-clear code…</p>
<h3 id="bending-the-rules">Bending the rules?</h3>
<p>Well, the rules never state that you can’t embed another programming
language, but on the other hand, knowing Perl probably isn’t high on the
list of qualifications for judges… Oh dear, I guess your C beautifier
won’t help too much, either ;)</p>
<p>If you don’t change the rules, it’ll be embedded Ada next year!</p>
<h3 id="auto-defend">Auto defend</h3>
<p>A. Isn’t this the obfuscated C contest? What’s this Perl
<code>$#_&amp;&amp;$_</code>?</p>
<p>D. Hey, this program <em>is</em> 100% C, and does not exec an
external Perl interpreter. It simply links against the Perl language
library. The “Perl code” is just a C string constant.</p>
<p>A. Perl isn’t portable enough, or ubiquitous enough.</p>
<p>D. I’d argue that it is more portable than X. According to the Perl
folks, it runs on the following platforms: Acorn, AIX, Amiga, AS/400,
BeOS, Concurrent, Debian, DEC OSF/1, Digital UNIX, EPOC, FreeBSD,
Guardian, HP-UX, IRIX, LinuxPPC, LynxOS, MacOS, MachTen, Minix, MPE/iX,
MS-DOS, MVS, NetBSD, Netware, NextStep, OpenBSD, OpenLinux, ODT,
OpenVMS, OS/2, OS390, OSR, PowerMAX, Psion, QNX, Redhat, Reliant UNIX,
RISCOS, SCO, SGI, SINIX, Slackware, Solaris, Sun, SuSE, Tandem, Tru64,
UNIX, U/WIN, Unixware, VMS, Win31, Win32, Windows 3.1, and Windows
95/98/NT/2K. Granted, embeddable Perl isn’t quite so portable, but
still…</p>
<p>Also, Perl 5 is bundled with the following OS distributions: AIX
4.3.3+, FreeBSD 3.0+, IRIX 6.4+, every Linux distribution, NetBSD,
OpenBSD, and DEC Tru64 5.0+, again according to the Perl people.</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-2000dlowe"><a name="inventory"></a>Inventory for
2000/dlowe</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/2000/dlowe/dlowe.c">dlowe.c</a>
- winning source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/dlowe/Makefile">Makefile</a>
- winner Makefile</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/dlowe/dlowe.orig.c">dlowe.orig.c</a>
- original source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/dlowe/try.sh">try.sh</a>
- how to run</li>
<li><a href="2000_dlowe.tar.bz2">2000_dlowe.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/2000/dlowe/.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/2000/dlowe/.winner.json">.winner.json</a>
- description of winner in JSON</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2000/dlowe/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%2F2000%2Fdlowe%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 -->