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

+304
View File
@@ -0,0 +1,304 @@
<!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>1998 - The 14th IOCCC</title>
<meta name="description" content="IOCCC Year 1998">
<meta name="keywords" content="IOCCC, 1998, IOCCC 1998, IOCCC entry, The 14th 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>1998 - The 14th 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="../1996/index.html">&larr; 1996</a>
<a class="Left" href="../index.html">&uarr; top &uarr;</a>
<a class="Left" href="../2000/index.html">2000 &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="fourteenth-international-obfuscated-c-code-contest">Fourteenth
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 IOCCC has its own domain. The IOCCC has an official home page is
now: <a href="https://www.ioccc.org"
class="uri">https://www.ioccc.org</a>.</p>
<p>Use <code>make</code> to compile entries. It is possible that on BSD
or non-Unix 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
<code>#define</code> i.e. the <code>-D</code> flag).</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="new-judges">New Judges</h2>
<p>Larry Bassel is now a graduate student in number theory at UC San
Diego. Barbara Frezza also went to San Diego to enter into law school at
the same time. Her cooking in the role of official chef was sorely
missed. Both Larry and Barbara have taken important new steps in their
lives. We wish them the best.</p>
<p>Landon was unable to contact Sriram Srinivasan at the start of the
1998 IOCCC season. Having not heard from Sriram, Landon put out a call
for new IOCCC judges. A number of excellent people applied.</p>
<p>Landon selected Leonid A. Broukhis, a two time IOCCC winner, as a
co-judge. Landon and Leo together selected Jeremy Horn and Peter
Seebach. The four judges (<a href="https://www.ioccc.org/judges.html"
class="uri">https://www.ioccc.org/judges.html</a>) together worked
thru-out the 1998 IOCCC season.</p>
<h3 id="note-about-judges">2023 note about judges:</h3>
<p>The number of judges now is only 2, Landon Curt Noll and Leonid A.
Broukhis.</p>
<h2 id="remarks-on-some-of-the-entries">Remarks on some of the
entries</h2>
<p>This year, <a
href="https://www.ioccc.org/winners.html#Jens_Schweikhardt">Jens
Schweikhardt</a> won 3 times … AGAIN! He is the only person who was able
to do this, let alone do it in two contests in a row. <a
href="https://www.ioccc.org/winners.html#Bas_de_Bakker">Bas de
Bakker</a> and <a
href="https://www.ioccc.org/winners.html#J_David_Lowe">David Lowe</a>
won twice this year as well.</p>
<p>As we stated in the <a href="guidelines.txt">guidelines</a>, the
names of the winners are as much news to us as they are to you because
we keep authorship separate from rest of the entry. Some people have it,
we guess!</p>
<p>There were a few very good entries that might have won if it were not
for the fact that they didn’t work. If you didn’t win, but think you had
a chance: test your program, fix it and submit it next year!</p>
<p>This year we awarded some outstanding entries. We recommend that you
look at all of the winners. The list of winners is a bit too long to say
something about every winner. On the other hand a partial mention of a
few is in order:</p>
<ul>
<li>Audiences were very impressed with the Best of Show entry.</li>
<li>The judges were amused that for the first time we received an entry
that caused gcc to give the assembler bad input in some cases.</li>
<li>The poot entries got a good laugh from the USENIX IOCCC BOF (Birds
Of a Feather) crowd.</li>
<li>Those with Functional Programming knowledge as well as those
impressed with CPP code expansion liked the entry that translated lambda
expressions into combinator expressions.</li>
<li>Logic minded folks will get somewhat twisted up while following the
flow of the <a href="1998/schnitzi/README.md">Best Flow Control
entry</a>.</li>
<li>Those who know the PostScript language will be ‘bemused’ by the <a
href="bas1/README.md">Best Encapsulation entry</a>.</li>
</ul>
<p>There were some outstanding entries that did not win. Unfortunately
some very good entries lost because they:</p>
<ul>
<li>depended too much on non-portable side effects in expressions;</li>
<li>depended too much on a particular byte order;</li>
<li>required the use of a special script, data file or pseudo-machine
language that was not supplied with the entry.</li>
</ul>
<p>We hope the authors of some of those entries will fix and re-submit
them for the next IOCCC.</p>
<h2 id="there-was-no-1997-contest">There was no 1997 contest</h2>
<p>So what happened to 1997? There was no summer USENIX Technical
Conference. The Technical Conference was held Jun 15-19, 1998 instead …
18 months later than the 1996 summer USENIX Technical Conference. In
addition we had to select some new IOCCC judges. As a result the IOCCC
skipped over 1997.</p>
<h2 id="final-comments">Final Comments</h2>
<p>Please send us comments and suggestions what we have expressed above.
Also include anything else that you would like to see in future
contests. Send such email to:</p>
<pre><code>questions@ioccc.org</code></pre>
<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>You must include the words ‘ioccc question’ in the subject of your
email message when sending email to the judges.</p>
<p>The next IOCCC is planned to start towards the end of 1999. Watch <a
href="https://www.ioccc.org" class="uri">https://www.ioccc.org</a></p>
<p>for news of the next contest.</p>
<h2 id="final-comments-1">Final Comments</h2>
<p><strong>IMPORTANT NOTE</strong>: The email addresses found above are
for historical purposes only, and should not be used today. 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) 1999,2023, Landon Curt Noll, Jeremy Horn, Peter Seebach
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-1998---the-14th-ioccc"><a name=inventory></a><a name=1998></a>Winning
Entries of 1998 - The 14th IOCCC</h1>
<p><strong>Download IOCCC</strong> <a
href="1998/ioccc.1998.tar.bz2">1998 entry source</a></p>
<ul>
<li><a href="1998/banks/index.html">1998/banks</a> - Best of Show</li>
<li><a href="1998/bas1/index.html">1998/bas1</a> - Best
Encapsulation</li>
<li><a href="1998/bas2/index.html">1998/bas2</a> - Best Small
Program</li>
<li><a href="1998/chaos/index.html">1998/chaos</a> - Best Object
Orientation</li>
<li><a href="1998/df/index.html">1998/df</a> - Best Data Hiding</li>
<li><a href="1998/dlowe/index.html">1998/dlowe</a> - Best Utility</li>
<li><a href="1998/dloweneil/index.html">1998/dloweneil</a> - Most
Fun</li>
<li><a href="1998/dorssel/index.html">1998/dorssel</a> - Obsolescent
Feature</li>
<li><a href="1998/fanf/index.html">1998/fanf</a> - Most Obfuscated
Translator</li>
<li><a href="1998/schnitzi/index.html">1998/schnitzi</a> - Best Flow
Control</li>
<li><a href="1998/schweikh1/index.html">1998/schweikh1</a> - CPP
Abuse</li>
<li><a href="1998/schweikh2/index.html">1998/schweikh2</a> - Most
Erratic Behavior</li>
<li><a href="1998/schweikh3/index.html">1998/schweikh3</a> - Most Space
Efficient</li>
<li><a href="1998/tomtorfs/index.html">1998/tomtorfs</a> - Best
Self-Documenting</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 -->