Files
ioccc/2001/herrmann2/index.html
T
Landon Curt Noll 0fa01fd744 add title and abstract to .entry.json and index.html files
We add an initial "_title_" and "_abstract_" to all entry `.entry.json` files.

The `bin/csv2entry.sh` tool reads the `summary.csv` file and
loads the "_title_" and "_abstract_" to entry `.entry.json` files.

Changed `bin/csv2entry.sh` VERSION from "1.3 2024-09-23"
to "1.4 2024-09-27".

Perform `make csv2entry` to perform the above and test under macOS.

The `bin/cvt-submission.sh` tool adds "_title_" and "_abstract_" to the
.entry.json based on the `.info.json` file.

Changed `bin/cvt-submission.sh` VERSION from "1.2 2024-09-23"
to "1.3 2024-09-27".

The `bin/entry2csv.sh` tool forms the `summary.csv` file
based on the "_title_" and "_abstract_" fields found in .entry.json files.

Changed `bin/entry2csv.sh` VERSION from "1.3 2024-09-23"
to "1.4 2024-09-27".

Perform `make entry2csv` to perform the above and test under macOS.

Added `-H` and `header=with-header-3` to the `bin/md2html.cfg`
for the configuration entry for `[12][0-9][0-9][0-9]/*/README.md`.

Changed `bin/md2html.sh` VERSION from "1.6 2024-08-17"
to "1.7 2024-09-27".

All entry `index.html` files now list the "_abstract_" in a new
`<h3>abstract</h3>` header.

Changed `bin/subst.entry-index.sh` VERSION from "1.6 2024-09-23"
to "1.7 2024-09-27".

Removed `summary.csv`.

Added `summary.csv` and `summary.numbers` to `.gitignore`.
Sorted the result with `bin/sgi.sh`.

Perform `make quick_www` to perform the above and test under macOS.

Perform `make www` to perform the above and test under macOS.
2024-09-27 23:40:45 -07:00

