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

+260
View File
@@ -0,0 +1,260 @@
<!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>2020 - The 27th IOCCC</title>
<meta name="description" content="IOCCC Year 2020">
<meta name="keywords" content="IOCCC, 2020, IOCCC 2020, IOCCC entry, The 27th 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>2020 - The 27th IOCCC</h2>
</div>
<!-- END: this line ends content from: inc/header.default.html -->
<!-- START: this line starts content from: inc/topnav.year.last.html -->
<div class="topnav">
<a class="Left" href="../2019/index.html">&larr; 2019</a>
<a class="Left" href="../index.html">&uarr; top &uarr;</a>
<a class="Left Disabled" href="#">In most recent year</a>
<a class="Right" href="#inventory">Inventory</a>
</div>
<!-- END: this line ends content from: inc/topnav.year.last.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-seventh-international-obfuscated-c-code-contest">Twenty
Seventh International Obfuscated C Code Contest</h1>
<h2 id="standard-ioccc-stuff">Standard IOCCC stuff</h2>
<p>Look at the README.md file for the given winning entry for
information on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author’s remarks for even more
details.</p>
<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>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>This year’s Best of Show (carlini) is such a novel way of obfuscation
that it would be worth of a special mention in the (future) Best of
IOCCC list!</p>
<p>For some reason, this year’s set of winners contains three nostalgic
games, Asteroids (tsoj), Minesweeper (endoh1), and Snake
(ferguson1).</p>
<p>An entry (kurdyukov1) pays homage to a previous winner
(2015/hou).</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>As a rule, we try to compile the entries on a variety of platforms.
Quite a few entries this year could not be built or executed on some of
them due to reliance on library internals or the system runtime.</p>
<p>A few entries were violating the “2053 significant bytes” rule. If an
entry could not be brought to compliance within a few seconds of looking
at the source, it was disqualified.</p>
<p>One entry tried to get around the size limit by putting the code into
Makefile variables and using -D. This is already called out as
discouraged technique in the guidelines, but it is worth a reminder.</p>
<p>Several promising entries attempted to make use of the
<code>syscall</code> function using literal syscall numbers. This is
utterly non-portable.</p>
<p>A note to the authors: when submitting multiple entries, don’t let us
easily correlate them by coding style or documentation content, and
definitely don’t submit nearly identical versions of your program
separately. As we try to judge the entries anonymously, the similarities
will cause such entries to compete against one another, making each less
likely to win.</p>
<p>We hope the authors of non-winning entries will refine their entries
and perhaps re-submit them for the next IOCCC.</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) 2020,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-2020---the-27th-ioccc"><a name=inventory></a><a name=2020></a>Winning
Entries of 2020 - The 27th IOCCC</h1>
<p><strong>Download IOCCC</strong> <a
href="2020/ioccc.2020.tar.bz2">2020 entry source</a></p>
<ul>
<li><a href="2020/burton/index.html">2020/burton</a> - Best
one-liner</li>
<li><a href="2020/carlini/index.html">2020/carlini</a> - Best of show -
abuse of libc</li>
<li><a href="2020/endoh1/index.html">2020/endoh1</a> - Most
explosive</li>
<li><a href="2020/endoh2/index.html">2020/endoh2</a> - Best
perspective</li>
<li><a href="2020/endoh3/index.html">2020/endoh3</a> - Most
head-turning</li>
<li><a href="2020/ferguson1/index.html">2020/ferguson1</a> - Don’t tread
on me award</li>
<li><a href="2020/ferguson2/index.html">2020/ferguson2</a> - Most
enigmatic</li>
<li><a href="2020/giles/index.html">2020/giles</a> - Most phony</li>
<li><a href="2020/kurdyukov1/index.html">2020/kurdyukov1</a> - Best
utility</li>
<li><a href="2020/kurdyukov2/index.html">2020/kurdyukov2</a> - Least
detailed</li>
<li><a href="2020/kurdyukov3/index.html">2020/kurdyukov3</a> - Bset
slaml prragom</li>
<li><a href="2020/kurdyukov4/index.html">2020/kurdyukov4</a> - Best
abuse of lámatyávë</li>
<li><a href="2020/otterness/index.html">2020/otterness</a> - Most
percussive</li>
<li><a href="2020/tsoj/index.html">2020/tsoj</a> - Most misleading
indentation</li>
<li><a href="2020/yang/index.html">2020/yang</a> - Best abuse of
CPP</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 -->