Merge pull request #2416 from xexyl/md-next
This commit is contained in:
4 files changed
+267
-232
No files matched your search
+61
-57
@@ -384,7 +384,7 @@
|
||||
<!-- BEFORE: 1st line of markdown file: next/guidelines.md -->
|
||||
<!-- START: this line starts content from: inc/guidelines.closed.hdr -->
|
||||
<h1 id="warning-these-guidelines-are-out-of-date">WARNING: These guidelines are OUT OF DATE</h1>
|
||||
<p>They are a <strong>very tentative proposal</strong> for the next IOCCC
|
||||
<p>These guidelines are a <strong>very tentative proposal</strong> for the next IOCCC
|
||||
that is <strong>VERY LIKELY</strong> to be updated before the next IOCCC.
|
||||
They are are provided as a <strong>very tentative</strong> hint at what
|
||||
might be used in a future IOCCC.</p>
|
||||
@@ -396,46 +396,48 @@ might be used in a future IOCCC.</p>
|
||||
<a href="https://fosstodon.org/@ioccc"><span class="citation" data-cites="IOCCC">@IOCCC</span> mastodon feed</a> for information about future IOCCC openings.</p>
|
||||
<!-- END: the next line ends content from: inc/guidelines.closed.hdr -->
|
||||
<!-- This is the last line modified by the tool: bin/gen-status.sh -->
|
||||
<h1 id="th-international-obfuscated-c-code-contest-official-guidelines">27th International Obfuscated C Code Contest Official Guidelines</h1>
|
||||
<h1 id="th-international-obfuscated-c-code-contest-official-guidelines">28th International Obfuscated C Code Contest Official Guidelines</h1>
|
||||
<p>Copyright © 2024 Leonid A. Broukhis, Landon Curt Noll.</p>
|
||||
<p>All Rights Reserved. Permission for personal, education or non-profit use is
|
||||
granted provided this this copyright and notice are included in its entirety
|
||||
and remains unaltered. All other uses must receive prior permission in
|
||||
writing from the contest judges.</p>
|
||||
writing by <a href="../contact.html">contacting the judges</a>.</p>
|
||||
<h2 id="guidelines-version">Guidelines version</h2>
|
||||
<p><strong><code>|</code></strong> This guidelines file is version <strong>2023-04-04-v28</strong>.</p>
|
||||
<p><strong>IMPORTANT</strong>: Be sure to read the <a href="rules.html">IOCCC rules</a>.</p>
|
||||
<p><strong>IMPORTANT</strong>: Be <strong>SURE</strong> to read the <a href="rules.html">IOCCC rules</a>.</p>
|
||||
<h3 id="change-marks">Change marks</h3>
|
||||
<p><strong><code>|</code></strong> <strong>← Lines that start with this symbol indicate a change from the previous IOCCC</strong></p>
|
||||
<p>Most lines (we sometimes make mistakes) that were modified start the <strong><code>|</code></strong> symbol.</p>
|
||||
<p>Most lines (we sometimes make mistakes) that were modified since the previous
|
||||
IOCCC start with the <strong><code>|</code></strong> symbol.</p>
|
||||
<h1 id="about-this-file">ABOUT THIS FILE:</h1>
|
||||
<p>This file contains guidelines intended to help people who wish to
|
||||
submit entries to the International Obfuscated C Code Contest (IOCCC).</p>
|
||||
<p>This is not the IOCCC rules, though it does contain comments about
|
||||
them. The guidelines should be viewed as hints and suggestions.
|
||||
<p>This file contains <em>guidelines</em> intended to help people who wish to
|
||||
submit entries to the <a href="https://www.ioccc.org">International Obfuscated C Code Contest
|
||||
(IOCCC)</a>.</p>
|
||||
<p>These are not the IOCCC rules, though it does contain comments about
|
||||
them. The guidelines should be viewed as <em>hints</em> and <em>suggestions</em>.
|
||||
Entries that violate the guidelines but remain within the rules are
|
||||
allowed. Even so, you are safer if you remain within the guidelines.</p>
|
||||
<p>You should read the current IOCCC rules, prior to submitting entries.
|
||||
<p>You should read the current <a href="rules.html">IOCCC rules</a>, prior to submitting entries.
|
||||
The rules are typically sent out with these guidelines.</p>
|
||||
<h1 id="whats-new-in-20192020">WHAT’S NEW IN 2019/2020</h1>
|
||||
<p><strong><code>|</code></strong> This IOCCC runs from <strong>2019-Dec-26 06:01:41 UTC</strong> to <strong>2020-Mar-15 06:26:49 UTC</strong>.</p>
|
||||
<p><strong><code>|</code></strong> The reason for the times of day are so that key IOCCC events occur during UTC
|
||||
<strong><code>|</code></strong> “prime time”. Do you understand why we factored this into the rules and
|
||||
<strong><code>|</code></strong> guidelines? :-)</p>
|
||||
<p>Until the start of this IOCCC, these rules, guidelines and iocccsize.c tool
|
||||
should be considered provisional BETA versions and may be adjusted
|
||||
at any time.</p>
|
||||
<p>Until the start of this IOCCC, these rules, guidelines and iocccsize.c
|
||||
(contained in the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry
|
||||
toolkit</a>)
|
||||
tool should be considered provisional <strong>BETA</strong> versions and may be
|
||||
adjusted <strong>AT ANY TIME</strong>.</p>
|
||||
<p><strong><code>|</code></strong> Even though the contest will start in 2019, because the contest will close
|
||||
<strong><code>|</code></strong> in 2020, URLs, subject lines, and contest related email addresses use 2019.</p>
|
||||
<p>The IOCCC submission URL:</p>
|
||||
<pre><code> https://submit.ioccc.org/</code></pre>
|
||||
<p>The IOCCC submission URL is <a href="https://submit.ioccc.org/" class="uri">https://submit.ioccc.org/</a>.</p>
|
||||
<p><strong><code>|</code></strong> The submit URL should be active on or slightly before <strong>2020-Jan-15 12:21:37 UTC</strong>.</p>
|
||||
<p>Please wait to submit your entries until after that time.</p>
|
||||
<p>The official rules, guidelines and iocccsize.c tool will be available
|
||||
<p>The official rules, guidelines and iocccsize.c (invoked by the mkiocccentry) tool will be available
|
||||
on the official IOCCC website on or slightly before start of this IOCCC.
|
||||
Please check the IOCCC website “How to enter” link:</p>
|
||||
<pre><code> https://www.ioccc.org/index.html#enter</code></pre>
|
||||
<p>on or after the start of this IOCCC to be sure you are using the correct
|
||||
Please check the IOCCC FAQ <a href="../faq#submit">How to submit</a>.
|
||||
on or after the start of this IOCCC to be sure you are using the correct
|
||||
versions of these items before using the IOCCC entry submission URL.</p>
|
||||
<h1 id="hints-and-suggestions">HINTS AND SUGGESTIONS:</h1>
|
||||
<p>You are encouraged to examine the winners of previous contests. See
|
||||
@@ -568,9 +570,11 @@ and enjoy your entry.</p>
|
||||
So try to ensure that your entry compiles warning free. If possible,
|
||||
to compile compile your code using:</p>
|
||||
<pre><code> -Wall -Wextra -pedantic</code></pre>
|
||||
<p>For compilers, such as clang, that have the -Weverything option, try
|
||||
<p>For compilers, such as clang, that have the <code>-Weverything</code> option, try
|
||||
to make your code compile warning free using:</p>
|
||||
<pre><code> -Wall -Wextra -Weverything -pedantic</code></pre>
|
||||
<p>.. though see <a href="../faq.html#faq3_11">Why do Makefiles use -Weverything with
|
||||
clang?</a> in the <a href="../faq.html">FAQ</a>.</p>
|
||||
<p>If you must turn off various warnings on the compile line such as:</p>
|
||||
<pre><code> ... -Wno-empty-body -Wno-return-type ...</code></pre>
|
||||
<p>be sure to clearly state so in your remarks AS WELL AS in
|
||||
@@ -588,7 +592,7 @@ except in one small part (ISO/IEC 9899:2011) where they might not truly
|
||||
understand the implications of such words.</p>
|
||||
<pre><code> http://hitchhikers.wikia.com/wiki/Belgium
|
||||
http://www.bezem.de/pdf/ReservedWordsInC.pdf</code></pre>
|
||||
<p>DO NOT assume that we will use gcc to compile your program.
|
||||
<p><strong>DO NOT</strong> assume that we will use gcc to compile your program.
|
||||
We will first try to compile your program using Clang.</p>
|
||||
<p>It is much better to not use any obscure compiler flags if
|
||||
you can help it. We want to discourage the use of obscure compiler
|
||||
@@ -602,7 +606,7 @@ of nested functions such as:</p>
|
||||
| please_do_not_submit_this();
|
||||
}</code></pre>
|
||||
<p>This is because such nested functions often requires one to compile with
|
||||
a flag such as -fnested-functions that is not found on some compilers.</p>
|
||||
a flag such as <code>-fnested-functions</code> that is not found on some compilers.</p>
|
||||
<p>On 2012 July 20, the judges rescinded the encouragement of
|
||||
nested functions. Such constructions, while interesting and sometimes
|
||||
amusing, will have to wait until they required by a C standard that are
|
||||
@@ -610,23 +614,23 @@ actually implemented in commonly used C compilers. Sorry!</p>
|
||||
<p><strong><code>|</code></strong> We prefer programs that do not require a fish license: crayons and
|
||||
<strong><code>|</code></strong> cat detector vans not withstanding.</p>
|
||||
<p>If your entry uses functions that have a variable number of
|
||||
arguments, be careful. Systems implement va_list as a wide variety
|
||||
of ways. Because of this, a number of operations using va_list are
|
||||
arguments, be careful. Systems implement <code>va_list</code> as a wide variety
|
||||
of ways. Because of this, a number of operations using <code>va_list</code> are
|
||||
not portable and must not be used:</p>
|
||||
<ul>
|
||||
<li>assigning a non-va_list variable to/from a va_list variable</li>
|
||||
<li>casting a non-va_list variable into/from a va_list variable</li>
|
||||
<li>passing a va_list variable to a function expecting a non-va_list arg</li>
|
||||
<li>passing a non-va_list variable to a function expecting a va_list arg</li>
|
||||
<li>performing arithmetic on va_list variables</li>
|
||||
<li>using va_list as a structure or union</li>
|
||||
<li>assigning a non-<code>va_list</code> variable to/from a <code>va_list</code> variable</li>
|
||||
<li>casting a non-<code>va_list</code> variable into/from a <code>va_list</code> variable</li>
|
||||
<li>passing a <code>va_list</code> variable to a function expecting a non-<code>va_list</code> arg</li>
|
||||
<li>passing a non-<code>va_list</code> variable to a function expecting a <code>va_list</code> arg</li>
|
||||
<li>performing arithmetic on <code>va_list</code> variables</li>
|
||||
<li>using <code>va_list</code> as a structure or union</li>
|
||||
</ul>
|
||||
<p>In particular, do not treat va_list variables as if they were a char **’s.</p>
|
||||
<p>Avoid using <varargs.h>. Use <stdarg.h> instead.</p>
|
||||
<p>In particular, do not treat <code>va_list</code> variables as if they were a <code>char **</code>s.</p>
|
||||
<p>Avoid using <code>varargs.h</code>. Use <code>stdarg.h</code> instead.</p>
|
||||
<p>On 28 January 2007, the Judges rescinded the requirement that the
|
||||
’#” in a C preprocessor directive must be the 1st non-whitespace octet.</p>
|
||||
<p>The exit() function returns void. Some broken systems have exit()
|
||||
return int, your entry should assume that exit() returns a void.</p>
|
||||
<code>#</code> in a C preprocessor directive must be the 1st non-whitespace octet.</p>
|
||||
<p>The <code>exit(3)</code> function returns void. Some broken systems have <code>exit(3)</code>
|
||||
return <code>int</code>, your entry should assume that <code>exit(3)</code> returns a <code>void</code>.</p>
|
||||
<p><strong><code>|</code></strong> This guideline has a change mark at the very start of this line.</p>
|
||||
<p>Small programs are best when they are short, obscure and concise.
|
||||
While such programs are not as complex as other winners, they do
|
||||
@@ -697,13 +701,13 @@ operating systems (i.e., Linux, GNU Hurd, BSD, Unix, etc.).</p>
|
||||
<p>There are at least zero judges who think that Fideism has little
|
||||
or nothing to do with the IOCCC judging process.</p>
|
||||
<p>Don’t forget that the building of your program should be done
|
||||
<strong><em>without human intervention</em></strong>. So don’t do things such as:</p>
|
||||
<strong><em>WITHOUT human intervention</em></strong>. So don’t do things such as:</p>
|
||||
<pre><code> prog: prog.c
|
||||
#echo this next line requires data from standard input
|
||||
cat > prog.c
|
||||
${CC} prog.c -o prog</code></pre>
|
||||
<p>However, you can do something cute such as making your program
|
||||
do something dumb (or cute) when it is built ‘automatically’. And
|
||||
do something dumb (or cute) when it is built ‘automatically’, and
|
||||
when it is run with a human involved, do something more clever.
|
||||
For example, one could use the build instructions:</p>
|
||||
<pre><code> prog: prog.c
|
||||
@@ -713,14 +717,14 @@ For example, one could use the build instructions:</p>
|
||||
alternate / human intervention based building.</p>
|
||||
<p>We want to get away from source that is simply a compact blob of
|
||||
octets. Really try to be more creative than blob coding. <em>HINT!</em></p>
|
||||
<p>Please do not use things like gzip to get around the size limit.
|
||||
<p>Please do not use things like <code>gzip(1)</code> to get around the size limit.
|
||||
Please try to be much more creative.</p>
|
||||
<p>We really dislike entries that make blatant use of including
|
||||
large data files to get around the source code size limit.</p>
|
||||
<p>We do not recommend submitting systemd source code to the IOCCC,
|
||||
<p>We do not recommend submitting <a href="https://systemd.io">systemd</a> source code to the IOCCC,
|
||||
if nothing else because that code is likely to exceed the source code
|
||||
size limit. This isn’t to say that another highly compact and obfuscated
|
||||
replacement of init would not be an interesting submission.</p>
|
||||
replacement of <code>init</code> would not be an interesting submission.</p>
|
||||
<p>Did we remember to indicate that programs that blatantly use
|
||||
some complex state machine to do something simple are boring?
|
||||
We think we did. :-)</p>
|
||||
@@ -732,7 +736,7 @@ version of the same program that is formatted in an interesting
|
||||
and/or obfuscated way, would definitely win over the first two!
|
||||
Remember, you can submit more than one entry. See the rules for details.</p>
|
||||
<p>We suggest that you avoid trying for the ‘smallest self-replicating’
|
||||
source. The smallest, a zero byte entry, won in 1994.</p>
|
||||
source. The smallest, a zero byte entry, <a href="../1994/smr/index.html">won in 1994</a>.</p>
|
||||
<p>Programs that claim to be the smallest C source that does something, really
|
||||
better be the smallest such program or they risk being rejected because
|
||||
they do not work as documented.</p>
|
||||
@@ -813,7 +817,7 @@ read so many twisted entries, you too would enjoy a good laugh or two.
|
||||
We think the readers of the contest winners do as well. We do read
|
||||
the program “remarks” during the judging process, so it is worth your
|
||||
while to write remarkable program “remarks”.</p>
|
||||
<p>We dislike C code with trailing control-M’s (r \015) that results
|
||||
<p>We dislike C code with trailing control-M’s (<code>\r</code> or <code>\015</code>) that results
|
||||
in compilation failures. Some non-Unix/non-Linux tools such as
|
||||
MS Visual C and MS Visual C++ leave trailing control-M’s on lines.
|
||||
Users of such tools should strip off such control-M’s before submitting
|
||||
@@ -832,7 +836,7 @@ Instead of unescaped octets, you should use or escapes:</p>
|
||||
<p>It is a very good idea to, in your remarks file, tell us why you
|
||||
think your entry is obfuscated. This is particularly true if
|
||||
your entry is has some very subtle obfuscations that we might
|
||||
otherwise overlook. <<– Hint!</p>
|
||||
otherwise overlook. <strong><<– Hint!</strong></p>
|
||||
<p>Anyone can format their code into a dense blob. A really clever
|
||||
author will try format their entry using a “normal” formatting style
|
||||
such that at first glance (if you squint and don’t look at the details)
|
||||
@@ -941,11 +945,11 @@ sales, product management an even from customers themselves on a
|
||||
all too regular basis. This is one of the reasons why the rules and
|
||||
guidelines are written in obfuscated form.</p>
|
||||
<h1 id="judging-process">JUDGING PROCESS:</h1>
|
||||
<p>Entries are judged by Leonid A. Broukhis, Simon Cooper, Landon Curt Noll.</p>
|
||||
<p>Entries are judged by Leonid A. Broukhis and Landon Curt Noll.</p>
|
||||
<p>Each entry submitted is given a random id number and subdirectory. The
|
||||
entry files including, but not limited to prog.c, Makefile (that we
|
||||
form from around your “how to build” information), as well as any
|
||||
data files that you submit are all placed under their own directory.
|
||||
data files that you submit are all placed under their own directory
|
||||
stored and judged from this directory.</p>
|
||||
<p>Any information about the authors is not read by the judges until
|
||||
the judging process is complete, and then only from entries that have
|
||||
@@ -959,7 +963,7 @@ about the others. However we consider this to be simply circumstantial
|
||||
and outside the scope of the above paragraph.</p>
|
||||
<p>Some people, in the past, have attempted to obfuscate their identity by
|
||||
including comments of famous Internet personalities such as Peter Honeyman
|
||||
(http://www.citi.umich.edu/u/honey/). The judges are on to this
|
||||
(<a href="http://www.citi.umich.edu/u/honey/" class="uri">http://www.citi.umich.edu/u/honey/</a>). The judges are on to this
|
||||
trick and therefore consider any obfuscated source or data file
|
||||
claiming to be from Honeyman to not be form Honeyman. This of course
|
||||
creates an interesting paradox known as the “obfuscated Peter Honeyman
|
||||
@@ -972,7 +976,7 @@ won an award. So it is theoretically possible that Peter Honeyman
|
||||
did submit an entry in the past. In the past, Peter had denied
|
||||
submitting anything to the IOCCC. Perhaps those entries were
|
||||
submitted by one of his students?</p>
|
||||
<p>Hopefully we are very CLEAR on this point! The rules now strongly state:
|
||||
<p>Hopefully we are <strong>VERY CLEAR</strong> on this point! The rules now strongly state:
|
||||
PLEASE DO NOT put a name of an author, in an obvious way, into your
|
||||
source code, remarks, data files, etc. The above “Peter Honeyman is
|
||||
exempt” not withstanding.</p>
|
||||
@@ -985,7 +989,7 @@ Because the main ‘prize’ of winning is being announced, we make all
|
||||
attempts to send non-winners into oblivion. We remove all non-winning
|
||||
files, and shred all related paper. By tradition, we do not even
|
||||
reveal the number of entries that we received.</p>
|
||||
<p>During the judging process. a process that spans multiple sessions
|
||||
<p>During the judging process, a process that spans multiple sessions
|
||||
over a few weeks, post general updates from our <span class="citation" data-cites="IOCCC">@IOCCC</span> twitter account.</p>
|
||||
<p>Once we have selected the winners, for each category we will tweet:</p>
|
||||
<ul>
|
||||
@@ -1002,12 +1006,12 @@ often accept their suggestions/comments about our remarks as well.
|
||||
This is done prior to posting the winners to the wide world.</p>
|
||||
<h2 id="an-important-2023-update-to-how-winners-are-announced">An important 2023 update to how winners are announced</h2>
|
||||
<p>The IOCCC no longer uses twitter. IOCCC entries will be announced
|
||||
by a git commit to the IOCCC entries repo:</p>
|
||||
<pre><code> https://github.com/ioccc-src/winner</code></pre>
|
||||
<p>that, in turn, updates the offivial IOCCC website:</p>
|
||||
<pre><code> https://www.ioccc.org/index.html</code></pre>
|
||||
<p>In addition a note is posted to the IOCCC Mastodon account:</p>
|
||||
<pre><code> https://fosstodon.org/@ioccc</code></pre>
|
||||
by a git commit to the <a href="https://github.com/ioccc-src/winner">IOCCC entries
|
||||
repo</a>.</p>
|
||||
<p>that, in turn, updates the <a href="https://www.ioccc.org/index.html">official IOCCC
|
||||
website</a>.</p>
|
||||
<p>In addition a note is posted to the IOCCC Mastodon account
|
||||
(<a href="https://fosstodon.org/@ioccc" class="uri">https://fosstodon.org/@ioccc</a>).</p>
|
||||
<h2 id="back-to-the-judging-process">Back to the Judging process</h2>
|
||||
<p>Judging consists of a number of elimination rounds. During a round,
|
||||
the collection of entries are divided into two roughly equal piles;
|
||||
@@ -1123,7 +1127,7 @@ by a git commit to the IOCCC entries repo:</p>
|
||||
<pre><code> https://www.ioccc.org/index.html</code></pre>
|
||||
<p>In addition a note is posted to the IOCCC Mastodon account:</p>
|
||||
<pre><code> https://fosstodon.org/@ioccc</code></pre>
|
||||
<h2 id="back-to-annoucement-of-winners">Back to annoucement of winners</h2>
|
||||
<h2 id="back-to-announcement-of-winners">Back to announcement of winners</h2>
|
||||
<p>It is pointless to ask the IOCCC judges how many entries we receive.
|
||||
Other government TLA or FLA snooping organizations are prohibited from
|
||||
either confirming, denying or revealing any knowledge of this data point.</p>
|
||||
@@ -1133,8 +1137,8 @@ and on T-Shirts. More than one winner has been turned in a tattoo!</p>
|
||||
<p>Last, but not least, winners receive international fame and flames! :-)</p>
|
||||
<h1 id="for-more-information">FOR MORE INFORMATION:</h1>
|
||||
<p>You may contact the judges by sending email to the following address:</p>
|
||||
<pre><code>| q.2020@ioccc.org (do not submit entries to this address)</code></pre>
|
||||
<p><strong><code>|</code></strong> You must include the words ‘ioccc 2020 question’ in the subject of your
|
||||
<pre><code>| q.2024@ioccc.org (do not submit entries to this address)</code></pre>
|
||||
<p><strong><code>|</code></strong> You must include the words ‘ioccc 2024 question’ in the subject of your
|
||||
email message when sending email to the judges.</p>
|
||||
<p>Questions and comments about the contest are welcome. Comments about
|
||||
confusing rules and guidelines are also welcome.</p>
|
||||
|
||||
+62
-72
@@ -2,7 +2,7 @@
|
||||
|
||||
# WARNING: These guidelines are OUT OF DATE
|
||||
|
||||
They are a **very tentative proposal** for the next IOCCC
|
||||
These guidelines are a **very tentative proposal** for the next IOCCC
|
||||
that is **VERY LIKELY** to be updated before the next IOCCC.
|
||||
They are are provided as a **very tentative** hint at what
|
||||
might be used in a future IOCCC.
|
||||
@@ -20,41 +20,43 @@ Watch both [the IOCCC status page](../status.html) and the
|
||||
|
||||
<!-- END: the next line ends content from: inc/guidelines.closed.hdr -->
|
||||
<!-- This is the last line modified by the tool: bin/gen-status.sh -->
|
||||
# 27th International Obfuscated C Code Contest Official Guidelines
|
||||
# 28th International Obfuscated C Code Contest Official Guidelines
|
||||
|
||||
Copyright © 2024 Leonid A. Broukhis, Landon Curt Noll.
|
||||
|
||||
All Rights Reserved. Permission for personal, education or non-profit use is
|
||||
granted provided this this copyright and notice are included in its entirety
|
||||
and remains unaltered. All other uses must receive prior permission in
|
||||
writing from the contest judges.
|
||||
writing by [contacting the judges](../contact.html).
|
||||
|
||||
|
||||
## Guidelines version
|
||||
|
||||
**`|`** This guidelines file is version **2023-04-04-v28**.
|
||||
|
||||
**IMPORTANT**: Be sure to read the [IOCCC rules](rules.html).
|
||||
**IMPORTANT**: Be **SURE** to read the [IOCCC rules](rules.html).
|
||||
|
||||
|
||||
### Change marks
|
||||
|
||||
**`|`** **← Lines that start with this symbol indicate a change from the previous IOCCC**
|
||||
|
||||
Most lines (we sometimes make mistakes) that were modified start the **`|`** symbol.
|
||||
Most lines (we sometimes make mistakes) that were modified since the previous
|
||||
IOCCC start with the **`|`** symbol.
|
||||
|
||||
|
||||
# ABOUT THIS FILE:
|
||||
|
||||
This file contains guidelines intended to help people who wish to
|
||||
submit entries to the International Obfuscated C Code Contest (IOCCC).
|
||||
This file contains _guidelines_ intended to help people who wish to
|
||||
submit entries to the [International Obfuscated C Code Contest
|
||||
(IOCCC)](https://www.ioccc.org).
|
||||
|
||||
This is not the IOCCC rules, though it does contain comments about
|
||||
them. The guidelines should be viewed as hints and suggestions.
|
||||
These are not the IOCCC rules, though it does contain comments about
|
||||
them. The guidelines should be viewed as _hints_ and _suggestions_.
|
||||
Entries that violate the guidelines but remain within the rules are
|
||||
allowed. Even so, you are safer if you remain within the guidelines.
|
||||
|
||||
You should read the current IOCCC rules, prior to submitting entries.
|
||||
You should read the current [IOCCC rules](rules.html), prior to submitting entries.
|
||||
The rules are typically sent out with these guidelines.
|
||||
|
||||
|
||||
@@ -66,31 +68,24 @@ The rules are typically sent out with these guidelines.
|
||||
**`|`** "prime time". Do you understand why we factored this into the rules and
|
||||
**`|`** guidelines? :-)
|
||||
|
||||
Until the start of this IOCCC, these rules, guidelines and iocccsize.c tool
|
||||
should be considered provisional BETA versions and may be adjusted
|
||||
at any time.
|
||||
Until the start of this IOCCC, these rules, guidelines and iocccsize.c
|
||||
(contained in the [mkiocccentry
|
||||
toolkit](https://github.com/ioccc-src/mkiocccentry))
|
||||
tool should be considered provisional **BETA** versions and may be
|
||||
adjusted **AT ANY TIME**.
|
||||
|
||||
**`|`** Even though the contest will start in 2019, because the contest will close
|
||||
**`|`** in 2020, URLs, subject lines, and contest related email addresses use 2019.
|
||||
|
||||
The IOCCC submission URL:
|
||||
|
||||
```
|
||||
https://submit.ioccc.org/
|
||||
```
|
||||
The IOCCC submission URL is <https://submit.ioccc.org/>.
|
||||
|
||||
**`|`** The submit URL should be active on or slightly before **2020-Jan-15 12:21:37 UTC**.
|
||||
|
||||
Please wait to submit your entries until after that time.
|
||||
|
||||
The official rules, guidelines and iocccsize.c tool will be available
|
||||
The official rules, guidelines and iocccsize.c (invoked by the mkiocccentry) tool will be available
|
||||
on the official IOCCC website on or slightly before start of this IOCCC.
|
||||
Please check the IOCCC website "How to enter" link:
|
||||
|
||||
```
|
||||
https://www.ioccc.org/index.html#enter
|
||||
```
|
||||
|
||||
Please check the IOCCC FAQ [How to submit](../faq#submit).
|
||||
on or after the start of this IOCCC to be sure you are using the correct
|
||||
versions of these items before using the IOCCC entry submission URL.
|
||||
|
||||
@@ -280,13 +275,17 @@ to compile compile your code using:
|
||||
-Wall -Wextra -pedantic
|
||||
```
|
||||
|
||||
For compilers, such as clang, that have the -Weverything option, try
|
||||
For compilers, such as clang, that have the `-Weverything` option, try
|
||||
to make your code compile warning free using:
|
||||
|
||||
```
|
||||
-Wall -Wextra -Weverything -pedantic
|
||||
```
|
||||
|
||||
.. though see [Why do Makefiles use -Weverything with
|
||||
clang?](../faq.html#faq3_11) in the [FAQ](../faq.html).
|
||||
|
||||
|
||||
If you must turn off various warnings on the compile line such as:
|
||||
|
||||
```
|
||||
@@ -318,7 +317,7 @@ understand the implications of such words.
|
||||
http://www.bezem.de/pdf/ReservedWordsInC.pdf
|
||||
```
|
||||
|
||||
DO NOT assume that we will use gcc to compile your program.
|
||||
**DO NOT** assume that we will use gcc to compile your program.
|
||||
We will first try to compile your program using Clang.
|
||||
|
||||
It is much better to not use any obscure compiler flags if
|
||||
@@ -338,7 +337,7 @@ of nested functions such as:
|
||||
```
|
||||
|
||||
This is because such nested functions often requires one to compile with
|
||||
a flag such as -fnested-functions that is not found on some compilers.
|
||||
a flag such as `-fnested-functions` that is not found on some compilers.
|
||||
|
||||
On 2012 July 20, the judges rescinded the encouragement of
|
||||
nested functions. Such constructions, while interesting and sometimes
|
||||
@@ -349,26 +348,26 @@ actually implemented in commonly used C compilers. Sorry!
|
||||
**`|`** cat detector vans not withstanding.
|
||||
|
||||
If your entry uses functions that have a variable number of
|
||||
arguments, be careful. Systems implement va_list as a wide variety
|
||||
of ways. Because of this, a number of operations using va_list are
|
||||
arguments, be careful. Systems implement `va_list` as a wide variety
|
||||
of ways. Because of this, a number of operations using `va_list` are
|
||||
not portable and must not be used:
|
||||
|
||||
* assigning a non-va_list variable to/from a va_list variable
|
||||
* casting a non-va_list variable into/from a va_list variable
|
||||
* passing a va_list variable to a function expecting a non-va_list arg
|
||||
* passing a non-va_list variable to a function expecting a va_list arg
|
||||
* performing arithmetic on va_list variables
|
||||
* using va_list as a structure or union
|
||||
* assigning a non-`va_list` variable to/from a `va_list` variable
|
||||
* casting a non-`va_list` variable into/from a `va_list` variable
|
||||
* passing a `va_list` variable to a function expecting a non-`va_list` arg
|
||||
* passing a non-`va_list` variable to a function expecting a `va_list` arg
|
||||
* performing arithmetic on `va_list` variables
|
||||
* using `va_list` as a structure or union
|
||||
|
||||
In particular, do not treat va_list variables as if they were a char **'s.
|
||||
In particular, do not treat `va_list` variables as if they were a `char **`s.
|
||||
|
||||
Avoid using <varargs.h>. Use <stdarg.h> instead.
|
||||
Avoid using `varargs.h`. Use `stdarg.h` instead.
|
||||
|
||||
On 28 January 2007, the Judges rescinded the requirement that the
|
||||
'#" in a C preprocessor directive must be the 1st non-whitespace octet.
|
||||
`#` in a C preprocessor directive must be the 1st non-whitespace octet.
|
||||
|
||||
The exit() function returns void. Some broken systems have exit()
|
||||
return int, your entry should assume that exit() returns a void.
|
||||
The `exit(3)` function returns void. Some broken systems have `exit(3)`
|
||||
return `int`, your entry should assume that `exit(3)` returns a `void`.
|
||||
|
||||
**`|`** This guideline has a change mark at the very start of this line.
|
||||
|
||||
@@ -458,7 +457,7 @@ There are at least zero judges who think that Fideism has little
|
||||
or nothing to do with the IOCCC judging process.
|
||||
|
||||
Don't forget that the building of your program should be done
|
||||
***without human intervention***. So don't do things such as:
|
||||
***WITHOUT human intervention***. So don't do things such as:
|
||||
|
||||
```
|
||||
prog: prog.c
|
||||
@@ -468,7 +467,7 @@ Don't forget that the building of your program should be done
|
||||
```
|
||||
|
||||
However, you can do something cute such as making your program
|
||||
do something dumb (or cute) when it is built 'automatically'. And
|
||||
do something dumb (or cute) when it is built 'automatically', and
|
||||
when it is run with a human involved, do something more clever.
|
||||
For example, one could use the build instructions:
|
||||
|
||||
@@ -484,16 +483,16 @@ alternate / human intervention based building.
|
||||
We want to get away from source that is simply a compact blob of
|
||||
octets. Really try to be more creative than blob coding. *HINT!*
|
||||
|
||||
Please do not use things like gzip to get around the size limit.
|
||||
Please do not use things like `gzip(1)` to get around the size limit.
|
||||
Please try to be much more creative.
|
||||
|
||||
We really dislike entries that make blatant use of including
|
||||
large data files to get around the source code size limit.
|
||||
|
||||
We do not recommend submitting systemd source code to the IOCCC,
|
||||
We do not recommend submitting [systemd](https://systemd.io) source code to the IOCCC,
|
||||
if nothing else because that code is likely to exceed the source code
|
||||
size limit. This isn't to say that another highly compact and obfuscated
|
||||
replacement of init would not be an interesting submission.
|
||||
replacement of `init` would not be an interesting submission.
|
||||
|
||||
Did we remember to indicate that programs that blatantly use
|
||||
some complex state machine to do something simple are boring?
|
||||
@@ -509,7 +508,7 @@ and/or obfuscated way, would definitely win over the first two!
|
||||
Remember, you can submit more than one entry. See the rules for details.
|
||||
|
||||
We suggest that you avoid trying for the 'smallest self-replicating'
|
||||
source. The smallest, a zero byte entry, won in 1994.
|
||||
source. The smallest, a zero byte entry, [won in 1994](../1994/smr/index.html).
|
||||
|
||||
Programs that claim to be the smallest C source that does something, really
|
||||
better be the smallest such program or they risk being rejected because
|
||||
@@ -620,7 +619,7 @@ We think the readers of the contest winners do as well. We do read
|
||||
the program "remarks" during the judging process, so it is worth your
|
||||
while to write remarkable program "remarks".
|
||||
|
||||
We dislike C code with trailing control-M's (\r or \015) that results
|
||||
We dislike C code with trailing control-M's (`\r` or `\015`) that results
|
||||
in compilation failures. Some non-Unix/non-Linux tools such as
|
||||
MS Visual C and MS Visual C++ leave trailing control-M's on lines.
|
||||
Users of such tools should strip off such control-M's before submitting
|
||||
@@ -645,7 +644,7 @@ Instead of unescaped octets, you should use \octal or \hex escapes:
|
||||
It is a very good idea to, in your remarks file, tell us why you
|
||||
think your entry is obfuscated. This is particularly true if
|
||||
your entry is has some very subtle obfuscations that we might
|
||||
otherwise overlook. <<-- Hint!
|
||||
otherwise overlook. **<<-- Hint!**
|
||||
|
||||
Anyone can format their code into a dense blob. A really clever
|
||||
author will try format their entry using a "normal" formatting style
|
||||
@@ -815,12 +814,12 @@ guidelines are written in obfuscated form.
|
||||
|
||||
# JUDGING PROCESS:
|
||||
|
||||
Entries are judged by Leonid A. Broukhis, Simon Cooper, Landon Curt Noll.
|
||||
Entries are judged by Leonid A. Broukhis and Landon Curt Noll.
|
||||
|
||||
Each entry submitted is given a random id number and subdirectory. The
|
||||
entry files including, but not limited to prog.c, Makefile (that we
|
||||
form from around your "how to build" information), as well as any
|
||||
data files that you submit are all placed under their own directory.
|
||||
data files that you submit are all placed under their own directory
|
||||
stored and judged from this directory.
|
||||
|
||||
Any information about the authors is not read by the judges until
|
||||
@@ -838,7 +837,7 @@ and outside the scope of the above paragraph.
|
||||
|
||||
Some people, in the past, have attempted to obfuscate their identity by
|
||||
including comments of famous Internet personalities such as Peter Honeyman
|
||||
(http://www.citi.umich.edu/u/honey/). The judges are on to this
|
||||
(<http://www.citi.umich.edu/u/honey/>). The judges are on to this
|
||||
trick and therefore consider any obfuscated source or data file
|
||||
claiming to be from Honeyman to not be form Honeyman. This of course
|
||||
creates an interesting paradox known as the "obfuscated Peter Honeyman
|
||||
@@ -853,7 +852,7 @@ did submit an entry in the past. In the past, Peter had denied
|
||||
submitting anything to the IOCCC. Perhaps those entries were
|
||||
submitted by one of his students?
|
||||
|
||||
Hopefully we are very CLEAR on this point! The rules now strongly state:
|
||||
Hopefully we are **VERY CLEAR** on this point! The rules now strongly state:
|
||||
PLEASE DO NOT put a name of an author, in an obvious way, into your
|
||||
source code, remarks, data files, etc. The above "Peter Honeyman is
|
||||
exempt" not withstanding.
|
||||
@@ -870,7 +869,7 @@ attempts to send non-winners into oblivion. We remove all non-winning
|
||||
files, and shred all related paper. By tradition, we do not even
|
||||
reveal the number of entries that we received.
|
||||
|
||||
During the judging process. a process that spans multiple sessions
|
||||
During the judging process, a process that spans multiple sessions
|
||||
over a few weeks, post general updates from our @IOCCC twitter account.
|
||||
|
||||
Once we have selected the winners, for each category we will tweet:
|
||||
@@ -891,23 +890,14 @@ This is done prior to posting the winners to the wide world.
|
||||
## An important 2023 update to how winners are announced
|
||||
|
||||
The IOCCC no longer uses twitter. IOCCC entries will be announced
|
||||
by a git commit to the IOCCC entries repo:
|
||||
by a git commit to the [IOCCC entries
|
||||
repo](https://github.com/ioccc-src/winner).
|
||||
|
||||
```
|
||||
https://github.com/ioccc-src/winner
|
||||
```
|
||||
that, in turn, updates the [official IOCCC
|
||||
website](https://www.ioccc.org/index.html).
|
||||
|
||||
that, in turn, updates the offivial IOCCC website:
|
||||
|
||||
```
|
||||
https://www.ioccc.org/index.html
|
||||
```
|
||||
|
||||
In addition a note is posted to the IOCCC Mastodon account:
|
||||
|
||||
```
|
||||
https://fosstodon.org/@ioccc
|
||||
```
|
||||
In addition a note is posted to the IOCCC Mastodon account
|
||||
(<https://fosstodon.org/@ioccc>).
|
||||
|
||||
|
||||
## Back to the Judging process
|
||||
@@ -1085,7 +1075,7 @@ In addition a note is posted to the IOCCC Mastodon account:
|
||||
```
|
||||
|
||||
|
||||
## Back to annoucement of winners
|
||||
## Back to announcement of winners
|
||||
|
||||
It is pointless to ask the IOCCC judges how many entries we receive.
|
||||
Other government TLA or FLA snooping organizations are prohibited from
|
||||
@@ -1103,10 +1093,10 @@ Last, but not least, winners receive international fame and flames! :-)
|
||||
You may contact the judges by sending email to the following address:
|
||||
|
||||
```
|
||||
| q.2020@ioccc.org (do not submit entries to this address)
|
||||
| q.2024@ioccc.org (do not submit entries to this address)
|
||||
```
|
||||
|
||||
**`|`** You must include the words 'ioccc 2020 question' in the subject of your
|
||||
**`|`** You must include the words 'ioccc 2024 question' in the subject of your
|
||||
email message when sending email to the judges.
|
||||
|
||||
Questions and comments about the contest are welcome. Comments about
|
||||
|
||||
+71
-51
@@ -384,7 +384,7 @@
|
||||
<!-- BEFORE: 1st line of markdown file: next/rules.md -->
|
||||
<!-- START: this line starts content from: inc/rules.closed.hdr -->
|
||||
<h1 id="warning-these-rules-are-out-of-date">WARNING: These rules are OUT OF DATE</h1>
|
||||
<p>They are a <strong>very tentative proposal</strong> for the next IOCCC
|
||||
<p>These rules are a <strong>very tentative proposal</strong> for the next IOCCC
|
||||
that is <strong>VERY LIKELY</strong> to be updated before the next IOCCC.
|
||||
They are are provided as a <strong>very tentative</strong> hint at what
|
||||
might be used in a future IOCCC.</p>
|
||||
@@ -396,18 +396,19 @@ might be used in a future IOCCC.</p>
|
||||
<a href="https://fosstodon.org/@ioccc"><span class="citation" data-cites="IOCCC">@IOCCC</span> mastodon feed</a> for information about future IOCCC openings.</p>
|
||||
<!-- END: the next line ends content from: inc/rules.closed.hdr -->
|
||||
<!-- This is the last line modified by the tool: bin/gen-status.sh -->
|
||||
<h1 id="th-international-obfuscated-c-code-contest-official-rules">27th International Obfuscated C Code Contest Official Rules</h1>
|
||||
<h1 id="th-international-obfuscated-c-code-contest-official-rules">28th International Obfuscated C Code Contest Official Rules</h1>
|
||||
<p><strong><code>|</code></strong> Copyright © 2024 Leonid A. Broukhis, Landon Curt Noll.</p>
|
||||
<p>All Rights Reserved. Permission for personal, education or non-profit use is
|
||||
granted provided this this copyright and notice are included in its entirety
|
||||
and remains unaltered. All other uses must receive prior permission in
|
||||
writing from the <a href="../contact.html">contest judges</a>.</p>
|
||||
writing by <a href="../contact.html">contacting the judges</a>.</p>
|
||||
<h2 id="rules-version">Rules version</h2>
|
||||
<p><strong><code>|</code></strong> These rules are version <strong>2024-04-04-v28</strong>.</p>
|
||||
<p><strong>IMPORTANT</strong>: Be sure to read the <a href="guidelines.html">IOCCC guidelines</a>.</p>
|
||||
<h3 id="change-marks">Change marks</h3>
|
||||
<p><strong><code>|</code></strong> <strong>← Lines that start with this symbol indicate a change from the previous IOCCC</strong></p>
|
||||
<p>Most lines (we sometimes make mistakes) that were modified start the <strong><code>|</code></strong> symbol.</p>
|
||||
<p>Most lines (we sometimes make mistakes) that were modified since the previous
|
||||
IOCCC start the <strong><code>|</code></strong> symbol.</p>
|
||||
<h1 id="obfuscate-defined">Obfuscate defined:</h1>
|
||||
<p>tr.v. -cated, -cating, -cates.
|
||||
<BR><BR>
|
||||
@@ -429,8 +430,11 @@ writing from the <a href="../contact.html">contest judges</a>.</p>
|
||||
<h1 id="important-ioccc-dates">Important IOCCC dates</h1>
|
||||
<p><strong><code>|</code></strong> This IOCCC runs from <strong>2019-Dec-26 06:01:41 UTC</strong> to <strong>2020-Mar-15 06:26:49 UTC</strong>.</p>
|
||||
<p>Until the start of this IOCCC, these rules, guidelines and iocccsize.c
|
||||
tool should be considered provisional BETA versions and may be
|
||||
adjusted at any time.</p>
|
||||
(contained in the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry
|
||||
toolkit</a> and invoked by the
|
||||
<code>mkiocccentry</code> tool)
|
||||
should be considered provisional <strong>BETA</strong> versions and may be
|
||||
adjusted <strong>AT ANY TIME</strong>.</p>
|
||||
<p>When the IOCCC is open, the submission URL is:
|
||||
<a href="https://submit.ioccc.org/">https://submit.ioccc.org/</a>, at all other
|
||||
times that link is likely to be unresponsive.</p>
|
||||
@@ -438,8 +442,10 @@ times that link is likely to be unresponsive.</p>
|
||||
for <strong>important information</strong> on how to submit to the IOCCC.</p>
|
||||
<p><strong><code>|</code></strong> The submit URL should be active on or slightly before <strong>2020-Jan-15 12:21:37 UTC</strong>.
|
||||
Please wait to submit your entries until after that time.</p>
|
||||
<p>The official rules, guidelines and iocccsize.c tool will be available
|
||||
on the official IOCCC website on or slightly before start of this IOCCC.</p>
|
||||
<p>The official rules, guidelines will be available on the <a href="../index.html">official IOCCC
|
||||
website</a> on or slightly before start of this IOCCC. The
|
||||
<code>mkiocccentry</code> toolkit may be obtained at any time at the
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry toolkit repo</a>.</p>
|
||||
<p>Please recheck on or after the start of this IOCCC to be sure you
|
||||
are using the correct versions of these items before using the IOCCC
|
||||
entry submission URL.</p>
|
||||
@@ -450,19 +456,21 @@ entry submission URL.</p>
|
||||
<h2 id="rule-1">Rule 1</h2>
|
||||
<p>Your entry must be a complete program.</p>
|
||||
<h2 id="rule-2">Rule 2</h2>
|
||||
<p><strong><code>|</code></strong> The size rule requires your entry to satisfy BOTH rule 2a and rule 2b:</p>
|
||||
<p><strong><code>|</code></strong> The size rule requires your entry to satisfy <strong>BOTH</strong> rule 2a and rule 2b:</p>
|
||||
<h2 id="rule-2a">Rule 2a</h2>
|
||||
<p>The size of your program source <strong>must be <= 4096 bytes</strong>in length.</p>
|
||||
<p>The size of your program source <strong>MUST BE <= 4096 bytes</strong>in length.</p>
|
||||
<h2 id="rule-2b">Rule 2b</h2>
|
||||
<p>When your program source is fed as input to the current IOCCC size
|
||||
tool, and the IOCCC size tool -i command line option is used, the
|
||||
value printed <strong>shall not exceed 2053</strong>.</p>
|
||||
<p><strong><code>|</code></strong> The source to the current IOCCC size tool is found in the
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry tool repo</a>.</p>
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry tool repo</a>. If you use
|
||||
the <code>mkiocccentry</code> tool (which we <strong>STRONGLY recommend you do</strong>) will invoke
|
||||
this tool before packaging your entry for submission.</p>
|
||||
<h2 id="rule-3">Rule 3</h2>
|
||||
<p>Submissions should be performed using the instructions outlined at:
|
||||
the <a href="../faq.html#submit">How to enter link</a> link.</p>
|
||||
<p>To submit to an open IOCCC, you must the <a href="https://submit.ioccc.org/">IOCCC submit server</a>.</p>
|
||||
<p>To submit to an open IOCCC, you must use the <a href="https://submit.ioccc.org/">IOCCC submit server</a>.</p>
|
||||
<p>When the IOCCC is not open, that link will likely be unresponsive.</p>
|
||||
<p><strong><code>|</code></strong> The submit URL should be active on or slightly before <strong>2020-Jan-15 12:21:37 UTC</strong>.
|
||||
Please wait to submit your entries until after that time.</p>
|
||||
@@ -472,52 +480,53 @@ Please wait to submit your entries until after that time.</p>
|
||||
<p>Your source code will be the file <strong>prog.c</strong>. The compiled binary
|
||||
will be called <strong>prog</strong>.</p>
|
||||
<h2 id="rule-5">Rule 5</h2>
|
||||
<p>Your entry must not modify the content or filename of any part of your
|
||||
original entry including, but not limited to prog.c, the Makefile
|
||||
(we create from your how to build instructions), as well as any data
|
||||
<p>Your entry <strong>MUST</strong> not modify the content or filename of any part of your
|
||||
original entry including, but not limited to <strong>prog.c</strong>, the <strong>Makefile</strong>
|
||||
(that we create from your how to build instructions), as well as any data
|
||||
files you submit.</p>
|
||||
<p>If you entry wishes to modify such content, it must first copy the
|
||||
<p>If you entry wishes to modify such content, it <strong>MUST</strong> first copy the
|
||||
file to a new filename and then modify that copy.</p>
|
||||
<h2 id="rule-6">Rule 6</h2>
|
||||
<p><strong><code>|</code></strong> I am not a rule, I am a free(void *man)!</p>
|
||||
<p><strong><code>|</code></strong> I am not a rule, I am a <code>free(void \*man)</code>!</p>
|
||||
<pre><code> while (!understand(ioccc(rule(you(are(number(6))))))) { ha_ha_ha(); }</code></pre>
|
||||
<h2 id="rule-7">Rule 7</h2>
|
||||
<p>The obfuscated C program must be an original work that you own.</p>
|
||||
<p>You (the authors) must own the contents of your submission OR
|
||||
you must have permission from the owners to submit their content
|
||||
<p>You (the author(s)) must own the contents of your submission OR
|
||||
you must have permission from the owner(s) to submit their content
|
||||
under the following license:</p>
|
||||
<p><strong><code>|</code></strong> <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>See also Rule 18.</p>
|
||||
<p>If you submit any content that is owned by others, you MUST
|
||||
<p>If you submit any content that is owned by others, you <strong>MUST</strong>
|
||||
detail that ownership (i.e., who owns what) and document the
|
||||
permission you obtained.</p>
|
||||
<p>Please note that the IOCCC size tool is not an original work.</p>
|
||||
<p>Please note that the IOCCC size tool is <strong>NOT</strong> an original work.</p>
|
||||
<h2 id="rule-8">Rule 8</h2>
|
||||
<p><strong><code>|</code></strong> Entries must be received prior to the end of this IOCCC which is:</p>
|
||||
<pre><code> 2020-Mar-15 06:26:49 UTC</code></pre>
|
||||
<p>A confirmation of submission will be sent to the submitter email address before the close of the contest.</p>
|
||||
<p>A confirmation of submission will be sent to the submitting email address
|
||||
before the close of the contest.</p>
|
||||
<h2 id="rule-9">Rule 9</h2>
|
||||
<p><strong><code>|</code></strong> Each person may submit up to and including 8.000000 entries per contest.</p>
|
||||
<p>Each entry must be submitted separately.</p>
|
||||
<h2 id="rule-10">Rule 10</h2>
|
||||
<p>Entries requiring human interaction to be initially compiled are not permitted.</p>
|
||||
<h2 id="rule-11">Rule 11</h2>
|
||||
<p>Programs that require special privileges (setuid, setgid, super-user,
|
||||
<p>Programs that require special privileges (<code>setuid(2)</code>, <code>setgid(2)</code>, super-user,
|
||||
special owner, special group, etc.) are still highly discouraged. We
|
||||
do not guarantee these functions will behave as you expect on our test
|
||||
platforms. If your program needs special permissions please document
|
||||
platforms. If your program needs special permissions <strong>please</strong> document
|
||||
them in the remarks file.</p>
|
||||
<h2 id="rule-12">Rule 12</h2>
|
||||
<p>Legal abuse of the rules is somewhat encouraged. An entry that, in
|
||||
the opinion of the judges, violates the rules will be disqualified.
|
||||
Entries that attempt to abuse the rules must try to justify why
|
||||
their rule abuse is legal in the remarks file.</p>
|
||||
Entries that attempt to abuse the rules <strong>MUST</strong> try to justify why
|
||||
their rule abuse is legal, in the remarks file.</p>
|
||||
<h2 id="rule-13">Rule 13</h2>
|
||||
<p>Any C source that fails to compile because of unescaped octets with
|
||||
the high bit set (octet value >= 128) will be rejected.</p>
|
||||
<h2 id="rule-14">Rule 14</h2>
|
||||
<p>Any C source that fails to compile because of lines with trailing
|
||||
control-M’s (i.e., lines with a tailing octet 015) will be rejected.</p>
|
||||
control-M’s (i.e., lines with a tailing octet <code>015</code>) will be rejected.</p>
|
||||
<p>Please do not put trailing control-M’s on remarks file lines.
|
||||
Please check to be sure, before submitting, that you have removed
|
||||
any control-M at the end of remark file lines.</p>
|
||||
@@ -535,55 +544,67 @@ submission.</p>
|
||||
<p>After your email address has been confirmed, the submission code will
|
||||
be valid for submitting and editing the entry for the lifetime of the
|
||||
competition.</p>
|
||||
<p>See also <a href="../faq.html#submit">How may I submit to the IOCCC?</a> in the
|
||||
<a href="../faq.html">FAQ</a>.</p>
|
||||
<h2 id="rule-16">Rule 16</h2>
|
||||
<p>You are STRONGLY encouraged to submit a previously unpublished and
|
||||
<p>You are <strong>STRONGLY</strong> encouraged to submit a previously unpublished and
|
||||
original entry. Submissions that are similar to previous entries are
|
||||
discouraged. As we judge anonymously, submissions that have already
|
||||
been published may be disqualified.</p>
|
||||
<h2 id="rule-17">Rule 17</h2>
|
||||
<p>The total size of your submission: the sum of the size of the program,
|
||||
hints, comments, build and info files MUST be less than or equal
|
||||
to 1048576 octets in size.</p>
|
||||
hints, comments, build and info files <strong>MUST</strong> be less than or equal
|
||||
to 1048576 octets in size. The
|
||||
[mkiocccentry toolkit]((https://github.com/ioccc-src/mkiocccentry) will verify
|
||||
that your entry is not too big.</p>
|
||||
<h2 id="rule-18">Rule 18</h2>
|
||||
<p>The entirety of your entry must be submitted under the following license:</p>
|
||||
<p><strong><code>|</code></strong> <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>You (the authors) must own the contents of your submission OR
|
||||
you must have permission from the owners to submit their content</p>
|
||||
<p>You (the author(s)) <strong>MUST</strong> own the contents of your submission <strong>OR</strong>
|
||||
you <strong>MUST</strong> have permission from the owner(s) to submit their content.</p>
|
||||
<p>You must not submit anything that cannot be submitted under that license.</p>
|
||||
<h2 id="rule-19">Rule 19</h2>
|
||||
<p>The remarks file must be written in markdown format. See
|
||||
the Daring Fireball {Markdown: Basics](http://daringfireball.net/projects/markdown/basics)
|
||||
the Daring Fireball <a href="http://daringfireball.net/projects/markdown/basics">Markdown: Basics</a>
|
||||
for more information.</p>
|
||||
<p><strong><code>|</code></strong> We currently use <a href="https://pandoc.org">pandoc</a> to convert markdown to HTML.</p>
|
||||
<h2 id="rule-20">Rule 20</h2>
|
||||
<p>The how to build instructions must be in make form.</p>
|
||||
<p>The target of the make file must be called prog. The original
|
||||
C source file must be called prog.c.</p>
|
||||
<p>The how to build instructions must be in Makefile format. See <a href="../faq.html#make_compatibility">What kind of
|
||||
make(1) compatibility does the IOCCC support and will it support other
|
||||
kinds?</a> for more details on what we support.</p>
|
||||
<p>The target of the Makefile must be called <code>prog</code>. The original
|
||||
C source file must be called <code>prog.c</code>.</p>
|
||||
<p>To invoke the C compiler, use <code>${CC}</code>.
|
||||
To invoke the C preprocessor use <code>${CPP}</code>.</p>
|
||||
<p>Do not assume that . (the current directory) is in the <code>$PATH</code>.</p>
|
||||
<p>Do not assume that <code>.</code> (the current directory) is in the <code>$PATH</code>.</p>
|
||||
<p>Use a shell command syntax that is compatible with bash.</p>
|
||||
<p>Assume that commands commonly found in POSIX-like / Linux-like systems
|
||||
are available in the search path.</p>
|
||||
<p>Do not assume any particular given value of <code>${CFLAGS}</code> or other
|
||||
commonly used make variables.</p>
|
||||
commonly used make variables. In other words you <strong>MUST</strong> specify the <code>CFLAGS</code>
|
||||
to use.</p>
|
||||
<p>See also the
|
||||
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/Makefile.example">Makefile.example</a>
|
||||
for help in constructing your Makefile. The <code>mkiocccentry</code>, which can be found
|
||||
at the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a>, tries to
|
||||
detect if required rules exist in your Makefile.</p>
|
||||
<h2 id="rule-21">Rule 21</h2>
|
||||
<p>Your entry must not create nor modify files above the current directory
|
||||
<p>Your entry must not create or modify files above the current directory
|
||||
with the exception of the <code>/tmp</code> and the <code>/var/tmp</code> directories. Your entry
|
||||
may create subdirectories below the current directory, or in /tmp,
|
||||
or in <code>/var/tmp</code> provided that “<strong>.</strong>” is <strong>not</strong> the first octet in any
|
||||
directory name.</p>
|
||||
<strong>MAY</strong> create subdirectories below the current directory, or in <code>/tmp</code>,
|
||||
or in <code>/var/tmp</code> provided that “<strong>.</strong>” is <strong>NOT</strong> the first octet in any
|
||||
directory name or filename you submit.</p>
|
||||
<h2 id="rule-22">Rule 22</h2>
|
||||
<p>Catch 22:</p>
|
||||
<p>Your source code, data files, remarks and program output must <strong>NOT</strong>
|
||||
identify the authors of your code. The judges <strong>STRONGLY prefer</strong> to
|
||||
not know who is submitting entries to the IOCCC.</p>
|
||||
NOT know who is submitting entries to the IOCCC.</p>
|
||||
<p>Even if you are a previous IOCCC winner, catch 22 still applies.</p>
|
||||
<p>Identifying the authors of your entry in an obvious way anywhere
|
||||
within in your code, data, remarks or program output (unless you are
|
||||
<p>Identifying the author(s) of your entry in an obvious way anywhere
|
||||
within your code, data, remarks or program output (unless you are
|
||||
<em>Peter Honeyman</em> or pretending to be <em>Peter Honeyman</em>) will be grounds
|
||||
for disqualification of your entry.</p>
|
||||
<p>Yes, Virginia, <strong>we really mean it</strong>!</p>
|
||||
<p>Yes, Virginia, <strong>we REALLY mean it</strong>!</p>
|
||||
<h2 id="rule-23">Rule 23</h2>
|
||||
<p>This prime rule number is reserved for future use.</p>
|
||||
<h2 id="rule-24">Rule 24</h2>
|
||||
@@ -593,11 +614,11 @@ for disqualification of your entry.</p>
|
||||
<h2 id="rule-26">Rule 26</h2>
|
||||
<p><strong><code>|</code></strong> Rule 26 is also a rule.</p>
|
||||
<h1 id="for-more-information">FOR MORE INFORMATION:</h1>
|
||||
<p>The judging will be done by Leonid A. Broukhis, Simon Cooper,
|
||||
<p>The judging will be done by Leonid A. Broukhis and
|
||||
Landon Curt Noll.</p>
|
||||
<p><strong><code>|</code></strong> Please send questions or comments about the contest, to:</p>
|
||||
<pre><code> q.2020@ioccc.org</code></pre>
|
||||
<p><strong><code>|</code></strong> <strong>IMPORANT</strong>: You must include the words <strong>ioccc 2020 question</strong>
|
||||
<pre><code> q.2024@ioccc.org</code></pre>
|
||||
<p><strong><code>|</code></strong> <strong>IMPORTANT</strong>: You must include the words <strong>ioccc 2024 question</strong>
|
||||
in the subject of your email message when sending email to the judges.</p>
|
||||
<p>The rules and the guidelines may (and often do) change from year to
|
||||
year. You should be sure you have the current rules and guidelines
|
||||
@@ -613,12 +634,11 @@ to be sure they are seeing the most recent tweets.</p>
|
||||
<h2 id="an-important-update-to-this-historic-note">An important update to this historic note</h2>
|
||||
<p><strong>-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-</strong></p>
|
||||
<p><strong><code>|</code></strong> <strong>The IOCCC no longer uses twitter</strong>.</p>
|
||||
<p><strong><code>|</code></strong> Today the <a href="../contact.html#mastodon">IOCCC uses Mastodon</a>.</p>
|
||||
<p><strong><code>|</code></strong> Today the <a href="../contact.html#try_mastodon">IOCCC uses Mastodon</a>.</p>
|
||||
<p><strong><code>|</code></strong> For more information and to see our IOCCC Mastodon posts, see:</p>
|
||||
<pre><code> https://fosstodon.org/@ioccc</code></pre>
|
||||
<p><strong>-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-</strong></p>
|
||||
<p>Leonid A. Broukhis<br>
|
||||
Simon Cooper<br>
|
||||
chongo (Landon Curt Noll) <code>/\cc/\</code></p>
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>Jump to: <a href="#">top</a>
|
||||
|
||||
+73
-52
@@ -2,7 +2,7 @@
|
||||
|
||||
# WARNING: These rules are OUT OF DATE
|
||||
|
||||
They are a **very tentative proposal** for the next IOCCC
|
||||
These rules are a **very tentative proposal** for the next IOCCC
|
||||
that is **VERY LIKELY** to be updated before the next IOCCC.
|
||||
They are are provided as a **very tentative** hint at what
|
||||
might be used in a future IOCCC.
|
||||
@@ -20,14 +20,14 @@ Watch both [the IOCCC status page](../status.html) and the
|
||||
|
||||
<!-- END: the next line ends content from: inc/rules.closed.hdr -->
|
||||
<!-- This is the last line modified by the tool: bin/gen-status.sh -->
|
||||
# 27th International Obfuscated C Code Contest Official Rules
|
||||
# 28th International Obfuscated C Code Contest Official Rules
|
||||
|
||||
**`|`** Copyright © 2024 Leonid A. Broukhis, Landon Curt Noll.
|
||||
|
||||
All Rights Reserved. Permission for personal, education or non-profit use is
|
||||
granted provided this this copyright and notice are included in its entirety
|
||||
and remains unaltered. All other uses must receive prior permission in
|
||||
writing from the [contest judges](../contact.html).
|
||||
writing by [contacting the judges](../contact.html).
|
||||
|
||||
|
||||
## Rules version
|
||||
@@ -41,7 +41,8 @@ writing from the [contest judges](../contact.html).
|
||||
|
||||
**`|`** **← Lines that start with this symbol indicate a change from the previous IOCCC**
|
||||
|
||||
Most lines (we sometimes make mistakes) that were modified start the **`|`** symbol.
|
||||
Most lines (we sometimes make mistakes) that were modified since the previous
|
||||
IOCCC start the **`|`** symbol.
|
||||
|
||||
|
||||
# Obfuscate defined:
|
||||
@@ -72,8 +73,11 @@ The goals of the IOCCC:
|
||||
**`|`** This IOCCC runs from **2019-Dec-26 06:01:41 UTC** to **2020-Mar-15 06:26:49 UTC**.
|
||||
|
||||
Until the start of this IOCCC, these rules, guidelines and iocccsize.c
|
||||
tool should be considered provisional BETA versions and may be
|
||||
adjusted at any time.
|
||||
(contained in the [mkiocccentry
|
||||
toolkit](https://github.com/ioccc-src/mkiocccentry) and invoked by the
|
||||
`mkiocccentry` tool)
|
||||
should be considered provisional **BETA** versions and may be
|
||||
adjusted **AT ANY TIME**.
|
||||
|
||||
When the IOCCC is open, the submission URL is:
|
||||
[https://submit.ioccc.org/](https://submit.ioccc.org/), at all other
|
||||
@@ -85,9 +89,10 @@ for **important information** on how to submit to the IOCCC.
|
||||
**`|`** The submit URL should be active on or slightly before **2020-Jan-15 12:21:37 UTC**.
|
||||
Please wait to submit your entries until after that time.
|
||||
|
||||
The official rules, guidelines and iocccsize.c tool will be available
|
||||
on the official IOCCC website on or slightly before start of this IOCCC.
|
||||
|
||||
The official rules, guidelines will be available on the [official IOCCC
|
||||
website](../index.html) on or slightly before start of this IOCCC. The
|
||||
`mkiocccentry` toolkit may be obtained at any time at the
|
||||
[mkiocccentry toolkit repo](https://github.com/ioccc-src/mkiocccentry).
|
||||
|
||||
Please recheck on or after the start of this IOCCC to be sure you
|
||||
are using the correct versions of these items before using the IOCCC
|
||||
@@ -111,12 +116,12 @@ Your entry must be a complete program.
|
||||
|
||||
## Rule 2
|
||||
|
||||
**`|`** The size rule requires your entry to satisfy BOTH rule 2a and rule 2b:
|
||||
**`|`** The size rule requires your entry to satisfy **BOTH** rule 2a and rule 2b:
|
||||
|
||||
|
||||
## Rule 2a
|
||||
|
||||
The size of your program source **must be <= 4096 bytes**in length.
|
||||
The size of your program source **MUST BE <= 4096 bytes**in length.
|
||||
|
||||
## Rule 2b
|
||||
|
||||
@@ -125,7 +130,9 @@ tool, and the IOCCC size tool -i command line option is used, the
|
||||
value printed **shall not exceed 2053**.
|
||||
|
||||
**`|`** The source to the current IOCCC size tool is found in the
|
||||
[mkiocccentry tool repo](https://github.com/ioccc-src/mkiocccentry).
|
||||
[mkiocccentry tool repo](https://github.com/ioccc-src/mkiocccentry). If you use
|
||||
the `mkiocccentry` tool (which we **STRONGLY recommend you do**) will invoke
|
||||
this tool before packaging your entry for submission.
|
||||
|
||||
|
||||
## Rule 3
|
||||
@@ -133,7 +140,7 @@ value printed **shall not exceed 2053**.
|
||||
Submissions should be performed using the instructions outlined at:
|
||||
the [How to enter link](../faq.html#submit) link.
|
||||
|
||||
To submit to an open IOCCC, you must the [IOCCC submit server](https://submit.ioccc.org/).
|
||||
To submit to an open IOCCC, you must use the [IOCCC submit server](https://submit.ioccc.org/).
|
||||
|
||||
When the IOCCC is not open, that link will likely be unresponsive.
|
||||
|
||||
@@ -153,18 +160,18 @@ will be called **prog**.
|
||||
|
||||
## Rule 5
|
||||
|
||||
Your entry must not modify the content or filename of any part of your
|
||||
original entry including, but not limited to prog.c, the Makefile
|
||||
(we create from your how to build instructions), as well as any data
|
||||
Your entry **MUST** not modify the content or filename of any part of your
|
||||
original entry including, but not limited to **prog.c**, the **Makefile**
|
||||
(that we create from your how to build instructions), as well as any data
|
||||
files you submit.
|
||||
|
||||
If you entry wishes to modify such content, it must first copy the
|
||||
If you entry wishes to modify such content, it **MUST** first copy the
|
||||
file to a new filename and then modify that copy.
|
||||
|
||||
|
||||
## Rule 6
|
||||
|
||||
**`|`** I am not a rule, I am a free(void \*man)!
|
||||
**`|`** I am not a rule, I am a `free(void \*man)`!
|
||||
|
||||
``` <!---c-->
|
||||
while (!understand(ioccc(rule(you(are(number(6))))))) { ha_ha_ha(); }
|
||||
@@ -175,19 +182,19 @@ file to a new filename and then modify that copy.
|
||||
|
||||
The obfuscated C program must be an original work that you own.
|
||||
|
||||
You (the authors) must own the contents of your submission OR
|
||||
you must have permission from the owners to submit their content
|
||||
You (the author(s)) must own the contents of your submission OR
|
||||
you must have permission from the owner(s) to submit their content
|
||||
under the following license:
|
||||
|
||||
**`|`** **[CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/)**
|
||||
|
||||
See also Rule 18.
|
||||
|
||||
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
|
||||
permission you obtained.
|
||||
|
||||
Please note that the IOCCC size tool is not an original work.
|
||||
Please note that the IOCCC size tool is **NOT** an original work.
|
||||
|
||||
|
||||
## Rule 8
|
||||
@@ -198,7 +205,8 @@ Please note that the IOCCC size tool is not an original work.
|
||||
2020-Mar-15 06:26:49 UTC
|
||||
```
|
||||
|
||||
A confirmation of submission will be sent to the submitter email address before the close of the contest.
|
||||
A confirmation of submission will be sent to the submitting email address
|
||||
before the close of the contest.
|
||||
|
||||
|
||||
## Rule 9
|
||||
@@ -215,10 +223,10 @@ Entries requiring human interaction to be initially compiled are not permitted.
|
||||
|
||||
## Rule 11
|
||||
|
||||
Programs that require special privileges (setuid, setgid, super-user,
|
||||
Programs that require special privileges (`setuid(2)`, `setgid(2)`, super-user,
|
||||
special owner, special group, etc.) are still highly discouraged. We
|
||||
do not guarantee these functions will behave as you expect on our test
|
||||
platforms. If your program needs special permissions please document
|
||||
platforms. If your program needs special permissions **please** document
|
||||
them in the remarks file.
|
||||
|
||||
|
||||
@@ -226,8 +234,8 @@ them in the remarks file.
|
||||
|
||||
Legal abuse of the rules is somewhat encouraged. An entry that, in
|
||||
the opinion of the judges, violates the rules will be disqualified.
|
||||
Entries that attempt to abuse the rules must try to justify why
|
||||
their rule abuse is legal in the remarks file.
|
||||
Entries that attempt to abuse the rules **MUST** try to justify why
|
||||
their rule abuse is legal, in the remarks file.
|
||||
|
||||
|
||||
## Rule 13
|
||||
@@ -239,7 +247,7 @@ the high bit set (octet value >= 128) will be rejected.
|
||||
## Rule 14
|
||||
|
||||
Any C source that fails to compile because of lines with trailing
|
||||
control-M's (i.e., lines with a tailing octet 015) will be rejected.
|
||||
control-M's (i.e., lines with a tailing octet `015`) will be rejected.
|
||||
|
||||
Please do not put trailing control-M's on remarks file lines.
|
||||
Please check to be sure, before submitting, that you have removed
|
||||
@@ -265,10 +273,13 @@ After your email address has been confirmed, the submission code will
|
||||
be valid for submitting and editing the entry for the lifetime of the
|
||||
competition.
|
||||
|
||||
See also [How may I submit to the IOCCC?](../faq.html#submit) in the
|
||||
[FAQ](../faq.html).
|
||||
|
||||
|
||||
## Rule 16
|
||||
|
||||
You are STRONGLY encouraged to submit a previously unpublished and
|
||||
You are **STRONGLY** encouraged to submit a previously unpublished and
|
||||
original entry. Submissions that are similar to previous entries are
|
||||
discouraged. As we judge anonymously, submissions that have already
|
||||
been published may be disqualified.
|
||||
@@ -277,8 +288,10 @@ been published may be disqualified.
|
||||
## Rule 17
|
||||
|
||||
The total size of your submission: the sum of the size of the program,
|
||||
hints, comments, build and info files MUST be less than or equal
|
||||
to 1048576 octets in size.
|
||||
hints, comments, build and info files **MUST** be less than or equal
|
||||
to 1048576 octets in size. The
|
||||
[mkiocccentry toolkit]((https://github.com/ioccc-src/mkiocccentry) will verify
|
||||
that your entry is not too big.
|
||||
|
||||
|
||||
## Rule 18
|
||||
@@ -287,8 +300,8 @@ The entirety of your entry 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/)**
|
||||
|
||||
You (the authors) must own the contents of your submission OR
|
||||
you must have permission from the owners to submit their content
|
||||
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 not submit anything that cannot be submitted under that license.
|
||||
|
||||
@@ -296,7 +309,7 @@ You must not submit anything that cannot be submitted under that license.
|
||||
## Rule 19
|
||||
|
||||
The remarks file must be written in markdown format. See
|
||||
the Daring Fireball {Markdown: Basics](http://daringfireball.net/projects/markdown/basics)
|
||||
the Daring Fireball [Markdown: Basics](http://daringfireball.net/projects/markdown/basics)
|
||||
for more information.
|
||||
|
||||
**`|`** We currently use [pandoc](https://pandoc.org) to convert markdown to HTML.
|
||||
@@ -304,15 +317,17 @@ for more information.
|
||||
|
||||
## Rule 20
|
||||
|
||||
The how to build instructions must be in make form.
|
||||
The how to build instructions must be in Makefile format. See [What kind of
|
||||
make(1) compatibility does the IOCCC support and will it support other
|
||||
kinds?](../faq.html#make_compatibility) for more details on what we support.
|
||||
|
||||
The target of the make file must be called prog. The original
|
||||
C source file must be called prog.c.
|
||||
The target of the Makefile must be called `prog`. The original
|
||||
C source file must be called `prog.c`.
|
||||
|
||||
To invoke the C compiler, use `${CC}`.
|
||||
To invoke the C preprocessor use `${CPP}`.
|
||||
|
||||
Do not assume that . (the current directory) is in the `$PATH`.
|
||||
Do not assume that `.` (the current directory) is in the `$PATH`.
|
||||
|
||||
Use a shell command syntax that is compatible with bash.
|
||||
|
||||
@@ -320,16 +335,23 @@ Assume that commands commonly found in POSIX-like / Linux-like systems
|
||||
are available in the search path.
|
||||
|
||||
Do not assume any particular given value of `${CFLAGS}` or other
|
||||
commonly used make variables.
|
||||
commonly used make variables. In other words you **MUST** specify the `CFLAGS`
|
||||
to use.
|
||||
|
||||
See also the
|
||||
[Makefile.example](https://github.com/ioccc-src/mkiocccentry/blob/master/Makefile.example)
|
||||
for help in constructing your Makefile. The `mkiocccentry`, which can be found
|
||||
at the [mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry), tries to
|
||||
detect if required rules exist in your Makefile.
|
||||
|
||||
|
||||
## Rule 21
|
||||
|
||||
Your entry must not create nor modify files above the current directory
|
||||
Your entry must not create or modify files above the current directory
|
||||
with the exception of the `/tmp` and the `/var/tmp` directories. Your entry
|
||||
may create subdirectories below the current directory, or in /tmp,
|
||||
or in `/var/tmp` provided that "**.**" is **not** the first octet in any
|
||||
directory name.
|
||||
**MAY** create subdirectories below the current directory, or in `/tmp`,
|
||||
or in `/var/tmp` provided that "**.**" is **NOT** the first octet in any
|
||||
directory name or filename you submit.
|
||||
|
||||
|
||||
## Rule 22
|
||||
@@ -338,16 +360,16 @@ Catch 22:
|
||||
|
||||
Your source code, data files, remarks and program output must **NOT**
|
||||
identify the authors of your code. The judges **STRONGLY prefer** to
|
||||
not know who is submitting entries to the IOCCC.
|
||||
NOT know who is submitting entries to the IOCCC.
|
||||
|
||||
Even if you are a previous IOCCC winner, catch 22 still applies.
|
||||
|
||||
Identifying the authors of your entry in an obvious way anywhere
|
||||
within in your code, data, remarks or program output (unless you are
|
||||
Identifying the author(s) of your entry in an obvious way anywhere
|
||||
within your code, data, remarks or program output (unless you are
|
||||
_Peter Honeyman_ or pretending to be _Peter Honeyman_) will be grounds
|
||||
for disqualification of your entry.
|
||||
|
||||
Yes, Virginia, **we really mean it**!
|
||||
Yes, Virginia, **we REALLY mean it**!
|
||||
|
||||
|
||||
## Rule 23
|
||||
@@ -372,16 +394,16 @@ Even though 24 is not prime, you should still see rule #23.
|
||||
|
||||
# FOR MORE INFORMATION:
|
||||
|
||||
The judging will be done by Leonid A. Broukhis, Simon Cooper,
|
||||
The judging will be done by Leonid A. Broukhis and
|
||||
Landon Curt Noll.
|
||||
|
||||
**`|`** Please send questions or comments about the contest, to:
|
||||
|
||||
```
|
||||
q.2020@ioccc.org
|
||||
q.2024@ioccc.org
|
||||
```
|
||||
|
||||
**`|`** **IMPORANT**: You must include the words **ioccc 2020 question**
|
||||
**`|`** **IMPORTANT**: You must include the words **ioccc 2024 question**
|
||||
in the subject of your email message when sending email to the judges.
|
||||
|
||||
The rules and the guidelines may (and often do) change from year to
|
||||
@@ -413,7 +435,7 @@ to be sure they are seeing the most recent tweets.
|
||||
|
||||
**`|`** **The IOCCC no longer uses twitter**.
|
||||
|
||||
**`|`** Today the [IOCCC uses Mastodon](../contact.html#mastodon).
|
||||
**`|`** Today the [IOCCC uses Mastodon](../contact.html#try_mastodon).
|
||||
|
||||
**`|`** For more information and to see our IOCCC Mastodon posts, see:
|
||||
|
||||
@@ -424,7 +446,6 @@ to be sure they are seeing the most recent tweets.
|
||||
**-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-**
|
||||
|
||||
Leonid A. Broukhis<br>
|
||||
Simon Cooper<br>
|
||||
chongo (Landon Curt Noll) `/\cc/\`
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user