Files
Landon Curt Noll a1c86c8a7a add original C links to entry navigation bars
The navigation bar for a winning entry now has a "_Original C_" link
(between the ✅ and the Inventory on the right hand side) so that one
may easily view the original C code that was submitted for IOCCC judging.

Ran `make www timestamp` to perform the above.
2025-08-10 12:46:23 -07:00

755 lines
31 KiB
HTML
Raw Permalink 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>2015/endoh1 - Most diffused reaction</title>
<link rel="icon" type="image/x-icon" href="../../favicon.ico">
<meta name="description" content="2015 IOCCC entry endoh1 - Most diffused reaction">
<meta name="keywords" content="IOCCC, 2015, IOCCC 2015, IOCCC entry, endoh1, Most diffused reaction">
</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: 2015/endoh1/README.md -->
<!-- -->
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<!-- !!! Do not modify this web page, instead modify the file: 2015/endoh1/README.md !!! -->
<!-- !!! Do not modify this web page, instead modify the file: 2015/endoh1/README.md !!! -->
<!-- !!! Do not modify this web page, instead modify the file: 2015/endoh1/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 authors
</a>
</div>
<div class="outfit-font">
<a href="../../bugs.html" class="sub-item-link">
Bugs and (mis)features
</a>
</div>
<div class="outfit-font">
<a href="../../faq.html#fix_an_entry" class="sub-item-link">
Fixing entries
</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">
Status
</span>
<div class="sub-item">
<div class="outfit-font">
<a href="../../news.html" class="sub-item-link">
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/rules.html" class="sub-item-link">
IOCCC rules
</a>
</div>
<div class="outfit-font">
<a href="../../next/guidelines.html" class="sub-item-link">
IOCCC guidelines
</a>
</div>
<div class="outfit-font">
<a href="../../markdown.html" class="sub-item-link">
Markdown guidelines
</a>
</div>
<div class="outfit-font">
<a href="../../SECURITY.html" class="sub-item-link">
Security policy
</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">
Frequently asked questions
</a>
</div>
<div class="outfit-font">
<a href="../../quick-start.html#enter" class="sub-item-link">
Enter the IOCCC
</a>
</div>
<div class="outfit-font">
<a href="../../faq.html#compiling" class="sub-item-link">
Compiling entries
</a>
</div>
<div class="outfit-font">
<a href="../../faq.html#running_entries" class="sub-item-link">
Running entries
</a>
</div>
<div class="outfit-font">
<a href="../../faq.html#help" class="sub-item-link">
How to help
</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">
Home page
</a>
</div>
<div class="outfit-font">
<a href="../../social.html" class="sub-item-link">
IOCCC social media
</a>
</div>
<div class="outfit-font">
<a href="../../about.html" class="sub-item-link">
About the IOCCC
</a>
</div>
<div class="outfit-font">
<a href="../../judges.html" class="sub-item-link">
The judges
</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="../../contact.html" class="sub-item-link">
Contact us
</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">
Winning authors
</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>
<a class="mobile-submenu-item" href="../../faq.html#fix_an_entry">
Fixing entries
</a>
<a class="mobile-submenu-item" href="../../faq.html#fix_author">
Updating author info
</a>
<a class="mobile-submenu-item" href="../../thanks-for-help.html">
Thanks for the help
</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="../../news.html">
News
</a>
<a class="mobile-submenu-item" href="../../status.html">
Contest status
</a>
<a class="mobile-submenu-item" href="../../next/rules.html">
IOCCC rules
</a>
<a class="mobile-submenu-item" href="../../next/guidelines.html">
IOCCC guidelines
</a>
<a class="mobile-submenu-item" href="../../markdown.html">
Markdown guidelines
</a>
<a class="mobile-submenu-item" href="../../SECURITY.html">
Security policy
</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="../../quick-start.html#enter">
Enter the IOCCC
</a>
<a class="mobile-submenu-item" href="../../faq.html#compiling">
Compiling entries
</a>
<a class="mobile-submenu-item" href="../../faq.html#running_entries">
Running entries
</a>
<a class="mobile-submenu-item" href="../../faq.html#help">
How to help
</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">
Home page
</a>
<a class="mobile-submenu-item" href="../../social.html">
IOCCC social media
</a>
<a class="mobile-submenu-item" href="../../about.html">
About the IOCCC
</a>
<a class="mobile-submenu-item" href="../../judges.html">
The judges
</a>
<a class="mobile-submenu-item" href="../../contact.html">
Contact us
</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>2015/endoh1 - Most diffused reaction</h2>
<h3>reaction-diffusion system HTTP server</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="../duble/index.html">&larr; 2015/duble</a>
<a class="Left" href="../index.html">&uarr; 2015 &uarr;</a>
<a class="Left" href="../endoh2/index.html">2015/endoh2 &rarr;</a>
<a class="Right" href="https://github.com/ioccc-src/winner/blob/master/2015/endoh1/prog.c">C code</a>
<a class="Right" href="https://github.com/ioccc-src/winner/blob/master/2015/endoh1/Makefile">Makefile</a>
<a class="Right" href="#inventory">Inventory</a>
<a class="Right" href="https://github.com/ioccc-src/winner/blob/master/2015/endoh1/prog.orig.c">Original C</a>
<a class="Right" href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fwww.ioccc.org%2F2015%2Fendoh1%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 -->
<div id="author">
<h2 id="authors">Authors:</h2>
</div>
<ul>
<li>Name: <a href="../../authors.html#Anonymous_2015">Anonymous 2015</a><br>
Location: <a href="../../location.html#JP">JP</a> - <em>Japan</em>
<br><br></li>
<li>Name: <a href="../../authors.html#Yusuke_Endoh">Yusuke Endoh</a><br>
Location: <a href="../../location.html#JP">JP</a> - <em>Japan</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: 2015/endoh1/README.md -->
<h2 id="to-build">To build:</h2>
<pre><code> make</code></pre>
<p><strong>NOTE</strong>: this program requires the tool <code>tcpserver</code> to use. If you do not have this
program see the
FAQ on “<a href="../../faq.html#tcpserver">tcpserver</a>”.</p>
<h2 id="to-use">To use:</h2>
<pre><code> tcpserver -v 127.0.0.1 10333 ./prog ioccc.txt</code></pre>
<p>Then connect to http://localhost:10333 with your browser.</p>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p><a href="https://www.livescience.com/950-leopard-spots.html">How did the leopard get its
spots</a>? Why are a <a href="https://africafreak.com/zebra-stripes">zebra’s
stripes</a> unique?</p>
<p>In case you didn’t recognise the portrait of <a href="https://en.wikipedia.org/wiki/Alan_Turing">Alan
Turing</a>, there are some
pointers to his features like eyes with “<code>stdeye-o</code>” and “<code>&lt;--mouth</code>”. Can you
find any other tributes?</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<p>What does “<a href="https://en.wikipedia.org/wiki/Alan_Turing">Alan Turing</a>” remind you
of? <a href="https://en.wikipedia.org/wiki/Cryptanalysis">Cryptanalysis</a> of the <a href="https://en.wikipedia.org/wiki/Enigma_machine">Enigma
machine</a>? <a href="https://en.wikipedia.org/wiki/Turing_machine">Turing
machine</a>? <a href="https://en.wikipedia.org/wiki/Turing_test">Turing
test</a>? This program is also based on
his work.</p>
<h3 id="whirlwind-tour">Whirlwind tour</h3>
<p>Compile the program as follows:</p>
<pre><code> cc -O3 -std=c99 \
-Wall -Wextra -pedantic -o prog prog.c \
-Delta_u=&quot;Du*laplacian(u)-u*v*v+F*(1-u)&quot; \
-Delta_v=&quot;Dv*laplacian(v)+u*v*v-v*(F+K)&quot; \
-DF=0.040 -DK=0.060 -DDu=0.200 -DDv=0.100 \
-DUV_BACKGROUND=1,0 -DUV_DROP=-0.5,0.5 \
-DTIMESTEP=1.0 -DSPEED=2 -DRGB=255:128:192</code></pre>
<p>Then, run it with the <code>tcpserver</code> command in the
<a href="http://cr.yp.to/ucspi-tcp.html">ucspi-tcp</a> package, which was created by
<a href="../../authors.html#Daniel_J_Bernstein">Daniel J. Bernstein</a>’s
<a href="../../1991/brnstnd/index.html">1991/brndstd</a> “Best of Show”.</p>
<pre><code> tcpserver -v 127.0.0.1 10333 ./prog ioccc.txt</code></pre>
<p>Finally, open <code>http://127.0.0.1:10333/</code> in a modern browser supporting HTML5.
You can use the mouse cursor to place drops into the <a href="https://en.wikipedia.org/wiki/Petri_dish">Petri
dish</a> interactively.</p>
<h3 id="description">Description</h3>
<p>This is a simulator of <a href="https://en.wikipedia.org/wiki/Reaction-diffusion_system">reaction-diffusion
systems</a>.</p>
<p>Reaction-diffusion systems, proposed by Alan Turing in <a href="#fn1" class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a>, are mathematical
models in which two chemical substances are transformed into each other (<em>local
chemical reactions</em>) and spread out (<em>diffusion</em>). Their interactions sometimes
form non-trivial patterns, such as spots, spiral, dappling, and labyrinths.</p>
<p>The systems are generally formulated as follows:</p>
<pre><code> du/dt = F(u, v) + Du * laplacian(u)
dv/dt = G(u, v) + Dv * laplacian(v)</code></pre>
<p>The functions <code>F(u, v)</code> and <code>G(u, v)</code> represent reactions of each substance, and
the parameters <code>Du</code> and <code>Dv</code> are diffusion coefficients. By changing the
functions and parameters, you can see a wide range of behaviors.</p>
<p>See <a href="https://en.wikipedia.org/wiki/Reaction%E2%80%93diffusion_system">the Wikipedia article of “Reaction-diffusion
system”</a> in
detail.</p>
<p>This program simulates the systems. The field consists of 128 x 128 cells.
Each cell includes information of an amount of the two substances, and interacts
with neighbor cells (in terms of <a href="https://en.wikipedia.org/wiki/Von_Neumann_neighborhood">von Neumann
neighborhood</a> lattice) in each frame.</p>
<h3 id="configuration">Configuration</h3>
<p>You can change the model, initial pattern, simulation speed, and color via macro
definition.</p>
<h4 id="model--delta_uexpression--delta_vexpression">Model: <code>-Delta_u=&lt;expression&gt; -Delta_v=&lt;expression&gt;</code></h4>
<p>The definitions represent the equations of reaction-diffusion system. For
example, the following is <a href="http://groups.csail.mit.edu/mac/projects/amorphous/GrayScott/">the Gray-Scott
model</a> in TeX
notation.</p>
<pre><code> \frac{\partial u}{\partial t} = D_u \Delta u - u v^2 + F (1 - u)
\frac{\partial v}{\partial t} = D_v \Delta v + u v^2 - v (F + K)</code></pre>
<p>You can specify this model as follows:</p>
<pre><code> -Delta_u=&quot;Du*laplacian(u)-u*v*v+F*(1-u)&quot; \
-Delta_v=&quot;Dv*laplacian(v)+u*v*v-v*(F+K)&quot;</code></pre>
<p><code>Du</code>, <code>Dv</code>, <code>F</code>, and <code>K</code> are parameters of that model.</p>
<h4 id="initial-pattern--duv_backgroundu0v0--duv_dropu1v1">Initial pattern: <code>-DUV_BACKGROUND=&lt;u0&gt;,&lt;v0&gt; -DUV_DROP=&lt;u1&gt;,&lt;v1&gt;</code></h4>
<p>The definitions specifies the initial amount of the two substances <code>u</code> and <code>v</code>.
All cells have <code>(u0, v0)</code> by default.</p>
<p>You can specify a pattern file when the executable is invoked (not
compile-time). The file should include a sequence of points, see
<a href="ioccc.txt">ioccc.txt</a>,
<a href="center.txt">center.txt</a>,
or <a href="line.txt">line.txt</a> as
examples. Each amount in cells near to the point included in the file, will be
added by <code>(u1, v1)</code>.</p>
<h4 id="simulation-speed--dtimestepts--dspeedspd">Simulation speed: <code>-DTIMESTEP=ts -DSPEED=spd</code></h4>
<p>The definitions are for changing the simulation speed.</p>
<p><code>TIMESTEP</code> is a simulation time step. The bigger, the faster but more unstable.</p>
<p><code>SPEED</code> is a frame skip parameter. The bigger, the faster but more sluggish.</p>
<h4 id="rendering-color--drgbrgb">Rendering color: <code>-DRGB=r:g:b</code></h4>
<p>This specifies a color used for rendering.</p>
<h3 id="examples">Examples</h3>
<p>Some interesting parameters are included in <code>Makefile</code>. Do one of the following
commands and open <code>http://127.0.0.1:10333</code>.</p>
<pre><code> make gray-scott-1 &amp;&amp; tcpserver -v 127.0.0.1 10333 ./gray-scott-1 ioccc.txt
make gray-scott-1 &amp;&amp; tcpserver -v 127.0.0.1 10333 ./gray-scott-1 center.txt
make gray-scott-1 &amp;&amp; tcpserver -v 127.0.0.1 10333 ./gray-scott-1 line.txt
make gray-scott-2 &amp;&amp; tcpserver -v 127.0.0.1 10333 ./gray-scott-2 ioccc.txt
make gray-scott-3 &amp;&amp; tcpserver -v 127.0.0.1 10333 ./gray-scott-3 ioccc.txt
make gray-scott-4 &amp;&amp; tcpserver -v 127.0.0.1 10333 ./gray-scott-4 ioccc.txt
make fitzhugh-nagumo-1 &amp;&amp; tcpserver -v 127.0.0.1 10333 ./fitzhugh-nagumo-1 ioccc.txt
make fitzhugh-nagumo-2 &amp;&amp; tcpserver -v 127.0.0.1 10333 ./fitzhugh-nagumo-2 ioccc.txt
make oregonator &amp;&amp; tcpserver -v 127.0.0.1 10333 ./oregonator ioccc.txt</code></pre>
<p>These examples are created by drawing (and modifying) the pattern files of
<a href="https://github.com/GollyGang/ready">Ready</a>, a cross-platform implementation of
various reaction-diffusion systems <a href="#fn2" class="footnote-ref" id="fnref2" role="doc-noteref"><sup>2</sup></a>.</p>
<h3 id="compatibility">Compatibility</h3>
<h4 id="c-part">C part</h4>
<p>This program compiles clean with no warnings under <code>-std=c99 -Wall -Wextra -pedantic</code>. Since it uses <code>long long</code> for 64bit integers, C99 is required.</p>
<h4 id="browser-part">Browser part</h4>
<p>You must use a modern browser that supports the latest specification of
WebSocket <a href="#fn3" class="footnote-ref" id="fnref3" role="doc-noteref"><sup>3</sup></a>. All the following browsers worked for me:</p>
<ul>
<li>Google Chrome 45</li>
<li>Mozilla Firefox 39</li>
<li>Microsoft Internet Explorer 11 (works but sluggish)</li>
</ul>
<p>I think Safari 6 will work but I haven’t tested. (I have no recent macOS.)</p>
<p>NOTE from the judges in 2023: recent versions of Safari also work.</p>
<h4 id="tcpserver-alternatives">tcpserver alternatives</h4>
<p>I think you may use <code>inetd</code> and <code>xinetd</code> instead of <code>tcpserver</code>. Here is an
example <code>inetd</code> configuration.</p>
<pre><code> 10333 stream tcp nowait nobody /path/to/prog /path/to/prog /path/to/initial-pattern.txt</code></pre>
<p>But note that I didn’t test well.</p>
<h3 id="internal">Internal</h3>
<ol type="1">
<li>The C program accepts HTTP connection from the browser, and sends a HTML
document.</li>
<li>The browser tries to upgrade the connection to WebSocket.</li>
<li>The C program accepts WebSocket upgrade. This negotiation process requires
SHA1 hash <a href="#fn4" class="footnote-ref" id="fnref4" role="doc-noteref"><sup>4</sup></a> and Base64 encoding <a href="#fn5" class="footnote-ref" id="fnref5" role="doc-noteref"><sup>5</sup></a>. The C program calculates them without
the aid of any external libraries.</li>
<li>The C program simulates the reaction-diffusion system, and then send the
field data to the browser on each frame.</li>
<li>The browser receives and renders the field data onto the HTML5 canvas.</li>
</ol>
<h3 id="references">References</h3>
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></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: 2015/endoh1/README.md -->
<hr style="width:10%;text-align:left;margin-left:0">
<section id="footnotes" class="footnotes footnotes-end-of-document" role="doc-endnotes">
<h5>Footnotes</h5>
<ol>
<li id="fn1"><p>Turing, A. M., “The Chemical Basis of Morphogenesis”, Philosophical Transactions of the Royal Society, 1952.<a href="#fnref1" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
<li id="fn2"><p>The Ready Bunch, “Ready”, A cross-platform implementation of various reaction-diffusion systems, since 2011, <a href="https://github.com/GollyGang/ready" class="uri">https://github.com/GollyGang/ready</a>.<a href="#fnref2" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
<li id="fn3"><p>Fette, I. and A. Melnikov, “The WebSocket Protocol”, RFC 6455, DOI 10.17487/RFC6455, December 2011, <a href="http://www.rfc-editor.org/info/rfc6455" class="uri">http://www.rfc-editor.org/info/rfc6455</a>.<a href="#fnref3" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
<li id="fn4"><p>Eastlake 3rd, D. and P. Jones, “US Secure Hash Algorithm 1 (SHA1)”, RFC 3174, DOI 10.17487/RFC3174, September 2001, <a href="http://www.rfc-editor.org/info/rfc3174" class="uri">http://www.rfc-editor.org/info/rfc3174</a>.<a href="#fnref4" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
<li id="fn5"><p>Josefsson, S., “The Base16, Base32, and Base64 Data Encodings”, RFC 4648, DOI 10.17487/RFC4648, October 2006, <a href="http://www.rfc-editor.org/info/rfc4648" class="uri">http://www.rfc-editor.org/info/rfc4648</a>.<a href="#fnref5" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
</ol>
</section>
<!-- 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-2015endoh1">Inventory for 2015/endoh1</h1>
</div>
<h2 id="primary-files">Primary files</h2>
<ul>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2015/endoh1/prog.c">prog.c</a> - entry source code</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2015/endoh1/Makefile">Makefile</a> - entry Makefile</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2015/endoh1/prog.orig.c">prog.orig.c</a> - original source code</li>
<li><a href="center.txt">center.txt</a> - sample input</li>
<li><a href="ioccc.txt">ioccc.txt</a> - sample input</li>
<li><a href="line.txt">line.txt</a> - sample input</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>
<li><a href="2015_endoh1.tar.bz2">2015_endoh1.tar.bz2</a> - download entry tarball</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2015/endoh1/README.md">README.md</a> - markdown source for this web page</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2015/endoh1/.entry.json">.entry.json</a> - entry summary and manifest in JSON</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2015/endoh1/.gitignore">.gitignore</a> - list of files that should not be committed under git</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2015/endoh1/.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-2025 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-2025 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%2Fwww.ioccc.org%2F2015%2Fendoh1%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 -->