686 lines
27 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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 -->
<!-- END: this line ends content from: inc/top.default.html -->
<!-- START: this line starts content from: inc/head.default.html -->
<head>
<link rel="stylesheet" href="../../ioccc.css">
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap" rel="stylesheet">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>2001/herrmann2 - Most eye-crossing</title>
<link rel="icon" type="image/x-icon" href="../../favicon.ico">
<meta name="description" content="2001 IOCCC entry herrmann2 - Most eye-crossing">
<meta name="keywords" content="IOCCC, 2001, IOCCC 2001, IOCCC entry, herrmann2, Most eye-crossing">
</head>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<!-- !!! 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/head.default.html -->
<!-- -->
<!-- This web page was formed via the tool: bin/readme2index.sh -->
<!-- The content of main section of this web page came from: 2001/herrmann2/README.md -->
<!-- -->
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<!-- !!! Do not modify this web page, instead modify the file: 2001/herrmann2/README.md !!! -->
<!-- !!! Do not modify this web page, instead modify the file: 2001/herrmann2/README.md !!! -->
<!-- !!! Do not modify this web page, instead modify the file: 2001/herrmann2/README.md !!! -->
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<!-- Markdown content was converted into HTML via the tool: bin/md2html.sh -->
<!-- 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/topbar.default.html -->
<div class="theader">
<nav class="topbar">
<div class="container">
<div class="logo">
<a href="../../index.html" class="logo-link">
IOCCC
</a>
</div>
<div class="topbar-items">
<div class="item">
<span class="item-header">
Entries
</span>
<div class="sub-item">
<div class="outfit-font">
<a href="../../years.html" class="sub-item-link">
Winning Entries
</a>
</div>
<div class="outfit-font">
<a href="../../authors.html" class="sub-item-link">
Winning Authors
</a>
</div>
<div class="outfit-font">
<a href="../../location.html" class="sub-item-link">
Location of winning authors
</a>
</div>
<div class="outfit-font">
<a href="../../bugs.html" class="sub-item-link">
Bugs and (mis)features
</a>
</div>
</div>
</div>
<div class="item">
<span class="item-header">
Status
</span>
<div class="sub-item">
<div class="outfit-font">
<a href="../../news.html" class="sub-item-link">
IOCCC News
</a>
</div>
<div class="outfit-font">
<a href="../../status.html" class="sub-item-link">
Contest status
</a>
</div>
<div class="outfit-font">
<a href="../../next/index.html" class="sub-item-link">
Rules and Guidelines
</a>
</div>
</div>
</div>
<div class="item">
<span class="item-header">
FAQ
</span>
<div class="sub-item">
<div class="outfit-font">
<a href="../../faq.html" class="sub-item-link">
FAQ
</a>
</div>
<div class="outfit-font">
<a href="../../faq.html#submit" class="sub-item-link">
How to enter the IOCCC
</a>
</div>
<div class="outfit-font">
<a href="../../faq.html#fix_an_entry" class="sub-item-link">
Fixing IOCCC entries
</a>
</div>
<div class="outfit-font">
<a href="../../faq.html#fix_web_site" class="sub-item-link">
Fixing the website
</a>
</div>
<div class="outfit-font">
<a href="../../faq.html#fix_author" class="sub-item-link">
Updating author info
</a>
</div>
</div>
</div>
<div class="item">
<span class="item-header">
About
</span>
<div class="sub-item">
<div class="outfit-font">
<a href="../../index.html" class="sub-item-link">
IOCCC Home
</a>
</div>
<div class="outfit-font">
<a href="../../judges.html" class="sub-item-link">
The IOCCC Judges
</a>
</div>
<div class="outfit-font">
<a href="../../contact.html" class="sub-item-link">
Contacting the IOCCC
</a>
</div>
<div class="outfit-font">
<a href="../../SECURITY.html" class="sub-item-link">
IOCCC Security Policy
</a>
</div>
<div class="outfit-font">
<a href="../../thanks-for-help.html" class="sub-item-link">
Thanks for the help
</a>
</div>
<div class="outfit-font">
<a href="../../markdown.html" class="sub-item-link">
IOCCC markdown guidelines
</a>
</div>
</div>
</div>
</div>
</div>
</nav>
<div class="header-mobile-menu">
<noscript>
<a href="../../nojs-menu.html" class="topbar-js-label">
Please Enable JavaScript
</a>
</noscript>
<button id="header-open-menu-button" class="topbar-mobile-menu">
<img
src="../../png/hamburger-icon-open.png"
alt="hamburger style menu icon - open state"
width=48
height=48>
</button>
<button id="header-close-menu-button" class="hide-content">
<img
src="../../png/hamburger-icon-closed.png"
alt="hamburger style menu icon - closed state"
width=48
height=48>
</button>
<div id="mobile-menu-panel" class="hide-content">
<div class="mobile-menu-container">
<div class="mobile-menu-wrapper">
<div class="mobile-menu-item">
Entries
</div>
<div class="mobile-submenu-wrapper">
<a class="mobile-submenu-item" href="../../years.html">
Winning Entries
</a>
<a class="mobile-submenu-item" href="../../authors.html">
Authors of winning IOCCC entries
</a>
<a class="mobile-submenu-item" href="../../location.html">
Location of authors
</a>
<a class="mobile-submenu-item" href="../../bugs.html">
Bugs and (mis)features
</a>
</div>
</div>
<div class="mobile-menu-wrapper">
<div class="mobile-menu-item">
Status
</div>
<div class="mobile-submenu-wrapper">
<a class="mobile-submenu-item" href="../../status.html">
Contest status
</a>
<a class="mobile-submenu-item" href="../../next/index.html">
Rules and Guidelines
</a>
<a class="mobile-submenu-item" href="../../news.html">
IOCCC News
</a>
</div>
</div>
<div class="mobile-menu-wrapper">
<div class="mobile-menu-item">
FAQ
</div>
<div class="mobile-submenu-wrapper">
<a class="mobile-submenu-item" href="../../faq.html">
Frequently Asked Questions
</a>
<a class="mobile-submenu-item" href="../../faq.html#submit">
How to enter the IOCCC
</a>
<a class="mobile-submenu-item" href="../../faq.html#fix_an_entry">
Fixing IOCCC entries
</a>
<a class="mobile-submenu-item" href="../../faq.html#fix_web_site">
Fixing the website
</a>
<a class="mobile-submenu-item" href="../../faq.html#fix_author">
Fixing author info
</a>
</div>
</div>
<div class="mobile-menu-wrapper">
<div class="mobile-menu-item">
About
</div>
<div class="mobile-submenu-wrapper">
<a class="mobile-submenu-item" href="../../index.html">
IOCCC Home
</a>
<a class="mobile-submenu-item" href="../../judges.html">
The IOCCC Judges
</a>
<a class="mobile-submenu-item" href="../../contact.html">
Contacting the IOCCC
</a>
<a class="mobile-submenu-item" href="../../thanks-for-help.html">
Thanks for the help
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
var headerOpenMenuButton = document.getElementById("header-open-menu-button");
var headerCloseMenuButton = document.getElementById("header-close-menu-button");
var mobileMenuPanel = document.getElementById("mobile-menu-panel");
headerOpenMenuButton.addEventListener("click", () => {
headerOpenMenuButton.classList.remove("topbar-mobile-menu");
headerOpenMenuButton.classList.add("hide-content");
headerCloseMenuButton.classList.remove("hide-content");
headerCloseMenuButton.classList.add("topbar-mobile-menu");
mobileMenuPanel.classList.remove("hide-content");
mobileMenuPanel.classList.add("topbar-mobile-panel");
});
headerCloseMenuButton.addEventListener("click", () => {
headerCloseMenuButton.classList.remove("topbar-mobile-menu");
headerCloseMenuButton.classList.add("hide-content");
mobileMenuPanel.classList.add("hide-content");
mobileMenuPanel.classList.remove("topbar-mobile-panel");
headerOpenMenuButton.classList.add("topbar-mobile-menu");
headerOpenMenuButton.classList.remove("hide-content");
});
</script>
<!-- END: this line ends content from: inc/topbar.default.html -->
<!-- START: this line starts content from: inc/header.default.html -->
<div class="header">
<a href="../../2011/zucker/index.html">
<img src="../../png/ioccc.png"
alt="IOCCC image by Matt Zucker"
width=300
height=110>
</a>
<h1>The International Obfuscated C Code Contest</h1>
<h2>2001/herrmann2 - Most eye-crossing</h2>
<h3>SIRDS/3D generator where the source is SIRDS/3D itself</h3>
</div>
<!-- END: this line ends content from: inc/header.default.html -->
<!-- START: this line starts content from: inc/navbar.mid.html -->
<div class="navbar">
<a class="Left" href="../herrmann1/index.html">&larr; 2001/herrmann1</a>
<a class="Left" href="../index.html">&uarr; 2001 &uarr;</a>
<a class="Left" href="../jason/index.html">2001/jason &rarr;</a>
<a class="Right" href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2/herrmann2.c">C code</a>
<a class="Right" href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2/Makefile">Makefile</a>
<a class="Right" href="#inventory">Inventory</a>
<a class="Right" href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F2001%2Fherrmann2%2Findex.html">&#x2713;</a>
</div>
<!-- END: this line ends content from: inc/navbar.mid.html -->
<!-- START: this line starts content from: inc/before-content.default.html -->
<div class="content" id="content">
<!-- END: this line ends content from: inc/before-content.default.html -->
<!-- START: this line starts content for HTML phase 20 by: bin/output-index-author.sh via bin/md2html.sh -->
<!-- START: this line starts content generated by: bin/output-index-author.sh -->
<h2 id="author">Author:</h2>
<ul>
<li>Name: <a href="../../authors.html#Immanuel_Herrmann">Immanuel Herrmann</a><br>
Location: <a href="../../location.html#DE">DE</a> - <em>Federal Republic of Germany</em> (<em>Germany</em>)</li>
</ul>
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
<!-- END: this line ends content for HTML phase 20 by: bin/output-index-author.sh via bin/md2html.sh -->
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<!-- BEFORE: 1st line of markdown file: 2001/herrmann2/README.md -->
<h2 id="to-build">To build:</h2>
<pre><code> make</code></pre>
<h2 id="to-use">To use:</h2>
<pre><code> ./herrmann2</code></pre>
<h2 id="try">Try:</h2>
<pre><code> ./try.sh</code></pre>
<p>If you use vi(m) you can see a pattern in <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2/herrmann2.cup">herrmann2.cup</a> and
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2/herrmann2.ioccc">herrmann2.ioccc</a> by say:</p>
<pre><code> /[pon]\</code></pre>
<p>and</p>
<pre><code> /l</code></pre>
<p>For additional fun in <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2/herrmann2.cup">herrmann2.cup</a> try:</p>
<pre><code> /[po]
/q</code></pre>
<p>and in <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2/herrmann2.ioccc">herrmann2.ioccc</a> try:</p>
<pre><code> /n</code></pre>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>Be careful when staring at the source code - your eyes might cross, but
if you concentrate on your focus you will find illumination!</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<p>You probably know those “magic eye” 3D pictures - pictures looking
like random noise, but when you look “through” the paper, you
either get a three dimensional picture or a headache. With this
program, you can create your own 3D pictures in ASCII art. And
yes, the program itself is such a 3D picture.</p>
<h3 id="how-to-use-it">How to use it</h3>
<ol type="1">
<li><p>Create a file which describes the desired 3D picture. The file
must be a block of lowercase letters the size of the desired
picture. The letters specify the depth of the corresponding pixel:
<code>a</code> means close to the paper, <code>z</code> means far away. The info files
are examples. Be aware that the size of the picture is restricted
to about 9k.</p></li>
<li><p>Pipe your picture into the program. The output will be your
3D picture, constructed of random characters (with ASCII code between
32 and 126). For example, type</p></li>
</ol>
<pre><code> ./herrmann2 &lt; herrmann2.ioccc</code></pre>
<ol start="3" type="1">
<li>If you want to control the characters used in the output (for
example if your picture is to consist only of digits), pass them
as the first argument. In this case, each time the program needs a
new random character, it will take the next one from the
argument. When it arrives at the end of the argument, it will
start over at the beginning. Example:</li>
</ol>
<pre><code> ./herrmann2 &quot;234 84 045 5 6765 7487 65190 84 656 254 12 43931 818 0 6542 \
341 45 567 76967 7244 606 976567 895 81898 095 68678 1843 4650547 \
565980691 389 04974&quot; &lt; herrmann2.ioccc</code></pre>
<h3 id="some-hints-to-get-better-results">Some hints to get better results</h3>
<ul>
<li><p>Due to the way these 3D pictures work, the left part of the
picture won’t look really 3D, so don’t put things too much on
the left. The reason is that for each letter in the source file,
a character for the right eye is printed. The 3D effect appears
when the left eye sees the same character more to the left. This
is of course impossible on the left border of the picture.</p></li>
<li><p>Don’t use too different depths and don’t use the depths very
close to the paper (beginning of the alphabet). This would make
it more difficult to see the picture.</p></li>
<li><p>When passing an argument, don’t use a too short one; the
repeating pattern which arises from the repetition of the argument
could interfere with the repeating pattern which creates the 3D
effect.</p></li>
</ul>
<h3 id="extra-features">Extra-Features</h3>
<ul>
<li><p>The program is able to handle all common kinds of line breaks:
Unix, DOS and Mac. To get an output with a certain kind of line
breaks, simply use the same kind of line breaks in the input
file.</p></li>
<li><p>As the source code is a 3D picture itself, the easiest way to
get it (if you lost it or if you don’t have it already) is to use
the program itself on the right picture and with the right
argument:</p></li>
</ul>
<pre><code> ./herrmann2 \
&#39;char*d,A[9876];e;b;*ad,a,c; tw,ndr,T; wri; ;*h; _,ar ;on;&#39;\
&#39; ;l ;i(V)man,n {-!har ; =Aadre(0,&amp;e,o||n -- +,o4,=9,l=b=8,&#39;\
&#39;!( te-*Aim)|(0~l),srand (l),,!A,d=,b))&amp;&amp;+((A + te-A(&amp;(*)=+ +95&gt;&#39;\
&#39;e?(*&amp; c_*r=5,r+e-r +_:2-19&lt;-+?|(d==d),!n ?*d| *( (char**)+V+), (&#39;\
&#39; +0,*d-7 ) -r+8)c:7:+++7+! r: and%9- 85! ()-(r+o):(+w,_+ A*(=er&#39;\
&#39;i+(o)+b)),!write,(=_((-b+*h)(1,A+b,!!((((-+, a &gt;T^l,( o-95=+))w?&#39;\
&#39;++ &amp;&amp;r:b&lt;&lt;2+a +w) ((!main(n*n,V) , +-) ),l)),w= +T--&gt;o +o+;{ &amp;!&#39;\
&#39;a;}return _+= &#39; &lt; herrmann2.ioccc</code></pre>
<ul>
<li><p>If I had submitted the program last year, I would have said that
it has exactly the maximum allowed length: 1536 characters. Now
let’s say it’s a way of protesting against the inflation in
program length.</p></li>
<li><p>The size of the source 3D picture has been chosen carefully: as
big as possible, but small enough to be viewed without problems
on normal-sized terminals.</p></li>
</ul>
<h3 id="why-this-program-should-win">Why this program should win</h3>
<ul>
<li><p>The layout is of a completely new kind. And it describes what
the program does more precisely than any comment could.</p></li>
<li><p>I don’t think there has ever been an IOCCC program with so
severe layout constraints. Once the 3D picture has been fixed,
only a sixth of the characters can be chosen freely! (457 of
1840, to be exact.) In contrast, in palindrome programs, for
example, half of the characters can be chosen freely.</p></li>
<li><p>I did not cheat by using comments or <code>-D</code> options - something
I’ve seen even some palindrome programs do. In fact, at my first
attempt at writing the program I became convinced that it
isn’t possible without cheating. But then I found out that with
comments or defines, it would become trivial, so I had to try
harder…</p></li>
<li><p>If you don’t believe the constraints are hard, try to write just
one single line which satisfies them. (To be able to make one
function call, for example, you have to fill an entire line with
stuff doing mostly nothing.)</p></li>
<li><p>Just in case this is not enough: Yes, the code itself is
obfuscated: It’s (almost) only one big expression, with deep
nesting of <code>()</code> and <code>?:</code>, and full of unnecessary operations which
do not really help making it readable. And it contains a lot of
“magic numbers”. (My favourite is the <code>7</code> in line 15 (each
one). Which is the other digit I could have put there instead,
and what other changes to the program would have been necessary?
Without violating the constraints of course.)</p></li>
<li><p>The fact that the main loop of the program calls <code>main()</code>
recursively is nothing new. New however is that this program
only needs a logarithmic recursion depth! (Find out how this
works.)</p></li>
<li><p>When still in doubt about how to judge this program, type</p></li>
</ul>
<pre><code> ./herrmann2 &lt; herrmann2.cup</code></pre>
<p>and let the result inspire you. ;-)</p>
<h3 id="requirements-to-the-compiler-compatibility">Requirements to the compiler / Compatibility</h3>
<ul>
<li><p>I fear that gcc is the only compiler for which this program
works. Due to the severe restrictions, I was forced to use
declarations of <code>int</code> variables, functions and parameters without
specifying their type. The biggest problem was to put <code>int main(int c, char ** v){</code> into the program. After some time, I
became convinced that this is impossible. Finally, at least I
managed to squeeze <code>main(c, v){</code> into the constraints instead.</p></li>
<li><p>Also, a lot of warnings are produced - most of them “data
definition has no type or storage class”, but also some
“parameter names (without types) in function declaration” and
“assignment from incompatible pointer type”. I wasn’t able to
get rid of them.</p></li>
<li><p>At least, it probably works with all sufficiently recent
versions of gcc. I tested it with versions 2.7.2.1, 2.8.1,
2.95.2, and ecgs-2.91.66.</p></li>
<li><p>Of course I couldn’t put <code>#include</code>s at the beginning of
the program. Usually, this is not really necessary with
gcc. However, for this program it would have been, because some
functions appear as function pointers, and as such they are not
generated implicitly. So the build script has to pass <code>-include ...</code> to gcc. A problem with this is that the complete path of
the include files has to be provided. In the build script, I
assume that the path is <code>/usr/include</code>, but this can easily be
adapted.</p></li>
</ul>
<!--
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
You are free to share and adapt this file under the terms of this license:
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
For more information, see:
https://creativecommons.org/licenses/by-sa/4.0/
-->
<!-- AFTER: last line of markdown file: 2001/herrmann2/README.md -->
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<!-- START: this line starts content for HTML phase 22 by: bin/output-index-inventory.sh via bin/md2html.sh -->
<!-- START: this line starts content generated by: bin/output-index-inventory.sh -->
<div id="inventory">
<h1 id="inventory-for-2001herrmann2">Inventory for 2001/herrmann2</h1>
</div>
<h2 id="primary-files">Primary files</h2>
<ul>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2/herrmann2.c">herrmann2.c</a> - entry source code</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2/Makefile">Makefile</a> - entry Makefile</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2/herrmann2.alt.c">herrmann2.alt.c</a> - alternate source code</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2/herrmann2.orig.c">herrmann2.orig.c</a> - original source code</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2/herrmann2.cup">herrmann2.cup</a> - sample input</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2/herrmann2.ioccc">herrmann2.ioccc</a> - sample input</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2/try.sh">try.sh</a> - script to try entry</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>
<li><a href="2001_herrmann2.tar.bz2">2001_herrmann2.tar.bz2</a> - download entry tarball</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2/README.md">README.md</a> - markdown source for this web page</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2/.entry.json">.entry.json</a> - entry summary and manifest in JSON</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2/.gitignore">.gitignore</a> - list of files that should not be committed under git</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/herrmann2/.path">.path</a> - directory path from top level directory</li>
<li><a href="index.html">index.html</a> - this web page</li>
</ul>
<hr style="width:10%;text-align:left;margin-left:0">
<h4>
Jump to: <a href="#">top</a>
</h4>
<!-- END: next line ends content generated by: bin/output-index-inventory.sh -->
<!-- END: this line ends content for HTML phase 22 by: bin/output-index-inventory.sh via bin/md2html.sh -->
<!-- START: this line starts content from: inc/after-content.default.html -->
</div>
<!-- END: this line ends content from: inc/after-content.default.html -->
<!-- START: this line starts content from: inc/footer.inventory.html -->
<!--
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
You are free to share and adapt this file under the terms of this license:
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
For more information, see:
https://creativecommons.org/licenses/by-sa/4.0/
-->
<div class="footer">
<div id="copyright"><h3>Copyright &copy; 1984-2024 by Landon Curt Noll:
<a href="https://creativecommons.org/faq/#what-does-some-rights-reserved-mean"
target="_blank"
rel="license noopener noreferrer">Some Rights Reserved</a></h3>
<p>
This work is <b>licensed by Landon Curt Noll</b> under
<b><a href="https://creativecommons.org/licenses/by-sa/4.0/?ref=chooser-v1"
target="_blank"
rel="license noopener noreferrer"
style="display:inline-block;">CC BY-SA 4.0</a></b>.
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
src="../../png/cc.png"
alt="cc inside circle symbol">
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
src="../../png/by.png"
alt="person inside circle symbol">
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
src="../../png/sa.png"
alt="arrow looping back on itself inside circle symbol"><br>
You should <b>carefully review</b> the
<b><a href="https://creativecommons.org/licenses/by-sa/4.0/legalcode.en"
target="_blank"
rel="license noopener noreferrer">CC BY-SA 4.0 LEGAL CODE</a></b>
before using the licensed material.<br>
You may wish to review the
<b><a href="../../license.html"
target="_blank"
rel="license noopener noreferrer">highlights of some of the key features and terms</a></b>
of <b>CC BY-SA 4.0</b>.<br>
</p>
</div>
<div id="coda"><h3>Coda</h3>
<p>
<a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F2001%2Fherrmann2%2Findex.html" rel="nofollow">Nu HTML check this web page</a><br>
<a href="#top">Jump to top</a> <a href="#content">Jump to Content</a> <a href="#inventory">Jump to Inventory</a><br>
</p>
</div>
</div>
<!-- END: this line ends content from: inc/footer.inventory.html -->
<!-- START: this line starts content from: inc/bottom.default.html -->
</body>
</html>
<!-- END: this line ends content from: inc/bottom.default.html -->