built year level index.html files

Added `bin/all-years.sh` to run a command over all years.

Added `bin/gen-year-index.sh` to build an `index.html`
for a given year.

Added support code to build an `index.html`
for a given year.

Added `make gen_year_index` to to level Makefile
and related rules.

Using the above, added `index.html` files for all IOCCC years.

Updated `bin/README.md` according to the above.

Improved comments in `bin/all-run.sh`.

Exported TOPDIR in all `bin/` tools that use TOPDIR.

Removed incorrect lines in `bin/quick-readme2index.sh`
usage message.

Improve -v 3 printed important variables messages,
in order that important variables are exported,
from all `bin/` tools.

Rebuild all HTML pages via `make www`.
This commit is contained in:
Landon Curt Noll committed 2024-02-12 17:59:40 -08:00
1 parent cc73503c10
commit 64e4fd91ed
50 files changed
+9277 -83

No files matched your search

+270
View File
@@ -0,0 +1,270 @@
<!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 !!! -->
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<!-- -->
<!-- END: this line ends content from: inc/top.default.html -->
<!-- -->
<!-- The original markdown content was formed by the tool: unspecified -->
<!-- The HTML was converted from markdown by the tool: bin/md2html.sh -->
<!-- -->
<!-- START: this line starts content from: inc/head.default.html -->
<head>
<link rel="stylesheet" href="../ioccc.css">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>2018 - The 25th IOCCC</title>
<meta name="description" content="IOCCC Year 2018">
<meta name="keywords" content="IOCCC, 2018, IOCCC 2018, IOCCC entry, The 25th IOCCC">
</head>
<!-- END: this line ends content from: inc/head.default.html -->
<!-- START: this line starts content from: inc/body.default.html -->
<body>
<!-- END: this line ends content from: inc/body.default.html -->
<!-- START: this line starts content from: inc/header.default.html -->
<div class="header">
<img src="../png/ioccc.png" alt="IOCCC image by Matt Zucker" width=300 height=110>
<h1>The International Obfuscated C Code Contest</h1>
<h2>2018 - The 25th IOCCC</h2>
</div>
<!-- END: this line ends content from: inc/header.default.html -->
<!-- START: this line starts content from: inc/topnav.year.mid.html -->
<div class="topnav">
<a class="Left" href="../2015/index.html">&larr; 2015</a>
<a class="Left" href="../index.html">&uarr; top &uarr;</a>
<a class="Left" href="../2019/index.html">2019 &rarr;</a>
<a class="Right" href="#inventory">Inventory</a>
</div>
<!-- END: this line ends content from: inc/topnav.year.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="../index.html">IOCCC Home</a>
<a href="../years.html">Winning Entries</a>
<a href="../winners.html">People who have won</a>
</div>
<hr>
<div class="sidenav">
<a href="../news.html">IOCCC News</a>
<a href="../faq.html#submit">How to enter the IOCCC</a>
<a href="../faq.html">FAQ</a>
</div>
<hr>
<div class="sidenav">
<a href="../bugs.html">Bugs &amp; (mis)features</a>
<a href="../faq.html#fix_a_winner">Fixing IOCCC winners</a>
<a href="../faq.html#fix_web_site">Fixing the web site</a>
<a href="../faq.html#fix_author">Fixing winner info</a>
<a href="../thanks-for-help.html">Thanks for the help</a>
</div>
<hr>
<div class="sidenav">
<a href="../judges.html">The IOCCC Judges</a>
<a href="../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 for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<h1 id="twenty-fifth-international-obfuscated-c-code-contest">Twenty
Fifth International Obfuscated C Code Contest</h1>
<h2 id="standard-ioccc-stuff">Standard IOCCC stuff</h2>
<p>The primary IOCCC web site can be found at,</p>
<blockquote>
<p><a href="https://www.ioccc.org/"
class="uri">https://www.ioccc.org/</a></p>
</blockquote>
<p>Use <code>make</code> to compile entries. It is possible that on
non-Unix / non-Linux systems the Makefile needs to be changed. See the
Makefile for details.</p>
<p>Look at the source and try to figure out what the programs do, and
run them with various inputs. If you want to, look at the hints files
for spoilers - this year we included most of the information included by
the submitter.</p>
<p>Read over the Makefile for compile/build issues. Your system may
require certain changes (add or remove a library, add or remove a
#define).</p>
<p>Some C compilers are not quite as good as they should be. If yours is
lacking, you may need to compile using clang or gcc instead of your
local compiler.</p>
<h2 id="remarks-on-some-of-the-winners">Remarks on some of the
winners</h2>
<p>We believe you will again be impressed with this year’s winners.</p>
<p>The “Best of show” (mills) is an amazing tribute to winners from 1984
and 2015.</p>
<p>Take a close look at the “Most likely to top the charts” (hou)
winner. Observe that while it contains no variables and no operators, it
remains functional in what it does.</p>
<p>The “Best one-liner” (burton1), at 109 characters, is a short and
sweet implementation of a classic utility and a nod to a winner from
1986. Sometimes it takes 20 ox years to do things the true IOCCC
way.</p>
<p>The color of the remarks text this year was inspired by one of the
stars of the “Most stellar” winner (poikola).</p>
<p>The “Best use of python” (endoh2) is a not what you might think it
is. It is something completely different.</p>
<p>The “Most likely to be awarded” (ciura) has an amazing
vocabulary!</p>
<p>There are also nods to winners of the years 2000 (bellard), 1989
(yang), …</p>
<p>…We’ll stop spouting spoilers now. Have fun exploring all the
entries!</p>
<h2 id="remarks-on-some-of-submissions-that-did-not-win">Remarks on some
of submissions that did not win</h2>
<p>The number of entries that would have made it into the final rounds
would have been much higher had some people paid attention to rules 2
and 22 (one third of 666).</p>
<p>Rule 22, now known as “Catch 22” states:</p>
<pre><code>| 22) Your source code, data files, remarks and program output must NOT
| identify the authors of your code. The judges STRONGLY prefer to
| not know who is submitting entries to the IOCCC.
| The &quot;Peter Honeyman is exempt&quot; guideline also applies to this rule.
| Identifying yourself, in an obvious way in your code, data, remarks
| or program output, unless you are Peter Honeyman or pretending
| to be Peter Honeyman, will be grounds for disqualification of your entry.</code></pre>
<p>A number of other entries were based on iocccsize.c, making
derivative works rather than original works.</p>
<p>Still other entries were too large, violating the first line of rule
2:</p>
<pre><code>2) The size of your program source must be &lt;= 4096 bytes in length.</code></pre>
<p>While these entries might have passed under the 2053 limit for
iocccsize, they were larger than &lt;= 4096 bytes, sometimes by an order
or magnitude.</p>
<p>We hope the authors of some of those entries will fix and re-submit
them for the next IOCCC.</p>
<p>Some entries seemed to have a good idea, but the implementation of
the idea was limited in scope.</p>
<h2 id="final-comments">Final Comments</h2>
<p><strong>IMPORTANT NOTE</strong>: See <a
href="/contact.html">contact.html</a> for up to date contact details as
well as details on how to provide fixes to any of the entries. See also
<a href="/faq.html">the IOCCC FAQ</a> for addition information on the
IOCCC.</p>
<h1 id="copyright-and-license">Copyright and License</h1>
<p>Copyright (C) 2018,2023, Landon Curt Noll and Leonid A. Broukhis. All
Rights Reserved. This work is licensed under a <a
href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons
CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International</a> license.
If you do use this work in some form, the <a href="/judges.html">IOCCC
judges</a> would appreciate (but does not require) if you were to <a
href="/contact.html">send us a note about your use</a>.</p>
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<!-- START: this line starts content for HTML phase 22 by: bin/output-year-index.sh via bin/md2html.sh -->
<!-- START: this line starts content generated by: bin/output-year-index.sh -->
<h1
id="winning-entries-of-2018---the-25th-ioccc"><a name=inventory></a><a name=2018></a>Winning
Entries of 2018 - The 25th IOCCC</h1>
<p><strong>Download IOCCC</strong> <a
href="2018/ioccc.2018.tar.bz2">2018 entry source</a></p>
<ul>
<li><a href="2018/algmyr/index.html">2018/algmyr</a> - Most
cacophonic</li>
<li><a href="2018/anderson/index.html">2018/anderson</a> - Most able to
divine code gaps</li>
<li><a href="2018/bellard/index.html">2018/bellard</a> - Most
inflationary</li>
<li><a href="2018/burton1/index.html">2018/burton1</a> - Best
one-liner</li>
<li><a href="2018/burton2/index.html">2018/burton2</a> - Best abuse of
the rules</li>
<li><a href="2018/ciura/index.html">2018/ciura</a> - Most likely to be
awarded</li>
<li><a href="2018/endoh1/index.html">2018/endoh1</a> - Best tool to
reveal holes</li>
<li><a href="2018/endoh2/index.html">2018/endoh2</a> - Best use of
python</li>
<li><a href="2018/ferguson/index.html">2018/ferguson</a> - Best use of
weasel words</li>
<li><a href="2018/giles/index.html">2018/giles</a> - Most unstable</li>
<li><a href="2018/hou/index.html">2018/hou</a> - Most likely to top the
charts</li>
<li><a href="2018/mills/index.html">2018/mills</a> - Best of show</li>
<li><a href="2018/poikola/index.html">2018/poikola</a> - Most
stellar</li>
<li><a href="2018/vokes/index.html">2018/vokes</a> - Most connected</li>
<li><a href="2018/yang/index.html">2018/yang</a> - Most shifty</li>
</ul>
<p> <strong>Jump to:</strong> <a href="#">top</a></p>
<!-- END: next line ends content generated by: bin/output-year-index.sh -->
<!-- END: this line ends content for HTML phase 22 by: bin/output-year-index.sh via bin/md2html.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=#">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 -->