Merge pull request #225 from xexyl/chkentry
Update FAQ, rules/guidelines etc. for #208
This commit is contained in:
10 files changed
+1293
-3387
No files matched your search
+502
-926
File diff suppressed because it is too large.
Load diff
+131
-529
File diff suppressed because it is too large.
Load diff
+210
-419
@@ -488,12 +488,10 @@ writing by <a href="../contact.html">contacting the judges</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
These <a href="rules.html">IOCCC rules</a> are version <strong>28.30 2025-03-03</strong>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
The markdown form of these rules <a href="rules.md" download="rules.md">is
|
||||
available for download</a>.
|
||||
These <a href="rules.html">IOCCC rules</a> are version <strong>28.31 2025-11-17</strong>.
|
||||
</p>
|
||||
<p>The markdown form of these rules <a href="rules.md" download="rules.md">is
|
||||
available for download</a>.</p>
|
||||
<p><strong>IMPORTANT</strong>: Be sure to read the <a href="guidelines.html">IOCCC guidelines</a>.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="change_marks">
|
||||
@@ -545,16 +543,14 @@ This contest will enter the <strong><a href="../faq.html#judging">judging</a></s
|
||||
<strong>IMPORTANT NOTE</strong>: Until the contest enters the <strong><a href="../faq.html#open">open</a></strong> state, any or all
|
||||
of the above <strong>dates and times may change</strong>!
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See the
|
||||
<p>See the
|
||||
FAQ on “<a href="../faq.html#mkiocccentry">obtaining and compiling the mkiocccentry tools</a>”
|
||||
and the
|
||||
FAQ on “<a href="../quick-start.html#enter">how to enter the IOCCC</a>”
|
||||
as that FAQ has important details on
|
||||
<a href="../next/register.html">how to register</a>
|
||||
as well as
|
||||
<a href="../next/submit.html">how to upload your submission</a> to the IOCCC.
|
||||
</p>
|
||||
<a href="../next/submit.html">how to upload your submission</a> to the IOCCC.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rules">
|
||||
<h1 id="ioccc-rules">IOCCC RULES</h1>
|
||||
@@ -563,192 +559,132 @@ as well as
|
||||
<div id="rule_abuse">
|
||||
<h4 id="a-warning-about-rule-abuse">A warning about rule abuse</h4>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
<strong>WARNING:</strong> Abusing these rules comes with a <strong>fair amount of risk</strong>
|
||||
<p><strong>WARNING:</strong> Abusing these rules comes with a <strong>fair amount of risk</strong>
|
||||
that your submission will be rejected. If you do plan to abuse the
|
||||
rules, then you <strong>MUST CLEARLY EXPLAIN THE RATIONALE</strong> in your <code>remarks.md</code> file,
|
||||
as to why you think your rule abuse should be allowed, and as to why you think
|
||||
your submission should not be rejected for a rule violation.
|
||||
<strong>Nevertheless, <em>even if you do</em> explain this in your <code>remarks.md</code> file
|
||||
you submission may still be rejected</strong>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
If you use the most recently released official IOCCC submission packaging tool
|
||||
you submission may still be rejected</strong>.</p>
|
||||
<p>If you use the most recently released official IOCCC submission packaging tool
|
||||
(hereby referred to as <code>mkiocccentry(1)</code>), which we <strong>STRONGLY recommend you
|
||||
do</strong>, then the <code>mkiocccentry(1)</code> tool will warn you if there appears to be a
|
||||
violation in certain rules (not all can be detected). The <code>mkiocccentry(1)</code>
|
||||
tool also runs <code>chkentry(1)</code> and <code>txzchk(1)</code>, the latter of which runs
|
||||
tool also runs <code>chksubmit(1)</code> and <code>txzchk(1)</code>, the latter of which runs
|
||||
<code>fnamchk(1)</code>. Overriding problems detected by any of these tools comes with a
|
||||
<strong>fair amount of risk</strong> that your submission will be rejected.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
If you do override a rule violation warning from the <code>mkiocccentry(1)</code> or
|
||||
<strong>fair amount of risk</strong> that your submission will be rejected.</p>
|
||||
<p>If you do override a rule violation warning from the <code>mkiocccentry(1)</code> or
|
||||
another related IOCCC tool, or otherwise plan to abuse the rules, then you
|
||||
<strong>MUST CLEARLY EXPLAIN THE RATIONALE</strong> of why you are attempting to abuse the
|
||||
rules in your <code>remarks.md</code> file. <strong><em>Even if you do</em> explain this in your
|
||||
<code>remarks.md</code> file your submission may still be rejected</strong>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
<strong>HINT:</strong> If you do submit such a rule abusing / rule violating
|
||||
<code>remarks.md</code> file your submission may still be rejected</strong>.</p>
|
||||
<p><strong>HINT:</strong> If you do submit such a rule abusing / rule violating
|
||||
submission, then consider also submitting an alternate version in a
|
||||
<strong>different submission</strong> server slot that does <strong>NOT</strong> violate the rules
|
||||
in case your rule abuse excuse is rejected.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
<strong>IMPORTANT</strong>: if you do submit such an alternate non-rule abusing version,
|
||||
in case your rule abuse excuse is rejected.</p>
|
||||
<p><strong>IMPORTANT</strong>: if you do submit such an alternate non-rule abusing version,
|
||||
<strong>PLEASE</strong> indicate that in your <code>remarks.md</code> file of your non-rule abusing
|
||||
version so that the <a href="../judges.html">IOCCC judges</a> do not think you uploaded a
|
||||
duplicate into a wrong slot by mistake.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Uploading a tarball not formed by <code>mkiocccentry(1)</code> puts you at a very big risk of
|
||||
duplicate into a wrong slot by mistake.</p>
|
||||
<p>Uploading a tarball not formed by <code>mkiocccentry(1)</code> puts you at a very big risk of
|
||||
violating <a href="rules.html#rule17">Rule 17</a>, especially as <code>mkiocccentry(1)</code> does a
|
||||
great number of things that are required, and it also runs many checks, and if
|
||||
any of those checks fail, you are at a very great risk of having your submission
|
||||
rejected for violating <a href="rules.html#rule17">Rule 17</a>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See also <a href="#rule13">Rule 12</a>.
|
||||
</p>
|
||||
rejected for violating <a href="rules.html#rule17">Rule 17</a>.</p>
|
||||
<p>See also <a href="#rule13">Rule 12</a>.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule0">
|
||||
<h2 id="rule-0">Rule 0</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
Just as C starts at 0, so the IOCCC starts at <a href="#rule0">Rule 0</a>. :-)
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
The “<a href="#dates">Important IOCCC dates</a>” section above is part of this rule.
|
||||
</p>
|
||||
<p>Just as C starts at 0, so the IOCCC starts at <a href="#rule0">Rule 0</a>. :-)</p>
|
||||
<p>The “<a href="#dates">Important IOCCC dates</a>” section above is part of this rule.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule1">
|
||||
<h2 id="rule-1">Rule 1</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
Your submission must be a C program.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
You see, the contest is not called the <strong>International Obfuscated JSON Contest</strong>
|
||||
<p>Your submission must be a C program.</p>
|
||||
<p>You see, the contest is not called the <strong>International Obfuscated JSON Contest</strong>
|
||||
(<strong>IOJSONC</strong>), even if the <a href="https://github.com/xexyl/jparse/blob/master/json_README.md#so-called-json-spec">so-called JSON
|
||||
spec</a> might be called obfuscated
|
||||
by some people. :-)
|
||||
</p>
|
||||
by some people. :-)</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule2">
|
||||
<h2 id="rule-2">Rule 2</h2>
|
||||
</div>
|
||||
<p><a href="#rule2">Rule 2</a> requires that your submission satisfy <strong>BOTH</strong> <a href="#rule2a">Rule
|
||||
2a</a> <strong>AND</strong> <a href="#rule2b">Rule 2b</a>.</p>
|
||||
<p class="leftbar">
|
||||
You may check your code with respect to <a href="#rule2a">Rule 2a</a> and <a href="#rule2b">Rule
|
||||
<p>You may check your code with respect to <a href="#rule2a">Rule 2a</a> and <a href="#rule2b">Rule
|
||||
2b</a> prior to submitting your code by giving the filename
|
||||
as a command like argument to the <code>iocccsize(1)</code> tool. For example:
|
||||
</p>
|
||||
as a command like argument to the <code>iocccsize(1)</code> tool. For example:</p>
|
||||
<pre><code> iocccsize prog.c</code></pre>
|
||||
<p class="leftbar">
|
||||
The source to <code>iocccsize(1)</code> may be found in the
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See also the
|
||||
<p>The source to <code>iocccsize(1)</code> may be found in the
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a>.</p>
|
||||
<p>See also the
|
||||
FAQ on “<a href="../faq.html#mkiocccentry_test">how to further test your submission</a>”
|
||||
for more more thorough testing, including <a href="#rule2">Rule 2</a>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See also <a href="#rule2a">Rule 2a</a>, <a href="#rule2b">Rule 2b</a>, and <a href="#rule17">Rule 17</a>.
|
||||
</p>
|
||||
for more more thorough testing, including <a href="#rule2">Rule 2</a>.</p>
|
||||
<p>See also <a href="#rule2a">Rule 2a</a>, <a href="#rule2b">Rule 2b</a>, and <a href="#rule17">Rule 17</a>.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule2a">
|
||||
<h2 id="rule-2a">Rule 2a</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
The size of your program source <strong>should NOT exceed 4993 bytes</strong>.
|
||||
The size of your program source <strong>MUST NOT exceed 4993 bytes</strong>.
|
||||
</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule2b">
|
||||
<h2 id="rule-2b">Rule 2b</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
When the filename of your program source is given as a command line argument to
|
||||
<p>When the filename of your program source is given as a command line argument to
|
||||
the latest version of the official IOCCC size tool (hereby referred to as
|
||||
<code>iocccsize(1)</code>), the value printed <strong>should NOT exceed <em>2503</em></strong>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See also <a href="#rule17">Rule 17</a>.
|
||||
</p>
|
||||
<code>iocccsize(1)</code>), the value printed <strong>MUST NOT exceed <em>2503</em></strong>.</p>
|
||||
<p>See also <a href="#rule17">Rule 17</a>.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule3">
|
||||
<h2 id="rule-3">Rule 3</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
You must <a href="../next/register.html">register</a> in order to submit your entry to the IOCCC.
|
||||
<p>You must <a href="../next/register.html">register</a> in order to submit your entry to the IOCCC.
|
||||
You may <a href="../next/register.html">register</a> while the contest is either
|
||||
<strong><a href="../faq.html#pending">pending</a></strong> or <strong><a href="../faq.html#open">open</a></strong>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
When the contest is <strong><a href="../faq.html#open">open</a></strong>, the <a href="https://submit.ioccc.org">submit server</a>
|
||||
<strong><a href="../faq.html#pending">pending</a></strong> or <strong><a href="../faq.html#open">open</a></strong>.</p>
|
||||
<p>When the contest is <strong><a href="../faq.html#open">open</a></strong>, the <a href="https://submit.ioccc.org">submit server</a>
|
||||
will email you your <a href="https://submit.ioccc.org">submit server</a>
|
||||
<strong>Username</strong> and <strong>Initial password</strong>. <strong>Please be patient</strong> as it may take some time,
|
||||
perhaps as much as a few days, for your registration to be processed and for that email to be sent.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Those who <a href="../next/register.html">register</a> while the contest status is <strong><a href="../faq.html#pending">pending</a></strong>
|
||||
perhaps as much as a few days, for your registration to be processed and for that email to be sent.</p>
|
||||
<p>Those who <a href="../next/register.html">register</a> while the contest status is <strong><a href="../faq.html#pending">pending</a></strong>
|
||||
will receive their email (containing their <a href="https://submit.ioccc.org">submit server</a> <strong>Username</strong>
|
||||
and <strong>Initial password</strong>), later: usually a few days around the time when the contest status
|
||||
becomes <strong><a href="../faq.html#open">open</a></strong>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Once that email with your <strong>Username</strong> and <strong>Initial password</strong> is sent, you
|
||||
will have fortnight (<strong>14 days</strong>) to <a href="../next/pw-change.html">change your submit server initial password</a>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
If you do not change your <strong>Initial password</strong> in time, you will have to
|
||||
becomes <strong><a href="../faq.html#open">open</a></strong>.</p>
|
||||
<p>Once that email with your <strong>Username</strong> and <strong>Initial password</strong> is sent, you
|
||||
will have fortnight (<strong>14 days</strong>) to <a href="../next/pw-change.html">change your submit server initial password</a>.</p>
|
||||
<p>If you do not change your <strong>Initial password</strong> in time, you will have to
|
||||
<a href="../contact.md#if-you-really-need-to-send-email-the-ioccc-judges">send email to the IOCCC judges</a>
|
||||
to ask for your password to be reset.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Because it takes time (maybe even a few days) to process your registration
|
||||
to ask for your password to be reset.</p>
|
||||
<p>Because it takes time (maybe even a few days) to process your registration
|
||||
and for the server to email you your initial login and password, you
|
||||
should <strong>MAKE SURE</strong> you give yourself enough time to register well
|
||||
before the contest closes. In other words, <strong>DO NOT WAIT UNTIL THE FINAL DAYS</strong>
|
||||
of the contest to register! The <a href="../judges.html">IOCCC judges</a>
|
||||
are <strong>NOT</strong> responsible for delayed or lost email, or for those who wait
|
||||
until the last minute to try to register!
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See the
|
||||
until the last minute to try to register!</p>
|
||||
<p>See the
|
||||
FAQ on “<a href="../quick-start.html#enter">how to register and submit to the IOCCC</a>”
|
||||
for instructions on registering and participating in the IOCCC, as the process
|
||||
may change from contest to contest.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See also <a href="#rule8">Rule 8</a>.
|
||||
</p>
|
||||
may change from contest to contest.</p>
|
||||
<p>See also <a href="#rule8">Rule 8</a>.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule4">
|
||||
<h2 id="rule-4">Rule 4</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
If your submission is selected as a winning entry, then your submission may be modified in order
|
||||
to fit into the structure of the <a href="https://www.ioccc.org/index.html">Official IOCCC winner website</a>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
For example, your submission’s <code>Makefile</code> will be modified and your <code>remarks.md</code>
|
||||
will become a <code>README.md</code> which will be used to generate an <code>index.html</code> file.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Your source code will be the file <code>prog.c</code>. The compiled binary
|
||||
<p>If your submission is selected as a winning entry, then your submission may be modified in order
|
||||
to fit into the structure of the <a href="https://www.ioccc.org/index.html">Official IOCCC winner website</a>.</p>
|
||||
<p>For example, your submission’s <code>Makefile</code> will be modified and your <code>remarks.md</code>
|
||||
will become a <code>README.md</code> which will be used to generate an <code>index.html</code> file.</p>
|
||||
<p>Your source code will be the file <code>prog.c</code>. The compiled binary
|
||||
will be called <code>prog</code>. If you submission requires different filenames,
|
||||
then modify your submission’s <code>Makefile</code> to <strong>COPY</strong> (<strong>NOT</strong> move!) the files
|
||||
accordingly.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Of course your program may also do this, as long as it works, but you’re welcome
|
||||
to use your <code>Makefile</code> as well.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See also <a href="#rule5">Rule 5</a>, <a href="#rule18">Rule 18</a> and <a href="#rule21">Rule 21</a>.
|
||||
</p>
|
||||
accordingly.</p>
|
||||
<p>Of course your program may also do this, as long as it works, but you’re welcome
|
||||
to use your <code>Makefile</code> as well.</p>
|
||||
<p>See also <a href="#rule5">Rule 5</a>, <a href="#rule18">Rule 18</a> and <a href="#rule21">Rule 21</a>.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule5">
|
||||
<h2 id="rule-5">Rule 5</h2>
|
||||
@@ -758,64 +694,45 @@ part of your original submission including, but not limited to <code>prog.c</cod
|
||||
<code>Makefile</code> or any data files you submit.</p>
|
||||
<p>If you submission needs (or wishes :-) ) to modify such content, it <strong>MUST</strong>
|
||||
first copy the file to a new filename and then modify that copy.</p>
|
||||
<p class="leftbar">
|
||||
You may use your submission (program) to form a copy, or you can make use of
|
||||
your <code>Makefile</code> to form that copy.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
If you do make a copy of a submission file, <strong>PLEASE</strong> be sure that
|
||||
<p>You may use your submission (program) to form a copy, or you can make use of
|
||||
your <code>Makefile</code> to form that copy.</p>
|
||||
<p>If you do make a copy of a submission file, <strong>PLEASE</strong> be sure that
|
||||
the <code>clobber</code> rule of your <code>Makefile</code> removes that copy in order to
|
||||
restore your submission to its original submission state.
|
||||
</p>
|
||||
restore your submission to its original submission state.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule6">
|
||||
<h2 id="rule-6">Rule 6</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
I am not a rule, I am a <code>free(void *human);</code> ‼️
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
<code>while (!(ioccc(rule(you(are(number(6)))))) {</code><br>
|
||||
<p>I am not a rule, I am a <code>free(void *human);</code> ‼️</p>
|
||||
<p> <code>while (!(ioccc(rule(you(are(number(6)))))) {</code><br>
|
||||
<code>ha_ha_ha();</code><br>
|
||||
<code>}</code>
|
||||
</p>
|
||||
<code>}</code></p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule7">
|
||||
<h2 id="rule-7">Rule 7</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
The obfuscated C program must be your own original work.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
You (the author(s)) <strong>MUST</strong> own the contents of your submission <strong>OR</strong>
|
||||
you <strong>MUST</strong> have permission from the owner(s) to submit their content.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
If you submit any content that is owned by others, you <strong>MUST
|
||||
<p>The obfuscated C program must be your own original work.</p>
|
||||
<p>You (the author(s)) <strong>MUST</strong> own the contents of your submission <strong>OR</strong>
|
||||
you <strong>MUST</strong> have permission from the owner(s) to submit their content.</p>
|
||||
<p>If you submit any content that is owned by others, you <strong>MUST
|
||||
detail that ownership</strong> (i.e., who owns what) <strong><em>AND</em> document the
|
||||
permission you obtained from them</strong>, in your <code>remarks.md</code> file.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Please note that the tools in <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry
|
||||
permission you obtained from them</strong>, in your <code>remarks.md</code> file.</p>
|
||||
<p>Please note that the tools in <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry
|
||||
repo</a> are <strong>NOT</strong> original works,
|
||||
unless of course you’re the original authors, in which case they are original. :-)
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Nevertheless tools such as those listed are <strong>NOT</strong> obfuscated. If submitted, they
|
||||
would probably violate a number of rules. :-)
|
||||
</p>
|
||||
unless of course you’re the original authors, in which case they are original. :-)</p>
|
||||
<p>Nevertheless tools such as those listed are <strong>NOT</strong> obfuscated. If submitted, they
|
||||
would probably violate a number of rules. :-)</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/ioccc-src/mkiocccentry/blob/master/mkiocccentry.c">mkiocccentry(1)</a></li>
|
||||
<li><a href="https://github.com/ioccc-src/mkiocccentry/blob/master/iocccsize.c">iocccsize(1)</a></li>
|
||||
<li><a href="https://github.com/ioccc-src/mkiocccentry/blob/master/chkentry.c">chkentry(1)</a></li>
|
||||
<li><a href="https://github.com/ioccc-src/mkiocccentry/blob/master/chksubmit.c">chksubmit(1)</a></li>
|
||||
<li><a href="https://github.com/ioccc-src/mkiocccentry/blob/master/txzchk.c">txzchk(1)</a></li>
|
||||
<li><a href="https://github.com/ioccc-src/mkiocccentry/blob/master/soup/location_main.c">location(1)</a></li>
|
||||
<li><a href="https://github.com/xexyl/jparse">jparse repo as cloned by the mkiocccentry repo</a></li>
|
||||
<li><a href="https://github.com/lcn2/dbg">dbg repo as cloned by the mkiocccentry repo</a></li>
|
||||
<li><a href="https://github.com/lcn2/dyn_array">dyn_array repo as cloned by the mkiocccentry repo</a></li>
|
||||
</ul>
|
||||
<p class="leftbar">
|
||||
The IOCCC has a rich history of remarkable winning entries created by
|
||||
<p>The IOCCC has a rich history of remarkable winning entries created by
|
||||
authors who skillfully employed various techniques to develop their code.
|
||||
While it is <strong>NOT</strong> required, you are <em>allowed</em> to use tools to develop
|
||||
and test your submission. These tools may include, but are not limited
|
||||
@@ -823,77 +740,50 @@ to code generators, code analysis tools, static code analysis tools,
|
||||
runtime analysis tools, machine learning tools, natural language models,
|
||||
code copilot tools, so-called AI services, large language models (LLMs), etc.
|
||||
If you do make use of such tools or services, then we <strong>ENCOURAGE you to describe
|
||||
what tools and how you used those tools</strong>, in your <code>remarks.md</code> file.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See also <a href="#rule5">Rule 5</a>, <a href="#rule18">Rule 18</a> and <a href="#rule21">Rule 21</a>.
|
||||
</p>
|
||||
what tools and how you used those tools</strong>, in your <code>remarks.md</code> file.</p>
|
||||
<p>See also <a href="#rule5">Rule 5</a>, <a href="#rule18">Rule 18</a> and <a href="#rule21">Rule 21</a>.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule8">
|
||||
<h2 id="rule-8">Rule 8</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
Submissions may only be uploaded to the <a href="https://submit.ioccc.org">IOCCC submit server</a>
|
||||
while the contest is <strong><a href="../faq.html#open">open</a></strong>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
If you have <a href="../next/register.html">registered</a> and received by email your <a href="https://submit.ioccc.org">submit
|
||||
<p>Submissions may only be uploaded to the <a href="https://submit.ioccc.org">IOCCC submit server</a>
|
||||
while the contest is <strong><a href="../faq.html#open">open</a></strong>.</p>
|
||||
<p>If you have <a href="../next/register.html">registered</a> and received by email your <a href="https://submit.ioccc.org">submit
|
||||
server</a> <strong>Username</strong> and <strong>Initial password</strong> you may
|
||||
upload your submission to the <a href="https://submit.ioccc.org">submit server</a> but
|
||||
<strong>ONLY</strong> while the contest is <strong><a href="../faq.html#open">open</a></strong>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
The <a href="https://submit.ioccc.org">submit server</a>, in accordance with <a href="rules.html#rule17">Rule
|
||||
<strong>ONLY</strong> while the contest is <strong><a href="../faq.html#open">open</a></strong>.</p>
|
||||
<p>The <a href="https://submit.ioccc.org">submit server</a>, in accordance with <a href="rules.html#rule17">Rule
|
||||
17</a>, places a limit of <strong>3999971</strong> bytes on the size of your
|
||||
upload.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Once the contest is in the <strong><a href="../faq.html#judging">judging</a></strong> state (or
|
||||
<strong><a href="../faq.html#closed">closed</a></strong> state), you may <strong>NOT</strong> upload submissions.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
While the contest is <strong><a href="../faq.html#open">open</a></strong> or in the
|
||||
upload.</p>
|
||||
<p>Once the contest is in the <strong><a href="../faq.html#judging">judging</a></strong> state (or
|
||||
<strong><a href="../faq.html#closed">closed</a></strong> state), you may <strong>NOT</strong> upload submissions.</p>
|
||||
<p>While the contest is <strong><a href="../faq.html#open">open</a></strong> or in the
|
||||
<strong><a href="../faq.html#judging">judging</a></strong> state, the <a href="../judges.html">IOCCC judges</a>
|
||||
<strong>MAY</strong> (but are not required to) modify the slot comment of your submission to
|
||||
indicate that they have received it. If uploaded submission is malformed, the
|
||||
<a href="../judges.html">IOCCC judges</a> <strong>MAY</strong> (but are not required to) modify the slot
|
||||
comment accordingly.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
You are <strong>STRONGLY</strong> advised to use the <code>mkiocccentry(1)</code> tool
|
||||
comment accordingly.</p>
|
||||
<p>You are <strong>STRONGLY</strong> advised to use the <code>mkiocccentry(1)</code> tool
|
||||
as found in the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a>
|
||||
to form the file to upload to the <a href="https://submit.ioccc.org">submit server</a>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
The <a href="https://submit.ioccc.org">submit server</a> will become active when the
|
||||
to form the file to upload to the <a href="https://submit.ioccc.org">submit server</a>.</p>
|
||||
<p>The <a href="https://submit.ioccc.org">submit server</a> will become active when the
|
||||
contest is <strong><a href="../faq.html#open">open</a></strong>. Until the contest status becomes
|
||||
<strong><a href="../faq.html#open">open</a></strong>, the <a href="https://submit.ioccc.org">submit server</a> may
|
||||
be offline and/or unresponsive.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See the
|
||||
be offline and/or unresponsive.</p>
|
||||
<p>See the
|
||||
FAQs on “<a href="../faq.html#mkiocccentry">obtaining, compiling, installing and using the latest release of the mkiocccentry tools</a>”
|
||||
for more information about the <code>mkiocccentry(1)</code> tool.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See the “<a href="#dates">Important IOCCC dates</a>” section above for when these contest states are scheduled.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See also <a href="#rule3">Rule 3</a> and <a href="#rule17">Rule 17</a>.
|
||||
</p>
|
||||
for more information about the <code>mkiocccentry(1)</code> tool.</p>
|
||||
<p>See the “<a href="#dates">Important IOCCC dates</a>” section above for when these contest states are scheduled.</p>
|
||||
<p>See also <a href="#rule3">Rule 3</a> and <a href="#rule17">Rule 17</a>.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule9">
|
||||
<h2 id="rule-9">Rule 9</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
Each <strong>PERSON</strong> may register <strong>ONLY ONE</strong> account and each account may submit up to
|
||||
and including <strong>10.000000</strong> (ten in base 10) submissions <strong>PER</strong> contest.
|
||||
</p>
|
||||
<p>Each <strong>PERSON</strong> may register <strong>ONLY ONE</strong> account and each account may submit up to
|
||||
and including <strong>10.000000</strong> (ten in base 10) submissions <strong>PER</strong> contest.</p>
|
||||
<p><strong>Each submission <em>must be submitted separately</em></strong>.</p>
|
||||
<p class="leftbar">
|
||||
If this seems unreasonable we suggest you wait until the next contest and in
|
||||
the interim ponder this (modified or not) quote said by Bill Gates:
|
||||
</p>
|
||||
<p>If this seems unreasonable we suggest you wait until the next contest and in
|
||||
the interim ponder this (modified or not) quote said by Bill Gates:</p>
|
||||
<blockquote>
|
||||
<p>640K submissions ought to be enough for anybody.</p>
|
||||
<p>– Bill Gates s/640K/10/ (allegedly :-) )</p>
|
||||
@@ -914,14 +804,10 @@ DISCOURAGED</strong>. We do not guarantee these functions will behave as
|
||||
you expect on our test platforms. If your program needs special
|
||||
permissions you <strong>MUST</strong> document this fact, and explain why
|
||||
it is needed in your submission’s <code>remarks.md</code> file.</p>
|
||||
<p class="leftbar">
|
||||
Furthermore, if you need a supplementary program that you include, to have these
|
||||
<p>Furthermore, if you need a supplementary program that you include, to have these
|
||||
permissions, you will also have to explain this, because these bits are not
|
||||
allowed in submissions and those bits will not be copied by <code>mkiocccentry(1)</code>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See also <a href="#rule17">Rule 17</a>.
|
||||
</p>
|
||||
allowed in submissions and those bits will not be copied by <code>mkiocccentry(1)</code>.</p>
|
||||
<p>See also <a href="#rule17">Rule 17</a>.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule12">
|
||||
<h2 id="rule-12">Rule 12</h2>
|
||||
@@ -930,163 +816,118 @@ See also <a href="#rule17">Rule 17</a>.
|
||||
the opinion of the <a href="../judges.html">judges</a>, violates the rules WILL BE DISQUALIFIED</strong>.
|
||||
Submissions that attempt to abuse the rules <strong>MUST</strong> try to justify why
|
||||
their rule abuse is legal, in the <code>remarks.md</code> file.</p>
|
||||
<p class="leftbar">
|
||||
See also <a href="#rule_abuse">the warning about rule abuse</a>.
|
||||
</p>
|
||||
<p>See also <a href="#rule_abuse">the warning about rule abuse</a>.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule13">
|
||||
<h2 id="rule-13">Rule 13</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
7 out of 13 UTF-8 characters in C code agree that this rule number is lucky
|
||||
enough to be a prime number.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Fun fact: the fear of the number 13 is called <em>triskaidekaphobia</em>.
|
||||
</p>
|
||||
<p>7 out of 13 UTF-8 characters in C code agree that this rule number is lucky
|
||||
enough to be a prime number.</p>
|
||||
<p>Fun fact: the fear of the number 13 is called <em>triskaidekaphobia</em>.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule14">
|
||||
<h2 id="rule-14">Rule 14</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
Any C source that fails to compile because of lines with trailing
|
||||
control-M’s (i.e., lines with a trailing byte <code>015</code>) <strong>might</strong> be rejected.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Please do <strong>NOT</strong> put trailing control-M’s on <code>prog.c</code>, <code>Makefile</code>, or
|
||||
<p>Any C source that fails to compile because of lines with trailing
|
||||
control-M’s (i.e., lines with a trailing byte <code>015</code>) <strong>might</strong> be rejected.</p>
|
||||
<p>Please do <strong>NOT</strong> put trailing control-M’s on <code>prog.c</code>, <code>Makefile</code>, or
|
||||
<code>remarks.md</code> files but instead end lines with a trailing newline (i.e.,
|
||||
byte <code>012</code>) character.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
As we do <strong>NOT</strong> use DOS, please also be sure that the <code>Makefile</code> and
|
||||
<code>remarks.md</code> files end in final newline (i.e., byte <code>012</code>) character.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
You are permitted, in order to try and squeeze your <code>prog.c</code> under
|
||||
byte <code>012</code>) character.</p>
|
||||
<p>As we do <strong>NOT</strong> use DOS, please also be sure that the <code>Makefile</code> and
|
||||
<code>remarks.md</code> files end in final newline (i.e., byte <code>012</code>) character.</p>
|
||||
<p>You are permitted, in order to try and squeeze your <code>prog.c</code> under
|
||||
a <a href="#rule2a">Rule 2a</a> and/or <a href="#rule2b">Rule 2b</a> limit, to <strong>NOT</strong>
|
||||
end your <code>prog.c</code> with a newline (i.e., byte <code>012</code>) character.
|
||||
If you need to do this, <strong>PLEASE</strong> document that in your <code>remarks.md</code> file and
|
||||
if your compiler complains about this, document this too and update your
|
||||
<code>Makefile</code> to account for this.
|
||||
</p>
|
||||
<code>Makefile</code> to account for this.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule15">
|
||||
<h2 id="rule-15">Rule 15</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
In order to register for the IOCCC, you <strong>MUST</strong> have a valid email address.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
The <a href="../judges.html">judges</a> <strong>are NOT responsible for delays in email</strong>, so please plan
|
||||
enough time accordingly.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See the
|
||||
<p>In order to register for the IOCCC, you <strong>MUST</strong> have a valid email address.</p>
|
||||
<p>The <a href="../judges.html">judges</a> <strong>are NOT responsible for delays in email</strong>, so please plan
|
||||
enough time accordingly.</p>
|
||||
<p>See the
|
||||
FAQ on “<a href="../quick-start.html#register">how to register</a>”
|
||||
for details.
|
||||
</p>
|
||||
for details.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule16">
|
||||
<h2 id="rule-16">Rule 16</h2>
|
||||
</div>
|
||||
<p>Submissions that are similar to previous winning IOCCC entries are discouraged.</p>
|
||||
<p class="leftbar">
|
||||
You are allowed to resubmit to a later contest, a submission that
|
||||
<p>You are allowed to resubmit to a later contest, a submission that
|
||||
did not win the IOCCC. If you do so, then you would be well advised
|
||||
to try and enhance and improve your submission.
|
||||
If you do resubmit something that did not previously win, then
|
||||
you are <strong>encouraged</strong> to mention this in your <code>remarks.md</code> file
|
||||
as this <strong>sometimes</strong> helps.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Resubmitting an improved submission that did not become an
|
||||
as this <strong>sometimes</strong> helps.</p>
|
||||
<p>Resubmitting an improved submission that did not become an
|
||||
IOCCC winning entry is a <strong>time honored</strong> tradition of the IOCCC.
|
||||
There are some IOCCC winning entries that were submitted to multiple contests
|
||||
before they were improved enough to “climb over” (as the expression
|
||||
goes) all the other submissions for a given contest.
|
||||
</p>
|
||||
goes) all the other submissions for a given contest.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule17">
|
||||
<h2 id="rule-17">Rule 17</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
Your submission must be in the form of a <strong>xz compressed tarball</strong> that
|
||||
<p>Your submission must be in the form of a <strong>xz compressed tarball</strong> that
|
||||
the <strong>current released version</strong> of the <code>mkiocccentry(1)</code> tool would generate.
|
||||
The files, directories, and paths <strong>MUST</strong> conform to the limits imposed
|
||||
by <code>mkiocccentry(1)</code> including but <strong>NOT LIMITED</strong> to their names, count,
|
||||
path length, directory tree depth and permissions.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Your <strong>xz compressed tarball</strong> must be larger than <strong>0</strong> bytes and no larger
|
||||
than <strong>3999971</strong> bytes.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
The sum of the byte lengths of all files, after the <strong>xz compressed tarball</strong> is untarred,
|
||||
must <strong>NOT</strong> exceed <code>27651*1024</code> bytes.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Your <strong>xz compressed tarball</strong> submission <em>file</em> <strong>MUST</strong> pass the tests performed by
|
||||
the current version of <code>txzchk(1)</code>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Your <strong>xz compressed tarball</strong> submission <em>filename</em> <strong>MUST</strong> pass the tests
|
||||
performed by the current version of <code>fnamchk(1)</code>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
When your <strong>xz compressed tarball</strong> submission file is untarred, the
|
||||
path length, directory tree depth and permissions.</p>
|
||||
<p>Your <strong>xz compressed tarball</strong> must be larger than <strong>0</strong> bytes and no larger
|
||||
than <strong>3999971</strong> bytes.</p>
|
||||
<p>The sum of the byte lengths of all files, after the <strong>xz compressed tarball</strong> is untarred,
|
||||
must <strong>NOT</strong> exceed <code>27651*1024</code> bytes.</p>
|
||||
<p>Your <strong>xz compressed tarball</strong> submission <em>file</em> <strong>MUST</strong> pass the tests performed by
|
||||
the current version of <code>txzchk(1)</code>.</p>
|
||||
<p>Your <strong>xz compressed tarball</strong> submission <em>filename</em> <strong>MUST</strong> pass the tests
|
||||
performed by the current version of <code>fnamchk(1)</code>.</p>
|
||||
<p>When your <strong>xz compressed tarball</strong> submission file is untarred, the
|
||||
resulting <em>directory</em> <strong>MUST</strong> pass the checks performed by the current version
|
||||
of <code>chkentry(1)</code>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
The resulting <code>prog.c</code> file <strong>MUST</strong> pass the <a href="#rule2">Rule 2</a> size checks performed by the current
|
||||
version of <code>iocccsize(1)</code>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
The <code>.auth.json</code> and <code>.info.json</code> <strong>MUST</strong> be compatible with what the
|
||||
of <code>chksubmit(1)</code>.</p>
|
||||
<p>The resulting <code>prog.c</code> file <strong>MUST</strong> pass the <a href="#rule2">Rule 2</a> size checks performed by the current
|
||||
version of <code>iocccsize(1)</code>.</p>
|
||||
<p>The <code>.auth.json</code> and <code>.info.json</code> <strong>MUST</strong> be compatible with what the
|
||||
current version of the <code>mkiocccentry(1)</code> tool would produce. They <strong>MUST
|
||||
ALSO</strong> pass the tests performed by the current version of <code>chkentry(1)</code>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
The required <code>Makefile</code> must <strong>NOT</strong> be empty.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
The required <code>remarks.md</code> must <strong>NOT</strong> be empty.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
You may <strong>NOT</strong> submit a tarball created by the <code>-d</code> or <code>-s seed</code> option of
|
||||
<code>mkiocccentry(1)</code>.
|
||||
</p>
|
||||
ALSO</strong> pass the tests performed by the current version of <code>chksubmit(1)</code>.</p>
|
||||
<p>The required <code>Makefile</code> must <strong>NOT</strong> be empty.</p>
|
||||
<p>The required <code>remarks.md</code> must <strong>NOT</strong> be empty.</p>
|
||||
<p>You may <strong>NOT</strong> submit a tarball created by the <code>-d</code> or <code>-s seed</code> option of
|
||||
<code>mkiocccentry(1)</code>.</p>
|
||||
<p class="leftbar">
|
||||
The maximum number of files your submission tarball may contain, not counting
|
||||
the optional files (<code>prog.alt.c</code>, <code>try.sh</code>, <code>try.alt.sh</code>) and the mandatory
|
||||
files (<code>prog.c</code>, <code>Makefile</code>, <code>remarks.md</code>) is 31.
|
||||
the free files (<code>prog.c</code>, <code>remarks.md</code>, <code>Makefile</code>, <code>prog.alt.c</code>, <code>try.sh</code>,
|
||||
<code>try.alt.sh</code> and the two files generated by <code>mkiocccentry</code>, <code>.info.json</code> and
|
||||
<code>.auth.json</code>) is 31.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
The maximum number of directories your submission may have is 13 and the maximum
|
||||
depth a path may have is 4.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
The maximum filename length (a component of a path) is 38 which means the
|
||||
maximum length total of a path is 60 characters.
|
||||
</p>
|
||||
<p>See the
|
||||
FAQ on “<a href="../faq.html#extra-files">what extra files are and how to include more</a>”
|
||||
as well as the <a href="guidelines.html#extra-files">guidelines on extra files</a>
|
||||
for more details.</p>
|
||||
<h3 id="tldr-rule-17---use-mkiocccentry1-to-form-your-submission">TL;DR Rule 17 - Use <code>mkiocccentry(1)</code> to form your submission</h3>
|
||||
<p class="leftbar">
|
||||
Let the current version of the <code>mkiocccentry(1)</code> tool form your <strong>xz
|
||||
compressed tarball</strong> submission file.
|
||||
</p>
|
||||
<p>Let the current version of the <code>mkiocccentry(1)</code> tool form your <strong>xz
|
||||
compressed tarball</strong> submission file.</p>
|
||||
<h3 id="warning">Warning</h3>
|
||||
<p class="leftbar">
|
||||
Using command line flags or input prompts to override checks and
|
||||
<p>Using command line flags or input prompts to override checks and
|
||||
limits made by the above mentioned tools is <strong>NOT</strong> recommended
|
||||
and may result in your submission being rejected by the <a href="https://submit.ioccc.org">IOCCC
|
||||
submit server</a> and/or the <a href="../judges.html">IOCCC Judges</a>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See the
|
||||
submit server</a> and/or the <a href="../judges.html">IOCCC Judges</a>.</p>
|
||||
<p>See the
|
||||
FAQ on the “<a href="../faq.html#mkiocccentry">mkiocccentry toolkit</a>
|
||||
for how to obtain and use the above mentioned tools.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
<strong>IMPORTANT</strong>: See the
|
||||
for how to obtain and use the above mentioned tools.</p>
|
||||
<p><strong>IMPORTANT</strong>: See the
|
||||
FAQ on “<a href="../faq.html#rule17">Rule 17</a>”
|
||||
for very important details behind this rule.
|
||||
</p>
|
||||
for very important details behind this rule.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule18">
|
||||
<h2 id="rule-18">Rule 18</h2>
|
||||
@@ -1095,53 +936,37 @@ for very important details behind this rule.
|
||||
<blockquote>
|
||||
<p><strong><a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International</a></strong></p>
|
||||
</blockquote>
|
||||
<p class="leftbar">
|
||||
See also <a href="#rule7">Rule 7</a>.
|
||||
</p>
|
||||
<p>See also <a href="#rule7">Rule 7</a>.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule19">
|
||||
<h2 id="rule-19">Rule 19</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
The <code>remarks.md</code> file, a required non-empty file, must be written in
|
||||
<a href="https://www.markdownguide.org/basic-syntax/">Markdown format</a>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
We currently use <a href="https://pandoc.org">pandoc(1)</a> to automatically
|
||||
<p>The <code>remarks.md</code> file, a required non-empty file, must be written in
|
||||
<a href="https://www.markdownguide.org/basic-syntax/">Markdown format</a>.</p>
|
||||
<p>We currently use <a href="https://pandoc.org">pandoc(1)</a> to automatically
|
||||
convert markdown to HTML. Please try to avoid submitting an HTML file
|
||||
translation to any markdown file. If you <strong>MUST</strong> submit such an HTML
|
||||
translation, <strong>PLEASE</strong> mention this in your <code>remarks.md</code> file.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
For any submission that wins the contest, we modify your <code>remarks.md</code> file and
|
||||
translation, <strong>PLEASE</strong> mention this in your <code>remarks.md</code> file.</p>
|
||||
<p>For any submission that wins the contest, we modify your <code>remarks.md</code> file and
|
||||
rename it as <code>README.md</code> and then use <a href="https://pandoc.org">pandoc(1)</a>
|
||||
to generate the <code>index.html</code> file in the top level directory of your submission.
|
||||
For this reason, <code>mkiocccentry(1)</code> will <strong>NOT</strong> package such files (in the top
|
||||
level submission directory) and both <code>txzchk(1)</code> and <code>chkentry(1)</code> will flag
|
||||
level submission directory) and both <code>txzchk(1)</code> and <code>chksubmit(1)</code> will flag
|
||||
them as errors (in the top level submission directory) as well, so please do
|
||||
<strong>NOT</strong> try and slip these files in the top level directory where your
|
||||
<code>remarks.md</code> resides.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See the <a href="https://www.markdownguide.org/cheat-sheet/">Markdown Cheat Sheet</a>
|
||||
for a handy quick reference to the Markdown syntax.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See the <a href="https://www.markdownguide.org">Markdown guide</a>
|
||||
<code>remarks.md</code> resides.</p>
|
||||
<p>See the <a href="https://www.markdownguide.org/cheat-sheet/">Markdown Cheat Sheet</a>
|
||||
for a handy quick reference to the Markdown syntax.</p>
|
||||
<p>See the <a href="https://www.markdownguide.org">Markdown guide</a>
|
||||
for free and open-source reference guide that explains
|
||||
how to use markdown.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See also the <a href="http://daringfireball.net/projects/markdown/basics">Daring Fireball Markdown:
|
||||
how to use markdown.</p>
|
||||
<p>See also the <a href="http://daringfireball.net/projects/markdown/basics">Daring Fireball Markdown:
|
||||
Basics</a> for
|
||||
information on the markdown format.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
<strong>PLEASE</strong> see our
|
||||
information on the markdown format.</p>
|
||||
<p><strong>PLEASE</strong> see our
|
||||
FAQ on “<a href="../faq.html#remarks_md">remarks.md</a>”
|
||||
<strong>AND</strong> the
|
||||
<a href="../markdown.html">IOCCC markdown guidelines</a> for additional markdown guidance.
|
||||
</p>
|
||||
<a href="../markdown.html">IOCCC markdown guidelines</a> for additional markdown guidance.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule20">
|
||||
<h2 id="rule-20">Rule 20</h2>
|
||||
@@ -1149,54 +974,40 @@ FAQ on “<a href="../faq.html#remarks_md">remarks.md</a>”
|
||||
<p>The how to build instructions must be in GNU Makefile format. See the
|
||||
FAQ about “<a href="../faq.html#make_compatibility">make(1) compatibility the IOCCC supports</a>
|
||||
for more details.</p>
|
||||
<p class="leftbar">
|
||||
You are <strong>ENCOURAGED</strong> to use the
|
||||
<p>You are <strong>ENCOURAGED</strong> to use the
|
||||
Makefile example, renamed as <code>Makefile</code> of course, for help in constructing your
|
||||
<code>Makefile</code>. See the <a href="guidelines.html#makefile">Makefile section</a> in the
|
||||
guidelines for more details.
|
||||
</p>
|
||||
guidelines for more details.</p>
|
||||
<p>The target of the <code>Makefile</code> must be called <code>prog</code>. The original
|
||||
C source file must be called <code>prog.c</code>.</p>
|
||||
<p>To invoke the C compiler, use <code>${CC}</code>. To invoke the C preprocessor use
|
||||
<code>${CPP}</code>.</p>
|
||||
<p>Do <strong>NOT</strong> assume that <code>.</code> (the current directory) is in the <code>$PATH</code>.</p>
|
||||
<p class="leftbar">
|
||||
When <code>make clobber</code> is invoked, we request that your submission directory be restored
|
||||
<p>When <code>make clobber</code> is invoked, we request that your submission directory be restored
|
||||
to its original submission state. For example, any temporary files
|
||||
created during the build process, or during execution should be
|
||||
removed by the <code>clobber</code> rule.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Your <code>Makefile</code> <strong>MUST</strong> use a syntax that is compatible with <code>bash(1)</code>
|
||||
removed by the <code>clobber</code> rule.</p>
|
||||
<p>Your <code>Makefile</code> <strong>MUST</strong> use a syntax that is compatible with <code>bash(1)</code>
|
||||
<strong>AND</strong> GNU <code>make(1)</code>. You are <strong>ENCOURAGED</strong> to use <code>SHELL= bash</code> in
|
||||
your <code>Makefile</code>. Please add a space between the <code>=</code> and the value.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Assume that commands commonly found in <a href="https://en.wikipedia.org/wiki/Single_UNIX_Specification">Single UNIX
|
||||
your <code>Makefile</code>. Please add a space between the <code>=</code> and the value.</p>
|
||||
<p>Assume that commands commonly found in <a href="https://en.wikipedia.org/wiki/Single_UNIX_Specification">Single UNIX
|
||||
Specification</a>
|
||||
environments and systems that conform to the <a href="https://en.wikipedia.org/wiki/Single_UNIX_Specification">Single UNIX
|
||||
Specification</a> are
|
||||
available in the <code>$PATH</code> search path.
|
||||
</p>
|
||||
available in the <code>$PATH</code> search path.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule21">
|
||||
<h2 id="rule-21">Rule 21</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
Your submission <strong>MUST NOT</strong> create or modify files <strong>ABOVE</strong> the current directory
|
||||
<p>Your submission <strong>MUST NOT</strong> create or modify files <strong>ABOVE</strong> the current directory
|
||||
<em>with the exception of</em> the <code>/tmp</code> and the <code>/var/tmp</code> directories. Your submission
|
||||
<strong>MAY</strong> create subdirectories <strong>below</strong> the submission directory, or in <code>/tmp</code>,
|
||||
or in <code>/var/tmp</code> provided that <code>.</code> is <strong>NOT</strong> the first byte in any
|
||||
directory name or filename you create.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
If you do create files and directories, <strong>PLEASE</strong> be sure that
|
||||
directory name or filename you create.</p>
|
||||
<p>If you do create files and directories, <strong>PLEASE</strong> be sure that
|
||||
the <code>clobber</code> rule of your <code>Makefile</code> removes such created files
|
||||
in order to restore your submission to its original submission state.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See also <a href="#rule5">Rule 5</a>.
|
||||
</p>
|
||||
in order to restore your submission to its original submission state.</p>
|
||||
<p>See also <a href="#rule5">Rule 5</a>.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule22">
|
||||
<h2 id="rule-22">Rule 22</h2>
|
||||
@@ -1210,11 +1021,9 @@ identify the authors of your code. The <a href="../judges.html">judges</a> <stro
|
||||
within your code, data, remarks or program output (unless you are
|
||||
<strong>Peter Honeyman</strong> or pretending to be <strong>Peter Honeyman</strong>) will be grounds
|
||||
for disqualification of your submission.</p>
|
||||
<p class="leftbar">
|
||||
And don’t assume that we won’t be able to determine your name even if it’s not
|
||||
<p>And don’t assume that we won’t be able to determine your name even if it’s not
|
||||
obvious, because you stand a significant chance of violating this rule if you
|
||||
do.
|
||||
</p>
|
||||
do.</p>
|
||||
<p>Yes, Virginia, <strong>WE REALLY MEAN IT!</strong></p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule23">
|
||||
@@ -1250,60 +1059,42 @@ The <a href="rules.html">IOCCC rule set</a> needs more than <code>5^2</code> rul
|
||||
<div id="rule27">
|
||||
<h2 id="rule-27">Rule 27</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
Unless otherwise needed, <a href="#rule27">Rule 27</a> is reserved for something cubic. :-)
|
||||
</p>
|
||||
<p>Unless otherwise needed, <a href="#rule27">Rule 27</a> is reserved for something cubic. :-)</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="rule28">
|
||||
<h2 id="rule-28">Rule 28</h2>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
<a href="#rule28">Rule 28</a> is a perfect way to end the list of <a href="rules.html">IOCCC rules</a>
|
||||
as we do <strong>NOT</strong> plan to have <strong>496</strong> rules. :-)
|
||||
</p>
|
||||
<p><a href="#rule28">Rule 28</a> is a perfect way to end the list of <a href="rules.html">IOCCC rules</a>
|
||||
as we do <strong>NOT</strong> plan to have <strong>496</strong> rules. :-)</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<div id="more-information">
|
||||
<div id="information">
|
||||
<h1 id="for-more-information">FOR MORE INFORMATION:</h1>
|
||||
</div>
|
||||
</div>
|
||||
<p class="leftbar">
|
||||
For questions or comments about the contest, see <a href="../contact.html">Contacting the IOCCC</a>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
<strong>Be SURE</strong> to review the <a href="index.html">IOCCC Rules and Guidelines</a> as they
|
||||
may (and <strong>often do</strong>) change from year to year.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
<strong>PLEASE</strong> be <strong>SURE</strong> you have the <strong>current</strong> <a href="rules.html">IOCCC rules</a> and
|
||||
<a href="guidelines.html">IOCCC guidelines</a> prior to submitting to the contest.
|
||||
</p>
|
||||
<p>For questions or comments about the contest, see <a href="../contact.html">Contacting the IOCCC</a>.</p>
|
||||
<p><strong>Be SURE</strong> to review the <a href="index.html">IOCCC Rules and Guidelines</a> as they
|
||||
may (and <strong>often do</strong>) change from year to year.</p>
|
||||
<p><strong>PLEASE</strong> be <strong>SURE</strong> you have the <strong>current</strong> <a href="rules.html">IOCCC rules</a> and
|
||||
<a href="guidelines.html">IOCCC guidelines</a> prior to submitting to the contest.</p>
|
||||
<p>See the <a href="../news.html">Official IOCCC website news</a> for additional information.</p>
|
||||
<p class="leftbar">
|
||||
For the updates and breaking IOCCC news, you are encouraged to follow
|
||||
<p>For the updates and breaking IOCCC news, you are encouraged to follow
|
||||
the <a href="https://fosstodon.org/@ioccc">IOCCC on Mastodon</a> account. See our
|
||||
FAQ on “<a href="../faq.html#try_mastodon">Mastodon</a>”
|
||||
for more information. Please do note that unless
|
||||
you are mentioned by us you will <strong>NOT</strong> get a notification from the app <em>so you
|
||||
should refresh the page <strong>even if you do follow us</strong></em>.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Check out the <a href="https://www.ioccc.org/index.html">Official IOCCC winner website</a> in general.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
Consider joining the IOCCC discord community via this link:
|
||||
<a href="https://discord.gg/Wa42Qujwnw">https://discord.gg/Wa42Qujwnw</a>
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
See the
|
||||
should refresh the page <strong>even if you do follow us</strong></em>.</p>
|
||||
<p>Check out the <a href="https://www.ioccc.org/index.html">Official IOCCC winner website</a> in general.</p>
|
||||
<p>Consider joining the IOCCC discord community via this link:
|
||||
<a href="https://discord.gg/Wa42Qujwnw">https://discord.gg/Wa42Qujwnw</a></p>
|
||||
<p>See the
|
||||
FAQ on “<a href="../faq.html#mkiocccentry">obtaining, compiling, installing and using the mkiocccentry tools</a>”
|
||||
and the
|
||||
FAQ on “<a href="../quick-start.html#enter">how to enter the IOCCC</a>”
|
||||
as that FAQ has important details on
|
||||
<a href="../next/register.html">how to register</a>
|
||||
as well as
|
||||
<a href="../next/submit.html">how to upload your submission</a> for the IOCCC.
|
||||
</p>
|
||||
<a href="../next/submit.html">how to upload your submission</a> for the IOCCC.</p>
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
<p><strong>Leonid A. Broukhis</strong><br>
|
||||
<strong>chongo (Landon Curt Noll) <code>/\cc/\</code></strong></p>
|
||||
|
||||
+22
-228
@@ -48,13 +48,11 @@ Jump to: [top](#)
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
These [IOCCC rules](rules.html) are version **28.30 2025-03-03**.
|
||||
These [IOCCC rules](rules.html) are version **28.31 2025-11-17**.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
The markdown form of these rules <a href="rules.md" download="rules.md">is
|
||||
available for download</a>.
|
||||
</p>
|
||||
|
||||
**IMPORTANT**: Be sure to read the [IOCCC guidelines](guidelines.html).
|
||||
|
||||
@@ -131,7 +129,6 @@ This contest will enter the **[judging](../faq.html#judging)** state on **2025-0
|
||||
of the above **dates and times may change**!
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See the
|
||||
FAQ on "[obtaining and compiling the mkiocccentry tools](../faq.html#mkiocccentry)"
|
||||
and the
|
||||
@@ -140,7 +137,6 @@ as that FAQ has important details on
|
||||
[how to register](../next/register.html)
|
||||
as well as
|
||||
[how to upload your submission](../next/submit.html) to the IOCCC.
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -156,7 +152,6 @@ To help us with the volume of submissions, we ask that you follow the rules belo
|
||||
#### A warning about rule abuse
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
**WARNING:** Abusing these rules comes with a **fair amount of risk**
|
||||
that your submission will be rejected. If you do plan to abuse the
|
||||
rules, then you **MUST CLEARLY EXPLAIN THE RATIONALE** in your `remarks.md` file,
|
||||
@@ -164,50 +159,38 @@ as to why you think your rule abuse should be allowed, and as to why you think
|
||||
your submission should not be rejected for a rule violation.
|
||||
**Nevertheless, _even if you do_ explain this in your `remarks.md` file
|
||||
you submission may still be rejected**.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
If you use the most recently released official IOCCC submission packaging tool
|
||||
(hereby referred to as `mkiocccentry(1)`), which we **STRONGLY recommend you
|
||||
do**, then the `mkiocccentry(1)` tool will warn you if there appears to be a
|
||||
violation in certain rules (not all can be detected). The `mkiocccentry(1)`
|
||||
tool also runs `chkentry(1)` and `txzchk(1)`, the latter of which runs
|
||||
tool also runs `chksubmit(1)` and `txzchk(1)`, the latter of which runs
|
||||
`fnamchk(1)`. Overriding problems detected by any of these tools comes with a
|
||||
**fair amount of risk** that your submission will be rejected.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
If you do override a rule violation warning from the `mkiocccentry(1)` or
|
||||
another related IOCCC tool, or otherwise plan to abuse the rules, then you
|
||||
**MUST CLEARLY EXPLAIN THE RATIONALE** of why you are attempting to abuse the
|
||||
rules in your `remarks.md` file. **_Even if you do_ explain this in your
|
||||
`remarks.md` file your submission may still be rejected**.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
**HINT:** If you do submit such a rule abusing / rule violating
|
||||
submission, then consider also submitting an alternate version in a
|
||||
**different submission** server slot that does **NOT** violate the rules
|
||||
in case your rule abuse excuse is rejected.
|
||||
</p>
|
||||
<p class="leftbar">
|
||||
|
||||
**IMPORTANT**: if you do submit such an alternate non-rule abusing version,
|
||||
**PLEASE** indicate that in your `remarks.md` file of your non-rule abusing
|
||||
version so that the [IOCCC judges](../judges.html) do not think you uploaded a
|
||||
duplicate into a wrong slot by mistake.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Uploading a tarball not formed by `mkiocccentry(1)` puts you at a very big risk of
|
||||
violating [Rule 17](rules.html#rule17), especially as `mkiocccentry(1)` does a
|
||||
great number of things that are required, and it also runs many checks, and if
|
||||
any of those checks fail, you are at a very great risk of having your submission
|
||||
rejected for violating [Rule 17](rules.html#rule17).
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See also [Rule 12](#rule13).
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -217,13 +200,9 @@ Jump to: [top](#)
|
||||
## Rule 0
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
Just as C starts at 0, so the IOCCC starts at [Rule 0](#rule0). :-)
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
The "[Important IOCCC dates](#dates)" section above is part of this rule.
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -233,16 +212,12 @@ Jump to: [top](#)
|
||||
## Rule 1
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
Your submission must be a C program.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
You see, the contest is not called the **International Obfuscated JSON Contest**
|
||||
(**IOJSONC**), even if the [so-called JSON
|
||||
spec](https://github.com/xexyl/jparse/blob/master/json_README.md#so-called-json-spec) might be called obfuscated
|
||||
by some people. :-)
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -255,31 +230,23 @@ Jump to: [top](#)
|
||||
[Rule 2](#rule2) requires that your submission satisfy **BOTH** [Rule
|
||||
2a](#rule2a) **AND** [Rule 2b](#rule2b).
|
||||
|
||||
<p class="leftbar">
|
||||
You may check your code with respect to [Rule 2a](#rule2a) and [Rule
|
||||
2b](#rule2b) prior to submitting your code by giving the filename
|
||||
as a command like argument to the `iocccsize(1)` tool. For example:
|
||||
</p>
|
||||
|
||||
``` <!---sh-->
|
||||
iocccsize prog.c
|
||||
```
|
||||
|
||||
<p class="leftbar">
|
||||
The source to `iocccsize(1)` may be found in the
|
||||
[mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry).
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See also the
|
||||
FAQ on "[how to further test your submission](../faq.html#mkiocccentry_test)"
|
||||
for more more thorough testing, including [Rule 2](#rule2).
|
||||
</p>
|
||||
|
||||
|
||||
<p class="leftbar">
|
||||
See also [Rule 2a](#rule2a), [Rule 2b](#rule2b), and [Rule 17](#rule17).
|
||||
</p>
|
||||
|
||||
Jump to: [top](#)
|
||||
|
||||
@@ -289,7 +256,7 @@ Jump to: [top](#)
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
The size of your program source **should NOT exceed 4993 bytes**.
|
||||
The size of your program source **MUST NOT exceed 4993 bytes**.
|
||||
</p>
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -299,15 +266,11 @@ Jump to: [top](#)
|
||||
## Rule 2b
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
When the filename of your program source is given as a command line argument to
|
||||
the latest version of the official IOCCC size tool (hereby referred to as
|
||||
`iocccsize(1)`), the value printed **should NOT exceed _2503_**.
|
||||
</p>
|
||||
`iocccsize(1)`), the value printed **MUST NOT exceed _2503_**.
|
||||
|
||||
<p class="leftbar">
|
||||
See also [Rule 17](#rule17).
|
||||
</p>
|
||||
|
||||
Jump to: [top](#)
|
||||
|
||||
@@ -316,38 +279,27 @@ Jump to: [top](#)
|
||||
## Rule 3
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
You must [register](../next/register.html) in order to submit your entry to the IOCCC.
|
||||
You may [register](../next/register.html) while the contest is either
|
||||
**[pending](../faq.html#pending)** or **[open](../faq.html#open)**.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
When the contest is **[open](../faq.html#open)**, the [submit server](https://submit.ioccc.org)
|
||||
will email you your [submit server](https://submit.ioccc.org)
|
||||
**Username** and **Initial password**. **Please be patient** as it may take some time,
|
||||
perhaps as much as a few days, for your registration to be processed and for that email to be sent.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Those who [register](../next/register.html) while the contest status is **[pending](../faq.html#pending)**
|
||||
will receive their email (containing their [submit server](https://submit.ioccc.org) **Username**
|
||||
and **Initial password**), later: usually a few days around the time when the contest status
|
||||
becomes **[open](../faq.html#open)**.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Once that email with your **Username** and **Initial password** is sent, you
|
||||
will have fortnight (**14 days**) to [change your submit server initial password](../next/pw-change.html).
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
If you do not change your **Initial password** in time, you will have to
|
||||
[send email to the IOCCC judges](../contact.md#if-you-really-need-to-send-email-the-ioccc-judges)
|
||||
to ask for your password to be reset.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Because it takes time (maybe even a few days) to process your registration
|
||||
and for the server to email you your initial login and password, you
|
||||
should **MAKE SURE** you give yourself enough time to register well
|
||||
@@ -355,18 +307,13 @@ before the contest closes. In other words, **DO NOT WAIT UNTIL THE FINAL DAYS**
|
||||
of the contest to register! The [IOCCC judges](../judges.html)
|
||||
are **NOT** responsible for delayed or lost email, or for those who wait
|
||||
until the last minute to try to register!
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See the
|
||||
FAQ on "[how to register and submit to the IOCCC](../quick-start.html#enter)"
|
||||
for instructions on registering and participating in the IOCCC, as the process
|
||||
may change from contest to contest.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See also [Rule 8](#rule8).
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -376,31 +323,21 @@ Jump to: [top](#)
|
||||
## Rule 4
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
If your submission is selected as a winning entry, then your submission may be modified in order
|
||||
to fit into the structure of the [Official IOCCC winner website](https://www.ioccc.org/index.html).
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
For example, your submission's `Makefile` will be modified and your `remarks.md`
|
||||
will become a `README.md` which will be used to generate an `index.html` file.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Your source code will be the file `prog.c`. The compiled binary
|
||||
will be called `prog`. If you submission requires different filenames,
|
||||
then modify your submission's `Makefile` to **COPY** (**NOT** move!) the files
|
||||
accordingly.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Of course your program may also do this, as long as it works, but you're welcome
|
||||
to use your `Makefile` as well.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See also [Rule 5](#rule5), [Rule 18](#rule18) and [Rule 21](#rule21).
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -417,16 +354,12 @@ part of your original submission including, but not limited to `prog.c`, the
|
||||
If you submission needs (or wishes :-) ) to modify such content, it **MUST**
|
||||
first copy the file to a new filename and then modify that copy.
|
||||
|
||||
<p class="leftbar">
|
||||
You may use your submission (program) to form a copy, or you can make use of
|
||||
your `Makefile` to form that copy.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
If you do make a copy of a submission file, **PLEASE** be sure that
|
||||
the `clobber` rule of your `Makefile` removes that copy in order to
|
||||
restore your submission to its original submission state.
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -436,15 +369,11 @@ Jump to: [top](#)
|
||||
## Rule 6
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
I am not a rule, I am a `free(void *human);` ‼️
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
`while (!(ioccc(rule(you(are(number(6)))))) {`<br>
|
||||
`ha_ha_ha();`<br>
|
||||
`}`
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -454,42 +383,31 @@ Jump to: [top](#)
|
||||
## Rule 7
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
The obfuscated C program must be your own original work.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
You (the author(s)) **MUST** own the contents of your submission **OR**
|
||||
you **MUST** have permission from the owner(s) to submit their content.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
If you submit any content that is owned by others, you **MUST
|
||||
detail that ownership** (i.e., who owns what) **_AND_ document the
|
||||
permission you obtained from them**, in your `remarks.md` file.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Please note that the tools in [mkiocccentry
|
||||
repo](https://github.com/ioccc-src/mkiocccentry) are **NOT** original works,
|
||||
unless of course you're the original authors, in which case they are original. :-)
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Nevertheless tools such as those listed are **NOT** obfuscated. If submitted, they
|
||||
would probably violate a number of rules. :-)
|
||||
</p>
|
||||
|
||||
- [mkiocccentry(1)](https://github.com/ioccc-src/mkiocccentry/blob/master/mkiocccentry.c)
|
||||
- [iocccsize(1)](https://github.com/ioccc-src/mkiocccentry/blob/master/iocccsize.c)
|
||||
- [chkentry(1)](https://github.com/ioccc-src/mkiocccentry/blob/master/chkentry.c)
|
||||
- [chksubmit(1)](https://github.com/ioccc-src/mkiocccentry/blob/master/chksubmit.c)
|
||||
- [txzchk(1)](https://github.com/ioccc-src/mkiocccentry/blob/master/txzchk.c)
|
||||
- [location(1)](https://github.com/ioccc-src/mkiocccentry/blob/master/soup/location_main.c)
|
||||
- [jparse repo as cloned by the mkiocccentry repo](https://github.com/xexyl/jparse)
|
||||
- [dbg repo as cloned by the mkiocccentry repo](https://github.com/lcn2/dbg)
|
||||
- [dyn_array repo as cloned by the mkiocccentry repo](https://github.com/lcn2/dyn_array)
|
||||
|
||||
<p class="leftbar">
|
||||
The IOCCC has a rich history of remarkable winning entries created by
|
||||
authors who skillfully employed various techniques to develop their code.
|
||||
While it is **NOT** required, you are _allowed_ to use tools to develop
|
||||
@@ -499,11 +417,8 @@ runtime analysis tools, machine learning tools, natural language models,
|
||||
code copilot tools, so-called AI services, large language models (LLMs), etc.
|
||||
If you do make use of such tools or services, then we **ENCOURAGE you to describe
|
||||
what tools and how you used those tools**, in your `remarks.md` file.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See also [Rule 5](#rule5), [Rule 18](#rule18) and [Rule 21](#rule21).
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -513,64 +428,44 @@ Jump to: [top](#)
|
||||
## Rule 8
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
Submissions may only be uploaded to the [IOCCC submit server](https://submit.ioccc.org)
|
||||
while the contest is **[open](../faq.html#open)**.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
If you have [registered](../next/register.html) and received by email your [submit
|
||||
server](https://submit.ioccc.org) **Username** and **Initial password** you may
|
||||
upload your submission to the [submit server](https://submit.ioccc.org) but
|
||||
**ONLY** while the contest is **[open](../faq.html#open)**.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
The [submit server](https://submit.ioccc.org), in accordance with [Rule
|
||||
17](rules.html#rule17), places a limit of **3999971** bytes on the size of your
|
||||
upload.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Once the contest is in the **[judging](../faq.html#judging)** state (or
|
||||
**[closed](../faq.html#closed)** state), you may **NOT** upload submissions.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
While the contest is **[open](../faq.html#open)** or in the
|
||||
**[judging](../faq.html#judging)** state, the [IOCCC judges](../judges.html)
|
||||
**MAY** (but are not required to) modify the slot comment of your submission to
|
||||
indicate that they have received it. If uploaded submission is malformed, the
|
||||
[IOCCC judges](../judges.html) **MAY** (but are not required to) modify the slot
|
||||
comment accordingly.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
You are **STRONGLY** advised to use the `mkiocccentry(1)` tool
|
||||
as found in the [mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry)
|
||||
to form the file to upload to the [submit server](https://submit.ioccc.org).
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
The [submit server](https://submit.ioccc.org) will become active when the
|
||||
contest is **[open](../faq.html#open)**. Until the contest status becomes
|
||||
**[open](../faq.html#open)**, the [submit server](https://submit.ioccc.org) may
|
||||
be offline and/or unresponsive.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See the
|
||||
FAQs on "[obtaining, compiling, installing and using the latest release of the mkiocccentry tools](../faq.html#mkiocccentry)"
|
||||
for more information about the `mkiocccentry(1)` tool.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See the "[Important IOCCC dates](#dates)" section above for when these contest states are scheduled.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See also [Rule 3](#rule3) and [Rule 17](#rule17).
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -580,17 +475,13 @@ Jump to: [top](#)
|
||||
## Rule 9
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
Each **PERSON** may register **ONLY ONE** account and each account may submit up to
|
||||
and including **10.000000** (ten in base 10) submissions **PER** contest.
|
||||
</p>
|
||||
|
||||
**Each submission _must be submitted separately_**.
|
||||
|
||||
<p class="leftbar">
|
||||
If this seems unreasonable we suggest you wait until the next contest and in
|
||||
the interim ponder this (modified or not) quote said by Bill Gates:
|
||||
</p>
|
||||
|
||||
> 640K submissions ought to be enough for anybody.
|
||||
>
|
||||
@@ -622,15 +513,11 @@ you expect on our test platforms. If your program needs special
|
||||
permissions you **MUST** document this fact, and explain why
|
||||
it is needed in your submission's `remarks.md` file.
|
||||
|
||||
<p class="leftbar">
|
||||
Furthermore, if you need a supplementary program that you include, to have these
|
||||
permissions, you will also have to explain this, because these bits are not
|
||||
allowed in submissions and those bits will not be copied by `mkiocccentry(1)`.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See also [Rule 17](#rule17).
|
||||
</p>
|
||||
|
||||
Jump to: [top](#)
|
||||
|
||||
@@ -644,9 +531,7 @@ the opinion of the [judges](../judges.html), violates the rules WILL BE DISQUALI
|
||||
Submissions that attempt to abuse the rules **MUST** try to justify why
|
||||
their rule abuse is legal, in the `remarks.md` file.
|
||||
|
||||
<p class="leftbar">
|
||||
See also [the warning about rule abuse](#rule_abuse).
|
||||
</p>
|
||||
|
||||
Jump to: [top](#)
|
||||
|
||||
@@ -655,14 +540,10 @@ Jump to: [top](#)
|
||||
## Rule 13
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
7 out of 13 UTF-8 characters in C code agree that this rule number is lucky
|
||||
enough to be a prime number.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Fun fact: the fear of the number 13 is called _triskaidekaphobia_.
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -672,30 +553,22 @@ Jump to: [top](#)
|
||||
## Rule 14
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
Any C source that fails to compile because of lines with trailing
|
||||
control-M's (i.e., lines with a trailing byte `015`) **might** be rejected.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Please do **NOT** put trailing control-M's on `prog.c`, `Makefile`, or
|
||||
`remarks.md` files but instead end lines with a trailing newline (i.e.,
|
||||
byte `012`) character.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
As we do **NOT** use DOS, please also be sure that the `Makefile` and
|
||||
`remarks.md` files end in final newline (i.e., byte `012`) character.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
You are permitted, in order to try and squeeze your `prog.c` under
|
||||
a [Rule 2a](#rule2a) and/or [Rule 2b](#rule2b) limit, to **NOT**
|
||||
end your `prog.c` with a newline (i.e., byte `012`) character.
|
||||
If you need to do this, **PLEASE** document that in your `remarks.md` file and
|
||||
if your compiler complains about this, document this too and update your
|
||||
`Makefile` to account for this.
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -705,20 +578,14 @@ Jump to: [top](#)
|
||||
## Rule 15
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
In order to register for the IOCCC, you **MUST** have a valid email address.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
The [judges](../judges.html) **are NOT responsible for delays in email**, so please plan
|
||||
enough time accordingly.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See the
|
||||
FAQ on "[how to register](../quick-start.html#register)"
|
||||
for details.
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -730,22 +597,18 @@ Jump to: [top](#)
|
||||
|
||||
Submissions that are similar to previous winning IOCCC entries are discouraged.
|
||||
|
||||
<p class="leftbar">
|
||||
You are allowed to resubmit to a later contest, a submission that
|
||||
did not win the IOCCC. If you do so, then you would be well advised
|
||||
to try and enhance and improve your submission.
|
||||
If you do resubmit something that did not previously win, then
|
||||
you are **encouraged** to mention this in your `remarks.md` file
|
||||
as this **sometimes** helps.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Resubmitting an improved submission that did not become an
|
||||
IOCCC winning entry is a **time honored** tradition of the IOCCC.
|
||||
There are some IOCCC winning entries that were submitted to multiple contests
|
||||
before they were improved enough to "climb over" (as the expression
|
||||
goes) all the other submissions for a given contest.
|
||||
</p>
|
||||
|
||||
Jump to: [top](#)
|
||||
|
||||
@@ -754,68 +617,57 @@ Jump to: [top](#)
|
||||
## Rule 17
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
Your submission must be in the form of a **xz compressed tarball** that
|
||||
the **current released version** of the `mkiocccentry(1)` tool would generate.
|
||||
The files, directories, and paths **MUST** conform to the limits imposed
|
||||
by `mkiocccentry(1)` including but **NOT LIMITED** to their names, count,
|
||||
path length, directory tree depth and permissions.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Your **xz compressed tarball** must be larger than **0** bytes and no larger
|
||||
than **3999971** bytes.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
The sum of the byte lengths of all files, after the **xz compressed tarball** is untarred,
|
||||
must **NOT** exceed `27651*1024` bytes.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Your **xz compressed tarball** submission _file_ **MUST** pass the tests performed by
|
||||
the current version of `txzchk(1)`.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Your **xz compressed tarball** submission _filename_ **MUST** pass the tests
|
||||
performed by the current version of `fnamchk(1)`.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
When your **xz compressed tarball** submission file is untarred, the
|
||||
resulting _directory_ **MUST** pass the checks performed by the current version
|
||||
of `chkentry(1)`.
|
||||
</p>
|
||||
of `chksubmit(1)`.
|
||||
|
||||
<p class="leftbar">
|
||||
The resulting `prog.c` file **MUST** pass the [Rule 2](#rule2) size checks performed by the current
|
||||
version of `iocccsize(1)`.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
The `.auth.json` and `.info.json` **MUST** be compatible with what the
|
||||
current version of the `mkiocccentry(1)` tool would produce. They **MUST
|
||||
ALSO** pass the tests performed by the current version of `chkentry(1)`.
|
||||
</p>
|
||||
ALSO** pass the tests performed by the current version of `chksubmit(1)`.
|
||||
|
||||
<p class="leftbar">
|
||||
The required `Makefile` must **NOT** be empty.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
The required `remarks.md` must **NOT** be empty.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
You may **NOT** submit a tarball created by the `-d` or `-s seed` option of
|
||||
`mkiocccentry(1)`.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
The maximum number of files your submission tarball may contain, not counting
|
||||
the optional files (`prog.alt.c`, `try.sh`, `try.alt.sh`) and the mandatory
|
||||
files (`prog.c`, `Makefile`, `remarks.md`) is 31.
|
||||
the free files (`prog.c`, `remarks.md`, `Makefile`, `prog.alt.c`, `try.sh`,
|
||||
`try.alt.sh` and the two files generated by `mkiocccentry`, `.info.json` and
|
||||
`.auth.json`) is 31.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
The maximum number of directories your submission may have is 13 and the maximum
|
||||
depth a path may have is 4.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
The maximum filename length (a component of a path) is 38 which means the
|
||||
maximum length total of a path is 60 characters.
|
||||
</p>
|
||||
|
||||
See the
|
||||
@@ -825,31 +677,23 @@ for more details.
|
||||
|
||||
### TL;DR Rule 17 - Use `mkiocccentry(1)` to form your submission
|
||||
|
||||
<p class="leftbar">
|
||||
Let the current version of the `mkiocccentry(1)` tool form your **xz
|
||||
compressed tarball** submission file.
|
||||
</p>
|
||||
|
||||
### Warning
|
||||
|
||||
<p class="leftbar">
|
||||
Using command line flags or input prompts to override checks and
|
||||
limits made by the above mentioned tools is **NOT** recommended
|
||||
and may result in your submission being rejected by the [IOCCC
|
||||
submit server](https://submit.ioccc.org) and/or the [IOCCC Judges](../judges.html).
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See the
|
||||
FAQ on the "[mkiocccentry toolkit](../faq.html#mkiocccentry)
|
||||
for how to obtain and use the above mentioned tools.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
**IMPORTANT**: See the
|
||||
FAQ on "[Rule 17](../faq.html#rule17)"
|
||||
for very important details behind this rule.
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -863,9 +707,7 @@ The entirety of your submission must be submitted under the following license:
|
||||
|
||||
> **[CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/)**
|
||||
|
||||
<p class="leftbar">
|
||||
See also [Rule 7](#rule7).
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -875,52 +717,38 @@ Jump to: [top](#)
|
||||
## Rule 19
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
The `remarks.md` file, a required non-empty file, must be written in
|
||||
[Markdown format](https://www.markdownguide.org/basic-syntax/).
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
We currently use [pandoc(1)](https://pandoc.org) to automatically
|
||||
convert markdown to HTML. Please try to avoid submitting an HTML file
|
||||
translation to any markdown file. If you **MUST** submit such an HTML
|
||||
translation, **PLEASE** mention this in your `remarks.md` file.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
For any submission that wins the contest, we modify your `remarks.md` file and
|
||||
rename it as `README.md` and then use [pandoc(1)](https://pandoc.org)
|
||||
to generate the `index.html` file in the top level directory of your submission.
|
||||
For this reason, `mkiocccentry(1)` will **NOT** package such files (in the top
|
||||
level submission directory) and both `txzchk(1)` and `chkentry(1)` will flag
|
||||
level submission directory) and both `txzchk(1)` and `chksubmit(1)` will flag
|
||||
them as errors (in the top level submission directory) as well, so please do
|
||||
**NOT** try and slip these files in the top level directory where your
|
||||
`remarks.md` resides.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See the [Markdown Cheat Sheet](https://www.markdownguide.org/cheat-sheet/)
|
||||
for a handy quick reference to the Markdown syntax.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See the [Markdown guide](https://www.markdownguide.org)
|
||||
for free and open-source reference guide that explains
|
||||
how to use markdown.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See also the [Daring Fireball Markdown:
|
||||
Basics](http://daringfireball.net/projects/markdown/basics) for
|
||||
information on the markdown format.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
**PLEASE** see our
|
||||
FAQ on "[remarks.md](../faq.html#remarks_md)"
|
||||
**AND** the
|
||||
[IOCCC markdown guidelines](../markdown.html) for additional markdown guidance.
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -934,12 +762,10 @@ The how to build instructions must be in GNU Makefile format. See the
|
||||
FAQ about "[make(1) compatibility the IOCCC supports](../faq.html#make_compatibility)
|
||||
for more details.
|
||||
|
||||
<p class="leftbar">
|
||||
You are **ENCOURAGED** to use the
|
||||
Makefile example, renamed as `Makefile` of course, for help in constructing your
|
||||
`Makefile`. See the [Makefile section](guidelines.html#makefile) in the
|
||||
guidelines for more details.
|
||||
</p>
|
||||
|
||||
The target of the `Makefile` must be called `prog`. The original
|
||||
C source file must be called `prog.c`.
|
||||
@@ -949,26 +775,20 @@ To invoke the C compiler, use `${CC}`. To invoke the C preprocessor use
|
||||
|
||||
Do **NOT** assume that `.` (the current directory) is in the `$PATH`.
|
||||
|
||||
<p class="leftbar">
|
||||
When `make clobber` is invoked, we request that your submission directory be restored
|
||||
to its original submission state. For example, any temporary files
|
||||
created during the build process, or during execution should be
|
||||
removed by the `clobber` rule.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Your `Makefile` **MUST** use a syntax that is compatible with `bash(1)`
|
||||
**AND** GNU `make(1)`. You are **ENCOURAGED** to use `SHELL= bash` in
|
||||
your `Makefile`. Please add a space between the `=` and the value.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Assume that commands commonly found in [Single UNIX
|
||||
Specification](https://en.wikipedia.org/wiki/Single_UNIX_Specification)
|
||||
environments and systems that conform to the [Single UNIX
|
||||
Specification](https://en.wikipedia.org/wiki/Single_UNIX_Specification) are
|
||||
available in the `$PATH` search path.
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -978,23 +798,17 @@ Jump to: [top](#)
|
||||
## Rule 21
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
Your submission **MUST NOT** create or modify files **ABOVE** the current directory
|
||||
_with the exception of_ the `/tmp` and the `/var/tmp` directories. Your submission
|
||||
**MAY** create subdirectories **below** the submission directory, or in `/tmp`,
|
||||
or in `/var/tmp` provided that `.` is **NOT** the first byte in any
|
||||
directory name or filename you create.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
If you do create files and directories, **PLEASE** be sure that
|
||||
the `clobber` rule of your `Makefile` removes such created files
|
||||
in order to restore your submission to its original submission state.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See also [Rule 5](#rule5).
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -1017,11 +831,9 @@ within your code, data, remarks or program output (unless you are
|
||||
**Peter Honeyman** or pretending to be **Peter Honeyman**) will be grounds
|
||||
for disqualification of your submission.
|
||||
|
||||
<p class="leftbar">
|
||||
And don't assume that we won't be able to determine your name even if it's not
|
||||
obvious, because you stand a significant chance of violating this rule if you
|
||||
do.
|
||||
</p>
|
||||
|
||||
Yes, Virginia, **WE REALLY MEAN IT!**
|
||||
|
||||
@@ -1080,9 +892,7 @@ Jump to: [top](#)
|
||||
## Rule 27
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
Unless otherwise needed, [Rule 27](#rule27) is reserved for something cubic. :-)
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -1092,10 +902,8 @@ Jump to: [top](#)
|
||||
## Rule 28
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
[Rule 28](#rule28) is a perfect way to end the list of [IOCCC rules](rules.html)
|
||||
as we do **NOT** plan to have **496** rules. :-)
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
@@ -1106,41 +914,28 @@ Jump to: [top](#)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="leftbar">
|
||||
For questions or comments about the contest, see [Contacting the IOCCC](../contact.html).
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
**Be SURE** to review the [IOCCC Rules and Guidelines](index.html) as they
|
||||
may (and **often do**) change from year to year.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
**PLEASE** be **SURE** you have the **current** [IOCCC rules](rules.html) and
|
||||
[IOCCC guidelines](guidelines.html) prior to submitting to the contest.
|
||||
</p>
|
||||
|
||||
See the [Official IOCCC website news](../news.html) for additional information.
|
||||
|
||||
<p class="leftbar">
|
||||
For the updates and breaking IOCCC news, you are encouraged to follow
|
||||
the [IOCCC on Mastodon](https://fosstodon.org/@ioccc) account. See our
|
||||
FAQ on "[Mastodon](../faq.html#try_mastodon)"
|
||||
for more information. Please do note that unless
|
||||
you are mentioned by us you will **NOT** get a notification from the app _so you
|
||||
should refresh the page **even if you do follow us**_.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Check out the [Official IOCCC winner website](https://www.ioccc.org/index.html) in general.
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
Consider joining the IOCCC discord community via this link:
|
||||
[https://discord.gg/Wa42Qujwnw](https://discord.gg/Wa42Qujwnw)
|
||||
</p>
|
||||
|
||||
<p class="leftbar">
|
||||
See the
|
||||
FAQ on "[obtaining, compiling, installing and using the mkiocccentry tools](../faq.html#mkiocccentry)"
|
||||
and the
|
||||
@@ -1149,7 +944,6 @@ as that FAQ has important details on
|
||||
[how to register](../next/register.html)
|
||||
as well as
|
||||
[how to upload your submission](../next/submit.html) for the IOCCC.
|
||||
</p>
|
||||
|
||||
|
||||
Jump to: [top](#)
|
||||
|
||||
+5
-5
@@ -495,7 +495,7 @@ of:</p>
|
||||
timestamp</a>.</p>
|
||||
<p>We highly recommend that you use <code>mkiocccentry(1)</code> to create your submit file as
|
||||
it must pass the <code>txzchk(1)</code> sanity checks, and when the uncompressed tarball is
|
||||
untarred, the resulting directory must pass <code>chkentry(1)</code>.</p>
|
||||
untarred, the resulting directory must pass <code>chksubmit(1)</code>.</p>
|
||||
</blockquote>
|
||||
<p><strong>NOTE</strong>: the <code>00000000-0000-4000-0000-000000000000</code> is your UUID. <strong>MAKE SURE
|
||||
YOU CHANGE IT TO YOUR UUID</strong>!</p>
|
||||
@@ -571,7 +571,7 @@ To see any status updates, you should logout and log back in later.</p>
|
||||
</blockquote>
|
||||
<p>Or:</p>
|
||||
<blockquote>
|
||||
<p><strong>Status: submit file failed the chkentry test! Use mkiocccentry to rebuild and resubmit to this slot.</strong></p>
|
||||
<p><strong>Status: submit file failed the chksubmit test! Use mkiocccentry to rebuild and resubmit to this slot.</strong></p>
|
||||
</blockquote>
|
||||
<p>… or <strong>ANY</strong> other error then you <strong>MUST FIX</strong> your submission, repackage your
|
||||
tarball with <code>mkiocccentry</code> and upload to the same slot again! If you do not fix
|
||||
@@ -579,7 +579,7 @@ this your submission <strong>WILL BE REJECTED</strong> for violating <a href="ru
|
||||
17</a>!</p>
|
||||
<p>If the format test went well, then you will see:</p>
|
||||
<blockquote>
|
||||
<p><strong>Status: submit file received by the IOCCC judges. Passed both txzchk and chkentry tests.</strong></p>
|
||||
<p><strong>Status: submit file received by the IOCCC judges. Passed both txzchk and chksubmit tests.</strong></p>
|
||||
</blockquote>
|
||||
<p><strong>IMPORTANT</strong>: this does <strong>NOT</strong> mean that your submission does not violate the
|
||||
rules or that everything is OK once the tarball is extracted; it simply means
|
||||
@@ -589,8 +589,8 @@ submission rejected for violating <a href="rules.html#rule17">Rule 17</a>, even
|
||||
tests passed.</p>
|
||||
<p>For details on <code>txzchk</code>, see the
|
||||
FAQ on “<a href="../faq.html#txzchk">txzchk</a>”.</p>
|
||||
<p>For details on <code>chkentry</code>, see the
|
||||
FAQ on “<a href="../faq.html#chkentry">chkentry</a>”.</p>
|
||||
<p>For details on <code>chksubmit</code>, see the
|
||||
FAQ on “<a href="../faq.html#chksubmit">chksubmit</a>”.</p>
|
||||
<p>If you need more information on the two JSON files, see
|
||||
FAQ on the <a href="../faq.html#info_json">“.info.json file</a>”
|
||||
and the
|
||||
|
||||
+5
-5
@@ -56,7 +56,7 @@ timestamp](https://unixtime.org/).
|
||||
>
|
||||
> We highly recommend that you use `mkiocccentry(1)` to create your submit file as
|
||||
it must pass the `txzchk(1)` sanity checks, and when the uncompressed tarball is
|
||||
untarred, the resulting directory must pass `chkentry(1)`.
|
||||
untarred, the resulting directory must pass `chksubmit(1)`.
|
||||
|
||||
**NOTE**: the `00000000-0000-4000-0000-000000000000` is your UUID. **MAKE SURE
|
||||
YOU CHANGE IT TO YOUR UUID**!
|
||||
@@ -153,7 +153,7 @@ After the format test is complete, if you see an error such as:
|
||||
|
||||
Or:
|
||||
|
||||
> **Status: submit file failed the chkentry test! Use mkiocccentry to rebuild and resubmit to this slot.**
|
||||
> **Status: submit file failed the chksubmit test! Use mkiocccentry to rebuild and resubmit to this slot.**
|
||||
|
||||
... or **ANY** other error then you **MUST FIX** your submission, repackage your
|
||||
tarball with `mkiocccentry` and upload to the same slot again! If you do not fix
|
||||
@@ -162,7 +162,7 @@ this your submission **WILL BE REJECTED** for violating [Rule
|
||||
|
||||
If the format test went well, then you will see:
|
||||
|
||||
> **Status: submit file received by the IOCCC judges. Passed both txzchk and chkentry tests.**
|
||||
> **Status: submit file received by the IOCCC judges. Passed both txzchk and chksubmit tests.**
|
||||
|
||||
**IMPORTANT**: this does **NOT** mean that your submission does not violate the
|
||||
rules or that everything is OK once the tarball is extracted; it simply means
|
||||
@@ -174,8 +174,8 @@ tests passed.
|
||||
For details on `txzchk`, see the
|
||||
FAQ on "[txzchk](../faq.html#txzchk)".
|
||||
|
||||
For details on `chkentry`, see the
|
||||
FAQ on "[chkentry](../faq.html#chkentry)".
|
||||
For details on `chksubmit`, see the
|
||||
FAQ on "[chksubmit](../faq.html#chksubmit)".
|
||||
|
||||
If you need more information on the two JSON files, see
|
||||
FAQ on the [".info.json file](../faq.html#info_json)"
|
||||
|
||||
+1
-1
@@ -577,7 +577,7 @@ you have an earlier version and you have not installed the tools and run the
|
||||
tools from outside the repo directory, you will have to use the options to the
|
||||
tools to set the path to the required tools.</p>
|
||||
<p>Do remember to make sure you have the latest vers
|
||||
<code>chkentry(1)</code>, <code>txzchk(1)</code> and <code>fnamchk(1)</code>. And remember to make sure you have
|
||||
<code>chksubmit(1)</code>, <code>txzchk(1)</code> and <code>fnamchk(1)</code>. And remember to make sure you have
|
||||
the latest version so you do not violate <a href="next/rules.html#rule17">Rule 17</a>.
|
||||
See the
|
||||
FAQ on “<a href="faq.html#obtaining_mkiocccentry">obtaining the latest mkiocccentry tools</a>”,
|
||||
|
||||
+1
-1
@@ -177,7 +177,7 @@ tools from outside the repo directory, you will have to use the options to the
|
||||
tools to set the path to the required tools.
|
||||
|
||||
Do remember to make sure you have the latest vers
|
||||
`chkentry(1)`, `txzchk(1)` and `fnamchk(1)`. And remember to make sure you have
|
||||
`chksubmit(1)`, `txzchk(1)` and `fnamchk(1)`. And remember to make sure you have
|
||||
the latest version so you do not violate [Rule 17](next/rules.html#rule17).
|
||||
See the
|
||||
FAQ on "[obtaining the latest mkiocccentry tools](faq.html#obtaining_mkiocccentry)",
|
||||
|
||||
Reference in new issue
Block a user