fix more broken markdown links
Fixed stuff we broke by mistake, previously. Ran `make www` to perform the above. TODO: Fix stuff we broke by mistake doing the above. TODO: Fix more broken markdown links.
This commit is contained in:
1 parent
4f95e3f3d6
commit
8bca099534
62 files changed
+181
-168
No files matched your search
@@ -194,7 +194,7 @@ and repeat the process above
|
||||
The new file now contains all lines which match
|
||||
|
||||
```
|
||||
^.[^5|m^]*[m^]([e=p,;]|[^e=+p,;].*)$
|
||||
^.[^5|m^]*[m^]\([e=p,;]|[^e=+p,;].*\)$
|
||||
```
|
||||
|
||||
Compile and run. This is an `echo(1)` clone. Note the efficient algorithm
|
||||
|
||||
@@ -502,7 +502,7 @@ adjusting the <code>adrian.c</code> file. Change the first line to read</p>
|
||||
<p>and repeat the process above</p>
|
||||
<pre><code> ./adrian <adrian.c > adecho.c</code></pre>
|
||||
<p>The new file now contains all lines which match</p>
|
||||
<pre><code> ^.[^5|m^]*[m^]([e=p,;]|[^e=+p,;].*)$</code></pre>
|
||||
<pre><code> ^.[^5|m^]*[m^]\([e=p,;]|[^e=+p,;].*\)$</code></pre>
|
||||
<p>Compile and run. This is an <code>echo(1)</code> clone. Note the efficient algorithm
|
||||
employed.</p>
|
||||
<p>Two other adjustments to the first line also yield useful results. By
|
||||
|
||||
@@ -228,7 +228,7 @@ therein.
|
||||
- The points and ways in which C and Perl connect are *really*
|
||||
obscure. They're also incredibly poorly documented, as they're
|
||||
primarily used in machine-generated code. However, there's a
|
||||
wealth of example code on [CPAN (www.cpan.org)](https://www.cpan.org).
|
||||
wealth of example code on [CPAN](https://www.cpan.org).
|
||||
|
||||
- The Perl API functions are almost all macros, so you will probably
|
||||
find that preprocessor expansion will only make things worse. They
|
||||
|
||||
@@ -551,7 +551,7 @@ therein.</p></li>
|
||||
<li><p>The points and ways in which C and Perl connect are <em>really</em>
|
||||
obscure. They’re also incredibly poorly documented, as they’re
|
||||
primarily used in machine-generated code. However, there’s a
|
||||
wealth of example code on <a href="https://www.cpan.org">CPAN (www.cpan.org)</a>.</p></li>
|
||||
wealth of example code on <a href="https://www.cpan.org">CPAN</a>.</p></li>
|
||||
<li><p>The Perl API functions are almost all macros, so you will probably
|
||||
find that preprocessor expansion will only make things worse. They
|
||||
also have helpful, verbose names like <code>SvNV</code>, <code>SvIV</code>, and <code>newSVpv</code>. I
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
NOTE: if you don't have curses or SDL1 installed both modes will fail to compile. In
|
||||
that case see the [FAQ 3.8 - How do I compile an IOCCC entry that requires SDL1
|
||||
or SDL2?](../../faq.html#SDL) and [FAQ 3.9 - How do I compile an IOCCC entry that
|
||||
requires (n)curses?](../../faq.html#curses) for more information.
|
||||
requires ncurses?](../../faq.html#curses) for more information.
|
||||
|
||||
We recommend that you use the alternate code so you can see what this entry
|
||||
looked like back in 2000 (with a configurable speed). See the
|
||||
|
||||
@@ -407,7 +407,7 @@ Location: <a href="../../location.html#GB">GB</a> - <em>United Kingdom of Great
|
||||
<p>NOTE: if you don’t have curses or SDL1 installed both modes will fail to compile. In
|
||||
that case see the <a href="../../faq.html#SDL">FAQ 3.8 - How do I compile an IOCCC entry that requires SDL1
|
||||
or SDL2?</a> and <a href="../../faq.html#curses">FAQ 3.9 - How do I compile an IOCCC entry that
|
||||
requires (n)curses?</a> for more information.</p>
|
||||
requires ncurses?</a> for more information.</p>
|
||||
<p>We recommend that you use the alternate code so you can see what this entry
|
||||
looked like back in 2000 (with a configurable speed). See the
|
||||
<a href="#original-code">original code</a> section for the original entry.</p>
|
||||
|
||||
@@ -111,8 +111,7 @@ To stop the server:
|
||||
|
||||
* Supports all [MIME](https://en.wikipedia.org/wiki/MIME) types.
|
||||
|
||||
* Supports [Common Gateway Interface
|
||||
(CGI)](https://en.wikipedia.org/wiki/Common_Gateway_Interface) scripts and programs.
|
||||
* Supports CGI: [Common Gateway Interface](https://en.wikipedia.org/wiki/Common_Gateway_Interface) scripts and programs.
|
||||
|
||||
* Supports multiple `index.*` file extensions and types:
|
||||
|
||||
|
||||
@@ -452,8 +452,7 @@ examples. In which case the preferred build commands are:</p>
|
||||
<ul>
|
||||
<li><p>Supports virtual hosts.</p></li>
|
||||
<li><p>Supports all <a href="https://en.wikipedia.org/wiki/MIME">MIME</a> types.</p></li>
|
||||
<li><p>Supports <a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface">Common Gateway Interface
|
||||
(CGI)</a> scripts and programs.</p></li>
|
||||
<li><p>Supports CGI: <a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface">Common Gateway Interface</a> scripts and programs.</p></li>
|
||||
<li><p>Supports multiple <code>index.*</code> file extensions and types:</p>
|
||||
<p>index.htm, index.html, index.php, index.pl, index.sh, index.rb, index.py</p></li>
|
||||
<li><p>Supports subset of <a href="https://datatracker.ietf.org/doc/html/rfc2616">RFC 2616</a>
|
||||
|
||||
+14
-14
@@ -31,42 +31,42 @@ We believe you will be impressed with this year's winning entries.
|
||||
|
||||
In particular:
|
||||
|
||||
+ The [Abuse of the rules (klausler)](klausler/index.html) used local dictionary data to
|
||||
+ The [Abuse of the rules - 2005/klausler](klausler/index.html) used local dictionary data to
|
||||
get around the size limit.
|
||||
|
||||
+ The [Most beauteous visuals (vince)](vince/index.html) made clever use of `{}`s and
|
||||
+ The [Most beauteous visuals - 2005/vince](vince/index.html) made clever use of `{}`s and
|
||||
whitespace in their source code and during execution.
|
||||
|
||||
+ The [Most circuitous walk (vik)](vik/index.html) entry is just amazing.
|
||||
+ The [Most circuitous walk - 2005/vik](vik/index.html) entry is just amazing.
|
||||
|
||||
+ The [Best game (toledo)](toledo/index.html) makes full use of its single function.
|
||||
+ The [Best game - 2005/toledo](toledo/index.html) makes full use of its single function.
|
||||
|
||||
+ The [Best emulator (sykes)](sykes/index.html) may allow you to reconnect to your first
|
||||
+ The [Best emulator - 2005/sykes](sykes/index.html) may allow you to reconnect to your first
|
||||
[PET](https://en.wikipedia.org/wiki/Commodore_PET).
|
||||
|
||||
+ Our [Best of Show (persano)](persano/index.html) this year was simply (or non-simply :-) ) the best!
|
||||
+ Our [Best of Show - 2005/persano](persano/index.html) this year was simply (or non-simply :-) ) the best!
|
||||
|
||||
+ (And we need only mention (parenthetically speaking) that the [Best use of
|
||||
parenthesis](mikeash/index.html) is self reproducing).
|
||||
|
||||
+ The [Most sonorous output (jetro)](jetro/index.html) might `sound` :-) like a good idea.
|
||||
+ The [Most sonorous output - 2005/jetro](jetro/index.html) might `sound` :-) like a good idea.
|
||||
|
||||
+ The [Best 2D puzzle (giljade)](giljade/index.html) takes editorial license with expressions as well as the
|
||||
+ The [Best 2D puzzle - 2005/giljade](giljade/index.html) takes editorial license with expressions as well as the
|
||||
with the [vi editor](https://en.wikipedia.org/wiki/Vi).
|
||||
|
||||
+ The [Most ambiguous language (chia)](chia/index.html) entry is really a C program.
|
||||
+ The [Most ambiguous language - 2005/chia](chia/index.html) entry is really a C program.
|
||||
|
||||
+ The [Most superfluous output (boutines)](boutines/index.html) entry is simply
|
||||
+ The [Most superfluous output - 2005/boutines](boutines/index.html) entry is simply
|
||||
[Voronoi](Voronoi)-lific!
|
||||
|
||||
+ Try not to have your sense of good coding offended by the [Most
|
||||
discourteous interpreter (timwi)](timwi/index.html) entry.
|
||||
discourteous interpreter - 2005/timwi](timwi/index.html) entry.
|
||||
|
||||
+ The [Best use of the www (mynx)](mynx/index.html) doesn't include those letters.
|
||||
+ The [Best use of the www - 2005/mynx](mynx/index.html) doesn't include those letters.
|
||||
|
||||
+ You will be puzzled by the [Best 3D puzzle (anon)](anon/index.html) entry; we are sure!
|
||||
+ You will be puzzled by the [Best 3D puzzle - 2005/anon](anon/index.html) entry; we are sure!
|
||||
|
||||
+ The [Most ingenious puzzle solution (aidan)](aidan/index.html) might puzzle you more while it
|
||||
+ The [Most ingenious puzzle solution - 2005/aidan](aidan/index.html) might puzzle you more while it
|
||||
puzzles out some puzzles: all in a puzzling way! :-)
|
||||
|
||||
### Remarks on some of the losing entries
|
||||
|
||||
+14
-14
@@ -403,28 +403,28 @@ local compiler.</p>
|
||||
<p>We believe you will be impressed with this year’s winning entries.</p>
|
||||
<p>In particular:</p>
|
||||
<ul>
|
||||
<li><p>The <a href="klausler/index.html">Abuse of the rules (klausler)</a> used local dictionary data to
|
||||
<li><p>The <a href="klausler/index.html">Abuse of the rules - 2005/klausler</a> used local dictionary data to
|
||||
get around the size limit.</p></li>
|
||||
<li><p>The <a href="vince/index.html">Most beauteous visuals (vince)</a> made clever use of <code>{}</code>s and
|
||||
<li><p>The <a href="vince/index.html">Most beauteous visuals - 2005/vince</a> made clever use of <code>{}</code>s and
|
||||
whitespace in their source code and during execution.</p></li>
|
||||
<li><p>The <a href="vik/index.html">Most circuitous walk (vik)</a> entry is just amazing.</p></li>
|
||||
<li><p>The <a href="toledo/index.html">Best game (toledo)</a> makes full use of its single function.</p></li>
|
||||
<li><p>The <a href="sykes/index.html">Best emulator (sykes)</a> may allow you to reconnect to your first
|
||||
<li><p>The <a href="vik/index.html">Most circuitous walk - 2005/vik</a> entry is just amazing.</p></li>
|
||||
<li><p>The <a href="toledo/index.html">Best game - 2005/toledo</a> makes full use of its single function.</p></li>
|
||||
<li><p>The <a href="sykes/index.html">Best emulator - 2005/sykes</a> may allow you to reconnect to your first
|
||||
<a href="https://en.wikipedia.org/wiki/Commodore_PET">PET</a>.</p></li>
|
||||
<li><p>Our <a href="persano/index.html">Best of Show (persano)</a> this year was simply (or non-simply :-) ) the best!</p></li>
|
||||
<li><p>Our <a href="persano/index.html">Best of Show - 2005/persano</a> this year was simply (or non-simply :-) ) the best!</p></li>
|
||||
<li><p>(And we need only mention (parenthetically speaking) that the <a href="mikeash/index.html">Best use of
|
||||
parenthesis</a> is self reproducing).</p></li>
|
||||
<li><p>The <a href="jetro/index.html">Most sonorous output (jetro)</a> might <code>sound</code> :-) like a good idea.</p></li>
|
||||
<li><p>The <a href="giljade/index.html">Best 2D puzzle (giljade)</a> takes editorial license with expressions as well as the
|
||||
<li><p>The <a href="jetro/index.html">Most sonorous output - 2005/jetro</a> might <code>sound</code> :-) like a good idea.</p></li>
|
||||
<li><p>The <a href="giljade/index.html">Best 2D puzzle - 2005/giljade</a> takes editorial license with expressions as well as the
|
||||
with the <a href="https://en.wikipedia.org/wiki/Vi">vi editor</a>.</p></li>
|
||||
<li><p>The <a href="chia/index.html">Most ambiguous language (chia)</a> entry is really a C program.</p></li>
|
||||
<li><p>The <a href="boutines/index.html">Most superfluous output (boutines)</a> entry is simply
|
||||
<li><p>The <a href="chia/index.html">Most ambiguous language - 2005/chia</a> entry is really a C program.</p></li>
|
||||
<li><p>The <a href="boutines/index.html">Most superfluous output - 2005/boutines</a> entry is simply
|
||||
<a href="Voronoi">Voronoi</a>-lific!</p></li>
|
||||
<li><p>Try not to have your sense of good coding offended by the <a href="timwi/index.html">Most
|
||||
discourteous interpreter (timwi)</a> entry.</p></li>
|
||||
<li><p>The <a href="mynx/index.html">Best use of the www (mynx)</a> doesn’t include those letters.</p></li>
|
||||
<li><p>You will be puzzled by the <a href="anon/index.html">Best 3D puzzle (anon)</a> entry; we are sure!</p></li>
|
||||
<li><p>The <a href="aidan/index.html">Most ingenious puzzle solution (aidan)</a> might puzzle you more while it
|
||||
discourteous interpreter - 2005/timwi</a> entry.</p></li>
|
||||
<li><p>The <a href="mynx/index.html">Best use of the www - 2005/mynx</a> doesn’t include those letters.</p></li>
|
||||
<li><p>You will be puzzled by the <a href="anon/index.html">Best 3D puzzle - 2005/anon</a> entry; we are sure!</p></li>
|
||||
<li><p>The <a href="aidan/index.html">Most ingenious puzzle solution - 2005/aidan</a> might puzzle you more while it
|
||||
puzzles out some puzzles: all in a puzzling way! :-)</p></li>
|
||||
</ul>
|
||||
<h3 id="remarks-on-some-of-the-losing-entries">Remarks on some of the losing entries</h3>
|
||||
|
||||
@@ -99,8 +99,8 @@ pretty pictures. I figured it would be nice to add some more fractals to the
|
||||
IOCCC, since one hasn't won since 1994.
|
||||
|
||||
Instead of something that has already won I figured I would go with
|
||||
another kind of fractal, those from the [Iterated Function System
|
||||
(IFS)](https://en.wikipedia.org/wiki/Iterated_function_system).
|
||||
another kind of fractal, those from the IFS:
|
||||
[Iterated Function System](https://en.wikipedia.org/wiki/Iterated_function_system).
|
||||
|
||||
|
||||
### Input File
|
||||
|
||||
@@ -451,8 +451,8 @@ set</a>. Those do make for some
|
||||
pretty pictures. I figured it would be nice to add some more fractals to the
|
||||
IOCCC, since one hasn’t won since 1994.</p>
|
||||
<p>Instead of something that has already won I figured I would go with
|
||||
another kind of fractal, those from the <a href="https://en.wikipedia.org/wiki/Iterated_function_system">Iterated Function System
|
||||
(IFS)</a>.</p>
|
||||
another kind of fractal, those from the IFS:
|
||||
<a href="https://en.wikipedia.org/wiki/Iterated_function_system">Iterated Function System</a>.</p>
|
||||
<h3 id="input-file">Input File</h3>
|
||||
<p>The format of the input file is as follows:</p>
|
||||
<pre><code> <num ifs> <x min> <y min> <x max> <y max>
|
||||
|
||||
@@ -99,7 +99,8 @@ operation, then the results are undefined.
|
||||
For test-runs, use a resolution of 32. For simple expressions, the
|
||||
[GIF](https://en.wikipedia.org/wiki/GIF) generation should take only
|
||||
a few seconds with a modern processor and full optimization. Runtime scales as
|
||||
[O(N^3)](https://en.wikipedia.org/wiki/Big_O_notation) with resolution `N`,
|
||||
O^(N^3), (see [Big O notation](https://en.wikipedia.org/wiki/Big_O_notation) web page)
|
||||
with resolution `N`,
|
||||
and more complex expressions take longer to compute. For example, increasing the
|
||||
resolution of `ripple.gif`
|
||||
to 250 took ~35 minutes to render on an [i7
|
||||
|
||||
@@ -453,7 +453,8 @@ operation, then the results are undefined.</p>
|
||||
<p>For test-runs, use a resolution of 32. For simple expressions, the
|
||||
<a href="https://en.wikipedia.org/wiki/GIF">GIF</a> generation should take only
|
||||
a few seconds with a modern processor and full optimization. Runtime scales as
|
||||
<a href="https://en.wikipedia.org/wiki/Big_O_notation">O(N^3)</a> with resolution <code>N</code>,
|
||||
O<sup>(N</sup>3), (see <a href="https://en.wikipedia.org/wiki/Big_O_notation">Big O notation</a> web page)
|
||||
with resolution <code>N</code>,
|
||||
and more complex expressions take longer to compute. For example, increasing the
|
||||
resolution of <code>ripple.gif</code>
|
||||
to 250 took ~35 minutes to render on an <a href="https://en.wikipedia.org/wiki/Intel_Core#Core_i7">i7
|
||||
|
||||
@@ -216,8 +216,8 @@ than 80 x 25.
|
||||
|
||||
```
|
||||
|
||||
This program is a fluid simulator using the [Smoothed-particle hydrodynamics
|
||||
(SPH)](http://en.wikipedia.org/wiki/Smoothed-particle_hydrodynamics) method.
|
||||
This program is a fluid simulator using the SPH:
|
||||
[Smoothed-particle hydrodynamics](http://en.wikipedia.org/wiki/Smoothed-particle_hydrodynamics) method.
|
||||
|
||||
The SPH particles represent the fluid flow. Particles have information about
|
||||
the position, density, and velocity. In every simulation step, they are
|
||||
|
||||
@@ -521,8 +521,8 @@ than 80 x 25.</p>
|
||||
`-'`' `-'`-' `-'`-' `-'`' `'`' `'`' `'`'
|
||||
|
||||
</code></pre>
|
||||
<p>This program is a fluid simulator using the <a href="http://en.wikipedia.org/wiki/Smoothed-particle_hydrodynamics">Smoothed-particle hydrodynamics
|
||||
(SPH)</a> method.</p>
|
||||
<p>This program is a fluid simulator using the SPH:
|
||||
<a href="http://en.wikipedia.org/wiki/Smoothed-particle_hydrodynamics">Smoothed-particle hydrodynamics</a> method.</p>
|
||||
<p>The SPH particles represent the fluid flow. Particles have information about
|
||||
the position, density, and velocity. In every simulation step, they are
|
||||
changed by pressure force, viscosity force, and external force (i.e., gravity).</p>
|
||||
|
||||
@@ -35,7 +35,7 @@ and:
|
||||
|
||||
A
|
||||
[pi](https://en.wikipedia.org/wiki/Pi)/[e](https://en.wikipedia.org/wiki/E_(mathematical_constant))
|
||||
printing quasi-[quine](https://en.wikipedia.org/wiki/Quine_(computing) in [ASCII
|
||||
printing quasi-[quine](https://en.wikipedia.org/wiki/Quine_(computing)) in [ASCII
|
||||
art](https://en.wikipedia.org/wiki/ASCII_art) with a compressed font in it; what
|
||||
else to wish for in this program? [Virtual
|
||||
machine](https://en.wikipedia.org/wiki/Virtual_machine) emulation?
|
||||
|
||||
@@ -413,7 +413,7 @@ Location: <a href="../../location.html#JP">JP</a> - <em>Japan</em></li>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>A
|
||||
<a href="https://en.wikipedia.org/wiki/Pi">pi</a>/<a href="https://en.wikipedia.org/wiki/E_(mathematical_constant)">e</a>
|
||||
printing quasi-[quine](https://en.wikipedia.org/wiki/Quine_(computing) in <a href="https://en.wikipedia.org/wiki/ASCII_art">ASCII
|
||||
printing quasi-<a href="https://en.wikipedia.org/wiki/Quine_(computing)">quine</a> in <a href="https://en.wikipedia.org/wiki/ASCII_art">ASCII
|
||||
art</a> with a compressed font in it; what
|
||||
else to wish for in this program? <a href="https://en.wikipedia.org/wiki/Virtual_machine">Virtual
|
||||
machine</a> emulation?</p>
|
||||
|
||||
+1
-1
@@ -132,7 +132,7 @@ As an extra tweak, the text message actually does something useful. Remove the
|
||||
|
||||
[^1]: [Russ Cox, Regular Expression Matching: the Virtual Machine Approach](http://swtch.com/~rsc/regexp/regexp2.html)
|
||||
|
||||
[^2]: [Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, ...)](http://swtch.com/~rsc/regexp/regexp1.html)
|
||||
[^2]: [Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, ...](http://swtch.com/~rsc/regexp/regexp1.html)
|
||||
|
||||
|
||||
<!--
|
||||
|
||||
+1
-1
@@ -460,7 +460,7 @@ amount of spaghetti branches and virtual thread creations. Finally, the VM in
|
||||
“Make a contract with me” catch line and the program would cease to function.</p>
|
||||
<h3 id="references">References</h3>
|
||||
<p>[1] <a href="http://swtch.com/~rsc/regexp/regexp2.html">Russ Cox, Regular Expression Matching: the Virtual Machine Approach</a></p>
|
||||
<p>[2] <a href="http://swtch.com/~rsc/regexp/regexp1.html">Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, …)</a></p>
|
||||
<p>[2] <a href="http://swtch.com/~rsc/regexp/regexp1.html">Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, …</a></p>
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<!--
|
||||
|
||||
+1
-1
@@ -129,7 +129,7 @@ As an extra tweak, the text message actually does something useful. Remove the
|
||||
|
||||
[1] [Russ Cox, Regular Expression Matching: the Virtual Machine Approach](http://swtch.com/~rsc/regexp/regexp2.html)
|
||||
|
||||
[2] [Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, ...)](http://swtch.com/~rsc/regexp/regexp1.html)
|
||||
[2] [Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, ...](http://swtch.com/~rsc/regexp/regexp1.html)
|
||||
|
||||
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
+1
-1
@@ -492,7 +492,7 @@ amount of spaghetti branches and virtual thread creations. Finally, the VM in
|
||||
<section id="footnotes" class="footnotes footnotes-end-of-document" role="doc-endnotes">
|
||||
<h5>Footnotes</h5>
|
||||
<ol>
|
||||
<li id="fn1"><p><a href="http://swtch.com/~rsc/regexp/regexp1.html">Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, …)</a><a href="#fnref1" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
||||
<li id="fn1"><p><a href="http://swtch.com/~rsc/regexp/regexp1.html">Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, …</a><a href="#fnref1" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
||||
<li id="fn2"><p><a href="http://swtch.com/~rsc/regexp/regexp2.html">Russ Cox, Regular Expression Matching: the Virtual Machine Approach</a><a href="#fnref2" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
||||
<li id="fn3"><p><a href="http://swtch.com/~rsc/regexp/regexp2.html">Russ Cox, Regular Expression Matching: the Virtual Machine Approach</a><a href="#fnref3" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
||||
</ol>
|
||||
|
||||
@@ -51,8 +51,8 @@ are more obfuscated than the entry itself.
|
||||
## Author's remarks:
|
||||
|
||||
This program celebrates the close connection between obfuscation and conciseness,
|
||||
by implementing the most concise language known, [Binary Lambda Calculus
|
||||
(BLC)](https://tromp.github.io/cl/Binary_lambda_calculus.html).
|
||||
by implementing the most concise language known, BLC:
|
||||
[Binary Lambda Calculus](https://tromp.github.io/cl/Binary_lambda_calculus.html).
|
||||
|
||||
[BLC](https://tromp.github.io/cl/Binary_lambda_calculus.html) was developed to
|
||||
make [Algorithmic Information
|
||||
|
||||
@@ -418,8 +418,8 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
|
||||
are more obfuscated than the entry itself.</p>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
<p>This program celebrates the close connection between obfuscation and conciseness,
|
||||
by implementing the most concise language known, <a href="https://tromp.github.io/cl/Binary_lambda_calculus.html">Binary Lambda Calculus
|
||||
(BLC)</a>.</p>
|
||||
by implementing the most concise language known, BLC:
|
||||
<a href="https://tromp.github.io/cl/Binary_lambda_calculus.html">Binary Lambda Calculus</a>.</p>
|
||||
<p><a href="https://tromp.github.io/cl/Binary_lambda_calculus.html">BLC</a> was developed to
|
||||
make <a href="https://en.wikipedia.org/wiki/Algorithmic_information_theory">Algorithmic Information
|
||||
Theory</a>, the
|
||||
|
||||
@@ -187,7 +187,7 @@ which reports the limit in bytes, here 256KB. This allows to test
|
||||
whether a [Googol](https://en.wikipedia.org/wiki/Googol), which is
|
||||
10<sup>100</sup>, satisfies the conjecture. But what is a googol in hex?
|
||||
Fear not,
|
||||
[bc(1)](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html)
|
||||
[bc()](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html)
|
||||
to the rescue:
|
||||
|
||||
``` <!---sh-->
|
||||
@@ -821,7 +821,7 @@ explore yet untested numbers for the rest of your life.
|
||||
|
||||
The number of hex digits in the start number is limited by `ARG_MAX`,
|
||||
probably minus some overhead for the environment variables (use
|
||||
[env(1)](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/env.html)
|
||||
[env()](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/env.html)
|
||||
to trim your environment). In bits this leaves you with `2 to the power of (4 *
|
||||
ARG_MAX)`.
|
||||
|
||||
|
||||
@@ -508,7 +508,7 @@ To query this on your POSIX system, run</p>
|
||||
whether a <a href="https://en.wikipedia.org/wiki/Googol">Googol</a>, which is
|
||||
10<sup>100</sup>, satisfies the conjecture. But what is a googol in hex?
|
||||
Fear not,
|
||||
<a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html">bc(1)</a>
|
||||
<a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html">bc()</a>
|
||||
to the rescue:</p>
|
||||
<pre><code> $ printf 'obase=16;10^100\n' | bc
|
||||
1249AD2594C37CEB0B2784C4CE0BF38ACE408E211A7CAAB24308A82E8F10000000000000000000000000
|
||||
@@ -988,7 +988,7 @@ explore yet untested numbers for the rest of your life.</p>
|
||||
<h3 id="how-big-a-number-can-i-test-with-4-gb-of-ram">How big a number can I test with 4 GB of RAM?</h3>
|
||||
<p>The number of hex digits in the start number is limited by <code>ARG_MAX</code>,
|
||||
probably minus some overhead for the environment variables (use
|
||||
<a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/env.html">env(1)</a>
|
||||
<a href="http://pubs.opengroup.org/onlinepubs/9699919799/utilities/env.html">env()</a>
|
||||
to trim your environment). In bits this leaves you with <code>2 to the power of (4 * ARG_MAX)</code>.</p>
|
||||
<p>The algorithm requires two <code>bignum</code>s in memory for addition.
|
||||
If you hit a divergent number, this will cause out-of-memory (“laugh”)
|
||||
|
||||
+6
-6
@@ -30,24 +30,24 @@ compiler.
|
||||
|
||||
We believe you will again be impressed with this year's winning entries.
|
||||
|
||||
The ["Best of show" (mills)](mills/index.html) is an amazing tribute to entries
|
||||
The [Best of show - 2018/mills](mills/index.html) is an amazing tribute to entries
|
||||
from 1984 and 2015.
|
||||
|
||||
Take a close look at the "[Most likely to top the charts" (hou)](hou/index.html).
|
||||
Take a close look at the [Most likely to top the charts - 2018/hou](hou/index.html).
|
||||
Observe that while it contains no variables and no operators, it
|
||||
remains functional in what it does.
|
||||
|
||||
The ["Best one-liner" (burton1)](burton1/index.html), at 109 characters, is a
|
||||
The [Best one-liner - 2018/burton1](burton1/index.html), at 109 characters, is a
|
||||
short and sweet implementation of a classic utility and a nod to a winning entry
|
||||
from 1986. Sometimes it takes 20 some years to do things the true IOCCC way.
|
||||
|
||||
The color of the remarks text this year was inspired by one of the stars
|
||||
of the ["Most stellar" (poikola)](poikola/index.html).
|
||||
of the [Most stellar - 2018/poikola](poikola/index.html).
|
||||
|
||||
The ["Best use of python" (endoh2)](endoh2/index.html) is a not what you might think it is.
|
||||
The [Best use of python - 2018/endoh2](endoh2/index.html) is a not what you might think it is.
|
||||
It is something completely different.
|
||||
|
||||
The ["Most likely to be awarded" (ciura)](ciura/index.html) has an amazing vocabulary!
|
||||
The [Most likely to be awarded - 2018/ciura](ciura/index.html) has an amazing vocabulary!
|
||||
|
||||
There are also nods to entries of the years [2000/bellard](2000/bellard/index.html),
|
||||
[1989/yang](1989/yang/index.html), ...
|
||||
|
||||
@@ -181,7 +181,7 @@ And here are sample steps of scanning tokens with classes `to_be`,
|
||||
|
||||
Type B state machines are built by a variant of the algorithm described
|
||||
in the paper
|
||||
[How to squeeze a lexicon (PDF)](lexicon.pdf).
|
||||
[How to squeeze a lexicon](lexicon.pdf).
|
||||
Their states are represented as interlaced sparse arrays of transitions.
|
||||
|
||||
The `transition_label` is one of:
|
||||
|
||||
@@ -528,7 +528,7 @@ and <code>uppercase</code>.</p>
|
||||
<h3 id="type-b">Type B:</h3>
|
||||
<p>Type B state machines are built by a variant of the algorithm described
|
||||
in the paper
|
||||
<a href="lexicon.pdf">How to squeeze a lexicon (PDF)</a>.
|
||||
<a href="lexicon.pdf">How to squeeze a lexicon</a>.
|
||||
Their states are represented as interlaced sparse arrays of transitions.</p>
|
||||
<p>The <code>transition_label</code> is one of:</p>
|
||||
<ul>
|
||||
|
||||
@@ -1359,7 +1359,7 @@ for, who's always been here for me and whom I also inherit the keen analytical
|
||||
mind from. I love you all!
|
||||
|
||||
I want to also thank [Dave Burton](../../authors.html#Dave_Burton) for acknowledging me in
|
||||
his [Dave Burton]((../../authors.html#Dave_Burton) for his [2018/burton2](../burton2/index.html)
|
||||
his [Dave Burton](../../authors.html#Dave_Burton) for his [2018/burton2](../burton2/index.html)
|
||||
entry for as he put it 'being relentless with pursuit of bugs'. To think that it
|
||||
was circumstantial to my entry too makes it all the more unlikely but that
|
||||
doesn't take away the significance of it; for I am a very symbolic person and
|
||||
|
||||
@@ -1342,7 +1342,7 @@ and don’t you forget it! <3</p>
|
||||
for, who’s always been here for me and whom I also inherit the keen analytical
|
||||
mind from. I love you all!</p>
|
||||
<p>I want to also thank <a href="../../authors.html#Dave_Burton">Dave Burton</a> for acknowledging me in
|
||||
his [Dave Burton]((../../authors.html#Dave_Burton) for his <a href="../burton2/index.html">2018/burton2</a>
|
||||
his <a href="../../authors.html#Dave_Burton">Dave Burton</a> for his <a href="../burton2/index.html">2018/burton2</a>
|
||||
entry for as he put it ‘being relentless with pursuit of bugs’. To think that it
|
||||
was circumstantial to my entry too makes it all the more unlikely but that
|
||||
doesn’t take away the significance of it; for I am a very symbolic person and
|
||||
|
||||
+6
-6
@@ -402,19 +402,19 @@ lacking, you may need to compile using clang or gcc instead of your local
|
||||
compiler.</p>
|
||||
<h2 id="remarks-on-some-of-the-winning-entries">Remarks on some of the winning entries</h2>
|
||||
<p>We believe you will again be impressed with this year’s winning entries.</p>
|
||||
<p>The <a href="mills/index.html">“Best of show” (mills)</a> is an amazing tribute to entries
|
||||
<p>The <a href="mills/index.html">Best of show - 2018/mills</a> is an amazing tribute to entries
|
||||
from 1984 and 2015.</p>
|
||||
<p>Take a close look at the “<a href="hou/index.html">Most likely to top the charts” (hou)</a>.
|
||||
<p>Take a close look at the <a href="hou/index.html">Most likely to top the charts - 2018/hou</a>.
|
||||
Observe that while it contains no variables and no operators, it
|
||||
remains functional in what it does.</p>
|
||||
<p>The <a href="burton1/index.html">“Best one-liner” (burton1)</a>, at 109 characters, is a
|
||||
<p>The <a href="burton1/index.html">Best one-liner - 2018/burton1</a>, at 109 characters, is a
|
||||
short and sweet implementation of a classic utility and a nod to a winning entry
|
||||
from 1986. Sometimes it takes 20 some years to do things the true IOCCC way.</p>
|
||||
<p>The color of the remarks text this year was inspired by one of the stars
|
||||
of the <a href="poikola/index.html">“Most stellar” (poikola)</a>.</p>
|
||||
<p>The <a href="endoh2/index.html">“Best use of python” (endoh2)</a> is a not what you might think it is.
|
||||
of the <a href="poikola/index.html">Most stellar - 2018/poikola</a>.</p>
|
||||
<p>The <a href="endoh2/index.html">Best use of python - 2018/endoh2</a> is a not what you might think it is.
|
||||
It is something completely different.</p>
|
||||
<p>The <a href="ciura/index.html">“Most likely to be awarded” (ciura)</a> has an amazing vocabulary!</p>
|
||||
<p>The <a href="ciura/index.html">Most likely to be awarded - 2018/ciura</a> has an amazing vocabulary!</p>
|
||||
<p>There are also nods to entries of the years <a href="2000/bellard/index.html">2000/bellard</a>,
|
||||
<a href="1989/yang/index.html">1989/yang</a>, …</p>
|
||||
<p>…We’ll stop spouting spoilers now. Have fun exploring all the entries!</p>
|
||||
|
||||
+2
-2
@@ -26,10 +26,10 @@ compiler.
|
||||
|
||||
This year's winning entries are impressive!
|
||||
|
||||
The ["Most in need of debugging" (endoh)](endoh/index.html) is very inventive in
|
||||
The [Most in need of debugging - 2019/endoh](endoh/index.html) is very inventive in
|
||||
a way it produces its own text!
|
||||
|
||||
The ["Most likely to be awarded" (ciura)](ciura/index.html) has an amazing
|
||||
The [Most likely to be awarded - 2019/ciura](ciura/index.html) has an amazing
|
||||
vocabulary!
|
||||
|
||||
There are again nods to entries of the years:
|
||||
|
||||
@@ -35,7 +35,7 @@ the program and the script.
|
||||
|
||||
## Judges' remarks:
|
||||
|
||||
[1991/davidguy](../..//1991/davidguy/index.html),
|
||||
[1991/davidguy](../../1991/davidguy/index.html),
|
||||
[2011/blakely](../../2011/blakely/index.html), ...
|
||||
|
||||
...This entry likely concludes the IOCCC category "Cellular automata simulators";
|
||||
|
||||
@@ -410,7 +410,7 @@ Location: <a href="../../location.html#IL">IL</a> - <em>State of Israel</em> (<e
|
||||
<p>Make sure that you keep focus of windows in mind when going back and forth to
|
||||
the program and the script.</p>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p><a href="../..//1991/davidguy/index.html">1991/davidguy</a>,
|
||||
<p><a href="../../1991/davidguy/index.html">1991/davidguy</a>,
|
||||
<a href="../../2011/blakely/index.html">2011/blakely</a>, …</p>
|
||||
<p>…This entry likely concludes the IOCCC category “Cellular automata simulators”;
|
||||
it would be very hard to beat it on its field.</p>
|
||||
|
||||
+2
-2
@@ -399,9 +399,9 @@ lacking, you may need to compile using clang or gcc instead of your local
|
||||
compiler.</p>
|
||||
<h2 id="remarks-on-some-of-the-winning-entries">Remarks on some of the winning entries</h2>
|
||||
<p>This year’s winning entries are impressive!</p>
|
||||
<p>The <a href="endoh/index.html">“Most in need of debugging” (endoh)</a> is very inventive in
|
||||
<p>The <a href="endoh/index.html">Most in need of debugging - 2019/endoh</a> is very inventive in
|
||||
a way it produces its own text!</p>
|
||||
<p>The <a href="ciura/index.html">“Most likely to be awarded” (ciura)</a> has an amazing
|
||||
<p>The <a href="ciura/index.html">Most likely to be awarded - 2019/ciura</a> has an amazing
|
||||
vocabulary!</p>
|
||||
<p>There are again nods to entries of the years:</p>
|
||||
<ul>
|
||||
|
||||
+3
-3
@@ -24,13 +24,13 @@ compiler.
|
||||
|
||||
## Remarks on some of the winning entries
|
||||
|
||||
This year's [Best of Show (carlini)](carlini/index.html) is such a novel way of
|
||||
This year's [Best of Show - 2020/carlini](carlini/index.html) is such a novel way of
|
||||
obfuscation that it would be worth of a special mention in the (future) Best of
|
||||
IOCCC list!
|
||||
|
||||
For some reason, this year's set of winning entries contains three nostalgic games,
|
||||
[Asteroids (tsoj)](tsoj/index.html), [Minesweeper (endoh1)](endoh1/index.html),
|
||||
and [Snake (ferguson1)](ferguson1/index.html).
|
||||
[Asteroids - 2020/tsoj](tsoj/index.html), [Minesweeper - 2020/endoh1](endoh1/index.html),
|
||||
and [Snake - 2020/ferguson1](ferguson1/index.html).
|
||||
|
||||
An entry, [kurdyukov1](kurdyukov1/index.html), pays homage to previous entry
|
||||
[2015/hou](2015/hou/index.html).
|
||||
|
||||
@@ -742,7 +742,7 @@ snakeskin would be the same size the snake was and the snake would grow as it
|
||||
slithered out. But that would fill the screen very quickly of course. Maybe the
|
||||
snakeskin has some other purpose?</p>
|
||||
<h2 id="snake-moves-faster-over-time">Snake moves faster over time</h2>
|
||||
<p>In the game [Surround](https://en.wikipedia.org/wiki/Surround_(video_game) you
|
||||
<p>In the game <a href="https://en.wikipedia.org/wiki/Surround_(video_game)">Surround</a> you
|
||||
have no control over the speed. I believe there are five different speed levels
|
||||
but the player has no control over it except the drawing mode. It would be
|
||||
possible to make it so the snake moves faster over time. How often and by what
|
||||
|
||||
@@ -505,7 +505,7 @@ snakeskin has some other purpose?
|
||||
|
||||
## Snake moves faster over time
|
||||
|
||||
In the game [Surround](https://en.wikipedia.org/wiki/Surround_(video_game) you
|
||||
In the game [Surround](https://en.wikipedia.org/wiki/Surround_(video_game)) you
|
||||
have no control over the speed. I believe there are five different speed levels
|
||||
but the player has no control over it except the drawing mode. It would be
|
||||
possible to make it so the snake moves faster over time. How often and by what
|
||||
|
||||
@@ -233,7 +233,7 @@ very important.
|
||||
|
||||
<div id="toc">
|
||||
* ['Bugs'](#bugs)
|
||||
* [NAQs/IAQs (Never/Infrequently Asked Questions)](#naqs)
|
||||
* [NAQs/IAQs - Never/Infrequently Asked Questions](#naqs)
|
||||
- [Do I have any inspirations for this entry?](#inspirations)
|
||||
- [Are there any features I thought of that I wanted to implement but did not get to for some reason or another?](#features)
|
||||
- [Are there ways that one can make this game easier?](#easier)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<div id="toc">
|
||||
* [Built-in test unit for some features!](#builtin-test-unit)
|
||||
* [The snake doesn't seem to be moving](#stillsnake)
|
||||
* [getch() also accepts input from some input hardware other than keyboards](#getch)
|
||||
* [getch() also accepts input from some input hardware other than keyboards](#getch)
|
||||
* [SIZE=0 is the same as SIZE=1 and other oddities](#size)
|
||||
* ['I was a few places behind my tail and I ran into it!'](#bitetail)
|
||||
* [With negative growth the snake drops from the middle of the body](#middleofsnake)
|
||||
|
||||
@@ -401,12 +401,12 @@ for the input keys.</p>
|
||||
<ul>
|
||||
<li><a href="#warning"><strong>Photosensitive epilepsy/Stimulation overload trigger warnings</strong></a></li>
|
||||
<li><a href="#drawing">Drawing / Practice mode</a></li>
|
||||
<li><a href="#auto">Computer playing / Automatic mode (<strong>Photosensitive epilepsy/Stimulation overload trigger</strong>)</a>
|
||||
<li><a href="#auto">Computer playing / Automatic mode (Photosensitive epilepsy/Stimulation overload trigger)</a>
|
||||
<ul>
|
||||
<li><a href="#auto-variations">Variations</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#grow-shrink">Grow-Shrink (Positive/Negative Winning) mode</a></li>
|
||||
<li><a href="#hypnotic">Hypnotic / Sleepy mode (<strong>Photosensitive epilepsy/Stimulation overload trigger</strong>)</a></li>
|
||||
<li><a href="#hypnotic">Hypnotic / Sleepy mode (Photosensitive epilepsy/Stimulation overload trigger)</a></li>
|
||||
<li><a href="#stim">Stimulation / Calming mode</a></li>
|
||||
<li><a href="#other-ideas">Other ideas</a></li>
|
||||
</ul></li>
|
||||
@@ -901,7 +901,7 @@ also has this mode:</p>
|
||||
of them (the above is option 5; others are 4, 15 and 16 but only options 4 and 5
|
||||
are called Grow / Shrink).</p>
|
||||
<div id="hypnotic">
|
||||
<h2 id="hypnotic-sleepy-mode-photosensitive-epilepsystimulation-overload-trigger"><a href="#toc">Hypnotic / Sleepy mode (<strong>Photosensitive epilepsy/Stimulation overload trigger</strong>)</a></h2>
|
||||
<h2 id="hypnotic-sleepy-mode-photosensitive-epilepsystimulation-overload-trigger"><a href="#toc">Hypnotic / Sleepy mode (Photosensitive epilepsy/Stimulation overload trigger)</a></h2>
|
||||
</div>
|
||||
<p><strong>Photosensitive epilepsy/stimulation overload trigger warning:</strong>
|
||||
For those who have epilepsy or are susceptible to stimulation overload from
|
||||
|
||||
@@ -14,7 +14,7 @@ for the input keys.
|
||||
* [Playing the game](#playing)
|
||||
* [Walls](#walls)
|
||||
* [Cannibalism](#cannibalism)
|
||||
* [Stretching (shedding)](#shedding)
|
||||
* [Stretching (shedding)](#shedding)
|
||||
* [Winning](#winning)
|
||||
* [Quitting](#quitting)
|
||||
|
||||
@@ -23,10 +23,10 @@ for the input keys.
|
||||
|
||||
* [**Photosensitive epilepsy/Stimulation overload trigger warnings**](#warning)
|
||||
* [Drawing / Practice mode](#drawing)
|
||||
* [Computer playing / Automatic mode (**Photosensitive epilepsy/Stimulation overload trigger**)](#auto)
|
||||
* [Computer playing / Automatic mode (Photosensitive epilepsy/Stimulation overload trigger)](#auto)
|
||||
* [Variations](#auto-variations)
|
||||
* [Grow-Shrink (Positive/Negative Winning) mode](#grow-shrink)
|
||||
* [Hypnotic / Sleepy mode (**Photosensitive epilepsy/Stimulation overload trigger**)](#hypnotic)
|
||||
* [Grow-Shrink (Positive/Negative Winning) mode](#grow-shrink)
|
||||
* [Hypnotic / Sleepy mode (Photosensitive epilepsy/Stimulation overload trigger)](#hypnotic)
|
||||
* [Stimulation / Calming mode](#stim)
|
||||
* [Other ideas](#other-ideas)
|
||||
|
||||
@@ -44,7 +44,7 @@ for the input keys.
|
||||
* [GROW / SHEDS - Growth / Shedding sizes](#growth)
|
||||
|
||||
|
||||
7. [Conclusion (and inspirational words for everyone)](#conclusions)
|
||||
7. [Conclusion (and inspirational words for everyone)](#conclusions)
|
||||
</div>
|
||||
|
||||
|
||||
@@ -728,7 +728,7 @@ are called Grow / Shrink).
|
||||
|
||||
|
||||
<div id="hypnotic">
|
||||
## <a href="#toc">Hypnotic / Sleepy mode (**Photosensitive epilepsy/Stimulation overload trigger**)</a>
|
||||
## <a href="#toc">Hypnotic / Sleepy mode (Photosensitive epilepsy/Stimulation overload trigger)</a>
|
||||
</div>
|
||||
|
||||
**Photosensitive epilepsy/stimulation overload trigger warning:**
|
||||
@@ -892,7 +892,7 @@ it will take the number of movements before it is 'its full size'.
|
||||
|
||||
|
||||
<div id="conclusions">
|
||||
# 7. <a href="#toc">Conclusion (and inspirational words for everyone)</a>
|
||||
# 7. <a href="#toc">Conclusion (and inspirational words for everyone)</a>
|
||||
</div>
|
||||
|
||||
I believe that this file has given more than enough information for anyone to
|
||||
|
||||
@@ -578,7 +578,7 @@ very important.</p>
|
||||
<div id="toc">
|
||||
<ul>
|
||||
<li><a href="#bugs">‘Bugs’</a></li>
|
||||
<li><a href="#naqs">NAQs/IAQs (Never/Infrequently Asked Questions)</a>
|
||||
<li><a href="#naqs">NAQs/IAQs - Never/Infrequently Asked Questions</a>
|
||||
<ul>
|
||||
<li><a href="#inspirations">Do I have any inspirations for this entry?</a></li>
|
||||
<li><a href="#features">Are there any features I thought of that I wanted to implement but did not get to for some reason or another?</a></li>
|
||||
|
||||
@@ -401,7 +401,7 @@ already knew that so no harm there, hey?</p>
|
||||
<li><a href="#resizing">Collision detection when resizing the window of the game</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#obfuscation">Obfuscation</a></li>
|
||||
<li><a href="#skinning">Skinning the snake (i.e. decreasing the iocccsize)</a></li>
|
||||
<li><a href="#skinning">Skinning the snake (i.e., decreasing the iocccsize)</a></li>
|
||||
<li><a href="#size">A few more interesting size optimisations</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -15,12 +15,12 @@ already knew that so no harm there, hey?
|
||||
<div id="toc">
|
||||
- [How does it work?](#works)
|
||||
- [How does the snake movement work?](#movement)
|
||||
- [Drawing (manual) and computer playing (automatic) modes](#manual-automatic)
|
||||
- [Drawing (manual) and computer playing (automatic) modes](#manual-automatic)
|
||||
- [Collision detection](#collision)
|
||||
* [Cannibal collision detection](#cannibalcollision)
|
||||
* [Collision detection when resizing the window of the game](#resizing)
|
||||
- [Obfuscation](#obfuscation)
|
||||
- [Skinning the snake (i.e. decreasing the iocccsize)](#skinning)
|
||||
- [Skinning the snake (i.e., decreasing the iocccsize)](#skinning)
|
||||
- [A few more interesting size optimisations](#size)
|
||||
</div>
|
||||
|
||||
|
||||
@@ -379,7 +379,7 @@
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<!-- BEFORE: 1st line of markdown file: 2020/ferguson1/troubleshooting.md -->
|
||||
<h1 id="troubleshooting-snake">Troubleshooting Snake</h1>
|
||||
<p>9 Troubleshooting Snake</p>
|
||||
<p>In this file I have a list of a number of possible problems that could show up
|
||||
under some situations as well as some things that might appear to be happening
|
||||
or be a problem but actually are not. For each one I have included a summary, a
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Troubleshooting Snake
|
||||
9 Troubleshooting Snake
|
||||
|
||||
In this file I have a list of a number of possible problems that could show up
|
||||
under some situations as well as some things that might appear to be happening
|
||||
@@ -8,15 +8,15 @@ anything that can cause more than one issue I will list those separately to keep
|
||||
it as structured as possible/easiest to find.
|
||||
|
||||
<div id="top">
|
||||
* [The top wall isn't (all/some of the time) visible!](#topwall)
|
||||
* [The top wall isn't (all/some of the time) visible!](#topwall)
|
||||
* [The snake isn't moving!](#notmoving)
|
||||
* [I can't see the snake head (or other part of the snake)!](#invisiblehead)
|
||||
* [I can't see the snake head (or other part of the snake)!](#invisiblehead)
|
||||
* [I can't see the bug!](#invisiblebug)
|
||||
* [The game froze!](#froze)
|
||||
* [The game gets slower as the snake gets bigger!](#bigsnake)
|
||||
* [I set SIZE=0 GROW=1, ate a bug but still only the head was visible! Why?](#headonly)
|
||||
* [I like black text on a white background but even with a white background terminal it ends up black!](#monochrome)
|
||||
* [The text is hard to see (not bright enough)!](#toodark)
|
||||
* [The text is hard to see (not bright enough)!](#toodark)
|
||||
* [Can I move the snake faster temporarily without having to modify the wait time?](#movefaster)
|
||||
* [On environmental variables more generally and string to int conversions](#envvars)
|
||||
* [Errors and error reporting](#errors)
|
||||
|
||||
@@ -452,9 +452,9 @@ For examples using it (and a delicious challenge) see [recode.html][] (or
|
||||
### A parser subtlety that could cause confusion
|
||||
</div>
|
||||
|
||||
The parser is in a sense rather rudimentary but allows for both interactive and
|
||||
automatic (e.g. via the [recode]((%%REPO_URL%%/2020/ferguson2/recode.c) program) input. This does mean that
|
||||
something like the following can happen:
|
||||
The parser is in a sense rather rudimentary but allows for both interactive and automatic
|
||||
(e.g., via the [recode](%%REPO_URL%%/2020/ferguson2/recode.c) program) input.
|
||||
This does mean that something like the following can happen:
|
||||
|
||||
``` <!---sh-->
|
||||
$ ./prog -
|
||||
|
||||
@@ -707,9 +707,9 @@ make it more flexible by a wrapper program.</p>
|
||||
<div id="parsersubtlety">
|
||||
<h3 id="a-parser-subtlety-that-could-cause-confusion">A parser subtlety that could cause confusion</h3>
|
||||
</div>
|
||||
<p>The parser is in a sense rather rudimentary but allows for both interactive and
|
||||
automatic (e.g. via the <a href="(https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/recode.c)%20program">recode</a> input. This does mean that
|
||||
something like the following can happen:</p>
|
||||
<p>The parser is in a sense rather rudimentary but allows for both interactive and automatic
|
||||
(e.g., via the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/recode.c">recode</a> program) input.
|
||||
This does mean that something like the following can happen:</p>
|
||||
<pre><code> $ ./prog -
|
||||
Ring 1: 1AB
|
||||
Setting 1: Position 1: Ring 2: 2CD
|
||||
|
||||
@@ -458,8 +458,8 @@ if you don’t give the option to read in a file for input.</p>
|
||||
Plugboard pair #09: RU
|
||||
Plugboard pair #10: VG
|
||||
1WX5AK4RE1XEHJSAPYCIZBWDQNRUVGIOCCC</code></pre>
|
||||
<p>Though you won’t find some of those strings in [recode.c]((https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/recode.c) or
|
||||
[prog.c]((https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/prog.c). Yes the <code>WAR</code> for the Ringstellung (Ring settings) is an
|
||||
<p>Though you won’t find some of those strings in <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/recode.c">recode.c</a> or
|
||||
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/prog.c">prog.c</a>. Yes the <code>WAR</code> for the Ringstellung (Ring settings) is an
|
||||
amusing coincidence <em>but it really did happen!</em></p>
|
||||
<p>As for <code>-f</code> the contents would be output with the settings e.g. to pipe to
|
||||
<code>prog</code> itself (as if you redirected the file contents to the Enigma machine for
|
||||
@@ -585,7 +585,7 @@ pair</a>; this can be done in
|
||||
a number of ways but two dots is one. Notice also that it’s in a different order
|
||||
than the simulator: because with the size restrictions on my entry I saved bytes
|
||||
by using the same loop where I could. It just felt more natural to have them
|
||||
grouped together in a configurator for the [simulator]((https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/prog.c).</p>
|
||||
grouped together in a configurator for the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2020/ferguson2/prog.c">simulator</a>.</p>
|
||||
<pre><code> $ echo 1AA2AA3AA2ABCD..EFGHIJKLMNOPQRIOCCC | ./prog - 2>/dev/null
|
||||
HQNVO
|
||||
$ echo 1AA2AA3AA2ABCD..EFGHIJKLMNOPQRIOCCC | ./prog - 2>/dev/null | echo 1AA2AA3AA2ABCD..EFGHIJKLMNOPQRHQNVO | ./prog - 2>/dev/null
|
||||
|
||||
@@ -18,7 +18,7 @@ have to if you don't wish to.
|
||||
- [Only write config file](#onlyconfig)
|
||||
- [Reusing a configuration](#reuseconfig)
|
||||
- [Write config file, read data file and pass to Enigma simulator](#passtoenigma)
|
||||
- [Piping directly to the Enigma code once (with randomised settings, saved)](#directlytoenigma)
|
||||
- [Piping directly to the Enigma code once (with randomised settings, saved)](#directlytoenigma)
|
||||
- [Usage conclusion](#conclusion)
|
||||
- [Example additions](#additions)
|
||||
- [Example uses](#exampleuses)
|
||||
@@ -97,8 +97,8 @@ if you don't give the option to read in a file for input.
|
||||
1WX5AK4RE1XEHJSAPYCIZBWDQNRUVGIOCCC
|
||||
```
|
||||
|
||||
Though you won't find some of those strings in [recode.c]((%%REPO_URL%%/2020/ferguson2/recode.c) or
|
||||
[prog.c]((%%REPO_URL%%/2020/ferguson2/prog.c). Yes the `WAR` for the Ringstellung (Ring settings) is an
|
||||
Though you won't find some of those strings in [recode.c](%%REPO_URL%%/2020/ferguson2/recode.c) or
|
||||
[prog.c](%%REPO_URL%%/2020/ferguson2/prog.c). Yes the `WAR` for the Ringstellung (Ring settings) is an
|
||||
amusing coincidence *but it really did happen!*
|
||||
|
||||
As for `-f` the contents would be output with the settings e.g. to pipe to
|
||||
@@ -265,7 +265,7 @@ pair](https://www.cryptomuseum.com/crypto/enigma/i/sb.htm); this can be done in
|
||||
a number of ways but two dots is one. Notice also that it's in a different order
|
||||
than the simulator: because with the size restrictions on my entry I saved bytes
|
||||
by using the same loop where I could. It just felt more natural to have them
|
||||
grouped together in a configurator for the [simulator]((%%REPO_URL%%/2020/ferguson2/prog.c).
|
||||
grouped together in a configurator for the [simulator](%%REPO_URL%%/2020/ferguson2/prog.c).
|
||||
|
||||
``` <!---sh-->
|
||||
$ echo 1AA2AA3AA2ABCD..EFGHIJKLMNOPQRIOCCC | ./prog - 2>/dev/null
|
||||
|
||||
+3
-3
@@ -398,12 +398,12 @@ system may require certain changes (add or remove a library, add or remove a
|
||||
lacking, you may need to compile using clang or gcc instead of your local
|
||||
compiler.</p>
|
||||
<h2 id="remarks-on-some-of-the-winning-entries">Remarks on some of the winning entries</h2>
|
||||
<p>This year’s <a href="carlini/index.html">Best of Show (carlini)</a> is such a novel way of
|
||||
<p>This year’s <a href="carlini/index.html">Best of Show - 2020/carlini</a> is such a novel way of
|
||||
obfuscation that it would be worth of a special mention in the (future) Best of
|
||||
IOCCC list!</p>
|
||||
<p>For some reason, this year’s set of winning entries contains three nostalgic games,
|
||||
<a href="tsoj/index.html">Asteroids (tsoj)</a>, <a href="endoh1/index.html">Minesweeper (endoh1)</a>,
|
||||
and <a href="ferguson1/index.html">Snake (ferguson1)</a>.</p>
|
||||
<a href="tsoj/index.html">Asteroids - 2020/tsoj</a>, <a href="endoh1/index.html">Minesweeper - 2020/endoh1</a>,
|
||||
and <a href="ferguson1/index.html">Snake - 2020/ferguson1</a>.</p>
|
||||
<p>An entry, <a href="kurdyukov1/index.html">kurdyukov1</a>, pays homage to previous entry
|
||||
<a href="2015/hou/index.html">2015/hou</a>.</p>
|
||||
<p>…We’ll stop spouting spoilers now. Have fun exploring all the entries!</p>
|
||||
|
||||
@@ -66,7 +66,7 @@ the Elves in Tolkien's Legendarium. It means sound taste (plural is lámatyáver
|
||||
and it refers to phonaesthesia - in other words, it refers to the pleasure of
|
||||
sound and form of words. It's discussed in [Morgoth's
|
||||
Ring](https://en.wikipedia.org/wiki/Morgoth%27s_Ring), volume X of [History of
|
||||
Middle-earth (HoMe)](https://en.wikipedia.org/wiki/The_History_of_Middle-earth).
|
||||
Middle-earth (HoMe)](https://en.wikipedia.org/wiki/The_History_of_Middle-earth).
|
||||
Now can you appreciate the award title a bit better?
|
||||
|
||||
|
||||
|
||||
@@ -417,7 +417,7 @@
|
||||
<li><a href="#faq3_6">3.6 - An IOCCC entry messed up my terminal application, how do I fix this?</a></li>
|
||||
<li><a href="#faq3_7">3.7 - How do I run an IOCCC entry that requires X11?</a></li>
|
||||
<li><a href="#faq3_8">3.8 - How do I compile an IOCCC entry that requires SDL1 or SDL2?</a></li>
|
||||
<li><a href="#faq3_9">3.9 - How do I compile an IOCCC entry that requires (n)curses?</a></li>
|
||||
<li><a href="#faq3_9">3.9 - How do I compile an IOCCC entry that requires (n)?</a></li>
|
||||
<li><a href="#faq3_10">3.10 - How do I compile and use an IOCCC entry that requires sound?</a></li>
|
||||
<li><a href="#faq3_11">3.11 - Why do Makefiles use -Weverything with clang?</a></li>
|
||||
<li><a href="#faq3_12">3.12 - How do I find out how to send interrupt/EOF etc. for entries that require it?</a></li>
|
||||
@@ -432,7 +432,7 @@
|
||||
<h2 id="section-4---changes-made-to-ioccc-entries">Section 4 - <a href="#faq4">Changes made to IOCCC entries</a></h2>
|
||||
<ul>
|
||||
<li><a href="#faq4_0">4.0 - Why are some winning author remarks incongruent with the winning IOCCC code?</a></li>
|
||||
<li><a href="#faq4_1">4.1 - Why were some calls to the libc function <code>gets(3)</code> changed to use <code>fgets(3)</code>?</a></li>
|
||||
<li><a href="#faq4_1">4.1 - Why were some calls to the libc function gets(3( changed to use fgets(3)?</a></li>
|
||||
<li><a href="#faq4_2">4.2 - What was changed in an IOCCC entry source code?</a></li>
|
||||
<li><a href="#faq4_3">4.3 - Why do author remarks sometimes not match the source and/or why are there
|
||||
other inconsistencies with the original entry?</a></li>
|
||||
@@ -817,15 +817,15 @@ web site.</p>
|
||||
<h4 id="dec-28-bzip2-compressed-tarball-archive">2020 Dec 28 bzip2 compressed tarball archive</h4>
|
||||
<p>Furthermore, a bzip2 compressed tarball containing the released
|
||||
IOCCC entry source code may be found under the
|
||||
<a href="/archive/histroic">archive/historic</a> directory. The file
|
||||
<a href="/archive/historic/archive-all.tar.bz2">archive-all.tar.bz2</a> contains
|
||||
<a href="archive/histroic">archive/historic</a> directory. The file
|
||||
<a href="archive/historic/archive-all.tar.bz2">archive-all.tar.bz2</a> contains
|
||||
all years and the individual years are in the form
|
||||
<code>archive/historic/archive-YYYY.tar.bz2</code>.</p>
|
||||
<p>These files were obtained from the <a href="https://web.archive.org">Internet Wayback
|
||||
Machine</a> from the <a href="https://web.archive.org/web/20201228005211/https://www.ioccc.org/">snapshot of the website
|
||||
on 2020 Dec
|
||||
28</a>.
|
||||
See <a href="archive/historic/index.html">/archive/historic/index.html</a> for
|
||||
See <a href="archive/historic/index.html">archive/historic/index.html</a> for
|
||||
details about these bzip2 compressed tarballs.</p>
|
||||
<h4 id="dec-29-official-ioccc-winner-repo">2022 Dec 29 Official IOCCC winner repo</h4>
|
||||
<p>The <a href="https://github.com/ioccc-src/winner">Official IOCCC winner repo</a>
|
||||
@@ -934,16 +934,16 @@ with/in modern systems.</li>
|
||||
<li>Reworking the Makefiles specific to the gcc and clang C compilers.</li>
|
||||
<li>Replacing the various hint files with a index.html markdown (from README.md
|
||||
files) that is more consistent across IOCCC years.</li>
|
||||
<li>Generating HTML content from markdown files and JSON data files via a <a href="/bin/index.html">set of
|
||||
<li>Generating HTML content from markdown files and JSON data files via a <a href="bin/index.html">set of
|
||||
tools and scripts</a>.</li>
|
||||
<li>Setting up a system whereby authors of IOCCC entries may update their own
|
||||
contact information via a <a href="https://github.com/ioccc-src/temp-test-ioccc/pulls">GitHub pull
|
||||
request</a>.</li>
|
||||
<li>Setting up to generate the top level <a href="years.html">years.html</a> file via the
|
||||
<a href="/bin/gen-years.sh">gen-years.sh</a> tool.</li>
|
||||
<li>Setting up to generate the top level <a href="/authors.html">authors.html file</a>, renamed
|
||||
from <code>winners.html</code>, via the <a href="/bin/gen-authors.sh">gen-authors.sh</a> tool.</li>
|
||||
<li>Making use of a new and improved <a href="/ioccc.css">IOCCC CSS</a> for web site consistency</li>
|
||||
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/bin/gen-years.sh">gen-years.sh</a> tool.</li>
|
||||
<li>Setting up to generate the top level <a href="authors.html">authors.html file</a>, renamed
|
||||
from <code>winners.html</code>, via the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/bin/gen-authors.sh">gen-authors.sh</a> tool.</li>
|
||||
<li>Making use of a new and improved <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/ioccc.css">IOCCC CSS</a> for web site consistency</li>
|
||||
<li>Etc.</li>
|
||||
</ul>
|
||||
<h4 id="y-mm-dd-the-great-fork-merge">202y mm dd The Great Fork Merge <!-- XXX - Fill in the date when Great Fork Merge happens --></h4>
|
||||
@@ -1048,6 +1048,7 @@ rounds; we look at the author name only if an entry wins. See the guidelines if
|
||||
this is not clear!</li>
|
||||
<li>leaving the remark section empty.</li>
|
||||
</ul>
|
||||
https://github.com/ioccc-src/temp-test-ioccc/blob/master/
|
||||
<div id="faq2_2">
|
||||
<h3 id="faq-2.2-why-dont-you-publish-entries-that-do-not-win">FAQ 2.2: Why don’t you publish entries that do not win?</h3>
|
||||
</div>
|
||||
@@ -1457,7 +1458,7 @@ fix it and make a new pull request.</p>
|
||||
as a GitHub pull request</a> for more information about pull requests.</p>
|
||||
<div id="faq3_9">
|
||||
<div id="curses">
|
||||
<h3 id="faq-3.9-how-do-i-compile-an-ioccc-entry-that-requires-ncurses">FAQ 3.9: How do I compile an IOCCC entry that requires (n)curses?</h3>
|
||||
<h3 id="faq-3.9-how-do-i-compile-an-ioccc-entry-that-requires-n">FAQ 3.9: How do I compile an IOCCC entry that requires (n)?</h3>
|
||||
</div>
|
||||
</div>
|
||||
<p>This depends on your operating system but below are instructions for Linux and
|
||||
@@ -1851,7 +1852,7 @@ version like <code>dirname.alt.c</code> or <code>prog.alt.c</code>. In fact it i
|
||||
the original code when reading the author’s (and sometimes authors’) remarks.</p>
|
||||
<div id="faq4_1">
|
||||
<div id="gets">
|
||||
<h3 id="faq-4.1-why-were-some-calls-to-the-libc-function-gets3-changed-to-use-fgets3">FAQ 4.1: Why were some calls to the libc function <code>gets(3)</code> changed to use <code>fgets(3)</code>?</h3>
|
||||
<h3 id="faq-4.1-why-were-some-calls-to-the-libc-function-gets3-changed-to-use-fgets3">FAQ 4.1: Why were some calls to the libc function gets(3) changed to use fgets(3)?</h3>
|
||||
</div>
|
||||
</div>
|
||||
<p>Some may wonder: “Doesn’t this tamper with the entry too much?”</p>
|
||||
@@ -2224,7 +2225,7 @@ original winning entries as compressed tar files for a given year.</p>
|
||||
“abuse of the rules” (although now blatant abuse of the rules to
|
||||
get around rule 2 size limits is discouraged).</p>
|
||||
<div id="faq6_1">
|
||||
<h3 id="faq-6.1-is-there-a-list-of-known-bugs-and-misfeatures-of-ioccc-entries">FAQ 6.1: Is there a list of known bugs and misfeatures of IOCCC entries?</h3>
|
||||
<h3 id="faq-6.1-is-there-a-list-of-known-bugs-and-misfeatures-of-ioccc-entries">FAQ 6.1: Is there a list of known bugs and (mis)features of IOCCC entries?</h3>
|
||||
</div>
|
||||
<p>Yes! Please see <a href="bugs.html">bugs.html</a> for a list of known bugs and/or issues of a
|
||||
variety of kinds.</p>
|
||||
@@ -2240,7 +2241,7 @@ something like that.</p>
|
||||
</div>
|
||||
<p>While IOCCC judges look favorably on most requests to use IOCCC material,
|
||||
we request that you ask the <a href="judges.html">IOCCC judges</a> first.</p>
|
||||
<p>Please send your request using the instructions on the <a href="/contact.html">contacting
|
||||
<p>Please send your request using the instructions on the <a href="contact.html">contacting
|
||||
the IOCCC Judges</a> page.</p>
|
||||
<p>Please note that the content of the IOCCC is <a href="#copyright">Copyrighted and is under
|
||||
the CC BY-SA 4.0 License</a>.</p>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
- [3.6 - An IOCCC entry messed up my terminal application, how do I fix this?](#faq3_6)
|
||||
- [3.7 - How do I run an IOCCC entry that requires X11?](#faq3_7)
|
||||
- [3.8 - How do I compile an IOCCC entry that requires SDL1 or SDL2?](#faq3_8)
|
||||
- [3.9 - How do I compile an IOCCC entry that requires (n)curses?](#faq3_9)
|
||||
- [3.9 - How do I compile an IOCCC entry that requires (n)?](#faq3_9)
|
||||
- [3.10 - How do I compile and use an IOCCC entry that requires sound?](#faq3_10)
|
||||
- [3.11 - Why do Makefiles use -Weverything with clang?](#faq3_11)
|
||||
- [3.12 - How do I find out how to send interrupt/EOF etc. for entries that require it?](#faq3_12)
|
||||
@@ -48,12 +48,12 @@
|
||||
- [3.16 - How do I compile and install libjpeg-turbo for entries that require it?](#faq3_16)
|
||||
- [3.17 - How do I compile and install ImageMagick for entries that require it?](#faq3_17)
|
||||
- [3.18 - How do I compile and install OpenGL for entries that require it?](#faq3_18)
|
||||
- [3.19 - What kind of make(1) compatibility does the IOCCC support and will it support other kinds?](#faq3_19)
|
||||
- [3.19 - What kind of make(1) compatibility does the IOCCC support and will it support other kinds?](#faq3_19)
|
||||
|
||||
|
||||
## Section 4 - [Changes made to IOCCC entries](#faq4)
|
||||
- [4.0 - Why are some winning author remarks incongruent with the winning IOCCC code?](#faq4_0)
|
||||
- [4.1 - Why were some calls to the libc function `gets(3)` changed to use `fgets(3)`?](#faq4_1)
|
||||
- [4.1 - Why were some calls to the libc function gets(3( changed to use fgets(3)?](#faq4_1)
|
||||
- [4.2 - What was changed in an IOCCC entry source code?](#faq4_2)
|
||||
- [4.3 - Why do author remarks sometimes not match the source and/or why are there
|
||||
other inconsistencies with the original entry?](#faq4_3)
|
||||
@@ -72,7 +72,7 @@ other inconsistencies with the original entry?](#faq4_3)
|
||||
|
||||
## Section 6 - [Miscellaneous IOCCC](#faq6)
|
||||
- [6.0 - How did an entry that breaks the size rule 2 win the IOCCC?](#faq6_0)
|
||||
- [6.1 - Is there a list of known bugs and (mis)features of IOCCC entries?](#faq6_1)
|
||||
- [6.1 - Is there a list of known bugs and (mis)features of IOCCC entries?](#faq6_1)
|
||||
- [6.2 - May I mirror the IOCCC web site?](#faq6_2)
|
||||
- [6.3 - May I use parts of the IOCCC in an article, book, newsletter, or instructional material?](#faq6_3)
|
||||
- [6.4 - Why do you sometimes use the first person plural?](#faq6_4)
|
||||
@@ -505,7 +505,7 @@ were posted on 17 April 1984.
|
||||
|
||||
There were 4 entries that won in 1984:
|
||||
|
||||
1. [(dis)honorable mention](http://groups.google.com/groups?q=Obfuscated&hl=en&lr=&ie=UTF-8&as_drrb=b&as_mind=1&as_minm=1&as_miny=1983&as_maxd=18&as_maxm=4&as_maxy=1984&selm=842%40nsc.UUCP&rnum=8&filter=0)
|
||||
1. [(dis)honorable mention](http://groups.google.com/groups?q=Obfuscated&hl=en&lr=&ie=UTF-8&as_drrb=b&as_mind=1&as_minm=1&as_miny=1983&as_maxd=18&as_maxm=4&as_maxy=1984&selm=842%40nsc.UUCP&rnum=8&filter=0)
|
||||
2. [3rd place](http://groups.google.com/groups?q=Obfuscated&hl=en&lr=&ie=UTF-8&as_drrb=b&as_mind=1&as_minm=1&as_miny=1983&as_maxd=18&as_maxm=4&as_maxy=1984&selm=843%40nsc.UUCP&rnum=7&filter=0)
|
||||
3. [2nd place](http://groups.google.com/groups?q=Obfuscated&hl=en&lr=&ie=UTF-8&as_drrb=b&as_mind=1&as_minm=1&as_miny=1983&as_maxd=18&as_maxm=4&as_maxy=1984&selm=844%40nsc.UUCP&rnum=6&filter=0)
|
||||
4. [1st place](http://groups.google.com/groups?q=Obfuscated&hl=en&lr=&ie=UTF-8&as_drrb=b&as_mind=1&as_minm=1&as_miny=1983&as_maxd=18&as_maxm=4&as_maxy=1984&selm=845%40nsc.UUCP&rnum=5&filter=0)
|
||||
@@ -572,8 +572,8 @@ web site.
|
||||
|
||||
Furthermore, a bzip2 compressed tarball containing the released
|
||||
IOCCC entry source code may be found under the
|
||||
[archive/historic](/archive/histroic) directory. The file
|
||||
[archive-all.tar.bz2](/archive/historic/archive-all.tar.bz2) contains
|
||||
[archive/historic](archive/histroic) directory. The file
|
||||
[archive-all.tar.bz2](archive/historic/archive-all.tar.bz2) contains
|
||||
all years and the individual years are in the form
|
||||
`archive/historic/archive-YYYY.tar.bz2`.
|
||||
|
||||
@@ -581,7 +581,7 @@ These files were obtained from the [Internet Wayback
|
||||
Machine](https://web.archive.org) from the [snapshot of the website
|
||||
on 2020 Dec
|
||||
28](https://web.archive.org/web/20201228005211/https://www.ioccc.org/).
|
||||
See [/archive/historic/index.html](archive/historic/index.html) for
|
||||
See [archive/historic/index.html](archive/historic/index.html) for
|
||||
details about these bzip2 compressed tarballs.
|
||||
|
||||
|
||||
@@ -715,15 +715,15 @@ with/in modern systems.
|
||||
* Replacing the various hint files with a index.html markdown (from README.md
|
||||
files) that is more consistent across IOCCC years.
|
||||
* Generating HTML content from markdown files and JSON data files via a [set of
|
||||
tools and scripts](/bin/index.html).
|
||||
tools and scripts](bin/index.html).
|
||||
* Setting up a system whereby authors of IOCCC entries may update their own
|
||||
contact information via a [GitHub pull
|
||||
request](https://github.com/ioccc-src/temp-test-ioccc/pulls).
|
||||
* Setting up to generate the top level [years.html](years.html) file via the
|
||||
[gen-years.sh](/bin/gen-years.sh) tool.
|
||||
* Setting up to generate the top level [authors.html file](/authors.html), renamed
|
||||
from `winners.html`, via the [gen-authors.sh](/bin/gen-authors.sh) tool.
|
||||
* Making use of a new and improved [IOCCC CSS](/ioccc.css) for web site consistency
|
||||
[gen-years.sh](%%REPO_URL%%/bin/gen-years.sh) tool.
|
||||
* Setting up to generate the top level [authors.html file](authors.html), renamed
|
||||
from `winners.html`, via the [gen-authors.sh](%%REPO_URL%%/bin/gen-authors.sh) tool.
|
||||
* Making use of a new and improved [IOCCC CSS](%%REPO_URL%%/ioccc.css) for web site consistency
|
||||
* Etc.
|
||||
|
||||
#### 202y mm dd The Great Fork Merge <!-- XXX - Fill in the date when Great Fork Merge happens -->
|
||||
@@ -852,7 +852,7 @@ this is not clear!
|
||||
- leaving the remark section empty.
|
||||
|
||||
|
||||
<div id="faq2_2">
|
||||
%%REPO_URL%%/<div id="faq2_2">
|
||||
### FAQ 2.2: Why don't you publish entries that do not win?
|
||||
</div>
|
||||
|
||||
@@ -1467,7 +1467,7 @@ as a GitHub pull request](#ull_request) for more information about pull requests
|
||||
|
||||
<div id="faq3_9">
|
||||
<div id="curses">
|
||||
### FAQ 3.9: How do I compile an IOCCC entry that requires (n)curses?
|
||||
### FAQ 3.9: How do I compile an IOCCC entry that requires (n)?
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2122,7 +2122,7 @@ We recommend trying a method suitable for your environment first, if possible.
|
||||
|
||||
<div id="faq3_19">
|
||||
<div id="make_compatibility">
|
||||
### 3.19 - What kind of make(1) compatibility does the IOCCC support and will it support other kinds?
|
||||
### 3.19 - What kind of make(1) compatibility does the IOCCC support and will it support other kinds?
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2176,7 +2176,7 @@ the original code when reading the author's (and sometimes authors') remarks.
|
||||
|
||||
<div id="faq4_1">
|
||||
<div id="gets">
|
||||
### FAQ 4.1: Why were some calls to the libc function `gets(3)` changed to use `fgets(3)`?
|
||||
### FAQ 4.1: Why were some calls to the libc function gets(3) changed to use fgets(3)?
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2684,7 +2684,7 @@ get around rule 2 size limits is discouraged).
|
||||
|
||||
|
||||
<div id="faq6_1">
|
||||
### FAQ 6.1: Is there a list of known bugs and misfeatures of IOCCC entries?
|
||||
### FAQ 6.1: Is there a list of known bugs and (mis)features of IOCCC entries?
|
||||
</div>
|
||||
|
||||
Yes! Please see [bugs.html](bugs.html) for a list of known bugs and/or issues of a
|
||||
@@ -2710,7 +2710,7 @@ While IOCCC judges look favorably on most requests to use IOCCC material,
|
||||
we request that you ask the [IOCCC judges](judges.html) first.
|
||||
|
||||
Please send your request using the instructions on the [contacting
|
||||
the IOCCC Judges](/contact.html) page.
|
||||
the IOCCC Judges](contact.html) page.
|
||||
|
||||
Please note that the content of the IOCCC is [Copyrighted and is under
|
||||
the CC BY-SA 4.0 License](#copyright).
|
||||
|
||||
@@ -2888,7 +2888,7 @@ the prototype being included).</p>
|
||||
<p><code>main()</code> also called itself but this was a problem so it now calls another
|
||||
function <code>poke()</code> which calls itself instead (this is sometimes necessary
|
||||
nowadays and other entries had to have this same kind of change,
|
||||
<a href="/2001/anonymous/index.html">2001/anonymous</a> being a good example).</p>
|
||||
<a href="2001/anonymous/index.html">2001/anonymous</a> being a good example).</p>
|
||||
<p>Finally the optimiser cannot be enabled so the compiler flags were changed for
|
||||
this, forcing <code>-O0</code>.</p>
|
||||
<div id="2004_gavare">
|
||||
@@ -4617,7 +4617,7 @@ it is <code>$(MAKE)</code>.</p>
|
||||
<a href="var.mk">var.mk</a> file and removed another that was deemed problematic or
|
||||
undesired. Other variable names had typos in them.</p>
|
||||
<p>In at least one case, like the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/Makefile">top level Makefile</a>, where raw
|
||||
commands that are in <a href="/var.mk">var.mk</a> were used, Cody updated them to use the
|
||||
commands that are in <a href="var.mk">var.mk</a> were used, Cody updated them to use the
|
||||
variables.</p>
|
||||
<p>A comment was missing for the <code>diff_alt_orig</code> rule in all the Makefiles and
|
||||
this, along with many other fixes and changes to the Makefiles were made by
|
||||
|
||||
+2
-2
@@ -3562,7 +3562,7 @@ the prototype being included).
|
||||
`main()` also called itself but this was a problem so it now calls another
|
||||
function `poke()` which calls itself instead (this is sometimes necessary
|
||||
nowadays and other entries had to have this same kind of change,
|
||||
[2001/anonymous](/2001/anonymous/index.html) being a good example).
|
||||
[2001/anonymous](2001/anonymous/index.html) being a good example).
|
||||
|
||||
Finally the optimiser cannot be enabled so the compiler flags were changed for
|
||||
this, forcing `-O0`.
|
||||
@@ -6005,7 +6005,7 @@ Cody also added missing variables like `BASH` and `PDFLATEX` to the
|
||||
undesired. Other variable names had typos in them.
|
||||
|
||||
In at least one case, like the [top level Makefile](%%REPO_URL%%/Makefile), where raw
|
||||
commands that are in [var.mk](/var.mk) were used, Cody updated them to use the
|
||||
commands that are in [var.mk](var.mk) were used, Cody updated them to use the
|
||||
variables.
|
||||
|
||||
A comment was missing for the `diff_alt_orig` rule in all the Makefiles and
|
||||
|
||||
@@ -323,7 +323,10 @@ fi
|
||||
#
|
||||
# and output just paths
|
||||
#
|
||||
find . -name '*.md' -print |
|
||||
# We do not process markdown.md because it contains examples
|
||||
# of poor markdown use.
|
||||
#
|
||||
find . -name '*.md' ! -name markdown.md -print |
|
||||
LANG=C sort -d |
|
||||
xargs grep '\]([^)][^)]*)' /dev/null |
|
||||
sed -E \
|
||||
|
||||
+4
-1
@@ -295,7 +295,10 @@ fi
|
||||
#
|
||||
# markdown_path.md [pseudo title](path)
|
||||
#
|
||||
find . -name '*.md' -print |
|
||||
# We do not process markdown.md because it contains examples
|
||||
# of poor markdown use.
|
||||
#
|
||||
find . -name '*.md' ! -name markdown.md -print |
|
||||
LANG=C sort -d |
|
||||
xargs grep '\]([^)][^)]*)' /dev/null |
|
||||
sed -E \
|
||||
|
||||
@@ -306,7 +306,10 @@ fi
|
||||
#
|
||||
# markdown_path.md [pseudo title](path)
|
||||
#
|
||||
find . -name '*.md' -print |
|
||||
# We do not process markdown.md because it contains examples
|
||||
# of poor markdown use.
|
||||
#
|
||||
find . -name '*.md' ! -name markdown.md -print |
|
||||
LANG=C sort -d |
|
||||
xargs grep '\]([^)][^)]*)' /dev/null |
|
||||
sed -E \
|
||||
|
||||
@@ -295,7 +295,10 @@ fi
|
||||
#
|
||||
# markdown_path.md [pseudo title](%%TOKEN%%path)
|
||||
#
|
||||
find . -name '*.md' -print |
|
||||
# We do not process markdown.md because it contains examples
|
||||
# of poor markdown use.
|
||||
#
|
||||
find . -name '*.md' ! -name markdown.md -print |
|
||||
LANG=C sort -d |
|
||||
xargs grep '\](%%[A-Za-z][0-9A-Za-z_]*%%[^)]*)' /dev/null |
|
||||
sed -E \
|
||||
|
||||
Reference in new issue
Block a user