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