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

+406 -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,418 @@
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<!-- -->
<!-- file: 1992/buzzard.2/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>1992 buzzard.2</title>
<meta name="description" content="IOCCC year: 1992 IOCCC winner: buzzard.2 winner index page">
<meta name="keywords" content="IOCCC,1992,buzzard.2,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>1992/buzzard.2</title>
<meta name="description" content="1992 IOCCC winner buzzard.2">
<meta name="keywords" content="IOCCC, 1992, IOCCC 1992, IOCCC winner, buzzard.2">
</head>
<!-- END: this line ends content from: inc/head.default.html -->
<!-- START: this line starts content from: inc/body.default.html -->
<body>
<h1>1992 buzzard.2</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>1992/buzzard.2</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%2F1992%2Fbuzzard.2%2Findex.html">Nu Html check https://ioccc-src.github.io/temp-test-ioccc/1992/buzzard.2/index.html</a></p>
<!-- End Nu Html Checker -->
<div class="topnav">
<a class="Left" href="../buzzard.1/index.html">&larr; buzzard.1</a>
<a class="Left" href="../index.html">&uarr; 1992 &uarr;</a>
<a class="Left" href="../gson/index.html">gson &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#Sean_Barrett">Sean Barrett</a><br>
Location: <a href="/temp-test-ioccc/location.html#null">unknown</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> all</span></code></pre></div>
<p>There is an alternate version of this program. See <a
href="#alternate-code">Alternate code</a> below for details.</p>
<h2 id="to-use">To use:</h2>
<p>First, you must make sure that <code>first</code> is made first (even
though <code>make all</code> should make first first :-) ):</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">make</span> first</span></code></pre></div>
<p>Second:</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="co"># get help:</span></span>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> help <span class="kw">|</span> <span class="fu">cat</span> third help.th <span class="at">-</span> <span class="kw">|</span> <span class="ex">./first</span></span>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a><span class="co"># try out a demo:</span></span>
<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a><span class="fu">cat</span> third demo5.th <span class="kw">|</span> <span class="ex">./first</span></span></code></pre></div>
<p>Third:</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="fu">cat</span> third help.th <span class="at">-</span> <span class="kw">|</span> <span class="ex">./first</span></span></code></pre></div>
<p>NOTE: Wait until ‘Ok’ is printed and the type:</p>
<pre><code>2 3 + . cr</code></pre>
<p>Yes you should really type the 2 letters: <code>cr</code>.</p>
<p>Fourth:</p>
<pre><code>Sorry, this is third!</code></pre>
<h2 id="try">Try:</h2>
<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">./try.sh</span></span></code></pre></div>
<h2 id="alternate-code">Alternate code:</h2>
<p>This alternate version, <a
href="buzzard.2.alt.c">buzzard.2.alt.c</a>, does not contain a fix that
the author notes in their remarks.</p>
<h3 id="alternate-build">Alternate build:</h3>
<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="fu">make</span> alt</span></code></pre></div>
<h3 id="alternate-use">Alternate use:</h3>
<p>Use <code>buzzard.2.alt</code> as you would <code>buzzard.2</code>
above.</p>
<h3 id="alternate-try">Alternate try:</h3>
<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">./try.alt.sh</span></span></code></pre></div>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>Have fun!</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<h3 id="what-it-does">What it does</h3>
<p><code>first</code> implements a relatively primitive stack machine.
How primitive? It supplies 13 visible primitives: 3 arithmetic, 1
comparison, 2 memory-access, 2 character I/O, 3 primitives for defining
new words, 1 tokenizing, and 1 special stack operation. (There are also
three internal operations for the stack machine: ‘push this integer’,
‘call this code’, and ‘compile a call to this code’.)</p>
<p>It is very difficult to accomplish anything with this set of
primitives, but they do have an interesting property.</p>
<p>This–what this interesting property is, or in other words what first
is good for–is the major obfuscation; there are also minor source
obfuscations, as well as some design tricks that are effectively
obfuscations. Details on the obfuscations are below, and the interesting
property is discussed much further down.</p>
<h3 id="how-to-run-it">How to run it</h3>
<p><code>first</code> expects you to first enter the names of the 13
primitives, separated by whitespace–it doesn’t care what you name them,
but if all the names aren’t unique, you won’t be able to use some of
them. After this you may type any sequence of valid <code>first</code>
input. Valid <code>first</code> input is defined as any sequence of
whitespace-delimited tokens which consist of primitives, new words
you’ve defined, and integers (as parsed by <code>"%d"</code>). Invalid
input behaves unpredictably, but gives no warning messages. A sample
program, <code>demo1.1st</code>, is included, but it only works on ASCII
systems.</p>
<p>Do not expect to be able to do anything interesting with
<code>first</code>.</p>
<p>To do something interesting, you need to feed <code>first</code> the
file <a href="third">third</a> first. In unix, you can do</p>
<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="fu">cat</span> third help.th <span class="at">-</span> <span class="kw">|</span> <span class="ex">./first</span></span></code></pre></div>
<p>to do this. Hopefully most operating systems will provide a way to do
this. It may take some time for this to complete (I seem to remember it
taking several minutes on an 8086 PC); <code>THIRD</code> will prompt
you when it is finished. The file <a href="third">third</a> has not been
obfuscated, due to sheer kindness on the author’s part.</p>
<p>For more information on what you can do once you’ve piped <a
href="third">third</a> into first, type <code>help</code> and consult <a
href="https://en.wikipedia.org/wiki/Forth_(programming_language)">FORTH</a>
manuals for further reference. Six sample THIRD programs are included in
the files demo[1-6].th. <a
href="buzzard.2.README.md">buzzard.2.README.md</a> has more
information.</p>
<p>Keep in mind that you are still running <code>first</code>, and are
for the most part limited by <code>first</code>’s tokenizer (notably,
unknown words will attempt to be parsed as integers.) It is possible to
build a new parser that parses by hand, reading a single character at a
time; however, such a parser cannot easily use the existing dictionary,
and so would have to implement its own, thus requiring reimplementing
all of <code>first</code> and <code>third</code> a second time–I did not
care to tackle this project.</p>
<h3 id="compiling">Compiling</h3>
<p><code>first</code> is reasonably portable. You may need to adjust the
size of the buffers on smaller machines; <code>m[]</code> needs to be at
least 2000 long, though.</p>
<p>I say <code>first</code> is portable mainly because it uses native
types. Unlike
[FORTH](https://en.wikipedia.org/wiki/Forth_(programming_language),
which traditionally allows byte and multi-byte operations, all
operations are performed on C <code>int</code>s. That means
<code>first</code> code is only as portable as the same code would be in
C. As in C, the result of dividing <code>-1</code> by <code>2</code> is
machine (or rather compiler) dependent.</p>
<h3 id="how-is-first-obfuscated">How is first obfuscated?</h3>
<p><code>first</code> is obfuscated in several ways. Some minor
obfuscations like <code>&amp;w[&amp;m[1]][s]</code> for
<code>s+m[w+1]</code> were in the original source but are no longer
because, apparently, ANSI doesn’t allow it
(<code>gcc -ansi -pedantic</code> doesn’t mind it, though.)</p>
<p>Other related obfuscations are still present. The top of the stack is
cached in a variable, which increases performance massively if the
compiler can figure out to keep it in a register; it also obfuscates the
code. (Unfortunately, the top of stack is a global variable and neither
gcc nor most bundled compilers seem to <code>register</code> allocate
it.)</p>
<p>More significant are the design obfuscations. <code>m[0]</code> is
the “dictionary pointer”, used when compiling words, and
<code>m[1]</code> is the return stack index. Both are used as integer
offsets into <code>m</code>. Both are kept in <code>m</code>, instead of
as separate pointers, because they are then accessible to
<code>first</code> programs, which is a crucial property of
<code>first</code>. Similarly the way words are stored in the dictionary
is not obvious, so it can be difficult to follow exactly what the
compiler words are doing.</p>
<p>Assuming you’ve waded through all that, you still have to penetrate
the most significant obfuscation. Traditionally, the question is whether
a reader can answer the question “what will this do when I run it”. A
reader who has deciphered <code>first</code> to this point may think
they know the answer to this question, but they may not know the answer
to the more important question, “what will this program do when given
the right input?” <a
href="https://en.wikipedia.org/wiki/Forth_(programming_language)">FORTH</a>
aficionados, and especially FORTH implementers, may recognize the
similarity of the internal compiler format to many FORTH internal
representations, and, being aware that FORTH interpreters can often be
self-compiling, may be suspicious that this program can compile FORTH,
or a significant subset of it, or at least be capable of doing so if fed
the right input. Of course, the name “THIRD” should be a dead giveaway,
if the name “first” wasn’t. (These numbers were largely chosen because
they were five letters long, like “FORTH”, and would not require
truncation to five letters, which would be a dead giveaway. Besides,
THIRD represents a step backwards, in more ways than one.)</p>
<h3 id="what-exactly-is-first-then">What exactly is <code>first</code>,
then?</h3>
<p><code>first</code> is a tiny interpreter which implements a
sufficient pseudo-subset of <a
href="https://en.wikipedia.org/wiki/Forth_(programming_language)">FORTH</a>
to allow it to bootstrap a relatively complete version of FORTH (based
loosely on forth79), which I call THIRD. Complete relative to what, I’m
not sure.</p>
<p>I believe <code>first</code> is close to the smallest amount of code
possible to get this effect <em>using forth-style primitives</em>, and
still have some efficiency (it is possible to get by without
multiplication if you have addition, obviously). In the design file,
design, I give a justification for why each primitive in
<code>first</code> was included.</p>
<p>THIRD is sorta slow, because <code>first</code> has so few primitives
that many things that are primitives in <a
href="https://en.wikipedia.org/wiki/Forth_(programming_language)">FORTH</a>
(like swap) take a significant amount of time in THIRD.</p>
<p>When you get the <code>Ok.</code> message from <code>third</code>,
try out some sample <a
href="https://en.wikipedia.org/wiki/Forth_(programming_language)">FORTH</a>
code (<code>first</code> has no way of knowing if keyboard input is
waiting, so it can’t actually prompt you in a normal way. It only prints
<code>'Ok.'</code> after you define a word).</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">2</span> 3 + . cr</span></code></pre></div>
<p>(which adds 2 and 3, and print the result and a newline.)</p>
<p>THIRD responds:</p>
<pre><code>5</code></pre>
<p>Now try:</p>
<pre><code>: test 11 1 do i . loop cr ;
test</code></pre>
<p>and THIRD responds</p>
<pre><code>1 2 3 4 5 6 7 8 9 10</code></pre>
<p>When in <code>THIRD</code>, you can see how much space you’re
currently using by typing:</p>
<pre><code>here .</code></pre>
<p>The number THIRD replies with is the number of machine words
(<code>int</code>s) that the dictionary (the first code) takes up, plus
the 512 <code>int</code>s for the return stack. If you compile the basic
THIRD system without the help word (strings take up one <code>int</code>
per character in the string!), you should find that you’re using around
1000 <code>int</code>s (plus the return stack).</p>
<p>Thus THIRD gives you a relatively complete <a
href="https://en.wikipedia.org/wiki/Forth_(programming_language)">FORTH</a>
system in less than 700 chars of C source + about 1000 <code>int</code>s
of memory–and it’s portable too (you could copy over the THIRD memory
dump to another machine, in theory). If the above numbers seem to you to
be mixing apples and oranges (C source and compiled THIRD code), note
that you should in theory be able to stick the compiled THIRD code into
the C source.</p>
<p>Software Construction Company gets credit for rekindling my interest
in FORTH and thus indirectly inspiring me to write this program.</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-1992buzzard.2"><a name="inventory"></a>Inventory
for 1992/buzzard.2</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/1992/buzzard.2/buzzard.2.c">buzzard.2.c</a>
- winning source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/buzzard.2/Makefile">Makefile</a>
- winner Makefile</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/buzzard.2/buzzard.2.alt.c">buzzard.2.alt.c</a>
- alternative source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/buzzard.2/buzzard.2.orig.c">buzzard.2.orig.c</a>
- original source</li>
<li><a href="buzzard.2.README.html">buzzard.2.README.html</a> - author
description of files</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/buzzard.2/buzzard.2.design.md">buzzard.2.design.md</a>
- about the FORTH language</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/buzzard.2/try.alt.sh">try.alt.sh</a>
- how to run alternative code</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/buzzard.2/try.sh">try.sh</a>
- how to run</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/buzzard.2/demo1.1st">demo1.1st</a>
- FORTH source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/buzzard.2/demo1.th">demo1.th</a>
- FORTH source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/buzzard.2/demo2.th">demo2.th</a>
- FORTH source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/buzzard.2/demo3.th">demo3.th</a>
- FORTH source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/buzzard.2/demo4.th">demo4.th</a>
- FORTH source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/buzzard.2/demo5.th">demo5.th</a>
- FORTH source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/buzzard.2/demo6.th">demo6.th</a>
- FORTH source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/buzzard.2/help.th">help.th</a>
- FORTH source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/buzzard.2/third">third</a>
- the third source</li>
<li><a href="1992_buzzard.2.tar.bz2">1992_buzzard.2.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/1992/buzzard.2/.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/1992/buzzard.2/.winner.json">.winner.json</a>
- description of winner in JSON</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/buzzard.2/README.md">README.md</a>
- markdown source for index.html</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/buzzard.2/buzzard.2.README.md">buzzard.2.README.md</a>
- markdown source for cannibalism.log.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%2F1992%2Fbuzzard.2%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 -->