Various fixes in guidelines

This commit is contained in:
Cody Boone Ferguson committed 2024-08-22 10:45:25 -07:00
1 parent 9ce778a8dc
commit c5ddc5b7d9
2 files changed
+71 -24

No files matched your search

+34 -12
View File
@@ -424,7 +424,7 @@ writing by <a href="../contact.html">contacting the judges</a>.</p>
<h2 id="ioccc-guidelines-version">IOCCC Guidelines version</h2>
</div>
<p class="leftbar">
These <a href="guidelines.html">IOCCC guidelines</a> are version <strong>28.12 2024-08-21</strong>.
These <a href="guidelines.html">IOCCC guidelines</a> are version <strong>28.13 2024-08-22</strong>.
</p>
<p><strong>IMPORTANT</strong>: Be <strong>SURE</strong> to read the <a href="rules.html">IOCCC rules</a>.</p>
<div id="change_marks">
@@ -671,7 +671,7 @@ If <code>mkiocccentry</code> encounters an <strong>error</strong> the program wi
compressed tarball <strong>will not be formed</strong>. For instance, if <code>chkentry(1)</code> (see
below) fails to validate the <code>.auth.json</code> or <code>.info.json</code>
<a href="https://www.json.org/json-en.html">JSON</a> files that <code>mkiocccentry(1)</code> creates,
it is an error and possibly a bug that you should <a href="https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&amp;labels=bug&amp;projects=&amp;template=bug_report.yml&amp;title=%5BBug%5D+%3Ctitle%3E">report as a bug at the
it is an error and <strong>possibly</strong> a bug that you should <a href="https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&amp;labels=bug&amp;projects=&amp;template=bug_report.yml&amp;title=%5BBug%5D+%3Ctitle%3E">report as a bug at the
mkiocccentry issues
page</a>.
<strong>PLEASE run the <code>bug_report.sh</code> script to help us out here!</strong> See the
@@ -730,7 +730,7 @@ As we already discussed how to invoke this we will not include it here again.
submission. These files <strong>MUST</strong> pass the checks of <code>chkentry(1)</code>.
</p>
<p class="leftbar">
If <code>chkentry</code> does not pass and you used <code>mkiocccentry(1)</code> it is very possibly a
If <code>chkentry</code> does not pass and you used <code>mkiocccentry(1)</code> it is <strong>possibly</strong> a
bug and you should <a href="https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&amp;labels=bug&amp;projects=&amp;template=bug_report.yml&amp;title=%5BBug%5D+%3Ctitle%3E">report it as a bug at the mkiocccentry issues
page</a>.
See the FAQ on “<a href="../faq.html#mkiocccentry_bugs">report mkiocccentry bugs</a>”.
@@ -758,13 +758,21 @@ for much more information on these files.
<p class="leftbar">
<code>txzchk(1)</code> performs a wide number of sanity checks on the xz
compressed tarball; if any issues are found (‘<code>feathers are stuck in the tarball</code>’ :-) ) <strong>AND if and <em>ONLY IF</em> you used
<code>mkiocccentry(1)</code></strong>, then it is very possibly a bug in one of the tools and you
should <a href="https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&amp;labels=bug&amp;projects=&amp;template=bug_report.yml&amp;title=%5BBug%5D+%3Ctitle%3E">report it as a bug at the mkiocccentry issues
<code>mkiocccentry(1)</code></strong>, then it is <strong>possibly</strong> a bug in one of the tools and you
might want to <a href="https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&amp;labels=bug&amp;projects=&amp;template=bug_report.yml&amp;title=%5BBug%5D+%3Ctitle%3E">report it as a bug at the mkiocccentry issues
page</a>. <strong>PLEASE run the
<code>bug_report.sh</code> script to help us out here!</strong> See the
FAQ on “<a href="../faq.html#mkiocccentry_bugs">report mkiocccentry bugs</a>”.
</p>
<p class="leftbar">
Of course, it is also possible that <code>mkiocccentry(1)</code> or one or more of the
tools it calls (or another tool calls) to fail and it is <strong>NOT</strong> a bug. An
example problem is if there is not enough memory available or if some other
library or syscall fails. Nonetheless it might be worth reporting as a bug. It
is a judgement call; if it’s a bug it’ll be addressed and if it’s not that’s OK
too.
</p>
<p class="leftbar">
As part of its sanity checks, <code>txzchk(1)</code> will run <code>fnamchk(1)</code> on the
<em>filename</em> to verify that the name is valid. See the
FAQ on “<a href="../faq.html#fnamchk">fnamchk</a>”
@@ -1165,7 +1173,7 @@ replacement of <code>init</code> would not be an interesting submission.</p>
some complex state machine to do something simple are boring?
We think we did. :-)</p>
<blockquote>
<p>All generalizations are false, including this one. – Mark Twain</p>
<p>All generalizations are false, including this one. – <strong>Mark Twain</strong></p>
</blockquote>
<p>Given two versions of the same program, one that is a compact blob
of code, and the other that is formatted more like a typical C
@@ -1370,12 +1378,26 @@ run the risk of violating <a href="rules.html#rule7">Rule 7</a>.
<p class="leftbar">
<a href="rules.html#rule7">Rule 7</a> does not prohibit you from writing your own
obfuscated versions of these tools, unless of course you are <a href="http://www.isthe.com/chongo/index.html">Landon Curt
Noll</a>, in which case you <em>probably</em> won’t
win since <a href="../judges.html">judges</a> are disqualified! :-)
However, <em><strong>if you do</strong> write your own version, <strong>you might wish</strong> to make it do something more
interesting</em> than simply implementing the <a href="../index.html">IOCCC</a> tools’ algorithms. On the other
hand, writing an obfuscated version of a library runs the risk of violating
<a href="rules.html#rule1">Rule 1</a> as it is likely not a complete program.
Noll</a>, in which case you <em>probably</em>
won’t win since <a href="../judges.html">judges</a> are disqualified! :-) However, <strong><em>if</em></strong>
you do write your own version, you <strong><em>might</em></strong> wish to make it do something
<strong><em>more</em> interesting</strong> than simply implementing the <a href="../index.html">IOCCC</a>
tools’ algorithms, although if you do this you might want to keep in mind that
writing an obfuscated version of a library runs the risk of violating <a href="rules.html#rule1">Rule
1</a> as it is likely not a complete program.
</p>
<p class="leftbar">
On the other hand, we do not recommend you try and submit a JSON parser due to
the fact it will likely exceed <a href="rules.html#rule2">the source code size limit</a>
and because you likely can’t beat <a href="https://github.com/westes/flex">flex</a> or
<a href="https://www.gnu.org/software/bison/">bison</a> in obfuscation. This isn’t to
say that <a href="https://www.json.org/json-en.html">the so-called JSON spec</a> is not
obfuscated, but unless you have some really clever way to compact and
obfuscate a JSON parser more than <a href="https://github.com/westes/flex">flex</a> and
<a href="https://www.gnu.org/software/bison/">bison</a> you will likely not win, either
because of the <a href="rules.html#rule2">source code size limit</a> or because it is not
as obfuscated as the lexer/parser part of
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/jparse">jparse</a>.
</p>
<p>While programs that only run in a specific word size are OK, if you have
to pick, choose a 64-bit word size.</p>
+37 -12
View File
@@ -48,7 +48,7 @@ writing by [contacting the judges](../contact.html).
</div>
<p class="leftbar">
These [IOCCC guidelines](guidelines.html) are version **28.12 2024-08-21**.
These [IOCCC guidelines](guidelines.html) are version **28.13 2024-08-22**.
</p>
**IMPORTANT**: Be **SURE** to read the [IOCCC rules](rules.html).
@@ -353,7 +353,7 @@ If `mkiocccentry` encounters an **error** the program will exit and the xz
compressed tarball **will not be formed**. For instance, if `chkentry(1)` (see
below) fails to validate the `.auth.json` or `.info.json`
[JSON](https://www.json.org/json-en.html) files that `mkiocccentry(1)` creates,
it is an error and possibly a bug that you should [report as a bug at the
it is an error and **possibly** a bug that you should [report as a bug at the
mkiocccentry issues
page](https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&labels=bug&projects=&template=bug_report.yml&title=%5BBug%5D+%3Ctitle%3E).
**PLEASE run the `bug_report.sh` script to help us out here!** See the
@@ -431,7 +431,7 @@ submission. These files **MUST** pass the checks of `chkentry(1)`.
</p>
<p class="leftbar">
If `chkentry` does not pass and you used `mkiocccentry(1)` it is very possibly a
If `chkentry` does not pass and you used `mkiocccentry(1)` it is **possibly** a
bug and you should [report it as a bug at the mkiocccentry issues
page](https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&labels=bug&projects=&template=bug_report.yml&title=%5BBug%5D+%3Ctitle%3E).
See the FAQ on "[report mkiocccentry bugs](../faq.html#mkiocccentry_bugs)".
@@ -467,13 +467,22 @@ for much more information on these files.
`txzchk(1)` performs a wide number of sanity checks on the xz
compressed tarball; if any issues are found ('`feathers are stuck in the
tarball`' :-) ) **AND if and _ONLY IF_ you used
`mkiocccentry(1)`**, then it is very possibly a bug in one of the tools and you
should [report it as a bug at the mkiocccentry issues
`mkiocccentry(1)`**, then it is **possibly** a bug in one of the tools and you
might want to [report it as a bug at the mkiocccentry issues
page](https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&labels=bug&projects=&template=bug_report.yml&title=%5BBug%5D+%3Ctitle%3E). **PLEASE run the
`bug_report.sh` script to help us out here!** See the
FAQ on "[report mkiocccentry bugs](../faq.html#mkiocccentry_bugs)".
</p>
<p class="leftbar">
Of course, it is also possible that `mkiocccentry(1)` or one or more of the
tools it calls (or another tool calls) to fail and it is **NOT** a bug. An
example problem is if there is not enough memory available or if some other
library or syscall fails. Nonetheless it might be worth reporting as a bug. It
is a judgement call; if it's a bug it'll be addressed and if it's not that's OK
too.
</p>
<p class="leftbar">
As part of its sanity checks, `txzchk(1)` will run `fnamchk(1)` on the
_filename_ to verify that the name is valid. See the
@@ -981,7 +990,7 @@ Did we remember to indicate that programs that blatantly use
some complex state machine to do something simple are boring?
We think we did. :-)
> All generalizations are false, including this one. -- Mark Twain
> All generalizations are false, including this one. -- **Mark Twain**
Given two versions of the same program, one that is a compact blob
of code, and the other that is formatted more like a typical C
@@ -1230,12 +1239,28 @@ run the risk of violating [Rule 7](rules.html#rule7).
<p class="leftbar">
[Rule 7](rules.html#rule7) does not prohibit you from writing your own
obfuscated versions of these tools, unless of course you are [Landon Curt
Noll](http://www.isthe.com/chongo/index.html), in which case you _probably_ won't
win since [judges](../judges.html) are disqualified! :-)
However, _**if you do** write your own version, **you might wish** to make it do something more
interesting_ than simply implementing the [IOCCC](../index.html) tools' algorithms. On the other
hand, writing an obfuscated version of a library runs the risk of violating
[Rule 1](rules.html#rule1) as it is likely not a complete program.</p>
Noll](http://www.isthe.com/chongo/index.html), in which case you _probably_
won't win since [judges](../judges.html) are disqualified! :-) However, **_if_**
you do write your own version, you **_might_** wish to make it do something
**_more_ interesting** than simply implementing the [IOCCC](../index.html)
tools' algorithms, although if you do this you might want to keep in mind that
writing an obfuscated version of a library runs the risk of violating [Rule
1](rules.html#rule1) as it is likely not a complete program.
</p>
<p class="leftbar">
On the other hand, we do not recommend you try and submit a JSON parser due to
the fact it will likely exceed [the source code size limit](rules.html#rule2)
and because you likely can't beat [flex](https://github.com/westes/flex) or
[bison](https://www.gnu.org/software/bison/) in obfuscation. This isn't to
say that [the so-called JSON spec](https://www.json.org/json-en.html) is not
obfuscated, but unless you have some really clever way to compact and
obfuscate a JSON parser more than [flex](https://github.com/westes/flex) and
[bison](https://www.gnu.org/software/bison/) you will likely not win, either
because of the [source code size limit](rules.html#rule2) or because it is not
as obfuscated as the lexer/parser part of
[jparse](https://github.com/ioccc-src/mkiocccentry/blob/master/jparse).
</p>
While programs that only run in a specific word size are OK, if you have
to pick, choose a 64-bit word size.