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

+284
View File
@@ -0,0 +1,284 @@
<!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>2015 - The 24th IOCCC</title>
<meta name="description" content="IOCCC Year 2015">
<meta name="keywords" content="IOCCC, 2015, IOCCC 2015, IOCCC entry, The 24th 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>2015 - The 24th 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="../2014/index.html">&larr; 2014</a>
<a class="Left" href="../index.html">&uarr; top &uarr;</a>
<a class="Left" href="../2018/index.html">2018 &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-fourth-international-obfuscated-c-code-contest">Twenty
Fourth International Obfuscated C Code Contest</h1>
<h2 id="standard-ioccc-stuff">Standard IOCCC stuff</h2>
<p>The IOCCC has a web site and now has a number of international
mirrors. The primary site can be found at,</p>
<ul>
<li><a href="http://www.ioccc.org/">http://www.ioccc.org/</a></li>
</ul>
<p>Use make to compile entries. It is possible that on non-Un*x /
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 ANSI C compilers are not quite as good as they should be. If
yours is lacking, you may need to compile using 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 fraction of worthy entries was higher than usual.</p>
<p>We call to your attention, the <em>hou</em> entry, that performs the
MD5 cryptographic hash. Normally implemented with a set of integer and
boolean operations, this code uses floating point variables inside a
single while loop filled with unusual constants, cosine, square root,
and exponent function calls. The number of lines of code is also smaller
than the original algorithm.</p>
<p>The <em>mills2</em> source code is a very compressed version of a
decompression algorithm. We think those who enjoy compression algorithms
will particularly enjoy this entry.</p>
<p>We suggest that you attempt to completely understand the
<em>endoh4</em> 1-liner program: another impressive compact piece of C
code.</p>
<p>And while you are at it, cat the <em>endoh2</em> prog.c code. Compile
it and look at the source code again.</p>
<p>In a “Back to the Future” moment, <em>endoh3</em> gave us a twist on
one of the all time best IOCCC winners from 1984.</p>
<p>We also suggest that you take a very good look at how the
<em>muth</em> code makes full use of the C Pre-Processor.</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 <strong>Catch 22</strong> 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>
<ol start="2" type="1">
<li>The size of your program source must be &lt;= 4096 bytes in
length.</li>
</ol>
<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>
<h2 id="final-comments">Final Comments</h2>
<p>Please feel free to send us comments and suggestions about the
competition, this README or anything else that you would like to see in
future contests.</p>
<p>If you use, distribute or publish these entries in some way, please
drop us a line. We enjoy seeing who, where and how the contest is
used.</p>
<p>If you have problems with any of the entries, AND YOU HAVE A FIX,
please send us the fix (patch file or the entire changed file).</p>
<p>For the latest information on how to contact the IOCCC Judges please
visit</p>
<ul>
<li><a
href="http://www.ioccc.org/contact.html">http://www.ioccc.org/contact.html</a></li>
</ul>
<p>For news of the next contest watch:</p>
<ul>
<li><a href="http://www.ioccc.org/">http://www.ioccc.org/</a></li>
</ul>
<h1 id="copyright-and-license">Copyright and License</h1>
<p>Copyright (C) 2015,2024, 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-2015---the-24th-ioccc"><a name=inventory></a><a name=2015></a>Winning
Entries of 2015 - The 24th IOCCC</h1>
<p><strong>Download IOCCC</strong> <a
href="2015/ioccc.2015.tar.bz2">2015 entry source</a></p>
<ul>
<li><a href="2015/burton/index.html">2015/burton</a> - Most Useful</li>
<li><a href="2015/dogon/index.html">2015/dogon</a> - Most Crafty</li>
<li><a href="2015/duble/index.html">2015/duble</a> - Best
Handwriting</li>
<li><a href="2015/endoh1/index.html">2015/endoh1</a> - Most Diffused
Reaction</li>
<li><a href="2015/endoh2/index.html">2015/endoh2</a> - Most Overlooked
Obfuscation</li>
<li><a href="2015/endoh3/index.html">2015/endoh3</a> - Back to the
Future Award</li>
<li><a href="2015/endoh4/index.html">2015/endoh4</a> - Best
One-liner</li>
<li><a href="2015/hou/index.html">2015/hou</a> - Most Well-rounded
Hash</li>
<li><a href="2015/howe/index.html">2015/howe</a> - Most Different</li>
<li><a href="2015/mills1/index.html">2015/mills1</a> - For the Birds!
Award</li>
<li><a href="2015/mills2/index.html">2015/mills2</a> - Most Compact</li>
<li><a href="2015/muth/index.html">2015/muth</a> - Most Complete Use of
CPP</li>
<li><a href="2015/schweikhardt/index.html">2015/schweikhardt</a> - Best
Documented</li>
<li><a href="2015/yang/index.html">2015/yang</a> - Most Pointed
Reaction</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 -->