fix HTML problems associated with leading ---'s
Please do not use "**---**" in markdown lines to separate sections. This causes `pandoc(1)` to generate "**\<hr />**". The "**\<hr />**" has no effect in standard HTML 5 and interacts badly with unquoted attribute values. If a horizontal line is really needed, use "**\<hr>**". If a short line is needed, use: "**\<hr style="width:10%;text-align:left;margin-left:0">**"
This commit is contained in:
1 parent
1566e64949
commit
50f55b4c6a
25 files changed
+181
-188
No files matched your search
+1
-1
@@ -151,7 +151,7 @@ Here follows a description of some of the data structures and
|
||||
algorithms used by AG. It is by no means complete, but it may help
|
||||
you get an idea about the general principles.
|
||||
|
||||
---
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
Internally, AG represents words and sentences as arrays of 32
|
||||
4-bit integer elements. Each element represents the number of
|
||||
|
||||
@@ -242,7 +242,7 @@ algorithms are outlined in the spoiler below.</p>
|
||||
<p>Here follows a description of some of the data structures and
|
||||
algorithms used by AG. It is by no means complete, but it may help
|
||||
you get an idea about the general principles.</p>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>Internally, AG represents words and sentences as arrays of 32
|
||||
4-bit integer elements. Each element represents the number of
|
||||
times a letter occurs in the word/sentence. There are 32 elements
|
||||
|
||||
@@ -178,7 +178,7 @@ And another...
|
||||
cat august.oo august.oo august.oo test.oo | ./august
|
||||
```
|
||||
|
||||
---
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
Fitting the byte code for the compiler into the initial comment
|
||||
was a challenge. I had to strip the compiler/interpreter of
|
||||
@@ -202,7 +202,7 @@ coder), but decompression then takes up too much code. Maybe this
|
||||
would be a way to fit it all into the 1536 bytes, but I don't have
|
||||
time to try it.
|
||||
|
||||
---
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
Execution starts at `main()`. Nothing can be used before it is
|
||||
defined. `getchar()` and `putchar()` are predefined functions.
|
||||
@@ -271,7 +271,7 @@ Terminals are in quotes, `()` is used for bracketing.
|
||||
stars: "*"*
|
||||
```
|
||||
|
||||
---
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
|
||||
Well, that is enough ranting for now.
|
||||
|
||||
@@ -235,7 +235,7 @@ level of interpretation:</p>
|
||||
<pre><code> cat august.oo august.oo test.oo | ./august</code></pre>
|
||||
<p>And another…</p>
|
||||
<pre><code> cat august.oo august.oo august.oo test.oo | ./august</code></pre>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>Fitting the byte code for the compiler into the initial comment
|
||||
was a challenge. I had to strip the compiler/interpreter of
|
||||
a lot of functionality to bring down their sizes. The initial
|
||||
@@ -255,7 +255,7 @@ the code further with a better entropy coder (e.g. an arithmetic
|
||||
coder), but decompression then takes up too much code. Maybe this
|
||||
would be a way to fit it all into the 1536 bytes, but I don’t have
|
||||
time to try it.</p>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>Execution starts at <code>main()</code>. Nothing can be used before it is
|
||||
defined. <code>getchar()</code> and <code>putchar()</code> are predefined functions.</p>
|
||||
<p>Below is a description of the OC grammar.</p>
|
||||
@@ -316,7 +316,7 @@ defined. <code>getchar()</code> and <code>putchar()</code> are predefined functi
|
||||
"char" stars
|
||||
|
||||
stars: "*"*</code></pre>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>Well, that is enough ranting for now.</p>
|
||||
<!--
|
||||
|
||||
|
||||
+2
-2
@@ -118,7 +118,7 @@ reverse them. Anyone out there should have enough discipline and
|
||||
rot13 shouldn't be required, really. After all, we are not children
|
||||
anymore :-)
|
||||
|
||||
---
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
This paragraph is not part of the author's remarks, but is a helpful
|
||||
gift from the judges; if you read too fast to stop yourself, this should
|
||||
@@ -126,7 +126,7 @@ give you enough time to stop, which you really need to do RIGHT NOW if
|
||||
you don't want to read the spoilers, which really do spoil everything,
|
||||
we mean it.
|
||||
|
||||
---
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
The source file needs to be present because the words are read from
|
||||
it. The wordlist is encoded within the source using a 24 entry
|
||||
|
||||
+2
-2
@@ -237,13 +237,13 @@ rot13 spoilers since it is somewhat complicated on a Mac to
|
||||
reverse them. Anyone out there should have enough discipline and
|
||||
rot13 shouldn’t be required, really. After all, we are not children
|
||||
anymore :-)</p>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>This paragraph is not part of the author’s remarks, but is a helpful
|
||||
gift from the judges; if you read too fast to stop yourself, this should
|
||||
give you enough time to stop, which you really need to do RIGHT NOW if
|
||||
you don’t want to read the spoilers, which really do spoil everything,
|
||||
we mean it.</p>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>The source file needs to be present because the words are read from
|
||||
it. The wordlist is encoded within the source using a 24 entry
|
||||
sliding dictionary where lowercase letters are offsets into the
|
||||
|
||||
@@ -264,7 +264,7 @@ mind ;-)</p>
|
||||
l[12] - l[14] strspn argument
|
||||
l[34] terminator for backward decoding
|
||||
l[35] - l[998] input line</code></pre>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>Selected notes:
|
||||
- We don’t need to declare <code>isalnum(3)</code> (or include ctype.h) as its implicit
|
||||
declaration is correct (int argument, int result). This is not so for
|
||||
@@ -276,7 +276,7 @@ whereas it is not. Well, it is, but there is a sequence point in between.
|
||||
- lclint 2.4b parses line 13 as <error>, whereas it is correct code.
|
||||
- lclint 2.4b is positive the second <code>while</code> loop is infinite, whereas it is
|
||||
not.</p>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>.. - …. .. -. -.- - …. .. … … .–. — .. .-.. . .-. .. … – — .-. . — -… ..-. ..- … -.-. .- - . -.. - …. .- -. - …. . .–. .-. — –. .-. .- –</p>
|
||||
<p>. -..- . .-. -.-. .. … .
|
||||
-.-. …. .- -. –. . - …. . .–. .-. — –. .-. .- – … — .. - -.. — . … -. — - … …. — ..- -</p>
|
||||
|
||||
@@ -188,7 +188,7 @@ Summary of the use of l[999]:
|
||||
l[35] - l[998] input line
|
||||
```
|
||||
|
||||
---
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
Selected notes:
|
||||
- We don't need to declare `isalnum(3)` (or include ctype.h) as its implicit
|
||||
@@ -202,7 +202,7 @@ Selected notes:
|
||||
- lclint 2.4b is positive the second `while` loop is infinite, whereas it is
|
||||
not.
|
||||
|
||||
---
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
.. - .... .. -. -.- - .... .. ... ... .--. --- .. .-.. . .-. .. ... -- --- .-. . --- -... ..-. ..- ... -.-. .- - . -.. - .... .- -. - .... . .--. .-. --- --. .-. .- --
|
||||
|
||||
|
||||
@@ -293,7 +293,7 @@ Division by zero results in an IEEE Inf number.
|
||||
This section explains the meaning and rationale for the
|
||||
compile time parameters:
|
||||
|
||||
---
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
```
|
||||
-DC=XK_Up
|
||||
|
||||
@@ -312,7 +312,7 @@ value supposedly returned by it.</p>
|
||||
<h4 id="compilation-parameters-and-configuration">2.9. Compilation Parameters and Configuration</h4>
|
||||
<p>This section explains the meaning and rationale for the
|
||||
compile time parameters:</p>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<pre><code> -DC=XK_Up
|
||||
-DL=XK_Down
|
||||
-DO=XK_Left
|
||||
|
||||
+7
-2
@@ -150,8 +150,13 @@ header has a comment line for non-standard-compliant viewers (specifically, my
|
||||
old HDRShop 1.0). And there is a nice text message saying "please wait...".
|
||||
Despite the messy look, [a.c](a.c) and [hou.c](hou.c) compile warning-free
|
||||
([hou.c](hou.c) even wastes 18 bytes on `#include<stdio.h>` just for `putchar(3)`).
|
||||
[a.c](a.c) compiles mostly clean in the C99/ANSI modes of clang and gcc (with `-Wall
|
||||
--pedantic`). The only warning generated is a pedantic one: `"string constant
|
||||
[a.c](a.c) compiles mostly clean in the C99/ANSI modes of clang and gcc (with:
|
||||
|
||||
```
|
||||
-Wall --pedantic
|
||||
```
|
||||
|
||||
The only warning generated is a pedantic one: `"string constant
|
||||
too long"`.
|
||||
|
||||
|
||||
|
||||
+10
-40
@@ -228,13 +228,7 @@ like this comment.</p>
|
||||
<p>Basically, you define a geometry using volume shaders, define a camera using a
|
||||
camera shader, and define light sources and surface reflectance properties using
|
||||
material shaders.</p>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td style="text-align: left;">Continue to the comments before function A</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="continue-to-the-comments-before-function-a">Continue to the comments before function A</h3>
|
||||
<pre><code> //As an (optional) assignment, figure out what function 'n' does. And why there is a plus sign at every EOL except the last.
|
||||
n]#=1+
|
||||
x=X+1/2+
|
||||
@@ -251,7 +245,7 @@ material shaders.</p>
|
||||
C=C#d+3*9+
|
||||
#=d+
|
||||
R=0#n</code></pre>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>The function <code>A</code> initializes global settings:</p>
|
||||
<pre><code> G -- Image width, in pixels
|
||||
H -- Image height, in pixels
|
||||
@@ -284,13 +278,7 @@ in China and my parents were planning to renovate their apartment. I rendered
|
||||
the image to tell my mom how ridiculous her starry-sky wall paper would look
|
||||
like if she used it on every single wall. She ends up using it on just one wall,
|
||||
the one facing my bed, to thank me for the effort.</p>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td style="text-align: left;">Continue to the comments before function a</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="continue-to-the-comments-before-function-a-1">Continue to the comments before function a</h3>
|
||||
<pre><code> //As a bonus, find out what the first line does
|
||||
A]#=#-#;"=7:0-p+^;#="+
|
||||
R=n+
|
||||
@@ -302,7 +290,7 @@ the one facing my bed, to thank me for the effort.</p>
|
||||
J=1/2+
|
||||
C=p+1+
|
||||
U=w+w+w</code></pre>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>The function <code>a</code> is the camera shader, which, well, generates the camera ray.
|
||||
It’s supposed to return the ray in variables <code>UVWXYZ</code> and <code>ABCDEF</code> (that may
|
||||
sound like a lot of variables, but it really isn’t that much).</p>
|
||||
@@ -325,13 +313,7 @@ happen. Wall up everything.</p>
|
||||
explained in the material shaders part. For now, just put in:</p>
|
||||
<pre><code> A=0;B=0;C=0
|
||||
D=1;E=1;F=1</code></pre>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td style="text-align: left;">Continue to the comments before function 1</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="continue-to-the-comments-before-function-1">Continue to the comments before function 1</h3>
|
||||
<pre><code> a]R=0+
|
||||
X=5:5+
|
||||
Y=5:5+
|
||||
@@ -355,7 +337,7 @@ explained in the material shaders part. For now, just put in:</p>
|
||||
W=p*8+
|
||||
A=0;B=0;C=0+
|
||||
D=1;E=1;F=1</code></pre>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>The numbered functions define materials, i.e., surface reflectance properties.
|
||||
As the name suggests, the shader simulates ray-surface interaction. It’s done by
|
||||
updating <code>UVWXYZABCDEF</code>, of course.</p>
|
||||
@@ -378,13 +360,7 @@ same if you use a RGB texture. And yes, that is the what the second <code>sqrt(3
|
||||
<p>Going beyond colors, to define a shiny or dull surface one needs more maths, and
|
||||
optics. The jargon for this is <code>BRDF</code> (Bidirectional Reflectance Distribution
|
||||
Function) importance sampling. Let’s continue to function <code>o</code>.</p>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td style="text-align: left;">Continue to the comments before function o</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="continue-to-the-comments-before-function-o">Continue to the comments before function o</h3>
|
||||
<pre><code> //This function computes the starred wallpaper
|
||||
//Original color: 0.36 0.714285 0.8
|
||||
1]R=o+
|
||||
@@ -411,7 +387,7 @@ Function) importance sampling. Let’s continue to function <code>o</code>.</p>
|
||||
E=E*4/7+
|
||||
d=I#2/5+
|
||||
F=F*d</code></pre>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>Function <code>o</code> defines a diffuse (that is, dull) surface. To define reflectance
|
||||
properties like this, one needs to sample an outgoing ray direction, based on
|
||||
the incoming direction and the surface normal. It’s called importance sampling,
|
||||
@@ -434,13 +410,7 @@ directly model the
|
||||
<a href="https://en.wikipedia.org/wiki/Mesoscopic_physics">mesoscopic</a> detail. Shader
|
||||
<code>D</code> in this file produces a bunch of dense, tiny spikes to simulate a fluffy
|
||||
appearance.</p>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td style="text-align: left;">Continue to the EOF</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="continue-to-the-eof">Continue to the EOF</h3>
|
||||
<pre><code> //diffuse ray generation
|
||||
o]R=0+
|
||||
u=5:5+
|
||||
@@ -538,7 +508,7 @@ appearance.</p>
|
||||
y=4:#/7+
|
||||
#=#-y*7+
|
||||
C=7#C</code></pre>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>The last line, well, is the output filename. Just remember to throw in two <code>]</code>s
|
||||
and don’t put a newline after it.</p>
|
||||
<pre><code> ]]example.ppm</code></pre>
|
||||
|
||||
+10
-22
@@ -136,9 +136,7 @@ camera shader, and define light sources and surface reflectance properties using
|
||||
material shaders.
|
||||
|
||||
|
||||
-------------------------------------------
|
||||
Continue to the comments before function A
|
||||
-------------------------------------------
|
||||
### Continue to the comments before function A
|
||||
|
||||
|
||||
```
|
||||
@@ -160,7 +158,7 @@ Continue to the comments before function A
|
||||
R=0#n
|
||||
```
|
||||
|
||||
-------------------------------------------
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
The function `A` initializes global settings:
|
||||
|
||||
@@ -204,9 +202,7 @@ like if she used it on every single wall. She ends up using it on just one wall,
|
||||
the one facing my bed, to thank me for the effort.
|
||||
|
||||
|
||||
-------------------------------------------
|
||||
Continue to the comments before function a
|
||||
-------------------------------------------
|
||||
### Continue to the comments before function a
|
||||
|
||||
```
|
||||
//As a bonus, find out what the first line does
|
||||
@@ -222,8 +218,7 @@ Continue to the comments before function a
|
||||
U=w+w+w
|
||||
```
|
||||
|
||||
|
||||
-------------------------------------------
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
The function `a` is the camera shader, which, well, generates the camera ray.
|
||||
It's supposed to return the ray in variables `UVWXYZ` and `ABCDEF` (that may
|
||||
@@ -256,9 +251,7 @@ explained in the material shaders part. For now, just put in:
|
||||
D=1;E=1;F=1
|
||||
```
|
||||
|
||||
-------------------------------------------
|
||||
Continue to the comments before function 1
|
||||
-------------------------------------------
|
||||
### Continue to the comments before function 1
|
||||
|
||||
```
|
||||
a]R=0+
|
||||
@@ -286,8 +279,7 @@ Continue to the comments before function 1
|
||||
D=1;E=1;F=1
|
||||
```
|
||||
|
||||
|
||||
--------------------------------------------------------
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
The numbered functions define materials, i.e., surface reflectance properties.
|
||||
As the name suggests, the shader simulates ray-surface interaction. It's done by
|
||||
@@ -318,9 +310,7 @@ optics. The jargon for this is `BRDF` (Bidirectional Reflectance Distribution
|
||||
Function) importance sampling. Let's continue to function `o`.
|
||||
|
||||
|
||||
-------------------------------------------
|
||||
Continue to the comments before function o
|
||||
-------------------------------------------
|
||||
### Continue to the comments before function o
|
||||
|
||||
```
|
||||
//This function computes the starred wallpaper
|
||||
@@ -351,7 +341,7 @@ Continue to the comments before function o
|
||||
F=F*d
|
||||
```
|
||||
|
||||
-------------------------------------------
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
Function `o` defines a diffuse (that is, dull) surface. To define reflectance
|
||||
properties like this, one needs to sample an outgoing ray direction, based on
|
||||
@@ -385,9 +375,7 @@ appearance.
|
||||
|
||||
|
||||
|
||||
-------------------------------------------
|
||||
Continue to the EOF
|
||||
-------------------------------------------
|
||||
### Continue to the EOF
|
||||
|
||||
```
|
||||
//diffuse ray generation
|
||||
@@ -489,7 +477,7 @@ Continue to the EOF
|
||||
C=7#C
|
||||
```
|
||||
|
||||
-------------------------------------------
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
The last line, well, is the output filename. Just remember to throw in two `]`s
|
||||
and don't put a newline after it.
|
||||
|
||||
+3
-1
@@ -264,8 +264,10 @@ header has a comment line for non-standard-compliant viewers (specifically, my
|
||||
old HDRShop 1.0). And there is a nice text message saying “please wait…”.
|
||||
Despite the messy look, <a href="a.c">a.c</a> and <a href="hou.c">hou.c</a> compile warning-free
|
||||
(<a href="hou.c">hou.c</a> even wastes 18 bytes on <code>#include<stdio.h></code> just for <code>putchar(3)</code>).
|
||||
<a href="a.c">a.c</a> compiles mostly clean in the C99/ANSI modes of clang and gcc (with <code>-Wall --pedantic</code>). The only warning generated is a pedantic one: <code>"string constant too long"</code>.</li>
|
||||
<a href="a.c">a.c</a> compiles mostly clean in the C99/ANSI modes of clang and gcc (with:</li>
|
||||
</ul>
|
||||
<pre><code>-Wall --pedantic</code></pre>
|
||||
<p>The only warning generated is a pedantic one: <code>"string constant too long"</code>.</p>
|
||||
<h3 id="comments-and-why-obfuscated">Comments and why obfuscated</h3>
|
||||
<ul>
|
||||
<li>Both the compression and the rendering use mathematically involved algorithms.
|
||||
|
||||
@@ -341,7 +341,11 @@ The following reserved word files are included:
|
||||
|
||||
NB: The keyword file used in this code is derived from the list in [iocccsize.c](../../2018/iocccsize.c),
|
||||
which is neither complete (`#define`, `#ifndef`, `#undef` are missing
|
||||
-- yes, Virginia knows about `#define` omitted on purpose),
|
||||
|
||||
```
|
||||
yes, Virginia knows about `#define` omitted on purpose
|
||||
``
|
||||
|
||||
nor correct (many more are added: `I`, `true`, `bool`, `compl`, ...):
|
||||
|
||||
``` <!---sh-->
|
||||
|
||||
+66
-47
@@ -399,56 +399,75 @@ the IOJCC trash can.</p>
|
||||
<li><a href="ioccc.kw.freq">ioccc.kw.freq</a> c11 + additional words, sorted on frequency of occurrence in IOCCC entries</li>
|
||||
</ul>
|
||||
<p>NB: The keyword file used in this code is derived from the list in <a href="../../2018/iocccsize.c">iocccsize.c</a>,
|
||||
which is neither complete (<code>#define</code>, <code>#ifndef</code>, <code>#undef</code> are missing
|
||||
– yes, Virginia knows about <code>#define</code> omitted on purpose),
|
||||
nor correct (many more are added: <code>I</code>, <code>true</code>, <code>bool</code>, <code>compl</code>, …):</p>
|
||||
<pre><code> (sed -n '1p' c11; sed -n '2,$p' ioccc.kw.freq | sort) | comm -3 - c11</code></pre>
|
||||
<p>That is an obfuscated way to say “diff”. But it also more clearly shows the, um, diffs.</p>
|
||||
<p>The usage string is similarly externalized, providing a better usability string than
|
||||
the limits would otherwise allow. If this is considered bending the rules too far,
|
||||
just <code>-DU=O</code> to get a passible, if cryptic, usage message using no additional octets
|
||||
which is neither complete (<code>#define</code>, <code>#ifndef</code>, <code>#undef</code> are missing</p>
|
||||
<pre><code>yes, Virginia knows about `#define` omitted on purpose
|
||||
``
|
||||
|
||||
nor correct (many more are added: `I`, `true`, `bool`, `compl`, ...):
|
||||
</code></pre>
|
||||
<p>(sed -n ‘1p’ c11; sed -n ‘2,$p’ ioccc.kw.freq | sort) | comm -3 - c11</p>
|
||||
<pre><code>
|
||||
That is an obfuscated way to say "diff". But it also more clearly shows the, um, diffs.
|
||||
|
||||
The usage string is similarly externalized, providing a better usability string than
|
||||
the limits would otherwise allow. If this is considered bending the rules too far,
|
||||
just `-DU=O` to get a passible, if cryptic, usage message using no additional octets
|
||||
than without the define.
|
||||
This also allows the builder to configure the amount of help a utility should provide
|
||||
(<a href="https://www.youtube.com/watch?v=VU0GYSA1POs" title="Ants">you want a manpage? Because that’s how you get a manpage.</a>) – a rather
|
||||
significant point of contention made moot.</p>
|
||||
<p>There is definitely abuse of the Rule2 counter, exploiting a “feature” of
|
||||
<code>iocccsize</code>: <code>iocccsize</code> does not Rule2 count <code>{</code>, <code>}</code> and <code>;</code> when followed by
|
||||
whitespace – even within a string! Thus: Freecode, a simple, uncounted, highly
|
||||
obfuscated encoding of a central part of this program. (The reserved word list
|
||||
is not Freecoded, both because it is useful apart from the program, and because
|
||||
Freecode is not entirely free.)</p>
|
||||
<ul>
|
||||
<li>Some restrictions apply. Not approved for all uses. Some assembly required.</li>
|
||||
</ul>
|
||||
<h3 id="compilation">Compilation:</h3>
|
||||
<p>The code is ANSI compliant, but it does have a string longer than 509 characters.
|
||||
It has been tested on OSX and Linux, Clang and GCC.</p>
|
||||
<p>The code uses trigraphs, ironically: it parses trigraphs with trigraph code.
|
||||
Because that’s funny. And it remains obscure after, so trigraphs are not used
|
||||
for obfuscation. Thus <code>-trigraphs -Wno-trigraphs</code> (which is also humorous).</p>
|
||||
<p>It’s obfuscated C. Thus <code>-Wno-parentheses -Wno-empty-body -Wno-char-subscripts</code>.</p>
|
||||
<p>The code uses <code>unsigned char</code>s, but C strings are <code>signed</code>. Thus <code>-Wno-pointer-sign</code>.
|
||||
NB: This is <em>not</em> a portability concern, the one string holds only printable ASCII characters.</p>
|
||||
<p>Thus:</p>
|
||||
<pre><code> cc -ansi -Wall -trigraphs -Wno-trigraphs -Wno-parentheses -Wno-empty-body -Wno-char-subscripts -Wno-pointer-sign -DU=O -DW=\"keywords\" -o prog prog.c</code></pre>
|
||||
<h3 id="coda">Coda:</h3>
|
||||
<p><a href="../../authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson</a> was relentless in his pursuit of bugs.
|
||||
Thanks to his reports, the version of <a href="unob.sh">unob.sh</a> is stronger,
|
||||
<code>tac</code> groks digraphs, <a href="tokenfix.sh">tokenfix.sh</a> corrects for missing digraphs
|
||||
in <a href="prog.c">prog.c</a>, and the program <a href="manpage.sh">manpage.sh</a> was added to the corpus.</p>
|
||||
<p><a href="manpage.sh">manpage.sh</a> is a useful program that turns ASCII versions of man
|
||||
pages (e.g. <a href="tac.man">tac.man</a>) into real man pages. It works for C and C-like
|
||||
languages, command lines, and was designed to handle man page sections 1-8. It
|
||||
works well on most inputs, but tends to need some raw nroff for more fancy
|
||||
constructions, such as combined arguments (e.g. the <code>-r</code> and <code>-s</code> arguments to tac
|
||||
are not recognised when written as <code>-rs</code> in prose).</p>
|
||||
<p>Try:</p>
|
||||
<pre><code> ./manpage.sh tac
|
||||
([you want a manpage? Because that's how you get a manpage.][5]) -- a rather
|
||||
significant point of contention made moot.
|
||||
|
||||
./manpage.sh -h
|
||||
./manpage.sh -h | ./manpage.sh
|
||||
./manpage.sh -h | ./manpage.sh -R | less
|
||||
./manpage.sh -h | ./manpage.sh -P | lpr</code></pre>
|
||||
There is definitely abuse of the Rule2 counter, exploiting a "feature" of
|
||||
`iocccsize`: `iocccsize` does not Rule2 count `{`, `}` and `;` when followed by
|
||||
whitespace -- even within a string! Thus: Freecode, a simple, uncounted, highly
|
||||
obfuscated encoding of a central part of this program. (The reserved word list
|
||||
is not Freecoded, both because it is useful apart from the program, and because
|
||||
Freecode is not entirely free.)
|
||||
|
||||
* Some restrictions apply. Not approved for all uses. Some assembly required.
|
||||
|
||||
[5]: https://www.youtube.com/watch?v=VU0GYSA1POs "Ants"
|
||||
|
||||
### Compilation:
|
||||
|
||||
The code is ANSI compliant, but it does have a string longer than 509 characters.
|
||||
It has been tested on OSX and Linux, Clang and GCC.
|
||||
|
||||
The code uses trigraphs, ironically: it parses trigraphs with trigraph code.
|
||||
Because that's funny. And it remains obscure after, so trigraphs are not used
|
||||
for obfuscation. Thus `-trigraphs -Wno-trigraphs` (which is also humorous).
|
||||
|
||||
It's obfuscated C. Thus `-Wno-parentheses -Wno-empty-body -Wno-char-subscripts`.
|
||||
|
||||
The code uses `unsigned char`s, but C strings are `signed`. Thus `-Wno-pointer-sign`.
|
||||
NB: This is *not* a portability concern, the one string holds only printable ASCII characters.
|
||||
|
||||
Thus:
|
||||
</code></pre>
|
||||
<p>cc -ansi -Wall -trigraphs -Wno-trigraphs -Wno-parentheses -Wno-empty-body -Wno-char-subscripts -Wno-pointer-sign -DU=O -DW="keywords" -o prog prog.c</p>
|
||||
<pre><code>
|
||||
### Coda:
|
||||
|
||||
[Cody Boone Ferguson](../../authors.html#Cody_Boone_Ferguson) was relentless in his pursuit of bugs.
|
||||
Thanks to his reports, the version of [unob.sh](unob.sh) is stronger,
|
||||
`tac` groks digraphs, [tokenfix.sh](tokenfix.sh) corrects for missing digraphs
|
||||
in [prog.c](prog.c), and the program [manpage.sh](manpage.sh) was added to the corpus.
|
||||
|
||||
[manpage.sh](manpage.sh) is a useful program that turns ASCII versions of man
|
||||
pages (e.g. [tac.man](tac.man)) into real man pages. It works for C and C-like
|
||||
languages, command lines, and was designed to handle man page sections 1-8. It
|
||||
works well on most inputs, but tends to need some raw nroff for more fancy
|
||||
constructions, such as combined arguments (e.g. the `-r` and `-s` arguments to tac
|
||||
are not recognised when written as `-rs` in prose).
|
||||
|
||||
Try:
|
||||
</code></pre>
|
||||
<p>./manpage.sh tac</p>
|
||||
<p>./manpage.sh -h
|
||||
./manpage.sh -h | ./manpage.sh
|
||||
./manpage.sh -h | ./manpage.sh -R | less
|
||||
./manpage.sh -h | ./manpage.sh -P | lpr
|
||||
```</p>
|
||||
<p>NOTE: in 2023 the <code>tac.man</code> was updated to proper man format and renamed
|
||||
<a href="tac.1">tac.1</a>.</p>
|
||||
<!--
|
||||
|
||||
@@ -791,7 +791,7 @@ those friends and coworkers who had to listen to me complain about obscure
|
||||
corner-case bugs in my code. The obsession is over, at least until next
|
||||
time...
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
[1]: ../../1984/mullender/mullender.c "mullender.c"
|
||||
[2]: http://minnie.tuhs.org/cgi-bin/utree.pl?file=2.9BSD "2.9 BSD"
|
||||
|
||||
@@ -758,7 +758,7 @@ to queries about how I was spending my free time. Similarly, I apologise to
|
||||
those friends and coworkers who had to listen to me complain about obscure
|
||||
corner-case bugs in my code. The obsession is over, at least until next
|
||||
time…</p>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<!--
|
||||
|
||||
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
|
||||
|
||||
@@ -54,7 +54,7 @@ Alternatively, if you want to change the size, do something like:
|
||||
|
||||
The author provided us with the following table for use:
|
||||
|
||||
---
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
* **Arrow keys**: move cursor.
|
||||
* `p` key: enter *pen* mode (type **p** again to return to the default *move*
|
||||
@@ -76,7 +76,7 @@ After editing the file and quitting, try:
|
||||
i.e. execute the file.
|
||||
|
||||
|
||||
---
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
WARNING: if the file is deleted it might lock any session still in use. These
|
||||
will have to be killed from another shell session or by closing the terminal tab
|
||||
|
||||
@@ -171,7 +171,7 @@ See <a href="#alternate-code">Alternate code</a> below if you are curious.</p>
|
||||
<p>Alternatively, if you want to change the size, do something like:</p>
|
||||
<pre><code> make clobber LINES=20 COLUMNS=20 all</code></pre>
|
||||
<p>The author provided us with the following table for use:</p>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<ul>
|
||||
<li><strong>Arrow keys</strong>: move cursor.</li>
|
||||
<li><code>p</code> key: enter <em>pen</em> mode (type <strong>p</strong> again to return to the default <em>move</em>
|
||||
@@ -186,7 +186,7 @@ the editor.</p>
|
||||
<p>After editing the file and quitting, try:</p>
|
||||
<pre><code> /tmp/drawing</code></pre>
|
||||
<p>i.e. execute the file.</p>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>WARNING: if the file is deleted it might lock any session still in use. These
|
||||
will have to be killed from another shell session or by closing the terminal tab
|
||||
(in other words don’t do this from the console!). If the file cannot be opened
|
||||
|
||||
+13
-9
@@ -398,19 +398,23 @@ with `RNN(h, x)` defined as above. Each RNN module has its own set of
|
||||
parameters and its own hidden state vector. This will improve the network's
|
||||
performance, at the cost of a much larger parameter space.
|
||||
|
||||
---
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
**IMPORTANT NOTE**: Since OMLET uses the system stack for network storage,
|
||||
**IMPORTANT NOTE**:
|
||||
|
||||
```
|
||||
Since OMLET uses the system stack for network storage,
|
||||
larger networks may cause OMLET to crash (typically with a message like
|
||||
`Segmentation fault`) unless the system stack size is first increased.
|
||||
Segmentation fault) unless the system stack size is first increased.
|
||||
The exact command for doing so depends on your shell and your system's
|
||||
hard limits. On `sh`/`ksh`/`bash` shells, you can view the hard limit
|
||||
with `ulimit -Hs` and set it with `ulimit -s 65532` (replacing `65532`
|
||||
with the actual hard limit). On `csh`/`tcsh` shells, you can view
|
||||
the hard limit with `limit -h stacksize` and set it with
|
||||
`limit stacksize 65532` (replacing `65532` with the actual hard limit).
|
||||
hard limits. On sh/ksh/bash shells, you can view the hard limit
|
||||
with ulimit -Hs and set it with ulimit -s 65532 (replacing 65532
|
||||
with the actual hard limit). On csh/tcsh shells, you can view
|
||||
the hard limit with limit -h stacksize and set it with
|
||||
limit stacksize 65532 (replacing 65532 with the actual hard limit).
|
||||
```
|
||||
|
||||
---
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
You can try the deeper network by doing
|
||||
|
||||
|
||||
+11
-10
@@ -435,17 +435,18 @@ other:</p>
|
||||
<p>with <code>RNN(h, x)</code> defined as above. Each RNN module has its own set of
|
||||
parameters and its own hidden state vector. This will improve the network’s
|
||||
performance, at the cost of a much larger parameter space.</p>
|
||||
<hr />
|
||||
<p><strong>IMPORTANT NOTE</strong>: Since OMLET uses the system stack for network storage,
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p><strong>IMPORTANT NOTE</strong>:</p>
|
||||
<pre><code>Since OMLET uses the system stack for network storage,
|
||||
larger networks may cause OMLET to crash (typically with a message like
|
||||
<code>Segmentation fault</code>) unless the system stack size is first increased.
|
||||
The exact command for doing so depends on your shell and your system’s
|
||||
hard limits. On <code>sh</code>/<code>ksh</code>/<code>bash</code> shells, you can view the hard limit
|
||||
with <code>ulimit -Hs</code> and set it with <code>ulimit -s 65532</code> (replacing <code>65532</code>
|
||||
with the actual hard limit). On <code>csh</code>/<code>tcsh</code> shells, you can view
|
||||
the hard limit with <code>limit -h stacksize</code> and set it with
|
||||
<code>limit stacksize 65532</code> (replacing <code>65532</code> with the actual hard limit).</p>
|
||||
<hr />
|
||||
Segmentation fault) unless the system stack size is first increased.
|
||||
The exact command for doing so depends on your shell and your system's
|
||||
hard limits. On sh/ksh/bash shells, you can view the hard limit
|
||||
with ulimit -Hs and set it with ulimit -s 65532 (replacing 65532
|
||||
with the actual hard limit). On csh/tcsh shells, you can view
|
||||
the hard limit with limit -h stacksize and set it with
|
||||
limit stacksize 65532 (replacing 65532 with the actual hard limit).</code></pre>
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>You can try the deeper network by doing</p>
|
||||
<pre><code> make rnn2</code></pre>
|
||||
<p>(or even <code>make rnn3</code> if you want a three-layer RNN) and train it with</p>
|
||||
|
||||
@@ -36,7 +36,7 @@ way it works too fast regardless of the context length, and it's much less fun.
|
||||
|
||||
The author wrote in reply:
|
||||
|
||||
---
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
Wow, amazing! Very fast, but there is a drawback to randomness.
|
||||
If some string only appears after half the input, the first instance
|
||||
@@ -56,7 +56,7 @@ Example:
|
||||
-- Author
|
||||
```
|
||||
|
||||
---
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
|
||||
Try using the same random seed and varying the context size.
|
||||
|
||||
@@ -167,7 +167,7 @@ context length decreases:</p>
|
||||
the (still non-standard, for some reason) library function <code>memmem()</code>, but that
|
||||
way it works too fast regardless of the context length, and it’s much less fun.</p>
|
||||
<p>The author wrote in reply:</p>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>Wow, amazing! Very fast, but there is a drawback to randomness.
|
||||
If some string only appears after half the input, the first instance
|
||||
of this string will have a 50% chance of occurrence.
|
||||
@@ -179,7 +179,7 @@ Example:</p>
|
||||
# more ones in output</code></pre>
|
||||
<pre><code> But this will happen very rarely on real data.
|
||||
-- Author</code></pre>
|
||||
<hr />
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>Try using the same random seed and varying the context size.</p>
|
||||
<p>BTW: what on Middle-earth is <code>lámatyávë</code>? It’s Quenya, one of the languages of
|
||||
the Elves in Tolkien’s Legendarium. It means sound taste (plural is lámatyáver)
|
||||
|
||||
+28
-28
@@ -2498,7 +2498,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1991/ant/index.html</loc>
|
||||
<lastmod>2024-04-18T23:29:08+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:20:09+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1991/ant/Makefile</loc>
|
||||
@@ -2510,7 +2510,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1991/ant/README.md</loc>
|
||||
<lastmod>2024-04-17T07:02:43+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:13:56+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1991/brnstnd/1991_brnstnd.tar.bz2</loc>
|
||||
@@ -3262,7 +3262,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1992/gson/index.html</loc>
|
||||
<lastmod>2024-04-18T23:29:15+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:47:42+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1992/gson/Makefile</loc>
|
||||
@@ -3278,7 +3278,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1992/gson/README.md</loc>
|
||||
<lastmod>2024-04-12T18:22:04+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:43:43+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1992/gson/try.sh</loc>
|
||||
@@ -5302,7 +5302,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1996/august/index.html</loc>
|
||||
<lastmod>2024-04-18T23:29:36+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:48:02+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1996/august/Makefile</loc>
|
||||
@@ -5318,7 +5318,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1996/august/README.md</loc>
|
||||
<lastmod>2024-04-12T18:22:04+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:46:06+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1996/august/test.oc</loc>
|
||||
@@ -6030,7 +6030,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1998/df/index.html</loc>
|
||||
<lastmod>2024-04-18T23:29:44+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:48:10+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1998/df/Makefile</loc>
|
||||
@@ -6042,7 +6042,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1998/df/README.md</loc>
|
||||
<lastmod>2024-04-12T18:22:04+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:45:46+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1998/df/try.sh</loc>
|
||||
@@ -6154,11 +6154,11 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1998/dorssel/dorssel.html</loc>
|
||||
<lastmod>2024-04-18T23:28:31+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:46:58+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1998/dorssel/dorssel.md</loc>
|
||||
<lastmod>2024-04-12T18:22:04+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:45:53+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/1998/dorssel/dorssel.orig.c</loc>
|
||||
@@ -6790,7 +6790,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2000/jarijyrki/index.html</loc>
|
||||
<lastmod>2024-04-18T23:29:52+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:48:18+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2000/jarijyrki/jarijyrki.c</loc>
|
||||
@@ -6810,7 +6810,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2000/jarijyrki/README.md</loc>
|
||||
<lastmod>2024-04-12T18:22:04+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:43:51+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2000/Makefile</loc>
|
||||
@@ -13510,11 +13510,11 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2013/hou/doc/example.html</loc>
|
||||
<lastmod>2024-04-18T23:28:32+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:47:00+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2013/hou/doc/example.md</loc>
|
||||
<lastmod>2024-04-12T18:22:04+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:43:37+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2013/hou/.entry.json</loc>
|
||||
@@ -13534,7 +13534,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2013/hou/index.html</loc>
|
||||
<lastmod>2024-04-18T23:30:44+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:39:30+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2013/hou/luna.jpg</loc>
|
||||
@@ -13566,7 +13566,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2013/hou/README.md</loc>
|
||||
<lastmod>2024-04-12T18:22:04+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:37:17+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2013/hou/try.sh</loc>
|
||||
@@ -14918,7 +14918,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2015/index.html</loc>
|
||||
<lastmod>2024-04-18T23:28:27+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:20:50+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2015/iocccsize.c</loc>
|
||||
@@ -15122,7 +15122,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2015/README.md</loc>
|
||||
<lastmod>2024-04-12T18:22:04+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:16:43+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2015/rules.txt</loc>
|
||||
@@ -15478,7 +15478,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/burton2/index.html</loc>
|
||||
<lastmod>2024-04-18T23:31:01+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:49:27+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/burton2/iocccbug01.c</loc>
|
||||
@@ -15554,7 +15554,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/burton2/README.md</loc>
|
||||
<lastmod>2024-04-17T07:33:43+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:45:39+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/burton2/results</loc>
|
||||
@@ -16058,7 +16058,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/mills/index.html</loc>
|
||||
<lastmod>2024-04-18T23:31:05+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:49:30+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/mills/Makefile</loc>
|
||||
@@ -16078,7 +16078,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/mills/README.md</loc>
|
||||
<lastmod>2024-04-17T07:38:49+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:44:50+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2018/mills/v0.image.fs</loc>
|
||||
@@ -16690,7 +16690,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/duble/index.html</loc>
|
||||
<lastmod>2024-04-18T23:31:10+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:49:35+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/duble/Makefile</loc>
|
||||
@@ -16714,7 +16714,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/duble/README.md</loc>
|
||||
<lastmod>2024-04-12T18:22:04+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:44:00+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/endoh/2019_endoh.tar.bz2</loc>
|
||||
@@ -16978,7 +16978,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/mills/index.html</loc>
|
||||
<lastmod>2024-04-18T23:31:12+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:49:38+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/mills/IOCCC-hints.cp09_1.809</loc>
|
||||
@@ -17014,7 +17014,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/mills/README.md</loc>
|
||||
<lastmod>2024-04-17T07:00:58+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:44:31+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2019/mills/Shakespeare.cp04_1.633</loc>
|
||||
@@ -17954,7 +17954,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2020/kurdyukov4/index.html</loc>
|
||||
<lastmod>2024-04-18T23:31:19+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:49:45+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2020/kurdyukov4/Makefile</loc>
|
||||
@@ -17978,7 +17978,7 @@
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2020/kurdyukov4/README.md</loc>
|
||||
<lastmod>2024-04-17T07:40:29+00:00</lastmod>
|
||||
<lastmod>2024-04-19T00:44:43+00:00</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://ioccc-src.github.io/temp-test-ioccc/2020/kurdyukov4/Shakespeare.txt</loc>
|
||||
|
||||
Reference in new issue
Block a user