Merge pull request #2612 from xexyl/named-faqs

This commit is contained in:
Landon Curt Noll authored and GitHub committed 2024-08-01 15:04:41 -07:00
commit 9fb910fe0b
2 files changed
+350 -36

No files matched your search

+175 -18
View File
@@ -390,13 +390,13 @@
<!-- BEFORE: 1st line of markdown file: faq.md --> <!-- BEFORE: 1st line of markdown file: faq.md -->
<h1 id="faq-table-of-contents">FAQ Table of Contents</h1> <h1 id="faq-table-of-contents">FAQ Table of Contents</h1>
<p>This is FAQ version <strong>28.0.3 2024-07-27</strong>.</p> <p>This is FAQ version <strong>28.0.3 2024-07-27</strong>.</p>
<h2 id="section-0---submitting-entries-to-a-new-ioccc">Section 0 - <a href="#faq0">Submitting entries to a new IOCCC</a></h2> <h2 id="section-0---submitting-to-a-new-ioccc">Section 0 - <a href="#faq0">Submitting to a new IOCCC</a></h2>
<ul> <ul>
<li><a class="normal" href="#faq0_0">0.0 - How may I enter the IOCCC?</a></li> <li><a class="normal" href="#faq0_0">0.0 - How may I enter the IOCCC?</a></li>
<li><a class="normal" href="#faq0_1">0.1 - What types of entries have been frequently submitted to the IOCCC?</a></li> <li><a class="normal" href="#faq0_1">0.1 - What types of entries have been frequently submitted to the IOCCC?</a></li>
<li><a class="normal" href="#faq0_2">0.2 - What should I put in my entry’s Makefile?</a></li> <li><a class="normal" href="#faq0_2">0.2 - What should I put in my submission’s Makefile?</a></li>
<li><a class="normal" href="#faq0_3">0.3 - May I use a different source or compiled filename than prog.c or prog?</a></li> <li><a class="normal" href="#faq0_3">0.3 - May I use a different source or compiled filename than prog.c or prog?</a></li>
<li><a class="normal" href="#faq0_4">0.4 - What platform should I assume for my entry?</a></li> <li><a class="normal" href="#faq0_4">0.4 - What platform should I assume for my submission?</a></li>
<li><a class="normal" href="#faq0_5">0.5 - How may I comment or make a suggestion on IOCCC rules, guidelines and tools?</a></li> <li><a class="normal" href="#faq0_5">0.5 - How may I comment or make a suggestion on IOCCC rules, guidelines and tools?</a></li>
<li><a class="normal" href="#faq0_6">0.6 - What is the best way to ask a question about the IOCCC rules, guideline and tools?</a></li> <li><a class="normal" href="#faq0_6">0.6 - What is the best way to ask a question about the IOCCC rules, guideline and tools?</a></li>
<li><a class="normal" href="#faq0_7">0.7 - What are the IOCCC best practices for using markdown?</a></li> <li><a class="normal" href="#faq0_7">0.7 - What are the IOCCC best practices for using markdown?</a></li>
@@ -419,9 +419,9 @@
</ul> </ul>
<h2 id="section-2---ioccc-judging-process">Section 2 - <a href="#faq2">IOCCC Judging process</a></h2> <h2 id="section-2---ioccc-judging-process">Section 2 - <a href="#faq2">IOCCC Judging process</a></h2>
<ul> <ul>
<li><a class="normal" href="#faq2_0">2.0 - How many entries do the judges receive for a given IOCCC?</a></li> <li><a class="normal" href="#faq2_0">2.0 - How many submissions do the judges receive for a given IOCCC?</a></li>
<li><a class="normal" href="#faq2_1">2.1 - What should I put in the remarks.md file of my submission?</a></li> <li><a class="normal" href="#faq2_1">2.1 - What should I put in the remarks.md file of my submission?</a></li>
<li><a class="normal" href="#faq2_2">2.2 - Why don’t you publish entries that do not win?</a></li> <li><a class="normal" href="#faq2_2">2.2 - Why don’t you publish submissions that do not win?</a></li>
<li><a class="normal" href="#faq2_3">2.3 - How much time does it take to judge the contest?</a></li> <li><a class="normal" href="#faq2_3">2.3 - How much time does it take to judge the contest?</a></li>
<li><a class="normal" href="#faq2_4">2.4 - How many judging rounds do you have?</a></li> <li><a class="normal" href="#faq2_4">2.4 - How many judging rounds do you have?</a></li>
<li><a class="normal" href="#faq2_5">2.5 - Why do some IOCCC entries receive the Grand Prize or Best of Show award?</a></li> <li><a class="normal" href="#faq2_5">2.5 - Why do some IOCCC entries receive the Grand Prize or Best of Show award?</a></li>
@@ -686,7 +686,7 @@ of the same theme.</p>
<div id="faq0_2"> <div id="faq0_2">
<div id="makefile"> <div id="makefile">
<div id="submission_makefile"> <div id="submission_makefile">
<h3 id="faq-0.2-what-should-i-put-in-my-entrys-makefile">FAQ 0.2: What should I put in my entry’s Makefile?</h3> <h3 id="faq-0.2-what-should-i-put-in-my-submissions-makefile">FAQ 0.2: What should I put in my submission’s Makefile?</h3>
</div> </div>
</div> </div>
</div> </div>
@@ -736,7 +736,11 @@ For example:</p>
cp -f prog $@</code></pre> cp -f prog $@</code></pre>
<div id="faq0_4"> <div id="faq0_4">
<div id="SUS"> <div id="SUS">
<h3 id="faq-0.4-what-platform-should-i-assume-for-my-entry">FAQ 0.4: What platform should I assume for my entry?</h3> <div id="platform">
<div id="portability">
<h3 id="faq-0.4-what-platform-should-i-assume-for-my-submission">FAQ 0.4: What platform should I assume for my submission?</h3>
</div>
</div>
</div> </div>
</div> </div>
<p>Your entry must compile with <strong>clang</strong> or <strong>gcc</strong> and run under at least one flavor of a UNIX <p>Your entry must compile with <strong>clang</strong> or <strong>gcc</strong> and run under at least one flavor of a UNIX
@@ -745,9 +749,11 @@ otherwise known as the <a href="https://unix.org/version4/">The Single UNIX Spec
or <a href="https://unix.org/online.html">later SUS</a>.</p> or <a href="https://unix.org/online.html">later SUS</a>.</p>
<div id="faq0_5"> <div id="faq0_5">
<div id="feedback"> <div id="feedback">
<div id="comments">
<h3 id="faq-0.5-how-may-i-comment-or-make-a-suggestion-on-ioccc-rules-guidelines-and-tools">FAQ 0.5: How may I comment or make a suggestion on IOCCC rules, guidelines and tools?</h3> <h3 id="faq-0.5-how-may-i-comment-or-make-a-suggestion-on-ioccc-rules-guidelines-and-tools">FAQ 0.5: How may I comment or make a suggestion on IOCCC rules, guidelines and tools?</h3>
</div> </div>
</div> </div>
</div>
<p>The <a href="judges.html">IOCCC judges</a> to welcome feedback on the <a href="next/rules.html">IOCCC <p>The <a href="judges.html">IOCCC judges</a> to welcome feedback on the <a href="next/rules.html">IOCCC
rules</a>, <a href="next/guidelines.html">IOCCC guidelines</a> rules</a>, <a href="next/guidelines.html">IOCCC guidelines</a>
and on the <a href="https://github.com/ioccc-src/mkiocccentry">IOCCC mkiocccentry tools</a>.</p> and on the <a href="https://github.com/ioccc-src/mkiocccentry">IOCCC mkiocccentry tools</a>.</p>
@@ -766,9 +772,11 @@ Otherwise consider opening a <a href="https://github.com/ioccc-src/mkiocccentry/
discussion</a>.</p> discussion</a>.</p>
<div id="faq0_6"> <div id="faq0_6">
<div id="question"> <div id="question">
<div id="questions">
<h3 id="faq-0.6-what-is-the-best-way-to-ask-a-question-about-the-ioccc-rules-guideline-and-tools">FAQ 0.6: What is the best way to ask a question about the IOCCC rules, guideline and tools?</h3> <h3 id="faq-0.6-what-is-the-best-way-to-ask-a-question-about-the-ioccc-rules-guideline-and-tools">FAQ 0.6: What is the best way to ask a question about the IOCCC rules, guideline and tools?</h3>
</div> </div>
</div> </div>
</div>
<p>We realise that the <a href="next/rules.html">IOCCC rules</a>, <a href="next/guidelines.html">IOCCC guidelines</a> <p>We realise that the <a href="next/rules.html">IOCCC rules</a>, <a href="next/guidelines.html">IOCCC guidelines</a>
and the <a href="https://github.com/ioccc-src/mkiocccentry">IOCCC mkiocccentry tools</a> and the <a href="https://github.com/ioccc-src/mkiocccentry">IOCCC mkiocccentry tools</a>
can be confusing or even seem overwhelming to some people.</p> can be confusing or even seem overwhelming to some people.</p>
@@ -811,9 +819,11 @@ others are wondering about as well!</p>
FAQ on “<a href="#feedback">rules, guidelines, tools feedback</a>”.</p> FAQ on “<a href="#feedback">rules, guidelines, tools feedback</a>”.</p>
<div id="faq0_7"> <div id="faq0_7">
<div id="markdown"> <div id="markdown">
<div id="md">
<h3 id="faq-0.7---what-are-the-ioccc-best-practices-for-using-markdown">FAQ 0.7: - What are the IOCCC best practices for using markdown?</h3> <h3 id="faq-0.7---what-are-the-ioccc-best-practices-for-using-markdown">FAQ 0.7: - What are the IOCCC best practices for using markdown?</h3>
</div> </div>
</div> </div>
</div>
<p>The IOCCC makes extensive use of <a href="https://daringfireball.net/projects/markdown/">markdown</a>. <p>The IOCCC makes extensive use of <a href="https://daringfireball.net/projects/markdown/">markdown</a>.
For example, we <a href="#submit">submitting to the IOCCC</a>, we have people For example, we <a href="#submit">submitting to the IOCCC</a>, we have people
to submit remarks about entry in markdown format. Every to submit remarks about entry in markdown format. Every
@@ -1618,10 +1628,12 @@ submission manually then you would be violating <a href="next/rules.html#rule17"
<div id="faq0_13"> <div id="faq0_13">
<div id="txzchk"> <div id="txzchk">
<div id="tarball"> <div id="tarball">
<div id="xz">
<h3 id="faq-0.13---how-can-i-validate-my-submission-tarball">FAQ 0.13 - How can I validate my submission tarball?</h3> <h3 id="faq-0.13---how-can-i-validate-my-submission-tarball">FAQ 0.13 - How can I validate my submission tarball?</h3>
</div> </div>
</div> </div>
</div> </div>
</div>
<p>The tool that validates submission tarballs can be obtained from the <a href="https://github.com/ioccc-src/mkiocccentry">IOCCC <p>The tool that validates submission tarballs can be obtained from the <a href="https://github.com/ioccc-src/mkiocccentry">IOCCC
mkiocccentry repo</a>. The mkiocccentry repo</a>. The
<code>mkiocccentry</code> tool itself will run the validator <strong>after</strong> forming the tarball. <code>mkiocccentry</code> tool itself will run the validator <strong>after</strong> forming the tarball.
@@ -1801,9 +1813,11 @@ or more of these tools manually.</p>
(and in particular <a href="next/rules.html#rule17">Rule 17</a>).</p> (and in particular <a href="next/rules.html#rule17">Rule 17</a>).</p>
<div id="faq0_16"> <div id="faq0_16">
<div id="mkiocccentry_compile"> <div id="mkiocccentry_compile">
<div id="compile_mkiocccentry">
<h3 id="faq-0.16---how-do-i-compile-mkiocccentry-and-its-related-tools">FAQ 0.16 - How do I compile <code>mkiocccentry</code> and its related tools?</h3> <h3 id="faq-0.16---how-do-i-compile-mkiocccentry-and-its-related-tools">FAQ 0.16 - How do I compile <code>mkiocccentry</code> and its related tools?</h3>
</div> </div>
</div> </div>
</div>
<p>After you <p>After you
<a href="https://github.com/ioccc-src/mkiocccentry/blob/master/FAQ.md#download">downloaded the mkiocccentry repo</a></p> <a href="https://github.com/ioccc-src/mkiocccentry/blob/master/FAQ.md#download">downloaded the mkiocccentry repo</a></p>
<p>Quoting from the mkiocccentry repo FAQ:</p> <p>Quoting from the mkiocccentry repo FAQ:</p>
@@ -1823,9 +1837,13 @@ for more up to date information on downloading, compiling, and related FAQ infor
</div> </div>
<div id="faq1_0"> <div id="faq1_0">
<div id="ioccc_start"> <div id="ioccc_start">
<div id="stormy_night">
<div id="beginning">
<h3 id="faq-1.0-how-did-the-ioccc-get-started">FAQ 1.0: How did the IOCCC get started?</h3> <h3 id="faq-1.0-how-did-the-ioccc-get-started">FAQ 1.0: How did the IOCCC get started?</h3>
</div> </div>
</div> </div>
</div>
</div>
<p>One day (1984 March 23 to be exact), Larry Bassel and I (Landon Curt <p>One day (1984 March 23 to be exact), Larry Bassel and I (Landon Curt
Noll) were working for National Semiconductor’s Genix porting group, and we Noll) were working for National Semiconductor’s Genix porting group, and we
were both in our offices trying to fix some very broken code.</p> were both in our offices trying to fix some very broken code.</p>
@@ -1881,16 +1899,22 @@ and the tradition continues as the longest running contest on the Internet.</p>
<p>P.S. Part of the inspiration for making the IOCCC a contest goes to the <p>P.S. Part of the inspiration for making the IOCCC a contest goes to the
<a href="http://www.bulwer-lytton.com/">Bulwer-Lytton fiction contest</a>.</p> <a href="http://www.bulwer-lytton.com/">Bulwer-Lytton fiction contest</a>.</p>
<div id="faq1_1"> <div id="faq1_1">
<div id="missing_years">
<h3 id="faq-1.1-why-are-some-years-missing-ioccc-entries">FAQ 1.1: Why are some years missing IOCCC entries?</h3> <h3 id="faq-1.1-why-are-some-years-missing-ioccc-entries">FAQ 1.1: Why are some years missing IOCCC entries?</h3>
</div> </div>
</div>
<p>Some years, such as 1997, 1999, 2002-2003, 2007-2010, 2016-2017, 2021-2023, no IOCCC was held.</p> <p>Some years, such as 1997, 1999, 2002-2003, 2007-2010, 2016-2017, 2021-2023, no IOCCC was held.</p>
<p>While we try to hold the IOCCC every year, sometime the other demands on the IOCCC judges <p>While we try to hold the IOCCC every year, sometime the other demands on the IOCCC judges
do not permit us to hold a new IOCCC.</p> do not permit us to hold a new IOCCC.</p>
<p>The pause during the 2021-2023 period was due to the IOCCC judges developing tools to <p>The pause during the 2021-2023 period was due to the IOCCC judges developing tools to
make is much more likely for the IOCCC to be held in a yearly basis later on.</p> make is much more likely for the IOCCC to be held in a yearly basis later on.</p>
<div id="faq1_2"> <div id="faq1_2">
<div id="website">
<div id="website_history">
<h3 id="faq-1.2-what-is-the-history-of-the-ioccc-website">FAQ 1.2: What is the history of the IOCCC website?</h3> <h3 id="faq-1.2-what-is-the-history-of-the-ioccc-website">FAQ 1.2: What is the history of the IOCCC website?</h3>
</div> </div>
</div>
</div>
<h4 id="in-the-beginning-of-www.ioccc.org">In the beginning of www.ioccc.org</h4> <h4 id="in-the-beginning-of-www.ioccc.org">In the beginning of www.ioccc.org</h4>
<p>The long history of the <a href="https://www.ioccc.org">official IOCCC website</a> can be <p>The long history of the <a href="https://www.ioccc.org">official IOCCC website</a> can be
viewed at the <a href="https://web.archive.org">Internet Wayback Machine Wayback Machine</a>.</p> viewed at the <a href="https://web.archive.org">Internet Wayback Machine Wayback Machine</a>.</p>
@@ -2045,9 +2069,11 @@ repo</a> resulting in many, many substantial improvements
to the <a href="https://www.ioccc.org">official IOCCC website</a>.</p> to the <a href="https://www.ioccc.org">official IOCCC website</a>.</p>
<div id="faq1_3"> <div id="faq1_3">
<div id="size_rule"> <div id="size_rule">
<div id="size_restriction">
<h3 id="faq-1.3-how-has-the-ioccc-size-limit-rule-changed-over-the-years">FAQ 1.3: How has the IOCCC size limit rule changed over the years?</h3> <h3 id="faq-1.3-how-has-the-ioccc-size-limit-rule-changed-over-the-years">FAQ 1.3: How has the IOCCC size limit rule changed over the years?</h3>
</div> </div>
</div> </div>
</div>
<p>The IOCCC size rule has changed over the years.</p> <p>The IOCCC size rule has changed over the years.</p>
<p>In later years, Rule 2 was split into two parts. These two parts of Rule 2 are:</p> <p>In later years, Rule 2 was split into two parts. These two parts of Rule 2 are:</p>
<ul> <ul>
@@ -2118,10 +2144,12 @@ to the <a href="https://www.ioccc.org">official IOCCC website</a>.</p>
<div id="faq2_1"> <div id="faq2_1">
<div id="remarks_md"> <div id="remarks_md">
<div id="remarks"> <div id="remarks">
<div id="readme">
<h3 id="faq-2.1-what-should-i-put-in-the-remarks.md-file-of-my-submission">FAQ 2.1: What should I put in the remarks.md file of my submission?</h3> <h3 id="faq-2.1-what-should-i-put-in-the-remarks.md-file-of-my-submission">FAQ 2.1: What should I put in the remarks.md file of my submission?</h3>
</div> </div>
</div> </div>
</div> </div>
</div>
<p>First, <strong>PLEASE</strong> read the <a href="markdown.html">IOCCC markdown guidelines</a>.</p> <p>First, <strong>PLEASE</strong> read the <a href="markdown.html">IOCCC markdown guidelines</a>.</p>
<p>Next, while you may put in as much or as little as you wish into your entry’s <p>Next, while you may put in as much or as little as you wish into your entry’s
<code>remarks.md</code> file, we do have few important suggestions:</p> <code>remarks.md</code> file, we do have few important suggestions:</p>
@@ -2157,14 +2185,18 @@ this is not clear!</li>
<li>leaving the remark section empty.</li> <li>leaving the remark section empty.</li>
</ul> </ul>
<div id="faq2_2"> <div id="faq2_2">
<h3 id="faq-2.2-why-dont-you-publish-entries-that-do-not-win">FAQ 2.2: Why don’t you publish entries that do not win?</h3> <div id="losing_submissions">
<h3 id="faq-2.2-why-dont-you-publish-submissions-that-do-not-win">FAQ 2.2: Why don’t you publish submissions that do not win?</h3>
</div>
</div> </div>
<p>Because the publication on the IOCCC site <strong><em>IS</em></strong> the award! <p>Because the publication on the IOCCC site <strong><em>IS</em></strong> the award!
Anyone is free to put their IOCCC hopefuls, lookalikes and/or Anyone is free to put their IOCCC hopefuls, lookalikes and/or
entries that do not win on their web page for everyone to see.</p> entries that do not win on their web page for everyone to see.</p>
<div id="faq2_3"> <div id="faq2_3">
<div id="judging_time">
<h3 id="faq-2.3-how-much-time-does-it-take-to-judge-the-contest">FAQ 2.3: How much time does it take to judge the contest?</h3> <h3 id="faq-2.3-how-much-time-does-it-take-to-judge-the-contest">FAQ 2.3: How much time does it take to judge the contest?</h3>
</div> </div>
</div>
<p>It takes a fair amount of time to setup, run, respond to messages, process entries, <p>It takes a fair amount of time to setup, run, respond to messages, process entries,
review entries, trim down the set entries to a set of winning entries, doing the review entries, trim down the set entries to a set of winning entries, doing the
write-up of the entries, announcing the entries, reviewing final edits of the write-up of the entries, announcing the entries, reviewing final edits of the
@@ -2178,16 +2210,28 @@ incompatibilities, but no more than that - so be sure that your entry does work
on at least a couple different platforms, at least one of them being UNIX or on at least a couple different platforms, at least one of them being UNIX or
POSIX-conforming.</p> POSIX-conforming.</p>
<div id="faq2_4"> <div id="faq2_4">
<div id="rounds">
<div id="judging_rounds">
<h3 id="faq-2.4-how-many-judging-rounds-do-you-have">FAQ 2.4: How many judging rounds do you have?</h3> <h3 id="faq-2.4-how-many-judging-rounds-do-you-have">FAQ 2.4: How many judging rounds do you have?</h3>
</div> </div>
</div>
</div>
<p>Are you trying to trick us? :-)</p> <p>Are you trying to trick us? :-)</p>
<p>By tradition, we do not say how many judging rounds we have in a given IOCCC.</p> <p>By tradition, we do not say how many judging rounds we have in a given IOCCC.</p>
<p>We often report when the IOCCC judges start the 1st round, and <p>We often report when the IOCCC judges start the 1st round, and when usually
when usually report when the IOCCC judges start near final judging rounds, and report when the IOCCC judges start near final judging rounds, and sometimes we
sometimes we also report when we enter what we believe is the final judging round, so you may guess that we have at least 3 rounds. :-) The actual number of rounds is certainly more than 3.</p> also report when we enter what we believe is the final judging round, so you may
guess that we have at least 3 rounds. :-) The actual number of rounds is
certainly more than 3.</p>
<div id="faq2_5"> <div id="faq2_5">
<div id="best">
<div id="best_of_show">
<div id="grand_prize">
<h3 id="faq-2.5-why-do-some-ioccc-entries-receive-the-grand-prize-or-best-of-show-award">FAQ 2.5: Why do some IOCCC entries receive the Grand Prize or Best of Show award?</h3> <h3 id="faq-2.5-why-do-some-ioccc-entries-receive-the-grand-prize-or-best-of-show-award">FAQ 2.5: Why do some IOCCC entries receive the Grand Prize or Best of Show award?</h3>
</div> </div>
</div>
</div>
</div>
<p>In some years, the IOCCC judges discover a truly amazing IOCCC entry that <p>In some years, the IOCCC judges discover a truly amazing IOCCC entry that
stands out among all of the other IOCCC entries received that year. stands out among all of the other IOCCC entries received that year.
For such an IOCCC entry, the IOCCC judges award a “Grand Prize” For such an IOCCC entry, the IOCCC judges award a “Grand Prize”
@@ -2223,8 +2267,14 @@ from the judges, they used the following awards:</p>
<p>These could be considered the ‘best entry’ for those years with 1 or <p>These could be considered the ‘best entry’ for those years with 1 or
more other entries that came in close behind.</p> more other entries that came in close behind.</p>
<div id="faq2_6"> <div id="faq2_6">
<div id="announcing_winners">
<div id="announce">
<div id="winners">
<h3 id="faq-2.6-how-are-ioccc-entries-announced">FAQ 2.6: How are IOCCC entries announced?</h3> <h3 id="faq-2.6-how-are-ioccc-entries-announced">FAQ 2.6: How are IOCCC entries announced?</h3>
</div> </div>
</div>
</div>
</div>
<p>Once the <a href="index.html">IOCCC</a> closes, the judges will:</p> <p>Once the <a href="index.html">IOCCC</a> closes, the judges will:</p>
<ul> <ul>
<li><p>Select the <a href="years.html">winning entries</a> announce them on the <a href="https://fosstodon.org/@ioccc"><span class="citation" data-cites="IOCCC">@IOCCC</span> <li><p>Select the <a href="years.html">winning entries</a> announce them on the <a href="https://fosstodon.org/@ioccc"><span class="citation" data-cites="IOCCC">@IOCCC</span>
@@ -2244,9 +2294,11 @@ winning entries page</a>.</p></li>
</div> </div>
<div id="faq3_0"> <div id="faq3_0">
<div id="make_rules"> <div id="make_rules">
<div id="makefile_rules">
<h3 id="faq-3.0-what-makefile-rules-are-available-to-build-or-clean-up-ioccc-entries">FAQ 3.0: What Makefile rules are available to build or clean up IOCCC entries?</h3> <h3 id="faq-3.0-what-makefile-rules-are-available-to-build-or-clean-up-ioccc-entries">FAQ 3.0: What Makefile rules are available to build or clean up IOCCC entries?</h3>
</div> </div>
</div> </div>
</div>
<p>In general the best way to compile everything in an entry directory is to run:</p> <p>In general the best way to compile everything in an entry directory is to run:</p>
<pre><code> make clobber all</code></pre> <pre><code> make clobber all</code></pre>
<p>If you wish to compile every entry for every year you should go to the top level <p>If you wish to compile every entry for every year you should go to the top level
@@ -2283,8 +2335,12 @@ compilers might do different things, have different defects or other issues.
Note that the <code>Makefile</code>s check the <code>CC</code> variable by substrings so that if you Note that the <code>Makefile</code>s check the <code>CC</code> variable by substrings so that if you
were to do something like <code>make CC=gcc=mp-12</code> it would register as <code>gcc</code>.</p> were to do something like <code>make CC=gcc=mp-12</code> it would register as <code>gcc</code>.</p>
<div id="faq3_1"> <div id="faq3_1">
<div id="compile">
<div id="compile_errors">
<h3 id="faq-3.1-why-doesnt-an-ioccc-entry-compile">FAQ 3.1: Why doesn’t an IOCCC entry compile?</h3> <h3 id="faq-3.1-why-doesnt-an-ioccc-entry-compile">FAQ 3.1: Why doesn’t an IOCCC entry compile?</h3>
</div> </div>
</div>
</div>
<p>Some entries that won the IOCCC, particularly entries from long ago, no longer compile on more <p>Some entries that won the IOCCC, particularly entries from long ago, no longer compile on more
modern systems because the C language has evolved (i.e. the modern C compilers modern systems because the C language has evolved (i.e. the modern C compilers
are much more strict in what they accept as a valid program), or the entry are much more strict in what they accept as a valid program), or the entry
@@ -2313,8 +2369,12 @@ for more information.</p>
fixed so that they can compile in modern systems though just because an entry fixed so that they can compile in modern systems though just because an entry
compiles does not mean it will run on your specific system.</p> compiles does not mean it will run on your specific system.</p>
<div id="faq3_2"> <div id="faq3_2">
<div id="64bit">
<div id="64-bit">
<h3 id="faq-3.2-why-does-an-ioccc-entry-fail-on-my-64-bit-system">FAQ 3.2: Why does an IOCCC entry fail on my 64-bit system?</h3> <h3 id="faq-3.2-why-does-an-ioccc-entry-fail-on-my-64-bit-system">FAQ 3.2: Why does an IOCCC entry fail on my 64-bit system?</h3>
</div> </div>
</div>
</div>
<p>Unfortunately some older entries are non-portable and require 32-bit support or <p>Unfortunately some older entries are non-portable and require 32-bit support or
32-bit binaries. A problem system here is macOS Catalina (10.15) as as of that 32-bit binaries. A problem system here is macOS Catalina (10.15) as as of that
version macOS no longer supports 32-bit binaries. If the entry acts on a certain version macOS no longer supports 32-bit binaries. If the entry acts on a certain
@@ -2341,8 +2401,12 @@ for details. See also the
FAQ on “<a href="#pull_request">GitHub pull request</a>” FAQ on “<a href="#pull_request">GitHub pull request</a>”
for more information about pull requests.</p> for more information about pull requests.</p>
<div id="faq3_3"> <div id="faq3_3">
<div id="macos">
<div id="macos_errors">
<h3 id="faq-3.3-why-do-some-ioccc-entries-fail-to-compile-under-macos">FAQ 3.3: Why do some IOCCC entries fail to compile under macOS?</h3> <h3 id="faq-3.3-why-do-some-ioccc-entries-fail-to-compile-under-macos">FAQ 3.3: Why do some IOCCC entries fail to compile under macOS?</h3>
</div> </div>
</div>
</div>
<p>If the entry requires gcc and you did not explicitly install gcc in macOS you <p>If the entry requires gcc and you did not explicitly install gcc in macOS you
will not be able to run or use these entries. This is because macOS gcc is will not be able to run or use these entries. This is because macOS gcc is
actually clang, even <code>/usr/bin/gcc</code>.</p> actually clang, even <code>/usr/bin/gcc</code>.</p>
@@ -2356,8 +2420,12 @@ Please see the
FAQ on “<a href="#fix_an_entry">fixing an entry</a>” FAQ on “<a href="#fix_an_entry">fixing an entry</a>”
for details.</p> for details.</p>
<div id="faq3_4"> <div id="faq3_4">
<div id="gcc">
<div id="clang">
<h3 id="faq-3.4-why-does-clang-or-gcc-fail-to-compile-an-ioccc-entry">FAQ 3.4: Why does clang or gcc fail to compile an IOCCC entry?</h3> <h3 id="faq-3.4-why-does-clang-or-gcc-fail-to-compile-an-ioccc-entry">FAQ 3.4: Why does clang or gcc fail to compile an IOCCC entry?</h3>
</div> </div>
</div>
</div>
<p>Although we have fixed numerous entries to work with clang (sometimes in an alt <p>Although we have fixed numerous entries to work with clang (sometimes in an alt
version but usually in the program itself) there are some that simply cannot be version but usually in the program itself) there are some that simply cannot be
fixed or if they are fixable they have not yet been fixed (we are working on fixed or if they are fixable they have not yet been fixed (we are working on
@@ -2378,15 +2446,25 @@ See also the
FAQ on “<a href="#pull_request">GitHub pull request</a>” FAQ on “<a href="#pull_request">GitHub pull request</a>”
for more information about pull requests.</p> for more information about pull requests.</p>
<div id="faq3_5"> <div id="faq3_5">
<div id="cb">
<h3 id="faq-3.5-what-is-this-cb-tool-that-is-mentioned-in-the-ioccc">FAQ 3.5: What is this cb tool that is mentioned in the IOCCC?</h3> <h3 id="faq-3.5-what-is-this-cb-tool-that-is-mentioned-in-the-ioccc">FAQ 3.5: What is this cb tool that is mentioned in the IOCCC?</h3>
</div> </div>
</div>
<p>This was a C beautifier for Unix, both AT&amp;T and Berkeley, but it seems to no <p>This was a C beautifier for Unix, both AT&amp;T and Berkeley, but it seems to no
longer be available, code wise, except for Plan 9, but Plan 9 was never used for longer be available, code wise, except for Plan 9, but Plan 9 was never used for
judging the IOCCC. A Unix man page for <code>cb</code> judging the IOCCC. A Unix man page for <code>cb</code>
<a href="https://www.ibm.com/docs/en/aix/7.3?topic=c-cb-command">still exists</a>.</p> <a href="https://www.ibm.com/docs/en/aix/7.3?topic=c-cb-command">still exists</a>.</p>
<div id="faq3_6"> <div id="faq3_6">
<div id="terminal">
<div id="sanity">
<div id="reset">
<div id="stty">
<h3 id="faq-3.6-an-ioccc-entry-messed-up-my-terminal-application-how-do-i-fix-this">FAQ 3.6: An IOCCC entry messed up my terminal application, how do I fix this?</h3> <h3 id="faq-3.6-an-ioccc-entry-messed-up-my-terminal-application-how-do-i-fix-this">FAQ 3.6: An IOCCC entry messed up my terminal application, how do I fix this?</h3>
</div> </div>
</div>
</div>
</div>
</div>
<p>The simplest way to do this is to type <code>reset</code>. If echo was disabled you can get <p>The simplest way to do this is to type <code>reset</code>. If echo was disabled you can get
usually away with <code>stty echo</code>. Sometimes you can also get away with <code>stty sane</code>. usually away with <code>stty echo</code>. Sometimes you can also get away with <code>stty sane</code>.
<code>reset</code> does the most but note that it will clear the screen (obviously <code>clear</code> <code>reset</code> does the most but note that it will clear the screen (obviously <code>clear</code>
@@ -2638,9 +2716,11 @@ for downloading, installing and using ncurses.</p>
<p>We recommend trying a method suitable for your environment first, if possible.</p> <p>We recommend trying a method suitable for your environment first, if possible.</p>
<div id="faq3_10"> <div id="faq3_10">
<div id="sox"> <div id="sox">
<div id="sound">
<h3 id="faq-3.10-how-do-i-compile-and-use-an-ioccc-entry-that-requires-sound">FAQ 3.10: How do I compile and use an IOCCC entry that requires sound?</h3> <h3 id="faq-3.10-how-do-i-compile-and-use-an-ioccc-entry-that-requires-sound">FAQ 3.10: How do I compile and use an IOCCC entry that requires sound?</h3>
</div> </div>
</div> </div>
</div>
<p>This might depend on the entry but most likely the Swiss Army Knife of sound <p>This might depend on the entry but most likely the Swiss Army Knife of sound
processing programs, <a href="https://sox.sourceforge.net">SoX</a>, will work. How to processing programs, <a href="https://sox.sourceforge.net">SoX</a>, will work. How to
install depends on your OS.</p> install depends on your OS.</p>
@@ -2740,8 +2820,14 @@ differences, try from <code>1989/westley</code>:</p>
you can get your entry to work well in <code>clang</code> it might very well be considered you can get your entry to work well in <code>clang</code> it might very well be considered
better than other entries.</p> better than other entries.</p>
<div id="faq3_12"> <div id="faq3_12">
<div id="eof">
<div id="intr">
<div id="interrupt">
<h3 id="faq-3.12-how-do-i-find-out-how-to-send-interrupteof-etc.-for-entries-that-require-it">FAQ 3.12: How do I find out how to send interrupt/EOF etc. for entries that require it?</h3> <h3 id="faq-3.12-how-do-i-find-out-how-to-send-interrupteof-etc.-for-entries-that-require-it">FAQ 3.12: How do I find out how to send interrupt/EOF etc. for entries that require it?</h3>
</div> </div>
</div>
</div>
</div>
<p>For some entries one needs to send interrupt or EOF or some other signal/other <p>For some entries one needs to send interrupt or EOF or some other signal/other
special characters. There are typical defaults like (where <code>^</code> = ctrl):</p> special characters. There are typical defaults like (where <code>^</code> = ctrl):</p>
<ul> <ul>
@@ -3100,8 +3186,10 @@ process or appreciate the entry more, then please do so.</p>
<h2 id="section-4-changes-made-to-ioccc-entries">Section 4: Changes made to IOCCC entries</h2> <h2 id="section-4-changes-made-to-ioccc-entries">Section 4: Changes made to IOCCC entries</h2>
</div> </div>
<div id="faq4_0"> <div id="faq4_0">
<div id="author_remarks">
<h3 id="faq-4.0-why-are-some-winning-entry-remarks-incongruent-with-the-winning-ioccc-code">FAQ 4.0: Why are some winning entry remarks incongruent with the winning IOCCC code?</h3> <h3 id="faq-4.0-why-are-some-winning-entry-remarks-incongruent-with-the-winning-ioccc-code">FAQ 4.0: Why are some winning entry remarks incongruent with the winning IOCCC code?</h3>
</div> </div>
</div>
<p>It is very likely in this case that the code was fixed to work for modern <p>It is very likely in this case that the code was fixed to work for modern
systems as part of the reworking of the website. If you have this problem in systems as part of the reworking of the website. If you have this problem in
some entries you should look at the original code as in <code>dirname.orig.c</code> or some entries you should look at the original code as in <code>dirname.orig.c</code> or
@@ -3115,9 +3203,11 @@ FAQ on “<a href="#original_source_code">original source code</a>”
for more information.</p> for more information.</p>
<div id="faq4_1"> <div id="faq4_1">
<div id="gets"> <div id="gets">
<div id="fgets">
<h3 id="faq-4.1-why-were-some-calls-to-the-libc-function-gets3-changed-to-use-fgets3">FAQ 4.1: Why were some calls to the libc function gets(3) changed to use fgets(3)?</h3> <h3 id="faq-4.1-why-were-some-calls-to-the-libc-function-gets3-changed-to-use-fgets3">FAQ 4.1: Why were some calls to the libc function gets(3) changed to use fgets(3)?</h3>
</div> </div>
</div> </div>
</div>
<p>Some may wonder: “Doesn’t this tamper with the entry too much?”</p> <p>Some may wonder: “Doesn’t this tamper with the entry too much?”</p>
<p>A fine line indeed has to be drawn here but it was decided that it is worth it <p>A fine line indeed has to be drawn here but it was decided that it is worth it
because of alarming warnings that can be displayed, in some systems at runtime because of alarming warnings that can be displayed, in some systems at runtime
@@ -3252,14 +3342,20 @@ VAX-11/PDP-11, however).</p>
<p>See also the <p>See also the
FAQ on “<a href="#what_changed">entry source code changes</a>”</p> FAQ on “<a href="#what_changed">entry source code changes</a>”</p>
<div id="faq4_4"> <div id="faq4_4">
<div id="orig_c">
<h3 id="faq-4.4-what-is-the-meaning-of-the-file-ending-in-.orig.c-in-ioccc-entries">FAQ 4.4: What is the meaning of the file ending in .orig.c in IOCCC entries?</h3> <h3 id="faq-4.4-what-is-the-meaning-of-the-file-ending-in-.orig.c-in-ioccc-entries">FAQ 4.4: What is the meaning of the file ending in .orig.c in IOCCC entries?</h3>
</div> </div>
</div>
<p>Due to the fact that the original code has sometimes had to change these files <p>Due to the fact that the original code has sometimes had to change these files
are the original winning entry or as close to as possible to the original that are the original winning entry or as close to as possible to the original that
we can find.</p> we can find.</p>
<div id="faq4_5"> <div id="faq4_5">
<div id="alt">
<div id="alt_code">
<h3 id="faq-4.5-why-were-alternate-versions-added-to-some-entries-when-the-original-entry-worked-fine-and-well">FAQ 4.5: Why were alternate versions added to some entries when the original entry worked fine and well?</h3> <h3 id="faq-4.5-why-were-alternate-versions-added-to-some-entries-when-the-original-entry-worked-fine-and-well">FAQ 4.5: Why were alternate versions added to some entries when the original entry worked fine and well?</h3>
</div> </div>
</div>
</div>
<p>This was a judgement call and the reasons vary. In many cases it was simply to <p>This was a judgement call and the reasons vary. In many cases it was simply to
make the entry more presentable to more people but without modifying the entry make the entry more presentable to more people but without modifying the entry
itself, which would be tampering with the entry, and in some cases it would be itself, which would be tampering with the entry, and in some cases it would be
@@ -3274,9 +3370,11 @@ FAQ on “<a href="#original_source_code">original source code</a>”
for more information.</p> for more information.</p>
<div id="faq4_6"> <div id="faq4_6">
<div id="arg_count"> <div id="arg_count">
<div id="main_args">
<h3 id="faq-4.6-why-was-arg-count-andor-type-changed-in-main-in-some-older-entries">FAQ 4.6: Why was arg count and/or type changed in main() in some older entries?</h3> <h3 id="faq-4.6-why-was-arg-count-andor-type-changed-in-main-in-some-older-entries">FAQ 4.6: Why was arg count and/or type changed in main() in some older entries?</h3>
</div> </div>
</div> </div>
</div>
<p>There are a number of reasons this was done but they usually come down to a <p>There are a number of reasons this was done but they usually come down to a
mis-feature or defect in the <code>clang</code> compiler.</p> mis-feature or defect in the <code>clang</code> compiler.</p>
<p>In all versions of <code>clang</code> the first arg must be an <code>int</code> and the rest must be a <p>In all versions of <code>clang</code> the first arg must be an <code>int</code> and the rest must be a
@@ -3290,8 +3388,10 @@ could no longer be so: <code>main()</code> instead had to call another function
the body of the old <code>main()</code> and that function would call itself again. In some the body of the old <code>main()</code> and that function would call itself again. In some
cases, however, this had to be done even without <code>clang</code> objections.</p> cases, however, this had to be done even without <code>clang</code> objections.</p>
<div id="faq4_7"> <div id="faq4_7">
<div id="renaming_files">
<h3 id="faq-4.7-why-were-some-filenames-changed">FAQ 4.7: Why were some filenames changed?</h3> <h3 id="faq-4.7-why-were-some-filenames-changed">FAQ 4.7: Why were some filenames changed?</h3>
</div> </div>
</div>
<p>The reasons this was done varies. One of the earliest changes was making the old <p>The reasons this was done varies. One of the earliest changes was making the old
<code>.hint</code> or <code>.text</code> files <code>README.md</code> files. The first time this was done was for <code>.hint</code> or <code>.text</code> files <code>README.md</code> files. The first time this was done was for
<code>2019/README.text</code> and <code>2020/README.text</code> with <a href="https://github.com/ioccc-src/temp-test-ioccc/commit/87c41a787fa334f6696ec8f23284eacea63e3e89">commit <code>2019/README.text</code> and <code>2020/README.text</code> with <a href="https://github.com/ioccc-src/temp-test-ioccc/commit/87c41a787fa334f6696ec8f23284eacea63e3e89">commit
@@ -3311,8 +3411,12 @@ method of how to display files was devised).</p>
other times something else.</p> other times something else.</p>
<p>There were certainly other reasons as well.</p> <p>There were certainly other reasons as well.</p>
<div id="faq4_8"> <div id="faq4_8">
<div id="files_added">
<div id="files_removed">
<h3 id="faq-4.8-why-were-files-added-or-removed-from-some-entries">FAQ 4.8: Why were files added or removed from some entries?</h3> <h3 id="faq-4.8-why-were-files-added-or-removed-from-some-entries">FAQ 4.8: Why were files added or removed from some entries?</h3>
</div> </div>
</div>
</div>
<p>Like with files being renamed, there are multiple reasons files were added or <p>Like with files being renamed, there are multiple reasons files were added or
removed. The addition of the <code>try.sh</code> and <code>try.alt.sh</code> scripts is the most removed. The addition of the <code>try.sh</code> and <code>try.alt.sh</code> scripts is the most
significant example of files being added. These scripts, as the significant example of files being added. These scripts, as the
@@ -3352,8 +3456,7 @@ to be modified. Reasons include things such as:</p>
<li>etc.</li> <li>etc.</li>
</ul> </ul>
<p>We seek to preserve the “<strong>original source file</strong>”, for historical purposes, <p>We seek to preserve the “<strong>original source file</strong>”, for historical purposes,
by preserving the original source code (usually as ’prog.orig.c`). by preserving the original source code (usually as <code>prog.orig.c</code>).</p>
for more infornation.</p>
<p><strong>IMPORTANT NOTE</strong>: The “<strong>original source file</strong>”, because it is a historic <p><strong>IMPORTANT NOTE</strong>: The “<strong>original source file</strong>”, because it is a historic
record, should <strong>NOT</strong> be modified.</p> record, should <strong>NOT</strong> be modified.</p>
<p>Unless one can demonstrate that a mistake has been made regarding <p>Unless one can demonstrate that a mistake has been made regarding
@@ -3365,19 +3468,21 @@ is <strong>NOT</strong> the original source code, please do <strong>NOT</strong>
problem to the <a href="judges.html">IOCCC judges</a>, including that you believe problem to the <a href="judges.html">IOCCC judges</a>, including that you believe
is the correct “<strong>original source file</strong>”.</p> is the correct “<strong>original source file</strong>”.</p>
<p><strong>FYI</strong>: To determine the difference between the “<strong>original source file</strong>” and <p><strong>FYI</strong>: To determine the difference between the “<strong>original source file</strong>” and
the the source code as it is now now, try:</p> the source code as it is now now, try:</p>
<pre><code> make diff_orig_prog</code></pre> <pre><code> make diff_orig_prog</code></pre>
<p>See the <p>See the
FAQ on “<a href="#what_changed">what changed</a>” FAQ on “<a href="#what_changed">what changed</a>”
for more inforaiton and make rules relating to “<strong>original source file</strong>” differences.</p> for more information and make rules relating to “<strong>original source file</strong>” differences.</p>
<div id="faq5"> <div id="faq5">
<h2 id="section-5-updating-or-correcting-ioccc-website-content">Section 5: Updating or correcting IOCCC website content</h2> <h2 id="section-5-updating-or-correcting-ioccc-website-content">Section 5: Updating or correcting IOCCC website content</h2>
</div> </div>
<div id="faq5_0"> <div id="faq5_0">
<div id="how_to_help"> <div id="how_to_help">
<div id="helping">
<h3 id="faq-5.0-how-may-i-help-the-ioccc">FAQ 5.0: How may I help the IOCCC?</h3> <h3 id="faq-5.0-how-may-i-help-the-ioccc">FAQ 5.0: How may I help the IOCCC?</h3>
</div> </div>
</div> </div>
</div>
<h3 id="we-welcome-your-help-in-fixing-ioccc-entries">We welcome your help in fixing IOCCC entries</h3> <h3 id="we-welcome-your-help-in-fixing-ioccc-entries">We welcome your help in fixing IOCCC entries</h3>
<p>The <a href="bugs.html">known bugs</a> file, order by IOCCC years, contains a <p>The <a href="bugs.html">known bugs</a> file, order by IOCCC years, contains a
list of known bugs &amp; (mis)features. If you are looking for an IOCCC entry list of known bugs &amp; (mis)features. If you are looking for an IOCCC entry
@@ -3394,9 +3499,11 @@ section may offer you important fixing clues.</p>
<h3 id="we-welcome-your-help-on-fixing-the-ioccc-website">We welcome your help on fixing the IOCCC website</h3> <h3 id="we-welcome-your-help-on-fixing-the-ioccc-website">We welcome your help on fixing the IOCCC website</h3>
<div id="faq5_1"> <div id="faq5_1">
<div id="report_bug"> <div id="report_bug">
<div id="reporting_bugs">
<h3 id="faq-5.1-how-do-i-report-a-bug-in-an-ioccc-entry">FAQ 5.1: How do I report a bug in an IOCCC entry?</h3> <h3 id="faq-5.1-how-do-i-report-a-bug-in-an-ioccc-entry">FAQ 5.1: How do I report a bug in an IOCCC entry?</h3>
</div> </div>
</div> </div>
</div>
<p>We do not ‘maintain’ the contest entries as such. The code is made available on an ‘AS <p>We do not ‘maintain’ the contest entries as such. The code is made available on an ‘AS
IS’ basis. If you have a FIX for an entry, we suggest that you submit your fixes in a <a href="https://github.com/ioccc-src/winner/pulls">GitHub pull IS’ basis. If you have a FIX for an entry, we suggest that you submit your fixes in a <a href="https://github.com/ioccc-src/winner/pulls">GitHub pull
request</a> as we welcome pull requests that have a request</a> as we welcome pull requests that have a
@@ -3416,9 +3523,11 @@ FAQ on “<a href="#pull_request">GitHub pull request</a>”
for more information about pull requests.</p> for more information about pull requests.</p>
<div id="faq5_2"> <div id="faq5_2">
<div id="fix_an_entry"> <div id="fix_an_entry">
<div id="fixing_entries">
<h3 id="faq-5.2-how-may-i-submit-a-fix-to-an-ioccc-entry">FAQ 5.2: How may I submit a fix to an IOCCC entry?</h3> <h3 id="faq-5.2-how-may-i-submit-a-fix-to-an-ioccc-entry">FAQ 5.2: How may I submit a fix to an IOCCC entry?</h3>
</div> </div>
</div> </div>
</div>
<p>If you see a problem with an IOCCC entry, first check the <a href="bugs.html">known bugs</a> <p>If you see a problem with an IOCCC entry, first check the <a href="bugs.html">known bugs</a>
file. In some cases what you might think of as a bug is instead a known file. In some cases what you might think of as a bug is instead a known
feature. In some cases the bug is known, but no fix has ever been submitted. feature. In some cases the bug is known, but no fix has ever been submitted.
@@ -3454,9 +3563,11 @@ for more information about pull requests.</p>
have the final say in the matter.</p> have the final say in the matter.</p>
<div id="faq5_3"> <div id="faq5_3">
<div id="report_web_problem"> <div id="report_web_problem">
<div id="website_problems">
<h3 id="faq-5.3-how-may-i-report-an-ioccc-website-problem">FAQ 5.3: How may I report an IOCCC website problem?</h3> <h3 id="faq-5.3-how-may-i-report-an-ioccc-website-problem">FAQ 5.3: How may I report an IOCCC website problem?</h3>
</div> </div>
</div> </div>
</div>
<p>If you discover a problem with the IOCCC website that is related <p>If you discover a problem with the IOCCC website that is related
to a particular IOCCC entry, please see the to a particular IOCCC entry, please see the
FAQ on “<a href="#report_bug">report entry bug</a>” FAQ on “<a href="#report_bug">report entry bug</a>”
@@ -3477,7 +3588,7 @@ already been reported. If it has been reported, feel free to add a comment to
the issue. Otherwise, if you do not see the same issue reported, then feel free the issue. Otherwise, if you do not see the same issue reported, then feel free
to <a href="https://github.com/ioccc-src/winner/issues/new">open a new IOCCC issue</a>.</p> to <a href="https://github.com/ioccc-src/winner/issues/new">open a new IOCCC issue</a>.</p>
<div id="faq5_4"> <div id="faq5_4">
<div id="fix_web_site"> <div id="fix_website">
<h3 id="faq-5.4-how-may-i-submit-a-fix-to-the-ioccc-website">FAQ 5.4: How may I submit a fix to the IOCCC website?</h3> <h3 id="faq-5.4-how-may-i-submit-a-fix-to-the-ioccc-website">FAQ 5.4: How may I submit a fix to the IOCCC website?</h3>
</div> </div>
</div> </div>
@@ -3657,9 +3768,11 @@ replace that text with:</p>
FAQ on “<a href="#report_web_problem">report website problem</a>”.</p> FAQ on “<a href="#report_web_problem">report website problem</a>”.</p>
<div id="faq5_7"> <div id="faq5_7">
<div id="support"> <div id="support">
<div id="supporting_ioccc">
<h3 id="faq-5.7-how-may-i-support-the-ioccc">FAQ 5.7: How may I support the IOCCC?</h3> <h3 id="faq-5.7-how-may-i-support-the-ioccc">FAQ 5.7: How may I support the IOCCC?</h3>
</div> </div>
</div> </div>
</div>
<p>The <a href="judges.html">IOCCC judges</a> run the IOCCC entirely out of <p>The <a href="judges.html">IOCCC judges</a> run the IOCCC entirely out of
their own funds. This includes paying for IOCCC related hardware, their own funds. This includes paying for IOCCC related hardware,
services, registration, software and related technical items.</p> services, registration, software and related technical items.</p>
@@ -3674,9 +3787,15 @@ efforts, we suggest making an <strong>Anonymous</strong> gift via the
<a href="https://www.amazon.com/hz/wishlist/ls/3HSNTEL8RQ1M0?ref_=wl_share">IOCCC Amazon wishlist</a>.</p> <a href="https://www.amazon.com/hz/wishlist/ls/3HSNTEL8RQ1M0?ref_=wl_share">IOCCC Amazon wishlist</a>.</p>
<div id="faq5_8"> <div id="faq5_8">
<div id="deobfuscated"> <div id="deobfuscated">
<div id="deobfuscation">
<div id="unobfuscated">
<div id="unobfuscation">
<h3 id="faq-5.8-i-deobfuscated-some-entry-code-may-i-contribute-the-source">FAQ 5.8: I deobfuscated some entry code, may I contribute the source?</h3> <h3 id="faq-5.8-i-deobfuscated-some-entry-code-may-i-contribute-the-source">FAQ 5.8: I deobfuscated some entry code, may I contribute the source?</h3>
</div> </div>
</div> </div>
</div>
</div>
</div>
<p><strong>PLEASE NOTE</strong>: <strong>many <a href="authors.html">winning authors</a></strong> have unobfuscated code <p><strong>PLEASE NOTE</strong>: <strong>many <a href="authors.html">winning authors</a></strong> have unobfuscated code
of their <strong>own entries</strong> and you should look for this first, often on GitHub or on of their <strong>own entries</strong> and you should look for this first, often on GitHub or on
their website; see the FAQ on <a href="#author-information">how to find more information about a winning their website; see the FAQ on <a href="#author-information">how to find more information about a winning
@@ -3750,8 +3869,12 @@ that be prove helpful.</p>
<h2 id="section-6-miscellaneous-ioccc">Section 6: Miscellaneous IOCCC</h2> <h2 id="section-6-miscellaneous-ioccc">Section 6: Miscellaneous IOCCC</h2>
</div> </div>
<div id="faq6_0"> <div id="faq6_0">
<div id="size_2_broken">
<div id="rule_breaking_entry">
<h3 id="faq-6.0-how-did-an-entry-that-breaks-the-size-rule-2-win-the-ioccc">FAQ 6.0: How did an entry that breaks the size rule 2 win the IOCCC?</h3> <h3 id="faq-6.0-how-did-an-entry-that-breaks-the-size-rule-2-win-the-ioccc">FAQ 6.0: How did an entry that breaks the size rule 2 win the IOCCC?</h3>
</div> </div>
</div>
</div>
<p>As entries have been fixed it is entirely possible that some of the entries no <p>As entries have been fixed it is entirely possible that some of the entries no
longer fit within the year’s size restrictions. Invariably the length of columns longer fit within the year’s size restrictions. Invariably the length of columns
and/or number of rows have also changed.</p> and/or number of rows have also changed.</p>
@@ -3763,22 +3886,42 @@ original winning entries as compressed tar files for a given year.</p>
“abuse of the rules” (although now blatant abuse of the rules to “abuse of the rules” (although now blatant abuse of the rules to
get around rule 2 size limits is discouraged).</p> get around rule 2 size limits is discouraged).</p>
<div id="faq6_1"> <div id="faq6_1">
<div id="bugs">
<div id="misfeatures">
<div id="mis-features">
<h3 id="faq-6.1-is-there-a-list-of-known-bugs-and-misfeatures-of-ioccc-entries">FAQ 6.1: Is there a list of known bugs and (mis)features of IOCCC entries?</h3> <h3 id="faq-6.1-is-there-a-list-of-known-bugs-and-misfeatures-of-ioccc-entries">FAQ 6.1: Is there a list of known bugs and (mis)features of IOCCC entries?</h3>
</div> </div>
</div>
</div>
</div>
<p>Yes! Please see <a href="bugs.html">bugs.html</a> for a list of known bugs and/or issues of a <p>Yes! Please see <a href="bugs.html">bugs.html</a> for a list of known bugs and/or issues of a
variety of kinds.</p> variety of kinds.</p>
<p>Note that just because an entry is not in the bugs file does not mean there is <p>Note that just because an entry is not in the bugs file does not mean there is
not an issue and note that some issues are simply missing files, dead URL(s) or not an issue and note that some issues are simply missing files, dead URL(s) or
something like that.</p> something like that.</p>
<div id="faq6_2"> <div id="faq6_2">
<div id="mirrors">
<div id="website_mirrors">
<div id="website_mirroring">
<h3 id="faq-6.2-may-i-mirror-the-ioccc-website">FAQ 6.2: May I mirror the IOCCC website?</h3> <h3 id="faq-6.2-may-i-mirror-the-ioccc-website">FAQ 6.2: May I mirror the IOCCC website?</h3>
</div> </div>
<p>We are not accepting mirror requests at this time, sorry. However you are free to fork the <a href="https://github.com/ioccc-src/winner">IOCCC winner repo</a>. We do ask that your fork keep up to date with the latest changes when possible.</p> </div>
</div>
</div>
<p>We are not accepting mirror requests at this time, sorry. However you are free
to fork the <a href="https://github.com/ioccc-src/winner">IOCCC winner repo</a>. We do ask
that your fork keep up to date with the latest changes when possible.</p>
<div id="faq6_3"> <div id="faq6_3">
<div id="permission">
<div id="copyright">
<h3 id="faq-6.3-may-i-use-parts-of-the-ioccc-in-an-article-book-newsletter-or-instructional-material">FAQ 6.3: May I use parts of the IOCCC in an article, book, newsletter, or instructional material?</h3> <h3 id="faq-6.3-may-i-use-parts-of-the-ioccc-in-an-article-book-newsletter-or-instructional-material">FAQ 6.3: May I use parts of the IOCCC in an article, book, newsletter, or instructional material?</h3>
</div> </div>
</div>
</div>
<p>While IOCCC judges look favorably on most requests to use IOCCC material, <p>While IOCCC judges look favorably on most requests to use IOCCC material,
we request that you ask the <a href="judges.html">IOCCC judges</a> first.</p> we request that you ask the <a href="judges.html">IOCCC judges</a> first. Of course, if
you’re the winner of the entry you can make use of it as you want (make a shirt,
put it on your website etc.).</p>
<p>Please send your request using the instructions on the <a href="contact.html">contacting <p>Please send your request using the instructions on the <a href="contact.html">contacting
the IOCCC Judges</a> page.</p> the IOCCC Judges</a> page.</p>
<p>Please note that the content of the IOCCC <p>Please note that the content of the IOCCC
@@ -3788,8 +3931,14 @@ See the <a href="#copyright">Copyright</a> at the bottom of IOCCC web pages for
FAQ on “<a href="#license">using IOCCC content</a>”. FAQ on “<a href="#license">using IOCCC content</a>”.
For additional information on the <a href="license.html">Copyright and CC BY-SA 4.0 License</a>.</p> For additional information on the <a href="license.html">Copyright and CC BY-SA 4.0 License</a>.</p>
<div id="faq6_4"> <div id="faq6_4">
<div id="first_person">
<div id="person">
<div id="pronoun">
<h3 id="faq-6.4-why-do-you-sometimes-use-the-first-person-plural">FAQ 6.4: Why do you sometimes use the first person plural?</h3> <h3 id="faq-6.4-why-do-you-sometimes-use-the-first-person-plural">FAQ 6.4: Why do you sometimes use the first person plural?</h3>
</div> </div>
</div>
</div>
</div>
<p>As a precedent for <a href="https://en.wikipedia.org/wiki/Nosism">first person <p>As a precedent for <a href="https://en.wikipedia.org/wiki/Nosism">first person
plural</a>, we may sight <a href="https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.35.1442">Two-, plural</a>, we may sight <a href="https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.35.1442">Two-,
Three-, and Four-Atom Exchange Effects in bcc in Three-, and Four-Atom Exchange Effects in bcc in
@@ -3871,9 +4020,11 @@ in the case of <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master
<pre><code> Anonymous_[0-9][0-9][0-9][0-9][.0-9]*$</code></pre> <pre><code> Anonymous_[0-9][0-9][0-9][0-9][.0-9]*$</code></pre>
<div id="faq6_6"> <div id="faq6_6">
<div id="author_json"> <div id="author_json">
<div id="author_handle_json">
<h3 id="faq-6.6-what-is-an-author_handle.json-file-and-how-are-they-used">FAQ 6.6: What is an <code>author_handle.json</code> file and how are they used?</h3> <h3 id="faq-6.6-what-is-an-author_handle.json-file-and-how-are-they-used">FAQ 6.6: What is an <code>author_handle.json</code> file and how are they used?</h3>
</div> </div>
</div> </div>
</div>
<p><strong>TL:DR</strong>: The contents of these JSON files contain the best known <p><strong>TL:DR</strong>: The contents of these JSON files contain the best known
information about authors of IOCCC entries and is used to help form information about authors of IOCCC entries and is used to help form
HTML files as well to contact an author.</p> HTML files as well to contact an author.</p>
@@ -4257,9 +4408,11 @@ found. Moreover, out of habit, the IOCCC judges sometimes use old
names such as <em>entry</em> when they should use <em>submission</em>. Sorry (tm Canada)! :-)</p> names such as <em>entry</em> when they should use <em>submission</em>. Sorry (tm Canada)! :-)</p>
<div id="faq6_10"> <div id="faq6_10">
<div id="pull_request"> <div id="pull_request">
<div id="commit">
<h3 id="faq-6.10-how-does-someone-make-a-change-to-a-file-and-submit-that-change-as-a-github-pull-request">FAQ 6.10: How does someone make a change to a file and submit that change as a GitHub pull request?</h3> <h3 id="faq-6.10-how-does-someone-make-a-change-to-a-file-and-submit-that-change-as-a-github-pull-request">FAQ 6.10: How does someone make a change to a file and submit that change as a GitHub pull request?</h3>
</div> </div>
</div> </div>
</div>
<p>First, if you do not already have a GitHub account or you have not installed an <p>First, if you do not already have a GitHub account or you have not installed an
ssh key to your account you must do so. For this we will assume you do not have ssh key to your account you must do so. For this we will assume you do not have
a GitHub account. For the steps following creating a GitHub account you will a GitHub account. For the steps following creating a GitHub account you will
@@ -4419,9 +4572,11 @@ example, you would type:</p>
<p>This will merge your pull request to your fork.</p> <p>This will merge your pull request to your fork.</p>
<div id="faq6_11"> <div id="faq6_11">
<div id="license"> <div id="license">
<div id="licence">
<h3 id="faq-6.11-am-i-allowed-to-use-ioccc-content">FAQ 6.11: Am I allowed to use IOCCC content?</h3> <h3 id="faq-6.11-am-i-allowed-to-use-ioccc-content">FAQ 6.11: Am I allowed to use IOCCC content?</h3>
</div> </div>
</div> </div>
</div>
<p><strong>Disclaimer</strong>: This FAQ is <strong>not a license</strong>, has <strong>no legal <p><strong>Disclaimer</strong>: This FAQ is <strong>not a license</strong>, has <strong>no legal
value</strong>, and only highlights some of the key features and terms of value</strong>, and only highlights some of the key features and terms of
the actual <a href="https://creativecommons.org/licenses/by-sa/4.0/legalcode.en">CC BY-SA 4.0 the actual <a href="https://creativecommons.org/licenses/by-sa/4.0/legalcode.en">CC BY-SA 4.0
@@ -4446,9 +4601,11 @@ including, of course, the IOCCC winners themselves! It is designed
to help ensure that everyone may enjoy the IOCCC.</p> to help ensure that everyone may enjoy the IOCCC.</p>
<div id="faq6_12"> <div id="faq6_12">
<div id="try_mastodon"> <div id="try_mastodon">
<div id="mastodon">
<h3 id="faq-6.12-what-is-mastodon-and-why-does-ioccc-use-it">FAQ 6.12: What is Mastodon and why does IOCCC use it?</h3> <h3 id="faq-6.12-what-is-mastodon-and-why-does-ioccc-use-it">FAQ 6.12: What is Mastodon and why does IOCCC use it?</h3>
</div> </div>
</div> </div>
</div>
<p>The <a href="https://fosstodon.org/@ioccc">IOCCC uses Mastodon</a> for news updates, <p>The <a href="https://fosstodon.org/@ioccc">IOCCC uses Mastodon</a> for news updates,
announcements, and for various other social media purposes.</p> announcements, and for various other social media purposes.</p>
<p><strong>Please follow the <a href="https://fosstodon.org/@ioccc">IOCCC on Mastodon</a></strong>.</p> <p><strong>Please follow the <a href="https://fosstodon.org/@ioccc">IOCCC on Mastodon</a></strong>.</p>
+175 -18
View File
@@ -3,12 +3,12 @@
This is FAQ version **28.0.3 2024-07-27**. This is FAQ version **28.0.3 2024-07-27**.
## Section 0 - [Submitting entries to a new IOCCC](#faq0) ## Section 0 - [Submitting to a new IOCCC](#faq0)
- <a class="normal" href="#faq0_0">0.0 - How may I enter the IOCCC?</a> - <a class="normal" href="#faq0_0">0.0 - How may I enter the IOCCC?</a>
- <a class="normal" href="#faq0_1">0.1 - What types of entries have been frequently submitted to the IOCCC?</a> - <a class="normal" href="#faq0_1">0.1 - What types of entries have been frequently submitted to the IOCCC?</a>
- <a class="normal" href="#faq0_2">0.2 - What should I put in my entry's Makefile?</a> - <a class="normal" href="#faq0_2">0.2 - What should I put in my submission's Makefile?</a>
- <a class="normal" href="#faq0_3">0.3 - May I use a different source or compiled filename than prog.c or prog?</a> - <a class="normal" href="#faq0_3">0.3 - May I use a different source or compiled filename than prog.c or prog?</a>
- <a class="normal" href="#faq0_4">0.4 - What platform should I assume for my entry?</a> - <a class="normal" href="#faq0_4">0.4 - What platform should I assume for my submission?</a>
- <a class="normal" href="#faq0_5">0.5 - How may I comment or make a suggestion on IOCCC rules, guidelines and tools?</a> - <a class="normal" href="#faq0_5">0.5 - How may I comment or make a suggestion on IOCCC rules, guidelines and tools?</a>
- <a class="normal" href="#faq0_6">0.6 - What is the best way to ask a question about the IOCCC rules, guideline and tools?</a> - <a class="normal" href="#faq0_6">0.6 - What is the best way to ask a question about the IOCCC rules, guideline and tools?</a>
- <a class="normal" href="#faq0_7">0.7 - What are the IOCCC best practices for using markdown?</a> - <a class="normal" href="#faq0_7">0.7 - What are the IOCCC best practices for using markdown?</a>
@@ -31,9 +31,9 @@ This is FAQ version **28.0.3 2024-07-27**.
## Section 2 - [IOCCC Judging process](#faq2) ## Section 2 - [IOCCC Judging process](#faq2)
- <a class="normal" href="#faq2_0">2.0 - How many entries do the judges receive for a given IOCCC?</a> - <a class="normal" href="#faq2_0">2.0 - How many submissions do the judges receive for a given IOCCC?</a>
- <a class="normal" href="#faq2_1">2.1 - What should I put in the remarks.md file of my submission?</a> - <a class="normal" href="#faq2_1">2.1 - What should I put in the remarks.md file of my submission?</a>
- <a class="normal" href="#faq2_2">2.2 - Why don't you publish entries that do not win?</a> - <a class="normal" href="#faq2_2">2.2 - Why don't you publish submissions that do not win?</a>
- <a class="normal" href="#faq2_3">2.3 - How much time does it take to judge the contest?</a> - <a class="normal" href="#faq2_3">2.3 - How much time does it take to judge the contest?</a>
- <a class="normal" href="#faq2_4">2.4 - How many judging rounds do you have?</a> - <a class="normal" href="#faq2_4">2.4 - How many judging rounds do you have?</a>
- <a class="normal" href="#faq2_5">2.5 - Why do some IOCCC entries receive the Grand Prize or Best of Show award?</a> - <a class="normal" href="#faq2_5">2.5 - Why do some IOCCC entries receive the Grand Prize or Best of Show award?</a>
@@ -385,7 +385,7 @@ of the same theme.
<div id="faq0_2"> <div id="faq0_2">
<div id="makefile"> <div id="makefile">
<div id="submission_makefile"> <div id="submission_makefile">
### FAQ 0.2: What should I put in my entry's Makefile? ### FAQ 0.2: What should I put in my submission's Makefile?
</div> </div>
</div> </div>
</div> </div>
@@ -453,7 +453,11 @@ For example:
<div id="faq0_4"> <div id="faq0_4">
<div id="SUS"> <div id="SUS">
### FAQ 0.4: What platform should I assume for my entry? <div id="platform">
<div id="portability">
### FAQ 0.4: What platform should I assume for my submission?
</div>
</div>
</div> </div>
</div> </div>
@@ -465,9 +469,11 @@ or [later SUS](https://unix.org/online.html).
<div id="faq0_5"> <div id="faq0_5">
<div id="feedback"> <div id="feedback">
<div id="comments">
### FAQ 0.5: How may I comment or make a suggestion on IOCCC rules, guidelines and tools? ### FAQ 0.5: How may I comment or make a suggestion on IOCCC rules, guidelines and tools?
</div> </div>
</div> </div>
</div>
The [IOCCC judges](judges.html) to welcome feedback on the [IOCCC The [IOCCC judges](judges.html) to welcome feedback on the [IOCCC
rules](next/rules.html), [IOCCC guidelines](next/guidelines.html) rules](next/rules.html), [IOCCC guidelines](next/guidelines.html)
@@ -491,9 +497,11 @@ discussion](https://github.com/ioccc-src/mkiocccentry/discussions/new/choose).
<div id="faq0_6"> <div id="faq0_6">
<div id="question"> <div id="question">
<div id="questions">
### FAQ 0.6: What is the best way to ask a question about the IOCCC rules, guideline and tools? ### FAQ 0.6: What is the best way to ask a question about the IOCCC rules, guideline and tools?
</div> </div>
</div> </div>
</div>
We realise that the [IOCCC rules](next/rules.html), [IOCCC guidelines](next/guidelines.html) We realise that the [IOCCC rules](next/rules.html), [IOCCC guidelines](next/guidelines.html)
and the [IOCCC mkiocccentry tools](https://github.com/ioccc-src/mkiocccentry) and the [IOCCC mkiocccentry tools](https://github.com/ioccc-src/mkiocccentry)
@@ -548,9 +556,11 @@ FAQ on "[rules, guidelines, tools feedback](#feedback)".
<div id="faq0_7"> <div id="faq0_7">
<div id="markdown"> <div id="markdown">
<div id="md">
### FAQ 0.7: - What are the IOCCC best practices for using markdown? ### FAQ 0.7: - What are the IOCCC best practices for using markdown?
</div> </div>
</div> </div>
</div>
The IOCCC makes extensive use of [markdown](https://daringfireball.net/projects/markdown/). The IOCCC makes extensive use of [markdown](https://daringfireball.net/projects/markdown/).
For example, we [submitting to the IOCCC](#submit), we have people For example, we [submitting to the IOCCC](#submit), we have people
@@ -1396,10 +1406,12 @@ submission manually then you would be violating [Rule
<div id="faq0_13"> <div id="faq0_13">
<div id="txzchk"> <div id="txzchk">
<div id="tarball"> <div id="tarball">
<div id="xz">
### FAQ 0.13 - How can I validate my submission tarball? ### FAQ 0.13 - How can I validate my submission tarball?
</div> </div>
</div> </div>
</div> </div>
</div>
The tool that validates submission tarballs can be obtained from the [IOCCC The tool that validates submission tarballs can be obtained from the [IOCCC
mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry). The mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry). The
@@ -1626,9 +1638,11 @@ See also the [Guidelines](next/guidelines.html) and the [Rules](next/rules.html)
<div id="faq0_16"> <div id="faq0_16">
<div id="mkiocccentry_compile"> <div id="mkiocccentry_compile">
<div id="compile_mkiocccentry">
### FAQ 0.16 - How do I compile `mkiocccentry` and its related tools? ### FAQ 0.16 - How do I compile `mkiocccentry` and its related tools?
</div> </div>
</div> </div>
</div>
After you After you
[downloaded the mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry/blob/master/FAQ.md#download) [downloaded the mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry/blob/master/FAQ.md#download)
@@ -1655,9 +1669,13 @@ for more up to date information on downloading, compiling, and related FAQ infor
<div id="faq1_0"> <div id="faq1_0">
<div id="ioccc_start"> <div id="ioccc_start">
<div id="stormy_night">
<div id="beginning">
### FAQ 1.0: How did the IOCCC get started? ### FAQ 1.0: How did the IOCCC get started?
</div> </div>
</div> </div>
</div>
</div>
One day (1984 March 23 to be exact), Larry Bassel and I (Landon Curt One day (1984 March 23 to be exact), Larry Bassel and I (Landon Curt
Noll) were working for National Semiconductor's Genix porting group, and we Noll) were working for National Semiconductor's Genix porting group, and we
@@ -1734,8 +1752,10 @@ P.S. Part of the inspiration for making the IOCCC a contest goes to the
<div id="faq1_1"> <div id="faq1_1">
<div id="missing_years">
### FAQ 1.1: Why are some years missing IOCCC entries? ### FAQ 1.1: Why are some years missing IOCCC entries?
</div> </div>
</div>
Some years, such as 1997, 1999, 2002-2003, 2007-2010, 2016-2017, 2021-2023, no IOCCC was held. Some years, such as 1997, 1999, 2002-2003, 2007-2010, 2016-2017, 2021-2023, no IOCCC was held.
@@ -1747,8 +1767,12 @@ make is much more likely for the IOCCC to be held in a yearly basis later on.
<div id="faq1_2"> <div id="faq1_2">
<div id="website">
<div id="website_history">
### FAQ 1.2: What is the history of the IOCCC website? ### FAQ 1.2: What is the history of the IOCCC website?
</div> </div>
</div>
</div>
#### In the beginning of www.ioccc.org #### In the beginning of www.ioccc.org
@@ -1938,9 +1962,11 @@ to the [official IOCCC website](https://www.ioccc.org).
<div id="faq1_3"> <div id="faq1_3">
<div id="size_rule"> <div id="size_rule">
<div id="size_restriction">
### FAQ 1.3: How has the IOCCC size limit rule changed over the years? ### FAQ 1.3: How has the IOCCC size limit rule changed over the years?
</div> </div>
</div> </div>
</div>
The IOCCC size rule has changed over the years. The IOCCC size rule has changed over the years.
@@ -2022,10 +2048,12 @@ By tradition, we do not say.
<div id="faq2_1"> <div id="faq2_1">
<div id="remarks_md"> <div id="remarks_md">
<div id="remarks"> <div id="remarks">
<div id="readme">
### FAQ 2.1: What should I put in the remarks.md file of my submission? ### FAQ 2.1: What should I put in the remarks.md file of my submission?
</div> </div>
</div> </div>
</div> </div>
</div>
First, **PLEASE** read the [IOCCC markdown guidelines](markdown.html). First, **PLEASE** read the [IOCCC markdown guidelines](markdown.html).
@@ -2071,7 +2099,9 @@ this is not clear!
<div id="faq2_2"> <div id="faq2_2">
### FAQ 2.2: Why don't you publish entries that do not win? <div id="losing_submissions">
### FAQ 2.2: Why don't you publish submissions that do not win?
</div>
</div> </div>
Because the publication on the IOCCC site **_IS_** the award! Because the publication on the IOCCC site **_IS_** the award!
@@ -2080,8 +2110,10 @@ entries that do not win on their web page for everyone to see.
<div id="faq2_3"> <div id="faq2_3">
<div id="judging_time">
### FAQ 2.3: How much time does it take to judge the contest? ### FAQ 2.3: How much time does it take to judge the contest?
</div> </div>
</div>
It takes a fair amount of time to setup, run, respond to messages, process entries, It takes a fair amount of time to setup, run, respond to messages, process entries,
review entries, trim down the set entries to a set of winning entries, doing the review entries, trim down the set entries to a set of winning entries, doing the
@@ -2099,21 +2131,33 @@ POSIX-conforming.
<div id="faq2_4"> <div id="faq2_4">
<div id="rounds">
<div id="judging_rounds">
### FAQ 2.4: How many judging rounds do you have? ### FAQ 2.4: How many judging rounds do you have?
</div> </div>
</div>
</div>
Are you trying to trick us? :-) Are you trying to trick us? :-)
By tradition, we do not say how many judging rounds we have in a given IOCCC. By tradition, we do not say how many judging rounds we have in a given IOCCC.
We often report when the IOCCC judges start the 1st round, and We often report when the IOCCC judges start the 1st round, and when usually
when usually report when the IOCCC judges start near final judging rounds, and report when the IOCCC judges start near final judging rounds, and sometimes we
sometimes we also report when we enter what we believe is the final judging round, so you may guess that we have at least 3 rounds. :-) The actual number of rounds is certainly more than 3. also report when we enter what we believe is the final judging round, so you may
guess that we have at least 3 rounds. :-) The actual number of rounds is
certainly more than 3.
<div id="faq2_5"> <div id="faq2_5">
<div id="best">
<div id="best_of_show">
<div id="grand_prize">
### FAQ 2.5: Why do some IOCCC entries receive the Grand Prize or Best of Show award? ### FAQ 2.5: Why do some IOCCC entries receive the Grand Prize or Best of Show award?
</div> </div>
</div>
</div>
</div>
In some years, the IOCCC judges discover a truly amazing IOCCC entry that In some years, the IOCCC judges discover a truly amazing IOCCC entry that
stands out among all of the other IOCCC entries received that year. stands out among all of the other IOCCC entries received that year.
@@ -2154,8 +2198,14 @@ more other entries that came in close behind.
<div id="faq2_6"> <div id="faq2_6">
<div id="announcing_winners">
<div id="announce">
<div id="winners">
### FAQ 2.6: How are IOCCC entries announced? ### FAQ 2.6: How are IOCCC entries announced?
</div> </div>
</div>
</div>
</div>
Once the [IOCCC](index.html) closes, the judges will: Once the [IOCCC](index.html) closes, the judges will:
@@ -2184,9 +2234,11 @@ winning entries page](years.html).
<div id="faq3_0"> <div id="faq3_0">
<div id="make_rules"> <div id="make_rules">
<div id="makefile_rules">
### FAQ 3.0: What Makefile rules are available to build or clean up IOCCC entries? ### FAQ 3.0: What Makefile rules are available to build or clean up IOCCC entries?
</div> </div>
</div> </div>
</div>
In general the best way to compile everything in an entry directory is to run: In general the best way to compile everything in an entry directory is to run:
@@ -2246,8 +2298,12 @@ were to do something like `make CC=gcc=mp-12` it would register as `gcc`.
<div id="faq3_1"> <div id="faq3_1">
<div id="compile">
<div id="compile_errors">
### FAQ 3.1: Why doesn't an IOCCC entry compile? ### FAQ 3.1: Why doesn't an IOCCC entry compile?
</div> </div>
</div>
</div>
Some entries that won the IOCCC, particularly entries from long ago, no longer compile on more Some entries that won the IOCCC, particularly entries from long ago, no longer compile on more
modern systems because the C language has evolved (i.e. the modern C compilers modern systems because the C language has evolved (i.e. the modern C compilers
@@ -2285,8 +2341,12 @@ compiles does not mean it will run on your specific system.
<div id="faq3_2"> <div id="faq3_2">
<div id="64bit">
<div id="64-bit">
### FAQ 3.2: Why does an IOCCC entry fail on my 64-bit system? ### FAQ 3.2: Why does an IOCCC entry fail on my 64-bit system?
</div> </div>
</div>
</div>
Unfortunately some older entries are non-portable and require 32-bit support or Unfortunately some older entries are non-portable and require 32-bit support or
32-bit binaries. A problem system here is macOS Catalina (10.15) as as of that 32-bit binaries. A problem system here is macOS Catalina (10.15) as as of that
@@ -2319,8 +2379,12 @@ for more information about pull requests.
<div id="faq3_3"> <div id="faq3_3">
<div id="macos">
<div id="macos_errors">
### FAQ 3.3: Why do some IOCCC entries fail to compile under macOS? ### FAQ 3.3: Why do some IOCCC entries fail to compile under macOS?
</div> </div>
</div>
</div>
If the entry requires gcc and you did not explicitly install gcc in macOS you If the entry requires gcc and you did not explicitly install gcc in macOS you
will not be able to run or use these entries. This is because macOS gcc is will not be able to run or use these entries. This is because macOS gcc is
@@ -2339,8 +2403,12 @@ for details.
<div id="faq3_4"> <div id="faq3_4">
<div id="gcc">
<div id="clang">
### FAQ 3.4: Why does clang or gcc fail to compile an IOCCC entry? ### FAQ 3.4: Why does clang or gcc fail to compile an IOCCC entry?
</div> </div>
</div>
</div>
Although we have fixed numerous entries to work with clang (sometimes in an alt Although we have fixed numerous entries to work with clang (sometimes in an alt
version but usually in the program itself) there are some that simply cannot be version but usually in the program itself) there are some that simply cannot be
@@ -2367,8 +2435,10 @@ for more information about pull requests.
<div id="faq3_5"> <div id="faq3_5">
<div id="cb">
### FAQ 3.5: What is this cb tool that is mentioned in the IOCCC? ### FAQ 3.5: What is this cb tool that is mentioned in the IOCCC?
</div> </div>
</div>
This was a C beautifier for Unix, both AT&T and Berkeley, but it seems to no This was a C beautifier for Unix, both AT&T and Berkeley, but it seems to no
longer be available, code wise, except for Plan 9, but Plan 9 was never used for longer be available, code wise, except for Plan 9, but Plan 9 was never used for
@@ -2377,8 +2447,16 @@ judging the IOCCC. A Unix man page for `cb`
<div id="faq3_6"> <div id="faq3_6">
<div id="terminal">
<div id="sanity">
<div id="reset">
<div id="stty">
### FAQ 3.6: An IOCCC entry messed up my terminal application, how do I fix this? ### FAQ 3.6: An IOCCC entry messed up my terminal application, how do I fix this?
</div> </div>
</div>
</div>
</div>
</div>
The simplest way to do this is to type `reset`. If echo was disabled you can get The simplest way to do this is to type `reset`. If echo was disabled you can get
usually away with `stty echo`. Sometimes you can also get away with `stty sane`. usually away with `stty echo`. Sometimes you can also get away with `stty sane`.
@@ -2797,9 +2875,11 @@ We recommend trying a method suitable for your environment first, if possible.
<div id="faq3_10"> <div id="faq3_10">
<div id="sox"> <div id="sox">
<div id="sound">
### FAQ 3.10: How do I compile and use an IOCCC entry that requires sound? ### FAQ 3.10: How do I compile and use an IOCCC entry that requires sound?
</div> </div>
</div> </div>
</div>
This might depend on the entry but most likely the Swiss Army Knife of sound This might depend on the entry but most likely the Swiss Army Knife of sound
processing programs, [SoX](https://sox.sourceforge.net), will work. How to processing programs, [SoX](https://sox.sourceforge.net), will work. How to
@@ -2966,8 +3046,14 @@ better than other entries.
<div id="faq3_12"> <div id="faq3_12">
<div id="eof">
<div id="intr">
<div id="interrupt">
### FAQ 3.12: How do I find out how to send interrupt/EOF etc. for entries that require it? ### FAQ 3.12: How do I find out how to send interrupt/EOF etc. for entries that require it?
</div> </div>
</div>
</div>
</div>
For some entries one needs to send interrupt or EOF or some other signal/other For some entries one needs to send interrupt or EOF or some other signal/other
special characters. There are typical defaults like (where `^` = ctrl): special characters. There are typical defaults like (where `^` = ctrl):
@@ -3569,8 +3655,10 @@ process or appreciate the entry more, then please do so.
<div id="faq4_0"> <div id="faq4_0">
<div id="author_remarks">
### FAQ 4.0: Why are some winning entry remarks incongruent with the winning IOCCC code? ### FAQ 4.0: Why are some winning entry remarks incongruent with the winning IOCCC code?
</div> </div>
</div>
It is very likely in this case that the code was fixed to work for modern It is very likely in this case that the code was fixed to work for modern
systems as part of the reworking of the website. If you have this problem in systems as part of the reworking of the website. If you have this problem in
@@ -3588,9 +3676,11 @@ for more information.
<div id="faq4_1"> <div id="faq4_1">
<div id="gets"> <div id="gets">
<div id="fgets">
### FAQ 4.1: Why were some calls to the libc function gets&lpar;3&rpar; changed to use fgets&lpar;3&rpar;? ### FAQ 4.1: Why were some calls to the libc function gets&lpar;3&rpar; changed to use fgets&lpar;3&rpar;?
</div> </div>
</div> </div>
</div>
Some may wonder: "Doesn't this tamper with the entry too much?" Some may wonder: "Doesn't this tamper with the entry too much?"
@@ -3769,16 +3859,22 @@ FAQ on "[entry source code changes](#what_changed)"
<div id="faq4_4"> <div id="faq4_4">
<div id="orig_c">
### FAQ 4.4: What is the meaning of the file ending in .orig.c in IOCCC entries? ### FAQ 4.4: What is the meaning of the file ending in .orig.c in IOCCC entries?
</div> </div>
</div>
Due to the fact that the original code has sometimes had to change these files Due to the fact that the original code has sometimes had to change these files
are the original winning entry or as close to as possible to the original that are the original winning entry or as close to as possible to the original that
we can find. we can find.
<div id="faq4_5"> <div id="faq4_5">
<div id="alt">
<div id="alt_code">
### FAQ 4.5: Why were alternate versions added to some entries when the original entry worked fine and well? ### FAQ 4.5: Why were alternate versions added to some entries when the original entry worked fine and well?
</div> </div>
</div>
</div>
This was a judgement call and the reasons vary. In many cases it was simply to This was a judgement call and the reasons vary. In many cases it was simply to
make the entry more presentable to more people but without modifying the entry make the entry more presentable to more people but without modifying the entry
@@ -3799,9 +3895,11 @@ for more information.
<div id="faq4_6"> <div id="faq4_6">
<div id="arg_count"> <div id="arg_count">
<div id="main_args">
### FAQ 4.6: Why was arg count and/or type changed in main&lpar;&rpar; in some older entries? ### FAQ 4.6: Why was arg count and/or type changed in main&lpar;&rpar; in some older entries?
</div> </div>
</div> </div>
</div>
There are a number of reasons this was done but they usually come down to a There are a number of reasons this was done but they usually come down to a
mis-feature or defect in the `clang` compiler. mis-feature or defect in the `clang` compiler.
@@ -3820,8 +3918,10 @@ cases, however, this had to be done even without `clang` objections.
<div id="faq4_7"> <div id="faq4_7">
<div id="renaming_files">
### FAQ 4.7: Why were some filenames changed? ### FAQ 4.7: Why were some filenames changed?
</div> </div>
</div>
The reasons this was done varies. One of the earliest changes was making the old The reasons this was done varies. One of the earliest changes was making the old
`.hint` or `.text` files `README.md` files. The first time this was done was for `.hint` or `.text` files `README.md` files. The first time this was done was for
@@ -3847,8 +3947,12 @@ There were certainly other reasons as well.
<div id="faq4_8"> <div id="faq4_8">
<div id="files_added">
<div id="files_removed">
### FAQ 4.8: Why were files added or removed from some entries? ### FAQ 4.8: Why were files added or removed from some entries?
</div> </div>
</div>
</div>
Like with files being renamed, there are multiple reasons files were added or Like with files being renamed, there are multiple reasons files were added or
removed. The addition of the `try.sh` and `try.alt.sh` scripts is the most removed. The addition of the `try.sh` and `try.alt.sh` scripts is the most
@@ -3898,8 +4002,7 @@ to be modified. Reasons include things such as:
* etc. * etc.
We seek to preserve the "**original source file**", for historical purposes, We seek to preserve the "**original source file**", for historical purposes,
by preserving the original source code (usually as 'prog.orig.c`). by preserving the original source code (usually as `prog.orig.c`).
for more infornation.
**IMPORTANT NOTE**: The "**original source file**", because it is a historic **IMPORTANT NOTE**: The "**original source file**", because it is a historic
record, should **NOT** be modified. record, should **NOT** be modified.
@@ -3915,7 +4018,7 @@ problem to the [IOCCC judges](judges.html), including that you believe
is the correct "**original source file**". is the correct "**original source file**".
**FYI**: To determine the difference between the "**original source file**" and **FYI**: To determine the difference between the "**original source file**" and
the the source code as it is now now, try: the source code as it is now now, try:
``` <!---sh--> ``` <!---sh-->
make diff_orig_prog make diff_orig_prog
@@ -3923,7 +4026,7 @@ the the source code as it is now now, try:
See the See the
FAQ on "[what changed](#what_changed)" FAQ on "[what changed](#what_changed)"
for more inforaiton and make rules relating to "**original source file**" differences. for more information and make rules relating to "**original source file**" differences.
<div id="faq5"> <div id="faq5">
@@ -3933,9 +4036,11 @@ for more inforaiton and make rules relating to "**original source file**" differ
<div id="faq5_0"> <div id="faq5_0">
<div id="how_to_help"> <div id="how_to_help">
<div id="helping">
### FAQ 5.0: How may I help the IOCCC? ### FAQ 5.0: How may I help the IOCCC?
</div> </div>
</div> </div>
</div>
### We welcome your help in fixing IOCCC entries ### We welcome your help in fixing IOCCC entries
@@ -3958,9 +4063,11 @@ section may offer you important fixing clues.
<div id="faq5_1"> <div id="faq5_1">
<div id="report_bug"> <div id="report_bug">
<div id="reporting_bugs">
### FAQ 5.1: How do I report a bug in an IOCCC entry? ### FAQ 5.1: How do I report a bug in an IOCCC entry?
</div> </div>
</div> </div>
</div>
We do not 'maintain' the contest entries as such. The code is made available on an 'AS We do not 'maintain' the contest entries as such. The code is made available on an 'AS
IS' basis. If you have a FIX for an entry, we suggest that you submit your fixes in a [GitHub pull IS' basis. If you have a FIX for an entry, we suggest that you submit your fixes in a [GitHub pull
@@ -3986,9 +4093,11 @@ for more information about pull requests.
<div id="faq5_2"> <div id="faq5_2">
<div id="fix_an_entry"> <div id="fix_an_entry">
<div id="fixing_entries">
### FAQ 5.2: How may I submit a fix to an IOCCC entry? ### FAQ 5.2: How may I submit a fix to an IOCCC entry?
</div> </div>
</div> </div>
</div>
If you see a problem with an IOCCC entry, first check the [known bugs](bugs.html) If you see a problem with an IOCCC entry, first check the [known bugs](bugs.html)
file. In some cases what you might think of as a bug is instead a known file. In some cases what you might think of as a bug is instead a known
@@ -4035,9 +4144,11 @@ have the final say in the matter.
<div id="faq5_3"> <div id="faq5_3">
<div id="report_web_problem"> <div id="report_web_problem">
<div id="website_problems">
### FAQ 5.3: How may I report an IOCCC website problem? ### FAQ 5.3: How may I report an IOCCC website problem?
</div> </div>
</div> </div>
</div>
If you discover a problem with the IOCCC website that is related If you discover a problem with the IOCCC website that is related
to a particular IOCCC entry, please see the to a particular IOCCC entry, please see the
@@ -4063,7 +4174,7 @@ to [open a new IOCCC issue](https://github.com/ioccc-src/winner/issues/new).
<div id="faq5_4"> <div id="faq5_4">
<div id="fix_web_site"> <div id="fix_website">
### FAQ 5.4: How may I submit a fix to the IOCCC website? ### FAQ 5.4: How may I submit a fix to the IOCCC website?
</div> </div>
</div> </div>
@@ -4324,9 +4435,11 @@ FAQ on "[report website problem](#report_web_problem)".
<div id="faq5_7"> <div id="faq5_7">
<div id="support"> <div id="support">
<div id="supporting_ioccc">
### FAQ 5.7: How may I support the IOCCC? ### FAQ 5.7: How may I support the IOCCC?
</div> </div>
</div> </div>
</div>
The [IOCCC judges](judges.html) run the IOCCC entirely out of The [IOCCC judges](judges.html) run the IOCCC entirely out of
their own funds. This includes paying for IOCCC related hardware, their own funds. This includes paying for IOCCC related hardware,
@@ -4346,9 +4459,15 @@ efforts, we suggest making an **Anonymous** gift via the
<div id="faq5_8"> <div id="faq5_8">
<div id="deobfuscated"> <div id="deobfuscated">
<div id="deobfuscation">
<div id="unobfuscated">
<div id="unobfuscation">
### FAQ 5.8: I deobfuscated some entry code, may I contribute the source? ### FAQ 5.8: I deobfuscated some entry code, may I contribute the source?
</div> </div>
</div> </div>
</div>
</div>
</div>
**PLEASE NOTE**: **many [winning authors](authors.html)** have unobfuscated code **PLEASE NOTE**: **many [winning authors](authors.html)** have unobfuscated code
of their **own entries** and you should look for this first, often on GitHub or on of their **own entries** and you should look for this first, often on GitHub or on
@@ -4441,8 +4560,12 @@ that be prove helpful.
<div id="faq6_0"> <div id="faq6_0">
<div id="size_2_broken">
<div id="rule_breaking_entry">
### FAQ 6.0: How did an entry that breaks the size rule 2 win the IOCCC? ### FAQ 6.0: How did an entry that breaks the size rule 2 win the IOCCC?
</div> </div>
</div>
</div>
As entries have been fixed it is entirely possible that some of the entries no As entries have been fixed it is entirely possible that some of the entries no
longer fit within the year's size restrictions. Invariably the length of columns longer fit within the year's size restrictions. Invariably the length of columns
@@ -4459,8 +4582,14 @@ get around rule 2 size limits is discouraged).
<div id="faq6_1"> <div id="faq6_1">
<div id="bugs">
<div id="misfeatures">
<div id="mis-features">
### FAQ 6.1: Is there a list of known bugs and &lpar;mis&rpar;features of IOCCC entries? ### FAQ 6.1: Is there a list of known bugs and &lpar;mis&rpar;features of IOCCC entries?
</div> </div>
</div>
</div>
</div>
Yes! Please see [bugs.html](bugs.html) for a list of known bugs and/or issues of a Yes! Please see [bugs.html](bugs.html) for a list of known bugs and/or issues of a
variety of kinds. variety of kinds.
@@ -4471,18 +4600,32 @@ something like that.
<div id="faq6_2"> <div id="faq6_2">
<div id="mirrors">
<div id="website_mirrors">
<div id="website_mirroring">
### FAQ 6.2: May I mirror the IOCCC website? ### FAQ 6.2: May I mirror the IOCCC website?
</div> </div>
</div>
</div>
</div>
We are not accepting mirror requests at this time, sorry. However you are free to fork the [IOCCC winner repo](https://github.com/ioccc-src/winner). We do ask that your fork keep up to date with the latest changes when possible. We are not accepting mirror requests at this time, sorry. However you are free
to fork the [IOCCC winner repo](https://github.com/ioccc-src/winner). We do ask
that your fork keep up to date with the latest changes when possible.
<div id="faq6_3"> <div id="faq6_3">
<div id="permission">
<div id="copyright">
### FAQ 6.3: May I use parts of the IOCCC in an article, book, newsletter, or instructional material? ### FAQ 6.3: May I use parts of the IOCCC in an article, book, newsletter, or instructional material?
</div> </div>
</div>
</div>
While IOCCC judges look favorably on most requests to use IOCCC material, While IOCCC judges look favorably on most requests to use IOCCC material,
we request that you ask the [IOCCC judges](judges.html) first. we request that you ask the [IOCCC judges](judges.html) first. Of course, if
you're the winner of the entry you can make use of it as you want (make a shirt,
put it on your website etc.).
Please send your request using the instructions on the [contacting Please send your request using the instructions on the [contacting
the IOCCC Judges](contact.html) page. the IOCCC Judges](contact.html) page.
@@ -4497,8 +4640,14 @@ For additional information on the [Copyright and CC BY-SA 4.0 License](license.h
<div id="faq6_4"> <div id="faq6_4">
<div id="first_person">
<div id="person">
<div id="pronoun">
### FAQ 6.4: Why do you sometimes use the first person plural? ### FAQ 6.4: Why do you sometimes use the first person plural?
</div> </div>
</div>
</div>
</div>
As a precedent for [first person As a precedent for [first person
plural](https://en.wikipedia.org/wiki/Nosism), we may sight [Two-, plural](https://en.wikipedia.org/wiki/Nosism), we may sight [Two-,
@@ -4619,9 +4768,11 @@ Anonymous `author_handle`'s match this regexp:
<div id="faq6_6"> <div id="faq6_6">
<div id="author_json"> <div id="author_json">
<div id="author_handle_json">
### FAQ 6.6: What is an `author_handle.json` file and how are they used? ### FAQ 6.6: What is an `author_handle.json` file and how are they used?
</div> </div>
</div> </div>
</div>
**TL:DR**: The contents of these JSON files contain the best known **TL:DR**: The contents of these JSON files contain the best known
information about authors of IOCCC entries and is used to help form information about authors of IOCCC entries and is used to help form
@@ -5255,9 +5406,11 @@ names such as _entry_ when they should use _submission_. Sorry (tm Canada)! :-)
<div id="faq6_10"> <div id="faq6_10">
<div id="pull_request"> <div id="pull_request">
<div id="commit">
### FAQ 6.10: How does someone make a change to a file and submit that change as a GitHub pull request? ### FAQ 6.10: How does someone make a change to a file and submit that change as a GitHub pull request?
</div> </div>
</div> </div>
</div>
First, if you do not already have a GitHub account or you have not installed an First, if you do not already have a GitHub account or you have not installed an
ssh key to your account you must do so. For this we will assume you do not have ssh key to your account you must do so. For this we will assume you do not have
@@ -5507,9 +5660,11 @@ This will merge your pull request to your fork.
<div id="faq6_11"> <div id="faq6_11">
<div id="license"> <div id="license">
<div id="licence">
### FAQ 6.11: Am I allowed to use IOCCC content? ### FAQ 6.11: Am I allowed to use IOCCC content?
</div> </div>
</div> </div>
</div>
**Disclaimer**: This FAQ is **not a license**, has **no legal **Disclaimer**: This FAQ is **not a license**, has **no legal
value**, and only highlights some of the key features and terms of value**, and only highlights some of the key features and terms of
@@ -5542,9 +5697,11 @@ to help ensure that everyone may enjoy the IOCCC.
<div id="faq6_12"> <div id="faq6_12">
<div id="try_mastodon"> <div id="try_mastodon">
<div id="mastodon">
### FAQ 6.12: What is Mastodon and why does IOCCC use it? ### FAQ 6.12: What is Mastodon and why does IOCCC use it?
</div> </div>
</div> </div>
</div>
The [IOCCC uses Mastodon](https://fosstodon.org/@ioccc) for news updates, The [IOCCC uses Mastodon](https://fosstodon.org/@ioccc) for news updates,
announcements, and for various other social media purposes. announcements, and for various other social media purposes.