build remaining top level web pages

The level judges.html, news.html, and index.html pages
were converted to markdown.

The `bin/gen-top-md2html.sh` tool was adjusted to build
HTML from judges.md, news.md, and index.md.

Modified the `bin/gen-top-md2html.sh` tool to build `bin/index.html`
from `bin/README.md`.

Modified the `bin/gen-top-md2html.sh` tool to build `inc/index.html`
from `inc/README.md`.

In `bin/gen-top-md2html.sh` changed VERISON from "1.0 2024-02-24"
to "1.1 2024-02-28".

Ran `gen_top_md2html` to perform the above.
This commit is contained in:
Landon Curt Noll committed 2024-02-28 18:30:57 -08:00
1 parent 21c3e89a2f
commit 0f8a0a3af9
10 files changed
+1788 -554

No files matched your search

+16 -1
View File
@@ -2,6 +2,8 @@
#
# gen-top-md2html.sh - generate select top level HTML files from markdown files
#
# We also generate the bin/index.html file from the bin/README.md file.
#
# Copyright (c) 2024 by Landon Curt Noll. All Rights Reserved.
#
# Permission to use, copy, modify, and distribute this software and
@@ -50,7 +52,7 @@ TOP_MD_SET+=("faq")
# set variables referenced in the usage message
#
export VERSION="1.0 2024-02-24"
export VERSION="1.1 2024-02-28"
NAME=$(basename "$0")
export NAME
export V_FLAG=0
@@ -76,9 +78,14 @@ export SITE_URL="https://ioccc-src.github.io/temp-test-ioccc"
unset TOP_MD_SET
TOP_MD_SET+=("CODE_OF_CONDUCT")
TOP_MD_SET+=("README")
TOP_MD_SET+=("bin/README")
TOP_MD_SET+=("bugs")
TOP_MD_SET+=("contact")
TOP_MD_SET+=("faq")
TOP_MD_SET+=("inc/README")
TOP_MD_SET+=("index")
TOP_MD_SET+=("judges")
TOP_MD_SET+=("news")
TOP_MD_SET+=("thanks-for-help")
#
export NOOP=
@@ -430,6 +437,14 @@ for name in "${TOP_MD_SET[@]}"; do
continue
fi
export HTML_FILE="$name.html"
# bin/README is a special case
if [[ $name == bin/README ]]; then
HTML_FILE="bin/index.html"
fi
# inc/README is a special case
if [[ $name == inc/README ]]; then
HTML_FILE="inc/index.html"
fi
# use the md2html.sh tool to form the HTML file, unless -n
#
+676
View File
@@ -0,0 +1,676 @@
<!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: bin/gen-top-md2html.sh -->
<!-- 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>The International Obfuscated C Code Contest</title>
<meta name="description" content="Tools used to build and maintain the IOCCC web site">
<meta name="keywords" content="IOCCC, tools, web site tools, bin">
</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>IOCCC tools used build and maintain the IOCCC web site</h2>
</div>
<!-- END: this line ends content from: inc/header.default.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="../authors.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_an_entry">Fixing IOCCC entries</a>
<a href="../faq.html#fix_web_site">Fixing the web site</a>
<a href="../faq.html#fix_author">Fixing author 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="bin">bin</h1>
<p>The directory holds <a href="README.md">bin</a> directory holds tools
that build files, such as HTML content, for the <a
href="https://www.ioccc.org">official IOCCC web site</a>.</p>
<p>For HTML content, the <a href="README.md">bin</a> directory tools
makes use of HTML fragments from the <a href="../inc/README.md">inc</a>
directory as well as various JSON files and other content from the <a
href="https://github.com/ioccc-src/temp-test-ioccc">IOCCC GitHub
repo</a>.</p>
<h2 id="bin-tools">bin tools</h2>
<h3 id="all-run.sh"><a href="all-run.sh">all-run.sh</a></h3>
<p>Run a command on all winning entries.</p>
<p>For example:</p>
<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="ex">bin/all-run.sh</span> <span class="at">-v</span> 3 bin/quick-readme2index.sh <span class="at">-v</span> 1</span></code></pre></div>
<p>Or for example:</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="ex">bin/all-run.sh</span> <span class="at">-v</span> 3 bin/readme2index.sh <span class="at">-v</span> 1</span></code></pre></div>
<h3 id="all-years.sh"><a href="all-years.sh">all-years.sh</a></h3>
<p>Run a command on all IOCCC years.</p>
<p>For example:</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="ex">bin/all-years.sh</span> <span class="at">-v</span> 1 bin/gen-year-index.sh <span class="at">-v</span> 1</span></code></pre></div>
<p>Or for example:</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="ex">bin/all-years.sh</span> <span class="at">-v</span> 1 bin/chk-entry.sh</span></code></pre></div>
<h3 id="chk-entry.sh"><a href="chk-entry.sh">chk-entry.sh</a></h3>
<p>Check of files required by an entry matches the entry’s manifest as
found in <code>.entry.json</code>.</p>
<p>For example:</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="ex">bin/chk-entry.sh</span> 2020/ferguson1</span></code></pre></div>
<h3 id="filelist.entry.json.awk"><a
href="filelist.entry.json.awk">filelist.entry.json.awk</a></h3>
<p>Generate the list of files in the entry’s manifest
<code>.entry.json</code>.</p>
<p>For example:</p>
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">awk</span> <span class="at">-f</span> bin/filelist.entry.json.awk 2020/ferguson1/.entry.json</span></code></pre></div>
<h3 id="gen-authors.sh"><a href="gen-authors.sh">gen-authors.sh</a></h3>
<p>Generate the top level <code>/authors.html</code> page.</p>
<p>Usage:</p>
<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">bin/gen-authors.sh</span> <span class="at">-v</span> 1</span></code></pre></div>
<h3 id="gen-location.sh"><a
href="gen-location.sh">gen-location.sh</a></h3>
<p>Generate the top level <code>/location.html</code> page.</p>
<p>Usage:</p>
<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="ex">bin/gen-location.sh</span> <span class="at">-v</span> 1</span></code></pre></div>
<h3 id="gen-other-html.sh"><a
href="gen-other-html.sh">gen-other-html.sh</a></h3>
<p>Generate entry HTML files from markdown other than README.md to
index.html HTML files.</p>
<p>Usage:</p>
<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">bin/gen-other-html.sh</span> <span class="at">-v</span> 1</span></code></pre></div>
<h3 id="gen-top-md2html.sh"><a
href="gen-top-md2html.sh">gen-top-md2html.sh</a></h3>
<p>Generate a number of top level HTML pages for the IOCCC web
sites.</p>
<p>Usage:</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="ex">bin/gen-top-md2html.sh</span> <span class="at">-v</span> 1</span></code></pre></div>
<p>Examples of top level HTML pages built by this tool include:</p>
<ul>
<li><a href="CODE_OF_CONDUCT.html">CODE_OF_CONDUCT.html</a></li>
<li><a href="README.html">README.html</a></li>
<li><a href="bugs.html">bugs.html</a></li>
<li><a href="contact.html">contact.html</a></li>
<li><a href="faq.html">faq.html</a></li>
<li><a href="thanks-for-help.html">thanks-for-help.html</a></li>
</ul>
<h3 id="gen-year-index.sh"><a
href="gen-year-index.sh">gen-year-index.sh</a></h3>
<p>Generate an <code>index.html</code> page for an given IOCCC year.</p>
<p>Usage:</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">bin/gen-year-index.sh</span> <span class="at">-v</span> 1 2020</span></code></pre></div>
<h3 id="gen-years.sh"><a href="gen-years.sh">gen-years.sh</a></h3>
<p>Generate the top level <code>/years.html</code> page.</p>
<p>Usage:</p>
<div class="sourceCode" id="cb12"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="ex">bin/gen-years.sh</span> <span class="at">-v</span> 1</span></code></pre></div>
<h3 id="ioccc-status.sh"><a href="ioccc-status">ioccc-status.sh</a></h3>
<p>Updates the <a href="/status.json">status.json</a> file.</p>
<h3 id="manifest.entry.json.awk"><a
href="manifest.entry.json.awk">manifest.entry.json.awk</a></h3>
<p>Output manifest table from a entry .entry.json file.</p>
<h3 id="md2html.sh"><a href="md2html.sh">md2html.sh</a></h3>
<p>This is the primary tool that forms IOCCC generated HTML content from
markdown files (permanent markdown files or temporarily generated
markdown files) and HTML fragments from the <a href="/inc">inc</a>
directory.</p>
<p>The <a href="../inc/md2html.cfg">../inc/md2html.cfg</a> configuration
file is used by <a href="md2html.sh">md2html.sh</a> to drive the
generation process.</p>
<h3 id="output-index-author.sh"><a
href="output-index-author.sh">output-index-author.sh</a></h3>
<p>Output author(s) Related HTML for for an entry’s index.html page.</p>
<h3 id="output-index-inventory.sh"><a
href="output-index-inventory.sh">output-index-inventory.sh</a></h3>
<p>Output the inventory in HTML form for an entry’s index.html page.</p>
<h3 id="output-year-index.sh"><a
href="output-year-index.sh">output-year-index.sh</a></h3>
<p>Output markdown of wining entry links for a given year.</p>
<h3 id="pandoc-wrapper.sh"><a
href="pandoc-wrapper.sh">pandoc-wrapper.sh</a></h3>
<p>Wrapper tool to run pandoc.</p>
<h3 id="quick-readme2index.sh"><a
href="quick-readme2index.sh">quick-readme2index.sh</a></h3>
<p>Runs <a href="readme2index.sh">readme2index.sh</a> if the entry
directory does not have a non-empty <code>index.hmtl</code> file, or if
either <code>.entry.json</code> or <code>README.md</code> is newer than
the <code>index.hmtl</code> file.</p>
<p>This is useful when only a few entries have been modified (resulting
in an updated <code>.entry.json</code> file) or if the
<code>README.md</code> of a few entries have been changed.</p>
<p>While the <a href="readme2index.sh">readme2index.sh</a> take a few
seconds to run, when applied to 300+ entries, the extra time can add
up.</p>
<p>If only a few <code>index.hmtl</code> files need updating, then this
command will only briefly pause while the slightly longer <a
href="readme2index.sh">readme2index.sh</a> is run:</p>
<div class="sourceCode" id="cb13"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="ex">bin/all-run.sh</span> <span class="at">-v</span> 3 bin/quick-readme2index.sh <span class="at">-v</span> 1</span></code></pre></div>
<p><strong>NOTE</strong>: This command assumes that the relative
modification times for <code>index.hmtl</code>,
.entry.json<code>, and</code>README.md` are correct. If in doubt,
use:</p>
<div class="sourceCode" id="cb14"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="ex">bin/all-run.sh</span> <span class="at">-v</span> 3 bin/readme2index.sh <span class="at">-v</span> 1</span></code></pre></div>
<h3 id="readme2index.sh"><a
href="readme2index.sh">readme2index.sh</a></h3>
<p>Convert a entry README.md into entry directory index.html.</p>
<h3 id="sgi.sh"><a href="sgi.sh">sgi.sh</a></h3>
<p>Sort .gitignore content from stdin to stdout.</p>
<p>We sort with lines starting with # first. We sort with lines starting
with * second. We sort with lines that do not start with [#!*] third. We
sort with lines starting with ! fourth.</p>
<p>This tool is used by <a
href="sort.gitignore.sh">sort.gitignore.sh</a>.</p>
<h3 id="sort.gitignore.sh"><a
href="sort.gitignore.sh">sort.gitignore.sh</a></h3>
<p>Sort a .gitignore in a entry directory.</p>
<p>Usage:</p>
<div class="sourceCode" id="cb15"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="ex">bin/sort.gitignore.sh</span> <span class="at">-v</span> 1 YYYY/dir</span></code></pre></div>
<p>Suggested usage:</p>
<div class="sourceCode" id="cb16"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a><span class="ex">bin/all-run.sh</span> bin/sort.gitignore.sh <span class="at">-v</span> 1</span></code></pre></div>
<h3 id="subst.default.sh"><a
href="subst.default.sh">subst.default.sh</a></h3>
<p>Print default substitutions.</p>
<h3 id="subst.entry-index.sh"><a
href="subst.entry-index.sh">subst.entry-index.sh</a></h3>
<p>Print substitutions for a entry index.html.</p>
<h3 id="subst.entry-navbar.awk"><a
href="subst.entry-navbar.awk">subst.entry-navbar.awk</a></h3>
<p>Output substitutions for navbar on behalf of a entry.</p>
<h3 id="subst.year-index.sh"><a
href="subst.year-index.sh">subst.year-index.sh</a></h3>
<p>Print substitutions for a year level index.html.</p>
<h3 id="subst.year-navbar.awk"><a
href="subst.year-navbar.awk">subst.year-navbar.awk</a></h3>
<p>Output substitutions for navbar on behalf of a year level
index.html.</p>
<h2 id="tar-entry.sh"><a href="tar-entry.sh">tar-entry.sh</a></h2>
<p>Form a compress tarball for an entry.</p>
<p>Usage:</p>
<div class="sourceCode" id="cb17"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="ex">bin/tar-entry.sh</span> <span class="at">-v</span> 1 YYYY/dir</span></code></pre></div>
<p>Suggested usage:</p>
<div class="sourceCode" id="cb18"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="ex">bin/all-run.sh</span> <span class="at">-v</span> 3 bin/tar-entry.sh <span class="at">-v</span> 1 <span class="at">-W</span></span></code></pre></div>
<h2 id="tar-all.sh"><a href="tar-all.sh">tar-all.sh</a></h2>
<p>Form the compressed tarball for all IOCCC years and all IOCCC
entries.</p>
<p>Usage:</p>
<div class="sourceCode" id="cb19"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="ex">bin/tar-all.sh</span> <span class="at">-v</span> 1</span></code></pre></div>
<h2 id="tar-year.sh"><a href="tar-year.sh">tar-year.sh</a></h2>
<p>Form a compress tarball for an IOCCC year.</p>
<p>Usage:</p>
<div class="sourceCode" id="cb20"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a><span class="ex">bin/tar-year.sh</span> <span class="at">-v</span> 1 YYYY</span></code></pre></div>
<p>Suggested usage:</p>
<div class="sourceCode" id="cb21"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true" tabindex="-1"></a><span class="ex">bin/all-years.sh</span> <span class="at">-v</span> 3 bin/tar-year.sh <span class="at">-v</span> 1 <span class="at">-W</span></span></code></pre></div>
<h1 id="how-ioccc-html-content-is-built"><a name="how"></a>How IOCCC
HTML content is built</h1>
<p>The <a href="md2html.sh">md2html.sh</a> tool is the primary tool that
is used to form all IOCCC related HTML pages for the <a
href="https://www.ioccc.org">official IOCCC web site</a>.</p>
<p>Nearly all IOCCC related HTML pages are built from markdown files,
from either permanent markdown files or temporary generated markdown
files, as well as HTML fragments from the <a
href="../inc/README.md">inc</a> directory.</p>
<p>Most HTML content is built from permanant markdown files, such as a
<code>README.md</code> markdown file found in each entry directory. Some
HTML content are generated from temporary markdown files. These
temporary markdown files are produced by tools in the <a
href="README.md">bin</a> directory and exist only while the tool is
running.</p>
<p>In addition to converting markdown to HTML, the canonical way that
HTML content is built uses, by default, files from the <a
href="../inc/README.md">inc</a> directory, of the form:</p>
<pre><code>*.default.html</code></pre>
<p>By using command line options of the form</p>
<div class="sourceCode" id="cb23"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a><span class="ex">-H</span> phase=name</span></code></pre></div>
<p>where <code>phase</code> is the name of an HTML phase, a non-default
file may be used. For example:</p>
<div class="sourceCode" id="cb24"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb24-1"><a href="#cb24-1" aria-hidden="true" tabindex="-1"></a><span class="ex">-H</span> topnav=up2index</span></code></pre></div>
<p>will cause <a
href="../inc/topnav.up2index.html">inc/topnav.up2index.html</a> instead
of <a href="../inc/topnav.default.html">inc/topnav.default.html</a> to
be used during the <em>topnav</em> HTML phase.</p>
<p>If <em>name</em> is dot (i.e., “.”), then the given HTML phase is
skipped. For example:</p>
<div class="sourceCode" id="cb25"><pre
class="sourceCode sh"><code class="sourceCode bash"><span id="cb25-1"><a href="#cb25-1" aria-hidden="true" tabindex="-1"></a><span class="ex">-H</span> footer=.</span></code></pre></div>
<p>will cause no HTML content to be produced during the <em>footer</em>
HTML phase.</p>
<h2 id="html-phases"><a name="html"></a>HTML phases</h2>
<p>The following HTML phase files are used to build HTML content:</p>
<ol start="0" type="1">
<li>inc/top.default.html</li>
<li>inc/head.default.html</li>
<li>inc/body.default.html</li>
<li>inc/header.default.html</li>
<li>inc/topnav.default.html</li>
<li>inc/begin-row.default.html</li>
<li>inc/begin-leftcolumn.default.html</li>
<li>inc/sidenav.default.html</li>
<li>inc/end-leftcolumn.default.html</li>
<li>inc/begin-rightcolumn.default.html</li>
<li>inc/before-content.default.html</li>
</ol>
<p>Phases 11-19 are reserved for future use.</p>
<ol start="20" type="1">
<li>((insert ‘before tool’ output))</li>
<li>((insert ‘pandoc wrapper tool’ output))</li>
<li>((insert ‘after tool’ output))</li>
</ol>
<p>Phases 23-29 are reserved for future use.</p>
<ol start="30" type="1">
<li>inc/after-content.default.html</li>
<li>inc/end-rightcolumn.default.html</li>
<li>inc/end-row.default.html</li>
<li>inc/footer.default.html</li>
<li>inc/bottom.default.html</li>
</ol>
<p>Phases 35-39 are reserved for future use.</p>
<p>In the above HTML phase numbers, except during HTML phase numbers
20-29, symbols of the form %%TOKEN%% are substituted. Any %%TOKEN%%
printed by the ‘before tool’ (-b tool), the ‘pandoc wrapper tool’ (-p
tool), and the ‘after tool’ (-a tool) are ignored (i.e., not
substituted).</p>
<p>See the tool <a href="readme2index.sh">readme2index.sh</a> for an
example of how HTML phases are implemented.</p>
<h2
id="getopt-phase-processing-of-the-command-line"><a name="getopt"></a>Getopt
phase processing of the command line</h2>
<p>The command options are evaluated in the following getopt phases:</p>
<h3 id="getopt-phase-0">Getopt phase 0</h3>
<p>In getopt phase 0 we parse command line options and save all
arguments for the end of the final command line.</p>
<p>Depending on the program, the argument at the end is directory under
topdir, or it is a file under topdir.</p>
<p>In getopt phase 0 is the only getopt phase where “-d topdir” and “-c
md2html.cfg” may be used.</p>
<h3 id="getopt-phase-1">Getopt phase 1</h3>
<p>In getopt phase 1 we execute each -o “output tool” from getopt phase
0, parsing the output as a command line.</p>
<p>The -o “output tool” may be given optstr from “-O tool=optstr”,
followed by the phase 0 argument.</p>
<p>The -o “output tool” is not allowed to output another “-o tool”, nor
a “-O tool=optstr”. Instead an -o “output tool” may execute another -o
“output tool” merge the output into its own.</p>
<h3 id="getopt-phase-2">Getopt phase 2</h3>
<p>In getopt phase 2 we parse the “cfg_options” from the first
“md2html.cfg” line matched by saved argument.</p>
<p>The match is made with the (possibly modified) phase 0 argument.</p>
<h3 id="getopt-phase-3">Getopt phase 3</h3>
<p>In getopt phase 3 we execute each -o “output tool” from getopt phase
2, parsing the output as a command line.</p>
<p>The -o “output tool” may be given optstr from “-O tool=optstr”,
followed by the phase 0 argument.</p>
<p>The -o “output tool” is not allowed to output another “-o tool”, nor
a “-O tool=optstr”. Instead an -o “output tool” may execute another -o
“output tool” merge the output into its own.</p>
<h3 id="command-line-option-order">Command line option order</h3>
<p>Most command line options override earlier copies of the same option.
However in the case of ‘-H phase=name’, later ‘-H phase=name’ only
overrides an earlier use of ‘-H’ for the same ‘phase’ only. Also in the
case of ‘-s token=value’, later ‘-s token=value’ only overrides an
earlier use of ‘-s’ for the same ‘token’ only.</p>
<h3 id="output-tools">Output tools</h3>
<p>An “output tool” may be used to add certain additional command line
options to be processed.</p>
<p>IMPORTANT: An “output tool” will print each command line option /
argument on a separate line. So for example, if an “output tool” wishes
to convey:</p>
<pre><code>-s TITLE=&#39;IOCCC entry locations&#39; -H topnav=top-of-site</code></pre>
<p>The “output tool” would output the following 4 lines:</p>
<pre><code>-s
TITLE=&#39;IOCCC entry locations&#39;
-H
topnav=top-of-site</code></pre>
<p>The command line opions printed by an “output tool” are processed
after all command line options, and all options from a matching line
from the md2html.cfg file, and before any filename arguments on the
command line.</p>
<p>For exmaple:</p>
<pre><code>command [command_options ..] [cfg_options ..] [output_tool_options ..] [--] [filename_arg ..]</code></pre>
<p>Here the ‘command’ first processes any command line options, then it
processes ‘cfg_options’ obtained from this file from a 1st match of a
given file_glob, then it processes ‘output tool’ (i.e., -o tool) options
found in ‘command_options’, and ‘cfg_options’, then an optional – (end
of all options), then zero of more ‘filename_arg’ filename
arguments.</p>
<p>The ‘-o tool’ must NOT output any ‘-o tool’ options as ‘-o tool’ is
NOT RECURSIVE. A ‘-o tool’ is free, however, to execute other ‘-o tool’
output tools and merge the output from those tools into its own.</p>
<h3 id="special--e-exitcode-option">Special -E exitcode option</h3>
<p>When ‘-E exitcode’ is evaluated, the application will exit with the
‘exitcode’ value. If one wishes to also output a message to stderr, the
‘-e string’ must come BEFORE any ‘-E exitcode’ in the command line.</p>
<h3 id="substitution-tokens">Substitution tokens</h3>
<p>All tokens (i.e., strings of the form ‘%%token%%’) MUST be
substituted (by some -s token=value) in all HTML output, except during
phase numbers 20-29 (i.e., except ‘before tool’ output, pandoc wrapper
output, and except ‘after tool’ output), or command will exit non-zero,
unless -S is given. If -S is given, only a warning about un-substituted
tokens will be written to stderr.</p>
<p>The command line of tools in the <a href="README.md">bin</a>
directory, and perhaps modified via <a href="../inc/md2html.cfg">md2html
config file</a> file may change to using a different filename for a
given phase.</p>
<p>For example when forming the HTML from
<code>2020/ferguson2/chocolate-cake.md</code>, a different “topnav”
navigation bar is needed. So instead of the usual top navigation bar
that normally directs people to the previous entry for the year, or go
up to the year page, or to the next entry for the year, a top navigation
bar to just go up to the entry’s main page is needed. A line in the <a
href="../inc/md2html.cfg">md2html config file</a> file that refers to
<code>2020/ferguson1/chocolate-cake.md</code> may specify use of
<code>topnav.up2index.html</code> instead of using the
<code>topnav.default.html</code> default.</p>
<p>The HTML phase may be skipped resulting in no HTML output during a
given phase. Furthermore, forming HTML content from a given markdown
file altogether.</p>
<p>See comments in the <a href="../inc/md2html.cfg">md2html config
file</a> file for details. See also, the tool <a
href="readme2index.sh">readme2index.sh</a> for an example of how such
command lines are used.</p>
<h1 id="use-caution-when-modifying-inc-files">Use CAUTION when modifying
inc files</h1>
<p>Some of the files under this directory are used to form
<strong>MOST</strong> of the HTML content on the <a
href="https://www.ioccc.org">official IOCCC web site</a>.</p>
<p>These files are used to form <strong>MOST</strong> of the HTML
content on the <a
href="https://ioccc-src.github.io/temp-test-ioccc/">experimental web
site</a>.</p>
<p>… and in particular files under <a href="../inc/README.md">inc</a>
that are of the form (called default HTML files) …:</p>
<pre><code>*.default.html</code></pre>
<p>… contain default content used to form IOCCC HTML / IOCCC web
pages.</p>
<p>Instead of editing the default HTML files in order to fix a special
web page, consider making a copy of the default file and modifying the
<a href="md2html.cfg">md2html config file</a> to refer to the copy
instead. That way your special case situation will not impact
<strong>MOST</strong> of the HTML content.</p>
<h1 id="why-do-we-do-not-use-certain-well-known-html-technologies">Why
do we do not use certain well-known HTML technologies</h1>
<p>You may wonder why we need these files in the first place. You may
wonder why we even need the tools in the <a href="README.md">bin</a>
directory when there other solutions available to form web pages.</p>
<h2 id="static-web-pages-only"><a name="static-only"></a>Static web
pages only</h2>
<p>Here are some reasons why we are using these files and special tools
to create HTML content / IOCCC web pages:</p>
<p>We host <a href="https://www.ioccc.org">official IOCCC web site</a>
via <a href="https://pages.github.com">GitHub pages</a>. As of the time
this file written, <strong>only static web pages are
supported</strong>.</p>
<h2 id="we-cannot-use-server-side-include">We cannot use server side
include</h2>
<p>We use <a href="#static-only">static web pages</a>, so use of “server
side include” is not available to the IOCCC.</p>
<p>For example, Apache SSI “#include” does not work on <a
href="https://pages.github.com">GitHub pages</a>.</p>
<h2 id="we-cannot-use-a-back-end-database">We cannot use a back-end
database</h2>
<p>We use <a href="#static-only">static web pages</a>, so use of
“back-end database” is not available to the IOCCC.</p>
<h2
id="we-cannot-use-non-github-web-servers"><a name="why-github"></a>We
cannot use non-GitHub web servers</h2>
<p>The <a href="https://pages.github.com">GitHub pages</a> have the
distributed server capacity needed to handle the <strong>huge download
volume</strong> or <a
href="https://en.wikipedia.org/wiki/Slashdot_effect">Slashdot effect</a>
that happens when a IOCCC entries are published.</p>
<p>Most so-called low cost web hosting sites have a somewhat hidden
excessive bandwidth charge and/or cap bandwidth when the volume gets too
high, and/or do not have the infrastructure that can handle the <a
href="https://en.wikipedia.org/wiki/Slashdot_effect">Slashdot
effect</a>.</p>
<p>The IOCCC had experience with people offering web mirrors and even
free hosting only to find that the generous benefactor moves on, or
their service is purchased by someone else who is not so generous. While
it is possible that GitHub might someday suffer a similar fate, for the
time being we are betting that GitHub will remain willing to host the
IOCCC.</p>
<p>The <a href="https://www.ioccc.org">official IOCCC web site</a> is,
after all, primarily C source code with some supporting documentation.
As such it is a natural fit for GitHub and <a
href="https://pages.github.com">GitHub pages</a>.</p>
<h2 id="we-cannot-use-the-html-object-tag">We cannot use the HTML object
tag</h2>
<p>The <em>&lt;</em> object <em>&gt;</em> HTML tag does not work for our
needs.</p>
<p>The browser context relationship between the HTML content holds the
HTML tag does not extend into the content that the tag includes. For
example, menu bars will not operate as specified by the <a
href="../ioccc.css">ioccc CSS</a>.</p>
<h2 id="we-cannot-use-the-html-embed-tag">We cannot use the HTML embed
tag</h2>
<p>The <em>&lt;</em> embed <em>&gt;</em> HTML tag does not work for our
needs.</p>
<p>This tag wants one to specify the <em>width</em> and <em>height</em>
in pixels. Use of a percentage is not officially supported even if some
browsers might do so. Our Responsive Web Design on the <a
href="../ioccc.css">ioccc CSS</a> needs to be responsive to small-sized
cell phone-like screens, mid-sized table-like screens, as well as
large-sized desktop-like screens. Specifying a <em>width</em> and
<em>height</em> in pixels will not work well in all of those screen size
contexts.</p>
<h2 id="we-cannot-use-the-html-iframe-tag">We cannot use the HTML iframe
tag</h2>
<p>The <em>&lt;</em> iframe <em>&gt;</em> HTML tag does not work for our
needs.</p>
<p>This tag wants one to specify the <em>width</em> and <em>height</em>
in pixels. Use of a percentage is not officially supported even if some
browsers might do so. Our Responsive Web Design on the <a
href="../ioccc.css">ioccc CSS</a> needs to be responsive to small-sized
cell phone-like screens, mid-sized table-like screens, as well as
large-sized desktop-like screens. Specifying a <em>width</em> and
<em>height</em> in pixels will not work well in all of those screen size
contexts.</p>
<h2 id="we-cannot-use-javascript-to-include-content">We cannot use
JavaScript to include content</h2>
<p>We do not use JavaScript to include HTML content.</p>
<p>While the IOCCC may use JavaScript in the future to directly render
things like C source code, we will do so in such a way that someone will
be able to view <a href="https://www.ioccc.org">official IOCCC web
site</a> content with JavaScript disabled.</p>
<p>The IOCCC will <strong>NOT MANDATE USE OF JavaScript</strong> to view
<a href="https://www.ioccc.org">official IOCCC web site</a>.</p>
<p>For this reason, we cannot use JavaScript include HTML content.</p>
<h1 id="ioccc-terms"><a name="terms"></a>IOCCC terms</h1>
<p>The following IOCCC terms apply to tools, JSON files, and the
directory structure of this repo.</p>
<h2 id="author"><code>author</code></h2>
<p>An individual who was an <code>author</code> of at least one winning
IOCCC entry.</p>
<p>Some authors have submitted more than one IOCCC entry that won. Some
winning IOCCC entries have more than one author.</p>
<h2 id="author_handle"><code>author_handle</code></h2>
<p>An <code>author_handle</code> is string that refers to a given author
and is unique to the IOCCC. Each author has exactly one
<code>author_handle</code>.</p>
<p>For each <code>author_handle</code>, there will be a JSON file of the
form:</p>
<pre><code>author/author_handle.json</code></pre>
<p>Because the <code>author_handle</code> is used to form a JSON
filename, the string must be lower case POSIX safe string. Furthermore,
the <code>author_handle</code> must be an ASCII string that matches this
regexp:</p>
<pre class="re"><code>^[0-9a-z][0-9a-z_]*$</code></pre>
<p>Default <code>author_handle</code>’s do not have multiple consecutive
<code>_</code> (underscore) characters. Nevertheless, multiple
consecutive <code>_</code> (underscore) characters are allowed. Contest
submitters who wish to override the <code>author_handle</code> may do
so.</p>
<p>The <code>author_handle</code> is derived from the name of the
author. While there is a algorithm that maps the name of the author
(which can contain any UTF-8 characters) into a default
<code>author_handle</code> string, those who submit an entry to the
IOCCC are free to choose a different <code>author_handle</code> string
if they so desire.</p>
<p>An <code>author</code> who has won a previous IOCCC is encouraged to
reuse their <code>author_handle</code> so that new winning entries can
be associated with the same author.</p>
<p>For an anonymous <code>author</code>, their handle is one of these
forms:</p>
<pre><code>Anonymous_year</code></pre>
<p>or:</p>
<pre><code>Anonymous_year.digits</code></pre>
<p>The latter form is in case there are more than one anonymous author
in a given year.</p>
<p>NOTE: even if the directory name is not <code>anonymous</code> the
above rules apply as in in the case of <a
href="/2005/anon/anon.c">2005/anon</a>.</p>
<p>Anonymous <code>author_handle</code>’s match this regexp:</p>
<pre class="re"><code>Anonymous_[0-9][0-9][0-9][0-9][.0-9]*$</code></pre>
<h2 id="entry"><code>entry</code></h2>
<p>An IOCCC entry that won an award for given IOCCC.</p>
<p>A <code>entry</code> has one more more <code>author</code>s.</p>
<p>Each <code>entry</code> is contained under its own directory. The
parent of the entry directory is the year’s directory.</p>
<p>While in most cases a <code>entry</code> consists of files under a
entry’s directory, there are a few cases where a <code>entry</code>
directory contains subdirectories.</p>
<p>Use of subdirectories under a <code>entry</code> directory is
discouraged and may be limited to previous <code>entry</code>s that used
them.</p>
<p>NOTE: In the past, the term <em>winner</em> was used in instead of
today’s term of <em>entry</em>.</p>
<h2 id="year"><code>year</code></h2>
<p>A <code>year</code> is a 4 character string. Most years are 4-digit
strings that represent the year. Some special <code>year</code> strings
are possible, such as <em><code>mock</code></em>. Non-numeric
<code>year</code> strings are lower case.</p>
<p>A <code>year</code> string matches this regexp:</p>
<pre class="re"><code>[0-9a-z][0-9a-z][0-9a-z][0-9a-z]</code></pre>
<p>The <code>year</code> directories reside directly below the top level
directory.</p>
<h2 id="year-1"><code>.year</code></h2>
<p>Each <code>year</code> will have a file directory under it named:</p>
<pre><code>.year</code></pre>
<p>The contents of the <code>.year</code> file is the year string of the
directory. For instance, <a href="/2020/.year">2020/.year</a> has the
string: <code>2020</code>.</p>
<h2 id="dir"><code>dir</code></h2>
<p>A <code>dir</code> is a POSIX safe string that holds an entry.</p>
<p>A <code>dir</code> is a string that matches this regexp:</p>
<pre class="re"><code>^[a-z][0-9a-z.-]*$</code></pre>
<p>Each
<code>_entry_ is under its own individual directory. This directory is directly under a</code>year`
directory.</p>
<h3 id="entry_id"><code>entry_id</code></h3>
<p>A string that identifies the winning entry. The string is of the
form:</p>
<pre><code>year_dir</code></pre>
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.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=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2Flocation.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 -->
+146
View File
@@ -0,0 +1,146 @@
<!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: bin/gen-top-md2html.sh -->
<!-- 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>The International Obfuscated C Code Contest</title>
<meta name="description" content="IOCCC inc files">
<meta name="keywords" content="IOCCC, inc, include files">
</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>Content used by bin tools to help form HTML files</h2>
</div>
<!-- END: this line ends content from: inc/header.default.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="../authors.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_an_entry">Fixing IOCCC entries</a>
<a href="../faq.html#fix_web_site">Fixing the web site</a>
<a href="../faq.html#fix_author">Fixing author 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="inc">inc</h1>
<p>The <a href="README.md">inc</a> directory holds content that is used
by the tools in the <a href="../bin/README.md">bin</a> directory.</p>
<h2 id="why-the-name-inc">Why the name inc?</h2>
<p>We use inc because “include” would be misleading for both C and
because the contents of HTML files under <a href="README.md">inc</a> are
not really included by the web server or the browser. Content of HTML
files is processed by tools the <a href="../bin/README.md">bin</a>
directory. Processing can include substitution of strings of the form
<em>%%CURDS%%</em> with some command line supplied value by the tool in
question.</p>
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.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=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2Flocation.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 -->
+32
View File
@@ -259,6 +259,38 @@ years.md
-D
./
bin/README.md
-H
topnav=.
-o
bin/subst.default.sh
-s
TITLE=The International Obfuscated C Code Contest
-s
DESCRIPTION=Tools used to build and maintain the IOCCC web site
-s
KEYWORDS=IOCCC, tools, web site tools, bin
-s
HEADER_2=IOCCC tools used build and maintain the IOCCC web site
-D
../
inc/README.md
-H
topnav=.
-o
bin/subst.default.sh
-s
TITLE=The International Obfuscated C Code Contest
-s
DESCRIPTION=IOCCC inc files
-s
KEYWORDS=IOCCC, inc, include files
-s
HEADER_2=Content used by bin tools to help form HTML files
-D
../
# Year level README.md files have a special year navbar
[12][0-9][0-9][0-9]/README.md
+169 -110
View File
@@ -1,126 +1,185 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<LINK REL="shortcut icon" HREF="/ioccc.ico">
<link rel="stylesheet" type="text/css" href="tmp/old-ioccc.css">
<META name="description" content="International Obfuscated C Code Contest">
<META name="keywords" content="International, Obfuscated, C, c, IOCCC,ioccc, obfuscated, Obfuscate, obfuscate, Landon Curt Noll, chongo, Leonid A. Broukhis, leob">
<TITLE>The International Obfuscated C Code Contest</TITLE>
</HEAD>
<BODY TEXT="#000000">
<!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: bin/gen-top-md2html.sh -->
<!-- The HTML was converted from markdown by the tool: bin/md2html.sh -->
<!-- -->
<!-- START: this line starts content from: inc/head.default.html -->
<CENTER><a HREF="2011/zucker/hint.html"><IMG ALT="IOCCC" SRC="png/ioccc.png"></a><br><FONT SIZE="1">Logo by winner <a href="2011/zucker/hint.html">Matt Zucker</a></font></CENTER><BR>
<CENTER><FONT SIZE="6"><I>The International Obfuscated C Code
Contest </I></FONT></CENTER><BR>
<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>The International Obfuscated C Code Contest</title>
<meta name="description" content="International Obfuscated C Code Contest">
<meta name="keywords" content="IOCCC, International, Obfuscated, C, c, IOCCC, ioccc, obfuscated, Obfuscate, obfuscate, Landon Curt Noll, chongo, Leonid A. Broukhis, leob">
</head>
<HR>
<CENTER><FONT SIZE="6"><I>THIS IS AN EXPERIMENTAL IOCCC WEB SITE </I></FONT></CENTER>
<P>
<H2>IMPORTANT: This is NOT the official IOCCC web site!</H2>
<P>
Please visit
<A HREF="https://www.ioccc.org/index.html">www.ioccc.org</A>
for the official IOCCC web.
<P>
Please do <B>NOT</B> bookmark nor link to this <B>>experimental web site</B>:
<BLOCKQUOTE>
<A HREF="https://ioccc-src.github.io/temp-test-ioccc/">https://ioccc-src.github.io/temp-test-ioccc/</A>
</BLOCKQUOTE>
<P>
When this experiment is finished, this site <B>will go away</B>!
<P>
This test web tree is part of the <B>temp-test-ioccc GitHub repo</B>:
<BLOCKQUOTE>
<A HREF="https://github.com/ioccc-src/temp-test-ioccc">https://github.com/ioccc-src/temp-test-ioccc</A>
</BLOCKQUOTE>
<P>
This web site will be undergoing major changes, so expect many broken links, typos and other problems.
If you wish to recommend changes (understanding that things may be rapidly changing out from under your copy),
then consider making pull requests against the
<A HREF="https://github.com/ioccc-src/temp-test-ioccc">temp-test-ioccc GitHub repo</A>.
<HR>
<!-- END: this line ends content from: inc/head.default.html -->
<!-- START: this line starts content from: inc/body.default.html -->
<P>
<CENTER>
<A HREF="index.html">IOCCC home page</A> |
<A HREF="years.html">Winning entries</A> |
<A HREF="authors.html">People who have won</A>
<BR><BR>
<A HREF="news.html">IOCCC News</a> |
<A HREF="faq.html#submit">How to enter the IOCCC</A> |
<A HREF="faq.html">FAQ</A>
<BR><BR>
<A HREF="bugs.md">Known Bugs &amp; (Mis)features</A> |
<A HREF="faq.html#fix_an_entry">Fixing IOCCC entries</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.md">Thanks for the help</A>
<BR><BR>
<A HREF="judges.html">The judges</A> |
<A HREF="contact.html">Contacting the IOCCC</A>
</CENTER>
<body>
<P>
<A NAME="enter"></A>
<HR>
<!-- END: this line ends content from: inc/body.default.html -->
<!-- START: this line starts content from: inc/header.default.html -->
<P>The IOCCC is currently <B>CLOSED</B>.</P>
<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></h2>
</div>
<P>Right now, you <B>CANNOT register</B> as a contestant with the IOCCC,<BR>
nor can you submit an entry because the <B>IOCCC</B> is yet <B>NOT open</B>.
<!-- END: this line ends content from: inc/header.default.html -->
<!-- START: this line starts content from: inc/begin-row.default.html -->
<P>Please see the watch the <A HREF="news.html#news">IOCCC news</A> below for information on the next <B>IOCCC</B>.
<div class="row">
<P>You may also check on the <A HREF="status.json">status.json</A> for the current status of the <B>IOCCC</B>.
<!-- END: this line ends content from: inc/begin-row.default.html -->
<!-- START: this line starts content from: inc/begin-leftcolumn.default.html -->
<A NAME="goals"></A>
<HR>
<div class="leftcolumn">
<H2>Goals of the Contest</H2>
<P>
<UL>
<LI TYPE=none><B>Obfuscate:</B> tr.v. -cated, -cating, -cates.
<OL><LI TYPE=1>
<OL><LI TYPE=a>To render obscure.
<LI TYPE=a>To darken.
</OL>
<LI TYPE=1>To confuse: his emotions obfuscated his judgment.<BR>
[LLat. obfuscare, to darken : ob(intensive) + Lat. fuscare,<BR>
to darken &lt; fuscus, dark.] -obfuscation n. obfuscatory adj<BR>
</OL>
<BR>
<LI TYPE=none><B>The IOCCC:</B>
<UL>
<LI TYPE=square>To write the most Obscure/Obfuscated C program within the rules.
<LI TYPE=square>To show the importance of programming style, in an ironic way.
<LI TYPE=square>To stress C compilers with unusual code.
<LI TYPE=square>To illustrate some of the subtleties of the C language.
<LI TYPE=square>To provide a safe forum for poor C code. :-)
</UL>
</UL>
<!-- END: this line ends content from: inc/begin-leftcolumn.default.html -->
<!-- START: this line starts content from: inc/sidenav.default.html -->
<HR>
<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="./authors.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_an_entry">Fixing IOCCC entries</a>
<a href="./faq.html#fix_web_site">Fixing the web site</a>
<a href="./faq.html#fix_author">Fixing author 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>
<A NAME="news"></A>
<H2>IOCCC news</H2>
<!-- END: this line ends content from: inc/sidenav.default.html -->
<!-- START: this line starts content from: inc/end-leftcolumn.default.html -->
<A HREF="news.html#news">IOCCC news has moved to news.html</A>.
</div>
<HR>
<!-- END: this line ends content from: inc/end-leftcolumn.default.html -->
<!-- START: this line starts content from: inc/begin-rightcolumn.default.html -->
<table><tr>
<td><img alt="Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International License"
style="border-width:0" width="88" height="31" src="png/by-sa.88x31.png" /></td>
<td>&copy; Copyright 1984-2023,
<a href="judges.html">Landon Curt Noll and Leonid A. Broukhis.</a> - All rights reserved.<br><br>
This work is licensed under the
<a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative
Commons CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International License</a>.<br><br>
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>.</td>
</tr></table>
<div class="rightcolumn">
</BODY>
</HTML>
<!-- 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="this-is-an-experimental-ioccc-web-site">THIS IS AN EXPERIMENTAL
IOCCC WEB SITE</h1>
<p><strong>IMPORTANT: This is NOT the official IOCCC web
site!</strong></p>
<p>Please visit <a
href="https://www.ioccc.org/index.html">www.ioccc.org</a> for the
official IOCCC web.</p>
<p>Please do <strong>NOT</strong> bookmark nor link to this <a
href="https://ioccc-src.github.io/temp-test-ioccc/">experimental web
site</a>!</p>
<p>When this experiment is finished, this site <strong>will go
away</strong>!</p>
<p>This test web tree is part of the <a
href="https://github.com/ioccc-src/temp-test-ioccc">temp-test-ioccc
GitHub repo</a>.</p>
<p>This web site will be undergoing major changes, so expect many broken
links, typos and other problems. If you wish to recommend changes
(understanding that things may be rapidly changing out from under your
copy), then consider making pull requests against the <a
href="https://github.com/ioccc-src/temp-test-ioccc">temp-test-ioccc
GitHub repo</a>.</p>
<h1 id="suggestion-for-visitors">Suggestion for visitors</h1>
<p>Explore the <a href="years.html">Winning Entries</a> sorted by year,
or sort by <a href="authors.html">People who have won</a>.</p>
<h1 id="obfuscate-defined">Obfuscate defined:</h1>
<p>tr.v. -cated, -cating, -cates. <BR><BR> <strong>1a.</strong> To
render obscure.<BR> <strong>1b.</strong> To darken. <BR><BR>
<strong>2.</strong> To confuse: his emotions obfuscated his
judgment.<BR>     [LLat. obfuscare, to darken : ob(intensive) + Lat.
fuscare,<BR>     to darken &lt; fuscus, dark.] -obfuscation
n. obfuscatory adj.</p>
<h1 id="goals-of-the-contest">Goals of the Contest</h1>
<p>The goals of the IOCCC:</p>
<ul>
<li>To write the most Obscure/Obfuscated C program within the
rules.</li>
<li>To show the importance of programming style, in an ironic way.</li>
<li>To stress C compilers with unusual code.</li>
<li>To illustrate some of the subtleties of the C language.</li>
<li>To provide a safe forum for poor C code. :-)</li>
</ul>
<h1 id="the-ioccc-is-currently-closed.">The IOCCC is currently
<strong>CLOSED</strong>.</h1>
<p>Right now, you <strong>CANNOT register</strong> as a contestant with
the IOCCC,<BR> nor can you submit an entry because the
<strong>IOCCC</strong> is yet <strong>NOT open</strong>. <BR> Please see
the watch the <a href="news.html#news">IOCCC news</a> below for
information on the next <strong>IOCCC</strong>. <BR> You may also check
on the <a href="status.json">status.json</a> for the current status of
the <strong>IOCCC</strong>.</p>
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.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=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2Flocation.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 -->
+53
View File
@@ -0,0 +1,53 @@
# THIS IS AN EXPERIMENTAL IOCCC WEB SITE
**IMPORTANT: This is NOT the official IOCCC web site!**
Please visit [www.ioccc.org](https://www.ioccc.org/index.html) for the official IOCCC web.
Please do **NOT** bookmark nor link to this [experimental web site](https://ioccc-src.github.io/temp-test-ioccc/)!
When this experiment is finished, this site **will go away**!
This test web tree is part of the [temp-test-ioccc GitHub repo](https://github.com/ioccc-src/temp-test-ioccc).
This web site will be undergoing major changes, so expect many broken links, typos and other problems.
If you wish to recommend changes (understanding that things may be rapidly changing out from under your copy),
then consider making pull requests against the [temp-test-ioccc GitHub repo](https://github.com/ioccc-src/temp-test-ioccc).
# Suggestion for visitors
Explore the [Winning Entries](years.html) sorted by year, or sort by [People who have won](authors.html).
# Obfuscate defined:
tr.v. -cated, -cating, -cates.
<BR><BR>
**1a.** To render obscure.<BR>
**1b.** To darken.
<BR><BR>
**2.** To confuse: his emotions obfuscated his judgment.<BR>
&nbsp;&nbsp;&nbsp;&nbsp;[LLat. obfuscare, to darken : ob(intensive) + Lat. fuscare,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;to darken &lt; fuscus, dark.] -obfuscation n. obfuscatory adj.
# Goals of the Contest
The goals of the IOCCC:
* To write the most Obscure/Obfuscated C program within the rules.
* To show the importance of programming style, in an ironic way.
* To stress C compilers with unusual code.
* To illustrate some of the subtleties of the C language.
* To provide a safe forum for poor C code. :-)
# The IOCCC is currently **CLOSED**.
Right now, you **CANNOT register** as a contestant with the IOCCC,<BR>
nor can you submit an entry because the **IOCCC** is yet **NOT open**.
<BR>
Please see the watch the [IOCCC news](news.html#news) below for information on the next **IOCCC**.
<BR>
You may also check on the [status.json](status.json) for the current status of the **IOCCC**.
+134 -50
View File
@@ -1,60 +1,144 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="tmp/old-ioccc.css">
<TITLE>The Judges</TITLE>
</HEAD>
<BODY TEXT="#000000">
<!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: bin/gen-top-md2html.sh -->
<!-- The HTML was converted from markdown by the tool: bin/md2html.sh -->
<!-- -->
<!-- START: this line starts content from: inc/head.default.html -->
<CENTER><a HREF="2011/zucker/hint.html"><IMG ALT="IOCCC" SRC="png/ioccc.png"></a><br><FONT SIZE="1">Logo by winner <a href="2011/zucker/hint.html">Matt Zucker</a></font></CENTER><BR>
<CENTER><FONT SIZE="6"><I>The International Obfuscated C Code
Contest </I></FONT></CENTER><BR>
<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>The International Obfuscated C Code Contest</title>
<meta name="description" content="IOCCC FAQ">
<meta name="keywords" content="IOCCC, FAQ, questions, answers, Frequently Asked Questions">
</head>
<P>
<CENTER>
<A HREF="index.html">IOCCC home page</A> |
<A HREF="years.html">Winning entries</A> |
<A HREF="authors.html">People who have won</A>
<BR><BR>
<A HREF="news.html">IOCCC News</a> |
<A HREF="faq.html#submit">How to enter the IOCCC</A> |
<A HREF="faq.html">FAQ</A>
<BR><BR>
<A HREF="bugs.md">Known Bugs &amp; (Mis)features</A> |
<A HREF="faq.html#fix_an_entry">Fixing IOCCC entries</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.md">Thanks for the help</A>
<BR><BR>
<A HREF="judges.html">The judges</A> |
<A HREF="contact.html">Contacting the IOCCC</A>
</CENTER>
<!-- END: this line ends content from: inc/head.default.html -->
<!-- START: this line starts content from: inc/body.default.html -->
<HR>
<body>
<H2>The Judges</H2>
<!-- END: this line ends content from: inc/body.default.html -->
<!-- START: this line starts content from: inc/header.default.html -->
<P><B>Leonid A. Broukhis</B> -- <A HREF="http://www.mailcom.com/main.shtml">http://www.mailcom.com/main.shtml</A></P>
<P><B>Landon Curt Noll</B> -- <A HREF="http://www.isthe.com/chongo/">http://www.isthe.com/chongo/</A></P>
<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>The Judges of the IOCCC</h2>
</div>
<!-- END: this line ends content from: inc/header.default.html -->
<!-- START: this line starts content from: inc/begin-row.default.html -->
<P>If you want to contact the IOCCC judges, please see <A HREF="contact.html">Contacting the IOCCC</A>.</P>
<div class="row">
<HR>
<!-- END: this line ends content from: inc/begin-row.default.html -->
<!-- START: this line starts content from: inc/begin-leftcolumn.default.html -->
<table><tr>
<td><img alt="Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International License"
style="border-width:0" width="88" height="31" src="png/by-sa.88x31.png" /></td>
<td>&copy; Copyright 1984-2023,
<a href="judges.html">Landon Curt Noll and Leonid A. Broukhis.</a> - All rights reserved.<br><br>
This work is licensed under the
<a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative
Commons CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International License</a>.<br><br>
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>.</td>
</tr></table>
<div class="leftcolumn">
</BODY>
</HTML>
<!-- 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="./authors.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_an_entry">Fixing IOCCC entries</a>
<a href="./faq.html#fix_web_site">Fixing the web site</a>
<a href="./faq.html#fix_author">Fixing author 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="the-judges">The Judges</h1>
<ul>
<li><a href="http://www.mailcom.com/main.shtml">Leonid A.
Broukhis</a></li>
<li><a href="http://www.isthe.com/chongo/">Landon Curt Noll</a></li>
</ul>
<h3 id="if-you-want-to-contact-the-ioccc-judges-please-visit">If you
want to contact the IOCCC judges, please visit:</h3>
<p><a href="contact.html">Contacting the IOCCC</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 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%2Flocation.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 -->
+8
View File
@@ -0,0 +1,8 @@
# The Judges
* [Leonid A. Broukhis](http://www.mailcom.com/main.shtml)
* [Landon Curt Noll](http://www.isthe.com/chongo/)
### If you want to contact the IOCCC judges, please visit:
[Contacting the IOCCC](contact.html)
+322 -393
View File
@@ -1,412 +1,341 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<LINK REL="shortcut icon" HREF="/ioccc.ico">
<link rel="stylesheet" type="text/css" href="tmp/old-ioccc.css">
<META name="description" content="International Obfuscated C Code Contest">
<META name="keywords" content="International, Obfuscated, C, c, IOCCC,ioccc, obfuscated, Obfuscate, obfuscate, Landon Curt Noll, chongo, Leonid A. Broukhis, leob">
<TITLE>News from The International Obfuscated C Code Contest</TITLE>
</HEAD>
<BODY TEXT="#000000">
<!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: bin/gen-top-md2html.sh -->
<!-- The HTML was converted from markdown by the tool: bin/md2html.sh -->
<!-- -->
<!-- START: this line starts content from: inc/head.default.html -->
<CENTER><a HREF="2011/zucker/README.md"><IMG ALT="IOCCC" SRC="png/ioccc.png"></a><br><FONT SIZE="1">Logo by winner <a href="2011/zucker/README.md">Matt Zucker</a></font></CENTER><BR>
<CENTER><FONT SIZE="6"><I>The International Obfuscated C Code
Contest </I></FONT></CENTER><BR>
<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>The International Obfuscated C Code Contest</title>
<meta name="description" content="News and notices of the IOCCC">
<meta name="keywords" content="IOCCC, IOCCC news, news">
</head>
<HR>
<CENTER><FONT SIZE="6"><I>THIS IS AN EXPERIMENTAL IOCCC WEB SITE </I></FONT></CENTER>
<P>
<H2>IMPORTANT: This is NOT the official IOCCC web site!</H2>
<P>
Please visit
<A HREF="https://www.ioccc.org/index.html">www.ioccc.org</A>
for the official IOCCC web.
<P>
Please do <B>NOT</B> bookmark or link to this
<A HREF="https://ioccc-src.github.io/temp-test-ioccc/">experimental web site</A>:
<BLOCKQUOTE>
<A HREF="https://ioccc-src.github.io/temp-test-ioccc/">https://ioccc-src.github.io/temp-test-ioccc/</A>
</BLOCKQUOTE>
<P>
When this experiment is finished, this site <B>will go away</B>!
<P>
This test web tree is part of the
<A HREF="https://github.com/ioccc-src/temp-test-ioccc">temp-test-ioccc</A> GitHub repo:
<BLOCKQUOTE>
<A HREF="https://github.com/ioccc-src/temp-test-ioccc">https://github.com/ioccc-src/temp-test-ioccc</A>
</BLOCKQUOTE>
<P>
This web site will be undergoing major changes, so expect many broken links, typos and other problems.
If you wish to recommend changes (understanding that things may be rapidly changing out from under your copy),
then consider making pull requests against the
<A HREF="https://github.com/ioccc-src/temp-test-ioccc">temp-test-ioccc</A> GitHub repo.
<HR>
<!-- END: this line ends content from: inc/head.default.html -->
<!-- START: this line starts content from: inc/body.default.html -->
<P>
<CENTER>
<A HREF="index.html">IOCCC home page</A> |
<A HREF="years.html">Winning entries</A> |
<A HREF="authors.html">People who have won</A>
<BR><BR>
<A HREF="news.html">IOCCC News</a> |
<A HREF="faq.html#submit">How to enter the IOCCC</A> |
<A HREF="faq.html">FAQ</A>
<BR><BR>
<A HREF="bugs.md">Known Bugs &amp; (Mis)features</A> |
<A HREF="faq.html#fix_an_entry">Fixing IOCCC entries</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.md">Thanks for the help</A>
<BR><BR>
<A HREF="judges.html">The judges</A> |
<A HREF="contact.html">Contacting the IOCCC</A>
</CENTER>
<body>
<HR>
<!-- END: this line ends content from: inc/body.default.html -->
<!-- START: this line starts content from: inc/header.default.html -->
<A NAME="news"></A>
<H2>IOCCC news</H2>
<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>IOCCC News</h2>
</div>
<UL>
<LI TYPE=none><B>2023-05-22</B>
<UL><LI TYPE=square>
We have been busy preparing for an important / significant update to this web site.
In the <A HREF="https://github.com/ioccc-src/temp-test-ioccc">temp-test-ioccc GitHub repo</A>,
we have made nearly 2645 changes to date.
<BLOCKQUOTE>
While you are free to look at the <A HREF="https://github.com/ioccc-src/temp-test-ioccc">temp-test-ioccc GitHub repo</A>,
please <B>do not link to it</B> as this repo and related web site will disappear once the main
<A HREF="https://github.com/ioccc-src/winner">IOCCC winner repo</A> has been updated.
<P>
Also be aware that the <A HREF="https://github.com/ioccc-src/temp-test-ioccc">temp-test-ioccc GitHub repo</A>
<!-- END: this line ends content from: inc/header.default.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="./authors.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_an_entry">Fixing IOCCC entries</a>
<a href="./faq.html#fix_web_site">Fixing the web site</a>
<a href="./faq.html#fix_author">Fixing author 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="section">2023-02-29</h1>
<p>We continue to make good progress on web site. In the <a
href="https://github.com/ioccc-src/temp-test-ioccc">temp-test-ioccc
GitHub repo</a> we have made nearly 4600 changes to date!</p>
<p>All web pages, including this one, are now constructed from markdown
files and/or JSON data files using tools found in the <a
href="bin/index.html">bin</a> directory.</p>
<h1 id="section-1">2023-05-22</h1>
<p>We have been busy preparing for an important / significant update to
this web site. In the <a
href="https://github.com/ioccc-src/temp-test-ioccc">temp-test-ioccc
GitHub repo</a> we have made nearly 2645 changes to date.</p>
<pre><code>While you are free to look at the [temp-test-ioccc GitHub repo](https://github.com/ioccc-src/temp-test-ioccc),
please **do not link to it** as this repo and related web site will disappear once the main
[IOCCC winner repo](https://github.com/ioccc-src/winner) has been updated.
Also be aware that the [temp-test-ioccc GitHub repo](https://github.com/ioccc-src/temp-test-ioccc)
is undergoing rapid changes. There are broken links and other things in mid-change.
<P>
Once we are ready to update the <A HREF="https://github.com/ioccc-src/winner">IOCCC winner repo</A>
and its associated <A HREF="https://www.ioccc.org/index.html">www.ioccc.org</A> web site,
we will post a news article warning of the pending change that is about to arrive.
</BLOCKQUOTE>
These 2645+ changes in the <A HREF="https://github.com/ioccc-src/temp-test-ioccc">temp-test-ioccc GitHub repo</A>
include diverse things such as:
<P>
<UL>
<LI> Moving IOCCC entries into their own separate directories
<LI> Fixing lots and lots of typos
<LI> Fixing Makefiles and code to allow for nearly all winners to be compiled on modern systems
<LI> Reworking the Makefiles to use a consistent set of rules
<LI> Reworking the Makefiles to compile under gcc and clang
<LI> Replacing the various hint files with a README.md markdown that is more consistent across IOCCC years
<LI> Setting up a system whereby authors of IOCCC entries may update their own contact information via a GitHub pull request
<LI> Setting up to generate the top level <A HREF="https://www.ioccc.org/years.html">years.html</A> file via a tool
<LI> Setting up to generate the top level <A HREF="https://www.ioccc.org/authors.html">authors.html</A> file via a tool
<LI> etc.
</UL>
<P>
We have lots more to do. Our work is not finished. We just wanted to let you know that we are making good progress.
<P>
In regards to the next IOCCC. We <B>do plan to hold a 28th IOCCC</B>. However before we do that, we plan
to hold what will be called <B>IOCCCMOCK</B>, a beta-test IOCCC where we plan to test the new
<A HREF="https://github.com/ioccc-src/mkiocccentry">mkiocccentry tool</A>, a tool that will package
submissions to the IOCCC.
<P>
We are working on an improved <B>IOCCC submit server</B>
that will allow those who submit entires to be informed about the status of their submission.
This <B>IOCCC submit server</B> will be beta tested in the <B>IOCCCMOCK</B>.
<P>
We are working on a method to rapidly post the winners of an IOCCC. No longer will winners
be subject to a long delay between announcing that they have won and their code being made available.
No longer will procrastination delay the public seeing the winning code. Instead the
<B>announcement of the winners of an IOCCC will be done by posting the winning code via a GitHub commit.</B>
Any corrections, improvement, typo fixes and other fixes will be applied to the winners via GitHub pull requests:
by the authors and/or other interested 3rd parties.
<P>
All the above represent one of the most significant (and useful) changes to the IOCCC since it started back in 1984.
While we are doing lots of testing, we are sure that issues, mis-features and even bugs will be uncovered
when we <B>go live</B>. For this reason, we plan to beta-test the process by holding an <B>IOCCCMOCK</B>.
The <B>IOCCCMOCK</B> will be like a regular IOCCC except that the judges <B>will not</B> judge the code.
Instead, people will be invited to submit a simple <I>"Hello, world!"</I> style program.
Awards will be given to those who:
<P>
<UL>
<LI> submit the best pull requests that fix a bug
<LI> submit the best pull requests that fix a typo
<LI> make the best suggestions for improvements
<LI> have the most fun / make us laugh
<LI> etc.
</UL>
<P>
The <B>IOCCCMOCK</B> will allow is to restart the beta-test contest should a major problem be discovered
that needs urgent fixing.
The <B>IOCCCMOCK</B> will us to beta-test the new IOCCC process without putting the hard work of those
who submit real IOCCC entries at risk.
<P>
Stay tuned!
</UL>
</UL>
<UL>
<LI TYPE=none><B>2023-01-30</B>
<UL><LI TYPE=square>
We added to the
<A HREF="status.json">status.json</A> page,
a <I>"status_date"</I> JSON member whose value is the date
of the most recent <A HREF="status.json">status.json</A> modification,
in <I>date(1)</I> format.
<P>
We also added to the
<A HREF="status.json">status.json</A> page,
a <I>"latest_news"</I> JSON member whose value is the date
of the most recent news item.
<P>
For example:
<BLOCKQUOTE><PRE>
"status_date" : "Mon Jan 30 02:28:44 PST 2023",
"latest_news" : "Mon Jan 30 02:28:44 PST 2023"
</PRE></BLOCKQUOTE>
</UL>
</UL>
<UL>
<LI TYPE=none><B>2022-12-18</B>
<UL><LI TYPE=square>
As per the suggestion of <A HREF="https://fosstodon.org/@Virtaava@home.social">Toni
Mikkola</A> (<I>@Virtaava@home.social</I>) we now maintain a
<A HREF="status.json">status.json</A> page on this web site.
<P>
In addition to the IOCCC-style <I>easter egg</I>, you may count on
the JSON status page having a JSON member with name of <B>"contest"</B>
that will have a value of either <B>"closed"</B> or <B>"open"</B>.
When a future <B>IOCCC</B> is announced or the IOCCC is currently open,
the JSON member with name of <B>"contest"</B> will change from
<B>"closed"</B> to <B>"open"</B>.
<P>
Additional JSON members be added describing the contest such as
the IOCCC contest number, open date, close date, timezone, etc.
The details of such additional JSON members are <I>TBD</I>.
<P>
When an open IOCCC closes, we won't instantaneously update the
<A HREF="status.json">status.json</A> page.
Instead you will have to rely on the additional JSON information
and/or read the <A HREF="#news">IOCCC news</A>,
and/or follow us on Mastodon via <B>@ioccc@fosstodon.org</B>.
</UL>
</UL>
<UL>
<LI TYPE=none><B>2022-11-29</B>
<UL><LI TYPE=square>
We are plan to abandon our
<A HREF="https://twitter.com/ioccc">IOCCC Twitter feed</A>
in favor of our new
<A REL="me" HREF="https://fosstodon.org/@ioccc">IOCCC Mastodon</A> feed.
<P>
Our Mastodon username is: <B>@ioccc@fosstodon.org</B>.
<BLOCKQUOTE>
Please note: As of the date of this posting, our account was just setup,
so there isn't much to read there, yet.
</BLOCKQUOTE>
<P>
In the future we plan to use Mastodon as our official announcement platform.
This will include announcing:
<UL>
<LI> IOCCC news updates
<LI> Start of a new IOCCC
<LI> Updates on the IOCCC judging process
<LI> Who won the IOCCC
<LI> et<B>C</B>. :-)
</UL>
<P>
When registering for a new IOCCC, we will no longer ask for an optional twitter handle.
Instead, you will be asked if you wish to provide a Mastodon username when you submit your IOCCC entry.
Use of Mastodon is <B>NOT</B> required to enter the IOCCC, but nevertheless is encouraged.
Proving a Mastodon username will be entirely <B>optional</B>.
<P>
Non-mastodon users can follow the IOCCC postings via:
<A HREF="https://fosstodon.org/@ioccc">fosstodon.org/@ioccc</A>.
<P>
If you do not yet have a Mastodon account, you may obtain a <B>free mastodon account via</B>:
<A HREF="https://joinmastodon.org">joinmastodon.org</A>.
<P>
If you do have / obtain a Mastodon account, <B>please do us a favor and
follow the IOCCC at:</B>
<BLOCKQUOTE>
<B>@ioccc@fosstodon.org</B>
</BLOCKQUOTE>
The IOCCC wishes to thank the good folk running the
<A HREF="https://hub.fosstodon.org/about/">fosstodon.org</A>
Mastodon hub.
Their technology focused
<A HREF="https://hub.fosstodon.org">Fosstodon Hub</A>
is made possible by volunteers,
and those who voluntarily
<A HREF="https://hub.fosstodon.org/support/">support</A> the cost of their server.
<P>
Stay tuned in Mastodon as we update you on our progress towards the next IOCCC!
</UL>
</UL>
<UL>
<LI TYPE=none><B>2022-11-19</B>
<UL><LI TYPE=square>
Source code has been released for version <B>0.8.1 2022-11-19</B> of the
<A HREF="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</A>,
a GitHub repo that includes the official iocccsize tool,
and a tool will form a compressed tarball of their entry.
<P>
We are working on a submit server that will allow a registered IOCCC contestant
to upload the above mentioned compressed tarball: when the contest is open of course.
<P>
Once we reach version 1.0, we plan to invite the public to test and comment.
<P>
We plan to hold in 2023, what we will call <B>IOCCCMOCK</B>, a trial IOCCC contest where the
judges will go through the motions (without judging the content) of an IOCCC:
testing the above mentioned tools and testing the submit server.
<P>
We are working on complete rebuild of this web site as well.
</UL><BR>
<LI TYPE=none><B>2022-01-15</B>
<UL><LI TYPE=square>
Source code has been released for version <B>0.24 2022-01-15</B> of the
<A HREF="https://github.com/ioccc-src/mkiocccentry">mkiocccentry tool</A>,
Once we are ready to update the [IOCCC winner repo](https://github.com/ioccc-src/winner)
and its associated [www.ioccc.org](index.html) web site,
we will post a news article warning of the pending change that is about to arrive.</code></pre>
<p>These 2645+ changes in the <a
href="https://github.com/ioccc-src/temp-test-ioccc">temp-test-ioccc
GitHub repo</a> include diverse things such as:</p>
<ul>
<li>Moving IOCCC entries into their own separate directories</li>
<li>Fixing lots and lots of typos</li>
<li>Fixing Makefiles and code to allow for nearly all winners to be
compiled on modern systems</li>
<li>Reworking the Makefiles to use a consistent set of rules</li>
<li>Reworking the Makefiles to compile under gcc and clang</li>
<li>Replacing the various hint files with a README.md markdown that is
more consistent across IOCCC years</li>
<li>Setting up a system whereby authors of IOCCC entries may update
their own contact information via a GitHub pull request</li>
<li>Setting up to generate the top level <a
href="years.html">years.html</a> file via a tool</li>
<li>Setting up to generate the top level <a
href="authors.html">authors.html</a> file via a tool</li>
<li>etc.</li>
</ul>
<p>We have lots more to do. Our work is not finished. We just wanted to
let you know that we are making good progress.</p>
<p>In regards to the next IOCCC. We <strong>do plan to hold a 28th
IOCCC</strong>. However before we do that, we plan to hold what will be
called <strong>IOCCCMOCK</strong>, a beta-test IOCCC where we plan to
test the new <a
href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry tool</a>,
a tool that will package submissions to the IOCCC.</p>
<p>We are working on an improved <strong>IOCCC submit server</strong>
that will allow those who submit entires to be informed about the status
of their submission. This <strong>IOCCC submit server</strong> will be
beta tested in the <strong>IOCCCMOCK</strong>.</p>
<p>We are working on a method to rapidly post the winners of an IOCCC.
No longer will winners be subject to a long delay between announcing
that they have won and their code being made available. No longer will
procrastination delay the public seeing the winning code. Instead the
<strong>announcement of the winners of an IOCCC will be done by posting
the winning code via a GitHub commit.</strong> Any corrections,
improvement, typo fixes and other fixes will be applied to the winners
via GitHub pull requests: by the authors and/or other interested 3rd
parties.</p>
<p>All the above represent one of the most significant (and useful)
changes to the IOCCC since it started back in 1984. While we are doing
lots of testing, we are sure that issues, mis-features and even bugs
will be uncovered when we <strong>go live</strong>. For this reason, we
plan to beta-test the process by holding an <strong>IOCCCMOCK</strong>.
The <strong>IOCCCMOCK</strong> will be like a regular IOCCC except that
the judges <strong>will not</strong> judge the code. Instead, people
will be invited to submit a simple <em>“Hello, world!”</em> style
program. Awards will be given to those who:</p>
<ul>
<li>submit the best pull requests that fix a bug</li>
<li>submit the best pull requests that fix a typo</li>
<li>make the best suggestions for improvements</li>
<li>have the most fun / make us laugh</li>
<li>etc.</li>
</ul>
<p>The <strong>IOCCCMOCK</strong> will allow is to restart the beta-test
contest should a major problem be discovered that needs urgent fixing.
The <strong>IOCCCMOCK</strong> will us to beta-test the new IOCCC
process without putting the hard work of those who submit real IOCCC
entries at risk.</p>
<p>Stay tuned!</p>
<h1 id="section-2">2023-01-30</h1>
<p>We added to the <a href="status.json">status.json</a> page, a
<em>“status_date”</em> JSON member whose value is the date of the most
recent <a href="status.json">status.json</a> modification, in
<em>date(1)</em> format.</p>
<p>We also added to the <a href="status.json">status.json</a> page, a
<em>“latest_news”</em> JSON member whose value is the date of the most
recent news item.</p>
<div class="sourceCode" id="cb2"><pre
class="sourceCode json"><code class="sourceCode json"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="er">&quot;status_date&quot;</span> <span class="er">:</span> <span class="er">&quot;Mon</span> <span class="er">Jan</span> <span class="er">30</span> <span class="er">02:28:44</span> <span class="er">PST</span> <span class="er">2023&quot;,</span></span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a><span class="er">&quot;latest_news&quot;</span> <span class="er">:</span> <span class="er">&quot;Mon</span> <span class="er">Jan</span> <span class="er">30</span> <span class="er">02:28:44</span> <span class="er">PST</span> <span class="er">2023&quot;</span></span></code></pre></div>
<h1 id="section-3">2022-12-18</h1>
<p>As per the suggestion of <a
href="https://fosstodon.org/@Virtaava@home.social">Toni Mikkola</a>
(_<span class="citation" data-cites="Virtaava">@Virtaava</span><span
class="citation" data-cites="home.social_">@home.social_</span>) we now
maintain a <a href="status.json">status.json</a> page on this web
site.</p>
<p>In addition to the IOCCC-style <em>easter egg</em>, you may count on
the JSON status page having a JSON member with name of
<strong>“contest”</strong> that will have a value of either
<strong>“closed”</strong> or <strong>“open”</strong>. When a future
<strong>IOCCC</strong> is announced or the IOCCC is currently open, the
JSON member with name of <strong>“contest”</strong> will change from
<strong>“closed”</strong> to <strong>“open”</strong>.</p>
<p>Additional JSON members be added describing the contest such as the
IOCCC contest number, open date, close date, timezone, etc. The details
of such additional JSON members are <em>TBD</em>.</p>
<p>When an open IOCCC closes, we won’t instantaneously update the <a
href="status.json">status.json</a> page. Instead you will have to rely
on the additional JSON information and/or read the <a href="#news">IOCCC
news</a>, and/or follow us on Mastodon via <strong><span
class="citation" data-cites="ioccc">@ioccc</span><span class="citation"
data-cites="fosstodon.org">@fosstodon.org</span></strong>.</p>
<h1 id="section-4">2022-11-29</h1>
<p>We are plan to abandon our <a href="https://twitter.com/ioccc">IOCCC
Twitter feed</a> in favor of our new <a
href="https://fosstodon.org/@ioccc">IOCCC Mastodon</a> feed.</p>
<p>Our Mastodon username is: <strong><span class="citation"
data-cites="ioccc">@ioccc</span><span class="citation"
data-cites="fosstodon.org">@fosstodon.org</span></strong>.</p>
<pre><code>Please note: As of the date of this posting, our account was just setup,
so there isn&#39;t much to read there, yet.</code></pre>
<p>In the future we plan to use Mastodon as our official announcement
platform. This will include announcing:</p>
<ul>
<li>IOCCC news updates</li>
<li>Start of a new IOCCC</li>
<li>Updates on the IOCCC judging process</li>
<li>Who won the IOCCC</li>
<li>et<strong>C</strong>. :-)</li>
</ul>
<p>When registering for a new IOCCC, we will no longer ask for an
optional twitter handle. Instead, you will be asked if you wish to
provide a Mastodon username when you submit your IOCCC entry. Use of
Mastodon is <strong>NOT</strong> required to enter the IOCCC, but
nevertheless is encouraged. Proving a Mastodon username will be entirely
<strong>optional</strong>.</p>
<p>Non-mastodon users can follow the IOCCC postings via: <a
href="https://fosstodon.org/@ioccc">fosstodon.org/<span class="citation"
data-cites="ioccc">@ioccc</span></a>.</p>
<p>If you do not yet have a Mastodon account, you may obtain a
<strong>free mastodon account via</strong>: <a
href="https://joinmastodon.org">joinmastodon.org</a>.</p>
<p>If you do have / obtain a Mastodon account, <strong>please do us a
favor and follow the IOCCC at</strong>:</p>
<pre><code>**@ioccc@fosstodon.org**</code></pre>
<p>The IOCCC wishes to thank the good folk running the <a
href="https://hub.fosstodon.org/about/">fosstodon.org</a> Mastodon hub.
Their technology focused <a href="https://hub.fosstodon.org">Fosstodon
Hub</a> is made possible by volunteers, and those who voluntarily <a
href="https://hub.fosstodon.org/support/">support</a> the cost of their
server.</p>
<p>Stay tuned in Mastodon as we update you on our progress towards the
next IOCCC!</p>
<h1 id="section-5">2022-11-19</h1>
<p>Source code has been released for version <strong>0.8.1
2022-11-19</strong> of the <a
href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a>,
a GitHub repo that includes the official iocccsize tool, and a tool will
form a compressed tarball of their entry.</p>
<p>We are working on a submit server that will allow a registered IOCCC
contestant to upload the above mentioned compressed tarball: when the
contest is open of course.</p>
<p>Once we reach version 1.0, we plan to invite the public to test and
comment.</p>
<p>We plan to hold in 2023, what we will call
<strong>IOCCCMOCK</strong>, a trial IOCCC contest where the judges will
go through the motions (without judging the content) of an IOCCC:
testing the above mentioned tools and testing the submit server.</p>
<p>We are working on complete rebuild of this web site as well.</p>
<h1 id="section-6">2022-01-15</h1>
<p>Source code has been released for version <strong>0.24
2022-01-15</strong> of the <a
href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry tool</a>,
a tool that is based on, and is containing, the official iocccsize tool,
will form a compressed tarball that a registered IOCCC contestant
will upload to the submit server (when the contest is open of course).
</UL><BR>
will form a compressed tarball that a registered IOCCC contestant will
upload to the submit server (when the contest is open of course).</p>
<h1 id="section-7">2021-12-27</h1>
<p><a href="/judges.html">The Judges</a> are continuing to work on
re-tooling how we run the IOCCC. We are writing tools under various
repositories our <a href="https://github.com/ioccc-src">IOCCC GitHub
organization site</a>.</p>
<p><strong>We plan to hold IOCCC28 in 2023.</strong> Sorry for the
delay, but we think you will appreciate the re-tooling when it is
completed. Stay tuned!</p>
<h1 id="section-8">2021-10-21</h1>
<p><a href="/judges.html">The Judges</a> are re-tooling how we run the
IOCCC. Our goal is to build a smoother, more rapid process centered
around <a href="https://github.com/ioccc-src/winner">GitHub</a>.</p>
<p>For example, when we announce the winners, we will do so by
committing their code to the <a href="/years.html">Winning entries</a>
of the IOCCC repo, so that people will be able immediately view the
winning source.</p>
<p>We plan to refactor and modernize the IOCCC web site. We also plan to
build a new and improved way to submit entries the next IOCCC. As a
result of all this work we need to do, <strong>we plan to hold IOCCC28
in 2023 instead of 2021</strong>. Sorry for the delay, but we think you
will appreciate the re-tooling when it is completed.</p>
<p><strong>Stay tuned for how you may be able to help in the IOCCC
redesign for IOCCC28!</strong></p>
<LI TYPE=none><B>2021-12-27</B>
<UL><LI TYPE=square>
<A HREF="/judges.html">The Judges</A>
are continuing to work on re-tooling how we run the IOCCC.
We are writing tools under various repositories our
<A HREF="https://github.com/ioccc-src">IOCCC GitHub organization site</A>.
<P>
<B>We plan to hold IOCCC28 in 2023.</B>
Sorry for the delay, but we think you will appreciate the re-tooling
when it is completed.
Stay tuned!
</UL><BR>
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<!-- START: this line starts content from: inc/after-content.default.html -->
<A NAME="IOCCC28-in-2022"></A>
<LI TYPE=none><B>2021-10-21</B>
<UL><LI TYPE=square>
<A HREF="/judges.html">The Judges</A>
are re-tooling how we run the IOCCC.
Our goal is to build a smoother, more rapid process centered around
<A HREF="https://github.com/ioccc-src/winner">GitHub</A>.
<P>
For example, when we announce the winners,
we will do so by committing their code to the
<A HREF="/years.html">Winning entries</A>
of the IOCCC repo, so that people will be able immediately
view the winning source.
<P>
We plan to refactor and modernize the IOCCC web site.
We also plan to build a new and improved way to submit entries the next IOCCC.
As a result of all this work we need to do,
<B>we plan to hold IOCCC28 in 2023 instead of 2021</B>.
Sorry for the delay, but we think you will appreciate the re-tooling
when it is completed.
<P>
<B>Stay tuned for how you may be able to help in the IOCCC redesign for IOCCC28!</B>
</UL><BR>
<!-- END: this line ends content from: inc/after-content.default.html -->
<!-- START: this line starts content from: inc/end-rightcolumn.default.html -->
<!--
<LI TYPE=none><B>2021-01-04</B>
<UL><LI TYPE=square>Email to <B>IOCCC</B>, via this email address:
<BLOCKQUOTE><B><A HREF="&#109;&#97;&#105;l&#x74;&#111;&#58;&#113;&#46;&#x32;&#x30;2&#x31;&#x40;&#x69;&#x6F;&#x63;&#x63;&#x63;&#46;&#111;&#x72;&#x67;">&#x71;&#46;&#x32;0&#50;&#49;&#x40;&#x69;&#x6F;&#x63;cc&#46;&#111;&#x72;&#x67;</A></B></BLOCKQUOTE>
with the following two words (separated by a space) somewhere in the subject of your email:
<BLOCKQUOTE><B>IOCCC 2021</B></BLOCKQUOTE>
works again.
We apologize for the Email outage of the past few days.
</UL><BR>
</div>
<LI TYPE=none><B>2021-01-02</B>
<UL><LI TYPE=square>A temporary side effect of our move to using
<A HREF="https://github.com/ioccc-src/winner">GitHub</A>,
Email to/from <B>*@ioccc.org</B> has been disabled.
We expect restore Email service in a few days.
When we do, we will announce restoration of Email service here.
</UL><BR>
<!-- END: this line ends content from: inc/end-rightcolumn.default.html -->
<!-- START: this line starts content from: inc/end-row.default.html -->
<LI TYPE=none><B>2020-12-31</B>
<UL><LI TYPE=square>Released the
<A HREF="/years.html#2020">winners of the 27<sup>th</sup> IOCCC</A>.
<LI TYPE=square>Moved the <B>IOCCC</B> source tree and web site to
<A HREF="https://github.com/ioccc-src/winner">GitHub</A>.
</UL><BR>
</div>
<LI TYPE=none><B>2020-07-25</B>
<UL><LI TYPE=square>The <A HREF="2020/whowon.html">winners of the 27<sup>th</sup> IOCCC</A> have been announced. Congratulations!
</UL><BR>
<!-- END: this line ends content from: inc/end-row.default.html -->
<!-- START: this line starts content from: inc/footer.default.html -->
<LI TYPE=none><B>2020-03-22</B>
<UL><LI TYPE=square>Due to current world events, we are extending the 27<sup>th</sup> IOCCC until 2020-May-15 06:26:49 UTC
<LI TYPE=square>The <a href="https://submit.ioccc.org">submission tool</a> will now be active until 2020-May-15 06:26:49 UTC
</UL><BR>
<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%2Flocation.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>
<LI TYPE=none><B>2019-10-13</B>
<UL><LI TYPE=square>The <A HREF="years.html#2019">source code</A> for the winners of the 26<sup>th</sup> IOCCC has been released.
<LI TYPE=square>The 27<sup>th</sup> IOCCC will be open from <B>2019-Dec-26 06:01:41 UTC</B> (Boxing Day)<br>to <B>2020-Mar-15 06:26:49 UTC</B> (Ides of March).
<LI TYPE=square>The <a href="https://submit.ioccc.org">submission tool</a> will be available around <B>2020-Jan-15 15:15:15 UTC</B>.
<LI TYPE=square>Draft <A HREF="2020/rules.txt">Rules</A>, <A HREF="2020/guidelines.txt">Guidelines</A> and <A HREF="2020/iocccsize.c">IOCCC size tool</A> for the 27<sup>th</sup> IOCCC are available.
</UL><BR>
<!-- END: this line ends content from: inc/footer.default.html -->
<!-- START: this line starts content from: inc/bottom.default.html -->
<LI TYPE=none><B>2019-06-16</B>
<UL><LI TYPE=square>Due to some delays, we now plan to publish source and annotations in early July 2019.
</UL><BR>
</body>
</html>
<LI TYPE=none><B>2019-05-11</B>
<UL><LI TYPE=square>The <A HREF="2019/whowon.html">winners of the 26<sup>th</sup> IOCCC</A> have been announced. Congratulations!
</UL><BR>
<LI TYPE=none><B>2019-03-16</B>
<UL><LI TYPE=square>The 26<sup>th</sup> IOCCC is now closed and Judging has commenced.
</UL><BR>
<LI TYPE=none><B>2018-12-26</B>
<UL><LI TYPE=square>The 26<sup>th</sup> IOCCC will be open from <B>2018-Dec-26 16:06:69</B> to <B>2019-Mar-15 00:86:07</B>.
<LI TYPE=square>The <a href="https://submit.ioccc.org">submission tool</a> will be available around <B>2019-Jan-15 15:15:15 UTC</B>.
<LI TYPE=square>Draft <A HREF="2019/rules.txt">Rules</A>, <A HREF="2019/guidelines.txt">Guidelines</A> and <A HREF="2019/iocccsize.c">IOCCC size tool</A> are available.
</UL><BR>
<LI TYPE=none><B>2018-05-06</B>
<UL><LI TYPE=square>The <A HREF="years.html#2018">source code</A> for the winners of the 25<sup>th</sup> IOCCC has been released.
</UL><BR>
<LI TYPE=none><B>2018-04-01</B>
<UL><LI TYPE=square>The <A HREF="2018/whowon.html">winners of the 25<sup>th</sup> IOCCC</A> have been announced. Congratulations!
<LI TYPE=square>We plan to publish source and annotations in the next 30 days
</UL><BR>
<LI TYPE=none><B>2018-02-16</B>
<UL><LI TYPE=square>Due to a scheduling conflict with one of the <A HREF="judges.html">IOCCC judges</A>, the 25<sup>th</sup> IOCCC end date is now the Ides of March.
<LI TYPE=square>Please <a href="https://submit.ioccc.org">submit</a> your entries by 2018-Mar-15 03:08:07 UTC.
<LI TYPE=square>Updated: The 25<sup>th</sup> IOCCC will be open from <B>2017-Dec-29 05:38:51 UTC</B> to <B>2018-Mar-15 03:08:07 UTC</B>.
</UL><BR>
<LI TYPE=none><B>2018-01-19</B>
<UL><LI TYPE=square>There is a delay in making the <a href="https://submit.ioccc.org">submission tool</a> available. Please retry on <B>2018-Jan-21 23:09:09 UTC</B>.
</UL><BR>
-->
</UL>
<P>Older news has been archived, but is not currently available.</P>
<HR>
<table><tr>
<td><img alt="Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International License"
style="border-width:0" width="88" height="31" src="png/by-sa.88x31.png" /></td>
<td>&copy; Copyright 1984-2023,
<a href="judges.html">Landon Curt Noll and Leonid A. Broukhis.</a> - All rights reserved.<br><br>
This work is licensed under the
<a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative
Commons CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International License</a>.<br><br>
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>.</td>
</tr></table>
</BODY>
</HTML>
<!-- END: this line ends content from: inc/bottom.default.html -->
+232
View File
@@ -0,0 +1,232 @@
# 2023-02-29
We continue to make good progress on web site. In the [temp-test-ioccc GitHub repo](https://github.com/ioccc-src/temp-test-ioccc) we have made nearly 4600 changes to date!
All web pages, including this one, are now constructed from markdown files and/or JSON data files using tools found in the [bin](bin/index.html) directory.
# 2023-05-22
We have been busy preparing for an important / significant update to this web site. In the [temp-test-ioccc GitHub repo](https://github.com/ioccc-src/temp-test-ioccc) we have made nearly 2645 changes to date.
```
While you are free to look at the [temp-test-ioccc GitHub repo](https://github.com/ioccc-src/temp-test-ioccc),
please **do not link to it** as this repo and related web site will disappear once the main
[IOCCC winner repo](https://github.com/ioccc-src/winner) has been updated.
Also be aware that the [temp-test-ioccc GitHub repo](https://github.com/ioccc-src/temp-test-ioccc)
is undergoing rapid changes. There are broken links and other things in mid-change.
Once we are ready to update the [IOCCC winner repo](https://github.com/ioccc-src/winner)
and its associated [www.ioccc.org](index.html) web site,
we will post a news article warning of the pending change that is about to arrive.
```
These 2645+ changes in the [temp-test-ioccc GitHub repo](https://github.com/ioccc-src/temp-test-ioccc)
include diverse things such as:
* Moving IOCCC entries into their own separate directories
* Fixing lots and lots of typos
* Fixing Makefiles and code to allow for nearly all winners to be compiled on modern systems
* Reworking the Makefiles to use a consistent set of rules
* Reworking the Makefiles to compile under gcc and clang
* Replacing the various hint files with a README.md markdown that is more consistent across IOCCC years
* Setting up a system whereby authors of IOCCC entries may update their own contact information via a GitHub pull request
* Setting up to generate the top level [years.html](years.html) file via a tool
* Setting up to generate the top level [authors.html](authors.html) file via a tool
* etc.
We have lots more to do. Our work is not finished. We just wanted to let you know that we are making good progress.
In regards to the next IOCCC. We **do plan to hold a 28th IOCCC**. However before we do that, we plan
to hold what will be called **IOCCCMOCK**, a beta-test IOCCC where we plan to test the new
[mkiocccentry tool](https://github.com/ioccc-src/mkiocccentry), a tool that will package
submissions to the IOCCC.
We are working on an improved **IOCCC submit server**
that will allow those who submit entires to be informed about the status of their submission.
This **IOCCC submit server** will be beta tested in the **IOCCCMOCK**.
We are working on a method to rapidly post the winners of an IOCCC. No longer will winners
be subject to a long delay between announcing that they have won and their code being made available.
No longer will procrastination delay the public seeing the winning code. Instead the
**announcement of the winners of an IOCCC will be done by posting the winning code via a GitHub commit.**
Any corrections, improvement, typo fixes and other fixes will be applied to the winners via GitHub pull requests:
by the authors and/or other interested 3rd parties.
All the above represent one of the most significant (and useful) changes to the IOCCC since it started back in 1984.
While we are doing lots of testing, we are sure that issues, mis-features and even bugs will be uncovered
when we **go live**. For this reason, we plan to beta-test the process by holding an **IOCCCMOCK**.
The **IOCCCMOCK** will be like a regular IOCCC except that the judges **will not** judge the code.
Instead, people will be invited to submit a simple _"Hello, world!"_ style program.
Awards will be given to those who:
* submit the best pull requests that fix a bug
* submit the best pull requests that fix a typo
* make the best suggestions for improvements
* have the most fun / make us laugh
* etc.
The **IOCCCMOCK** will allow is to restart the beta-test contest should a major problem be discovered
that needs urgent fixing.
The **IOCCCMOCK** will us to beta-test the new IOCCC process without putting the hard work of those
who submit real IOCCC entries at risk.
Stay tuned!
# 2023-01-30
We added to the
[status.json](status.json) page,
a _"status_date"_ JSON member whose value is the date
of the most recent [status.json](status.json) modification,
in _date(1)_ format.
We also added to the
[status.json](status.json) page,
a _"latest_news"_ JSON member whose value is the date
of the most recent news item.
```json
"status_date" : "Mon Jan 30 02:28:44 PST 2023",
"latest_news" : "Mon Jan 30 02:28:44 PST 2023"
```
# 2022-12-18
As per the suggestion of [Toni Mikkola](https://fosstodon.org/@Virtaava@home.social)
(_@Virtaava@home.social_) we now maintain a
[status.json](status.json) page on this web site.
In addition to the IOCCC-style _easter egg_, you may count on
the JSON status page having a JSON member with name of **"contest"**
that will have a value of either **"closed"** or **"open"**.
When a future **IOCCC** is announced or the IOCCC is currently open,
the JSON member with name of **"contest"** will change from
**"closed"** to **"open"**.
Additional JSON members be added describing the contest such as
the IOCCC contest number, open date, close date, timezone, etc.
The details of such additional JSON members are _TBD_.
When an open IOCCC closes, we won't instantaneously update the
[status.json](status.json) page.
Instead you will have to rely on the additional JSON information
and/or read the [IOCCC news](#news),
and/or follow us on Mastodon via **@ioccc@fosstodon.org**.
# 2022-11-29
We are plan to abandon our
[IOCCC Twitter feed](https://twitter.com/ioccc)
in favor of our new [IOCCC Mastodon](https://fosstodon.org/@ioccc) feed.
Our Mastodon username is: **@ioccc@fosstodon.org**.
```
Please note: As of the date of this posting, our account was just setup,
so there isn't much to read there, yet.
```
In the future we plan to use Mastodon as our official announcement platform.
This will include announcing:
* IOCCC news updates
* Start of a new IOCCC
* Updates on the IOCCC judging process
* Who won the IOCCC
* et**C**. :-)
When registering for a new IOCCC, we will no longer ask for an optional twitter handle.
Instead, you will be asked if you wish to provide a Mastodon username when you submit your IOCCC entry.
Use of Mastodon is **NOT** required to enter the IOCCC, but nevertheless is encouraged.
Proving a Mastodon username will be entirely **optional**.
Non-mastodon users can follow the IOCCC postings via:
[fosstodon.org/@ioccc](https://fosstodon.org/@ioccc).
If you do not yet have a Mastodon account, you may obtain a **free mastodon account via**:
[joinmastodon.org](https://joinmastodon.org).
If you do have / obtain a Mastodon account, **please do us a favor and follow the IOCCC at**:
```
**@ioccc@fosstodon.org**
```
The IOCCC wishes to thank the good folk running the
[fosstodon.org](https://hub.fosstodon.org/about/)
Mastodon hub.
Their technology focused
[Fosstodon Hub](https://hub.fosstodon.org)
is made possible by volunteers,
and those who voluntarily
[support](https://hub.fosstodon.org/support/) the cost of their server.
Stay tuned in Mastodon as we update you on our progress towards the next IOCCC!
# 2022-11-19
Source code has been released for version **0.8.1 2022-11-19** of the
[mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry),
a GitHub repo that includes the official iocccsize tool,
and a tool will form a compressed tarball of their entry.
We are working on a submit server that will allow a registered IOCCC contestant
to upload the above mentioned compressed tarball: when the contest is open of course.
Once we reach version 1.0, we plan to invite the public to test and comment.
We plan to hold in 2023, what we will call **IOCCCMOCK**, a trial IOCCC contest where the
judges will go through the motions (without judging the content) of an IOCCC:
testing the above mentioned tools and testing the submit server.
We are working on complete rebuild of this web site as well.
# 2022-01-15
Source code has been released for version **0.24 2022-01-15** of the
[mkiocccentry tool](https://github.com/ioccc-src/mkiocccentry),
a tool that is based on, and is containing, the official iocccsize tool,
will form a compressed tarball that a registered IOCCC contestant
will upload to the submit server (when the contest is open of course).
# 2021-12-27
[The Judges](/judges.html)
are continuing to work on re-tooling how we run the IOCCC.
We are writing tools under various repositories our
[IOCCC GitHub organization site](https://github.com/ioccc-src).
**We plan to hold IOCCC28 in 2023.**
Sorry for the delay, but we think you will appreciate the re-tooling
when it is completed.
Stay tuned!
# 2021-10-21
[The Judges](/judges.html)
are re-tooling how we run the IOCCC.
Our goal is to build a smoother, more rapid process centered around
[GitHub](https://github.com/ioccc-src/winner).
For example, when we announce the winners,
we will do so by committing their code to the
[Winning entries](/years.html)
of the IOCCC repo, so that people will be able immediately
view the winning source.
We plan to refactor and modernize the IOCCC web site.
We also plan to build a new and improved way to submit entries the next IOCCC.
As a result of all this work we need to do,
**we plan to hold IOCCC28 in 2023 instead of 2021**.
Sorry for the delay, but we think you will appreciate the re-tooling
when it is completed.
**Stay tuned for how you may be able to help in the IOCCC redesign for IOCCC28!**