fix formatting of faq.html

Attempted to fix formatting problems of `faq.html`
that was introduced in commit 476b0d45f0.

Run `make gen_top_html` to perform the above and test under macOS.
This commit is contained in:
Landon Curt Noll committed 2024-04-16 21:49:53 -07:00
1 parent c223b8f1d6
commit 112e35a1b5
2 files changed
+342 -210

No files matched your search

+70 -140
View File
@@ -217,14 +217,12 @@ other inconsistencies with the original entry?</a></li>
<li><a href="#faq6_11">6.11 - Am I allowed to use IOCCC content?</a></li>
</ul>
<h1 id="the-ioccc-faq">The IOCCC FAQ</h1>
##
<div id="faq0">
Section 0: Submitting entries to a new IOCCC
<h2 id="section-0-submitting-entries-to-a-new-ioccc">Section 0: Submitting entries to a new IOCCC</h2>
</div>
###
<div id="faq0_0">
<div id="submit">
FAQ 0.0: How may I submit to the IOCCC?
<h3 id="faq-0.0-how-may-i-submit-to-the-ioccc">FAQ 0.0: How may I submit to the IOCCC?</h3>
</div>
</div>
<p>To submit your code to the IOCCC, you <strong>MUST</strong> follow these steps:</p>
@@ -286,9 +284,8 @@ on how upload your entry to the <strong>IOCCC submit server</strong>. Once
with the proper instructions. Watch the <a href="news.html">IOCCC news</a>
for an annoucement of the availability of the <strong>IOCCC submit server</strong>.</p></li>
</ol>
###
<div id="faq0_1">
FAQ 0.1: What types of entries have been over-submitted to the IOCCC?
<h3 id="faq-0.1-what-types-of-entries-have-been-over-submitted-to-the-ioccc">FAQ 0.1: What types of entries have been over-submitted to the IOCCC?</h3>
</div>
<p>There are types of entries that show up over and over again. The
IOCCC judges, and we suspect the public that enjoy viewing the
@@ -380,9 +377,8 @@ that it is obfuscated in several new and novel ways. Be sure to <em>clearly</em>
explain near the beginning of your remarks why you are submitting a entry based
on an ‘overused theme’ and why the judges should not simply toss it out as being
boring.</p>
###
<div id="faq0_2">
FAQ 0.2: What should I put in my entry’s 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>
</div>
<p>We recommend starting with the <a href="https://github.com/ioccc-src/mkiocccentry/blob/master/Makefile.example">sample
Makefile</a>
@@ -403,9 +399,8 @@ your <code>Makefile</code> should copy <code>prog.c</code> into the desired file
<p>For the <code>make(1)</code> <em>connoisseur</em>: As of 2023, IOCCC judges use <a href="https://www.gnu.org/software/make/">GNU
make compatible</a> <code>make(1)</code>
command that is compatible with GNU Make version 3.81.</p>
###
<div id="faq0_3">
FAQ 0.3: May I use a different source or compiled filename than prog.c or prog?
<h3 id="faq-0.3-may-i-use-a-different-source-or-compiled-filename-than-prog.c-or-prog">FAQ 0.3: May I use a different source or compiled filename than prog.c or prog?</h3>
</div>
<p>While your entry’s source filename, as submitted, must be <code>prog.c</code>, your entry’s <code>Makefile</code>
may copy <code>prog.c</code> to a different filename as part of the compiling/building process. For example:</p>
@@ -427,9 +422,8 @@ For example:</p>
<pre><code> different_name: prog
rm -f $@
cp -f prog $@</code></pre>
###
<div id="faq0_4">
FAQ 0.4: What platform should I assume for my entry?
<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>
<p>Your entry must compile with GCC and run under at least one flavor of UNIX (e.g.
Linux or Solaris). To improve chances to win, it should work under both BSD and
@@ -438,10 +432,9 @@ If it can compile and run on Windows and/or Mac (see
<a href="years.html#2000_thadgavin">2000/thadgavin</a> for one example, amongst others),
even better. Being able to compile with other compilers like clang is also a
good thing.</p>
###
<div id="faq0_5">
<div id="feedback">
FAQ 0.5: How may I comment or make a suggestion on IOCCC rules, guidelines and tools?
<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>
<p>The <a href="judges.html">IOCCC judges</a> to welcome feedback on the <a href="next/rules.html">IOCCC
@@ -463,14 +456,12 @@ discussion</a>.</p>
<p>As a very last resort and/or if you feel the need to engage in a private
discussion with the <a href="judges.html">IOCCC judges</a>, then see
<a href="contact.html">How to contact the IOCCC</a>.</p>
##
<div id="faq1">
Section 1: History of the IOCCC
<h2 id="section-1-history-of-the-ioccc">Section 1: History of the IOCCC</h2>
</div>
###
<div id="faq1_0">
<div id="ioccc_start">
FAQ 1.0: How did the IOCCC get started?
<h3 id="faq-1.0-how-did-the-ioccc-get-started">FAQ 1.0: How did the IOCCC get started?</h3>
</div>
</div>
<p>One day (1984 March 23 to be exact), Larry Bassel and I (Landon Curt
@@ -528,18 +519,16 @@ 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
<a href="http://www.bulwer-lytton.com/">Bulwer-Lytton fiction contest</a>.</p>
<p>P^2.S. See the <a href="all/index.html">overall README</a> for more details.</p>
###
<div id="faq1_1">
FAQ 1.1: Why are some years missing IOCCC entries?
<h3 id="faq-1.1-why-are-some-years-missing-ioccc-entries">FAQ 1.1: Why are some years missing IOCCC entries?</h3>
</div>
<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
so 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
make is much more likely for the IOCCC to be held in a yearly basis later on.</p>
###
<div id="faq1_2">
FAQ 1.2: What is the history of the IOCCC web site?
<h3 id="faq-1.2-what-is-the-history-of-the-ioccc-web-site">FAQ 1.2: What is the history of the IOCCC web site?</h3>
</div>
<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 web site</a> can be
@@ -693,10 +682,9 @@ of the <a href="https://github.com/ioccc-src/winner">IOCCC winner repo</a>.</p>
<p>On 202y mm dd, the temporary repo was merged back into the <a href="https://github.com/ioccc-src/winner">IOCCC winner
repo</a> resulting in many, many substantial improvements
to the <a href="https://www.ioccc.org">official IOCCC web site</a>.</p>
###
<div id="faq1_3">
<div id="size_rule">
FAQ 1.3: How has the IOCCC size limit rule changed over the years?
<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>
<p>The IOCCC size rule has changed over the years.</p>
@@ -743,18 +731,15 @@ FAQ 1.3: How has the IOCCC size limit rule changed over the years?
<li>Rule 2a: 4993</li>
<li>Rule 2b: 2503</li>
</ul>
##
<div id="faq2">
Section 2: IOCCC Judging process
<h2 id="section-2-ioccc-judging-process">Section 2: IOCCC Judging process</h2>
</div>
###
<div id="faq2_0">
FAQ 2.0: How many entries do the judges receive for a given IOCCC?
<h3 id="faq-2.0-how-many-entries-do-the-judges-receive-for-a-given-ioccc">FAQ 2.0: How many entries do the judges receive for a given IOCCC?</h3>
</div>
<p>By tradition, we do not say.</p>
###
<div id="faq2_1">
FAQ 2.1: What should I put in the remarks.md file of my entry?
<h3 id="faq-2.1-what-should-i-put-in-the-remarks.md-file-of-my-entry">FAQ 2.1: What should I put in the remarks.md file of my entry?</h3>
</div>
<p>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>
@@ -789,16 +774,14 @@ rounds; we look at the author name only if an entry wins. See the guidelines if
this is not clear!</li>
<li>leaving the remark section empty.</li>
</ul>
###
<div id="faq2_2">
FAQ 2.2: Why don’t you publish entries that do not win?
<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>
<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
entries that do not win on their web page for everyone to see.</p>
###
<div id="faq2_3">
FAQ 2.3: How much time does it take to judge the contest?
<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>
<p>It takes a fair amount of time to setup, run, answer email, process entries,
review entries, trim down the set entries to a set of winning entries, doing the
@@ -812,18 +795,16 @@ work as advertised, we might attempt to fix obvious compilation problems or
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
POSIX-conforming.</p>
###
<div id="faq2_4">
FAQ 2.4: How many judging rounds do you have?
<h3 id="faq-2.4-how-many-judging-rounds-do-you-have">FAQ 2.4: How many judging rounds do you have?</h3>
</div>
<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>We often report when the IOCCC judges start the 1st round, and
when usually report when the IOCCC judges start near final judging rounds, and
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>
###
<div id="faq2_5">
FAQ 2.5: Why do some IOCCC entries receive the Grand Prize or Best of Show award?
<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>
<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.
@@ -859,9 +840,8 @@ from the judges, they used the following awards:</p>
</ul>
<p>These could be considered the ‘best entry’ for those years with 1 or
more other entries that came in close behind.</p>
###
<div id="faq2_6">
FAQ 2.6: How are IOCCC entries announced?
<h3 id="faq-2.6-how-are-ioccc-entries-announced">FAQ 2.6: How are IOCCC entries announced?</h3>
</div>
<p>Once the <a href="../index.html">IOCCC</a> closes, the judges will:</p>
<ul>
@@ -877,13 +857,11 @@ display this year’s winning IOCCC entries at the top of the <a href="../years.
winning entries page</a>.</p></li>
<li><p>Update the <a href="../news.html">IOCCC news</a> page.</p></li>
</ul>
##
<div id="faq3">
Section 3: Compiling and running IOCCC entries
<h2 id="section-3-compiling-and-running-ioccc-entries">Section 3: Compiling and running IOCCC entries</h2>
</div>
###
<div id="faq3_0">
FAQ 3.0: What Makefile rules are available to build or clean up IOCCC entries?
<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>
<p>In general the best way to compile everything in an entry directory is to run:</p>
<pre><code> make clobber all</code></pre>
@@ -914,9 +892,8 @@ gcc-based compiler, or a clang-based compiler, or some other compiler. Only by
forcing <code>CC=clang</code> or <code>CC=gcc</code> will one invoke a specific compiler to, say,
enable or disable additional warnings or flags. Even so different versions or
compilers might do different things, have different defects or other issues.</p>
###
<div id="faq3_1">
FAQ 3.1: Why doesn’t this IOCCC entry compile?
<h3 id="faq-3.1-why-doesnt-this-ioccc-entry-compile">FAQ 3.1: Why doesn’t this IOCCC entry compile?</h3>
</div>
<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
@@ -936,9 +913,8 @@ request</a> for more information about pull requests.</p>
that works for modern systems but one can view the original code in the
<code>.orig.c</code> files (sometimes the original code is also in the directory as a
<code>dirname.alt.c</code> or <code>prog.alt.c</code>).</p>
###
<div id="faq3_2">
FAQ 3.2: Why does a IOCCC entry fail on my 64-bit system?
<h3 id="faq-3.2-why-does-a-ioccc-entry-fail-on-my-64-bit-system">FAQ 3.2: Why does a IOCCC entry fail on my 64-bit system?</h3>
</div>
<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
@@ -965,9 +941,8 @@ the spirit of the original code are very welcome! Please see <a href="#fix_an_en
details. See also the <a href="#ull_request">FAQ 6.10 How does someone make a change to
a file and submit that change as a GitHub pull request</a>
for more information about pull requests.</p>
###
<div id="faq3_3">
FAQ 3.3: Why do some IOCCC entries fail to compile under macOS?
<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>
<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
@@ -980,9 +955,8 @@ also attempt to preserve the original intent of the IOCCC entry, we would
encourage you to submit a pull request with your ported code.
Please see <a href="#fix_an_entry">FAQ 5.2 How may I submit a fix to an IOCCC entry</a>
for details.</p>
###
<div id="faq3_4">
FAQ 3.4: Why does clang or gcc fail to compile an IOCCC entry?
<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>
<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
@@ -1002,33 +976,29 @@ form of a pull request. Please see <a href="#fix_an_entry">FAQ 5.2 How may I sub
entry</a>. See also the <a href="#ull_request">FAQ 6.10 How does someone
make a change to a file and submit that change as a GitHub pull
request</a> for more information about pull requests.</p>
###
<div id="faq3_5">
FAQ 3.5: What is this cb tool that is mentioned in the IOCCC?
<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>
<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
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>
###
<div id="faq3_6">
FAQ 3.6: An IOCCC entry messed up my terminal application, how do I fix this?
<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>
<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>.
<code>reset</code> does the most but note that it will clear the screen (obviously <code>clear</code>
will too but it won’t reset the terminal).</p>
###
<div id="faq3_7">
<div id="X11macOS">
<div id="X11">
FAQ 3.7: How do I run an IOCCC entry that requires X11?
<h3 id="faq-3.7-how-do-i-run-an-ioccc-entry-that-requires-x11">FAQ 3.7: How do I run an IOCCC entry that requires X11?</h3>
</div>
</div>
</div>
####
<div id="X11_general">
Generally, to compile and run an IOCCC entry that requires X11:
<h4 id="generally-to-compile-and-run-an-ioccc-entry-that-requires-x11">Generally, to compile and run an IOCCC entry that requires X11:</h4>
</div>
<p>You must have the X11 related include files and X11 libraries in order to
compile the IOCCC entry. In order to do this you will need to install Xorg and
@@ -1049,9 +1019,8 @@ further down for different instructions. Otherwise: in particular you must:</p>
<li><code>xterm(</code>) terminal application</li>
</ul>
<p>See below for various system related hints that may be of help.</p>
####
<div id="Xorg_deprecated">
X.org server has been deprecated
<h4 id="x.org-server-has-been-deprecated">X.org server has been deprecated</h4>
</div>
<p>The Red Hat RHEL9.0 release notes state that <a href="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/9.0_release_notes/deprecated_functionality#deprecated-functionality_graphics-infrastructures">X.org Server is now
deprecated</a>.</p>
@@ -1153,10 +1122,9 @@ See the above note for details.</p>
<p>See the <a href="https://x.org/wiki/">X.org</a> foundation web site.</p>
<p><strong>IMPORTANT NOTE</strong>: The <a href="#Xorg_deprecated">X.org server has been deprecated</a>.
See the above note for details.</p>
###
<div id="faq3_8">
<div id="SDL">
FAQ 3.8: How do I compile an IOCCC entry that requires SDL1 or SDL2?
<h3 id="faq-3.8-how-do-i-compile-an-ioccc-entry-that-requires-sdl1-or-sdl2">FAQ 3.8: How do I compile an IOCCC entry that requires SDL1 or SDL2?</h3>
</div>
</div>
<p>This depends on your operating system but below are instructions for Linux and
@@ -1213,10 +1181,9 @@ details. If something is not noted you’re welcome to report it as an issue or
fix it and make a new pull request.</p>
<p>See the <a href="#ull_request">FAQ 6.10 How does someone make a change to a file and submit that change
as a GitHub pull request</a> for more information about pull requests.</p>
###
<div id="faq3_9">
<div id="curses">
FAQ 3.9: How do I compile an IOCCC entry that requires (n)curses?
<h3 id="faq-3.9-how-do-i-compile-an-ioccc-entry-that-requires-ncurses">FAQ 3.9: How do I compile an IOCCC entry that requires (n)curses?</h3>
</div>
</div>
<p>This depends on your operating system but below are instructions for Linux and
@@ -1245,10 +1212,9 @@ packages: one for compiling and one for linking / running.</p>
<p>Go to the <a href="https://invisible-island.net/ncurses/">ncurses website</a> and follow their instructions
for downloading, installing and using ncurses.</p>
<p>We recommend trying a method suitable for your environment first, if possible.</p>
###
<div id="faq3_10">
<div id="sox">
FAQ 3.10: How do I compile and use an IOCCC entry that requires 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>
</div>
</div>
<p>This might depend on the entry but most likely the Swiss Army Knife of sound
@@ -1276,9 +1242,8 @@ include this here, at least for now.</p>
<h4 id="other-linux-distributions-3">Other Linux distributions</h4>
<p>Usually the index.html file will explain how to use it under Linux so we do not
include this here, at least for now.</p>
###
<div id="faq3_11">
FAQ 3.11: Why do Makefiles use -Weverything with clang?
<h3 id="faq-3.11-why-do-makefiles-use--weverything-with-clang">FAQ 3.11: Why do Makefiles use -Weverything with clang?</h3>
</div>
<p>While we know that use of <code>-Weverything</code> is generally not recommended
by <code>clang</code> C compiler developers, we do use the <code>-Weverything</code>
@@ -1348,9 +1313,8 @@ differences, try from <code>1989/westley</code>:</p>
<p>As you can see, using <code>clang</code> has some additional problems to work out but if
you can get your entry to work well in <code>clang</code> it might very well be considered
better than other entries.</p>
###
<div id="faq3_12">
FAQ 3.12: How do I find out how to send interrupt/EOF etc. for entries that require it?
<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>
<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>
@@ -1372,10 +1336,9 @@ to find what the <code>intr</code> is set to:</p>
<p>… assuming of course that it’s a ctrl combination :-) If for some strange
reason it’s not you might have to do something else including just piping it to
just <code>grep intr</code> or whatever.</p>
###
<div id="faq3_13">
<div id="no_support">
FAQ 3.13: Why does an IOCCC entry fail to compile or or fail run?
<h3 id="faq-3.13-why-does-an-ioccc-entry-fail-to-compile-or-or-fail-run">FAQ 3.13: Why does an IOCCC entry fail to compile or or fail run?</h3>
</div>
</div>
<p>What may have worked years ago may not work well or work at all today.
@@ -1406,10 +1369,9 @@ entry. If so, you are invited to try an fix the IOCCC entry and
submit that fix by way of a <a href="https://github.com/ioccc-src/temp-test-ioccc/pulls">GitHub pull
request</a>.
Please see <a href="#fix_an_entry">FAQ 5.2</a> for how to submit a fix to an IOCCC entry.</p>
###
<div id="faq3_14">
<div id="tcpserver">
FAQ 3.14 - How do I compile and install tcpserver for entries that require it?
<h3 id="faq-3.14---how-do-i-compile-and-install-tcpserver-for-entries-that-require-it">FAQ 3.14 - How do I compile and install tcpserver for entries that require it?</h3>
</div>
</div>
<p>If your OS package manager does not have the package <code>tcpserver</code> you can
@@ -1423,10 +1385,9 @@ like:</p>
<pre><code> make setup check</code></pre>
<p>That will install it to <code>/usr/local/bin</code>. Now you should be able to use the
entry in question.</p>
###
<div id="faq3_15">
<div id="netpbm">
3.15 - How do I compile and install netpbm for entries that require it?
<h3 id="how-do-i-compile-and-install-netpbm-for-entries-that-require-it">3.15 - How do I compile and install netpbm for entries that require it?</h3>
</div>
</div>
<p>This depends on your operating system for which we describe a couple below.</p>
@@ -1462,10 +1423,9 @@ packages: one for compiling and one for linking / running.</p>
<p>Go to the <a href="https://netpbm.sourceforge.net">netpbm website</a> and follow their instructions
for downloading, installing and using netpbm.</p>
<p>We recommend trying a method suitable for your environment first, if possible.</p>
###
<div id="faq3_16">
<div id="libjpeg">
3.16 - How do I compile and install libjpeg-turbo for entries that require it?
<h3 id="how-do-i-compile-and-install-libjpeg-turbo-for-entries-that-require-it">3.16 - How do I compile and install libjpeg-turbo for entries that require it?</h3>
</div>
</div>
<p>This depends on your operating system for which we describe a couple below.</p>
@@ -1501,10 +1461,9 @@ packages: one for compiling and one for linking / running.</p>
<p>Go to the <a href="https://www.libjpeg-turbo.org">libjpeg-turbo website</a> and follow their instructions
for downloading, installing and using libjpeg-turbo.</p>
<p>We recommend trying a method suitable for your environment first, if possible.</p>
###
<div id="faq3_17">
<div id="imagemagick">
3.17 - How do I compile and install ImageMagick for entries that require it?
<h3 id="how-do-i-compile-and-install-imagemagick-for-entries-that-require-it">3.17 - How do I compile and install ImageMagick for entries that require it?</h3>
</div>
</div>
<p>This depends on your operating system for which we describe a couple below.</p>
@@ -1540,10 +1499,9 @@ packages: one for compiling and one for linking / running.</p>
<p>Go to the <a href="https://imagemagick.org">ImageMagick website</a> and follow their instructions
for downloading, installing and using ImageMagick.</p>
<p>We recommend trying a method suitable for your environment first, if possible.</p>
###
<div id="faq3_18">
<div id="OpenGL">
3.18 - How do I compile and install OpenGL for entries that require it?
<h3 id="how-do-i-compile-and-install-opengl-for-entries-that-require-it">3.18 - How do I compile and install OpenGL for entries that require it?</h3>
</div>
</div>
<p>This depends on your operating system for which we describe a couple below.</p>
@@ -1581,10 +1539,9 @@ packages: one for compiling and one for linking / running.</p>
<p>Go to the <a href="https://vulkan.org">Vulkan website</a> and follow their instructions
for downloading, installing and using OpenGL.</p>
<p>We recommend trying a method suitable for your environment first, if possible.</p>
###
<div id="faq3_19">
<div id="make_compatibility">
3.19 - What kind of make(1) compatibility does the IOCCC support and will it support other kinds?
<h3 id="what-kind-of-make1-compatibility-does-the-ioccc-support-and-will-it-support-other-kinds">3.19 - What kind of make(1) compatibility does the IOCCC support and will it support other kinds?</h3>
</div>
</div>
<p>For the <a href="https://www.ioccc.org">IOCCC</a> <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry submission
@@ -1604,13 +1561,11 @@ to the top level directory of the winner repo you can do:</p>
it like:</p>
<pre><code> gmake MAKE=gmake</code></pre>
<p>though of course for both you may specify a rule or rules to run.</p>
##
<div id="faq4">
Section 4: Changes made to IOCCC entries
<h2 id="section-4-changes-made-to-ioccc-entries">Section 4: Changes made to IOCCC entries</h2>
</div>
###
<div id="faq4_0">
FAQ 4.0: Why are some winning entry remarks incongruent with the winning IOCCC code?
<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>
<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
@@ -1620,10 +1575,9 @@ favourite entries of all time is <a href="1984/mullender/index.html">1984/mullen
the entry’s dirname there would be <code>mullender</code>. Sometimes the original is in an alt
version like <code>dirname.alt.c</code> or <code>prog.alt.c</code>. In fact it is advisable to look at
the original code when reading the author’s (and sometimes authors’) remarks.</p>
###
<div id="faq4_1">
<div id="gets">
FAQ 4.1: Why were some calls to the libc function <code>gets(3)</code> changed to use <code>fgets(3)</code>?
<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 <code>gets(3)</code> changed to use <code>fgets(3)</code>?</h3>
</div>
</div>
<p>Some may wonder: “Doesn’t this tamper with the entry too much?”</p>
@@ -1657,10 +1611,9 @@ newline and <code>gets()</code> does not. As the Unix version 7 man page used to
<p>We’re not sure how this is compatibility but either way it can cause a
problem and it is this that has complicated most of the fixes though again some
can look almost identical.</p>
###
<div id="faq4_2">
<div id="what_changed">
FAQ 4.2: What was changed in an IOCCC entry source code?
<h3 id="faq-4.2-what-was-changed-in-an-ioccc-entry-source-code">FAQ 4.2: What was changed in an IOCCC entry source code?</h3>
</div>
</div>
<p>We have set up make rules to easily do see what was changed in the winning IOCCC
@@ -1740,9 +1693,8 @@ just do:</p>
make DIFF=colordiff diff_alt_prog # for alt to prog diff</code></pre>
<p>Obviously if you want to view the alt code or the orig code you can just open
the files as described above.</p>
###
<div id="faq4_3">
FAQ 4.3 - Why do author remarks sometimes not match the source and/or why are there other inconsistencies with the original entry?
<h3 id="faq-4.3---why-do-author-remarks-sometimes-not-match-the-source-andor-why-are-there-other-inconsistencies-with-the-original-entry">FAQ 4.3 - Why do author remarks sometimes not match the source and/or why are there other inconsistencies with the original entry?</h3>
</div>
<p>If the entry has been fixed for modern systems and this fix required
modification to the code then invariably there will be entries where the remarks
@@ -1759,21 +1711,18 @@ some cases, such as <code>1984/mullender</code>, the original code is the same a
as no changes were made (there is an alt version for systems that are not
VAX-11/PDP-11, however).</p>
<p>See also <a href="#what_changed">FAQ 4.2: What was changed in an IOCCC entry source code?</a></p>
###
<div id="faq4_4">
FAQ 4.4: What is the meaning of the file ending in .orig.c in IOCCC entries?
<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>
<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
we can find.</p>
##
<div id="faq5">
Section 5: Updating or correcting IOCCC web site content
<h2 id="section-5-updating-or-correcting-ioccc-web-site-content">Section 5: Updating or correcting IOCCC web site content</h2>
</div>
###
<div id="faq5_0">
<div id="how_to_help">
FAQ 5.0: How may I help the IOCCC?
<h3 id="faq-5.0-how-may-i-help-the-ioccc">FAQ 5.0: How may I help the IOCCC?</h3>
</div>
</div>
<h3 id="we-welcome-your-help-in-fixing-ioccc-entries">We welcome your help in fixing IOCCC entries</h3>
@@ -1788,10 +1737,9 @@ while a (mis)feature is not considered a bug and should <strong>not be fixed</st
In cases where the bug is known, the entry’s <a href="bugs.html">known bugs</a> file
section may offer you important fixing clues.</p>
<h3 id="we-welcome-your-help-on-fixing-the-ioccc-web-site">We welcome your help on fixing the IOCCC web site</h3>
###
<div id="faq5_1">
<div id="report_bug">
FAQ 5.1: How do I report a bug in an IOCCC entry?
<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>
<p>We do not ‘maintain’ the contest entries as such. The code is made available on an ‘AS
@@ -1810,10 +1758,9 @@ entry</a> for information on how to submit a fix to an
IOCCC entry. See also the <a href="#ull_request">FAQ 6.10 How does someone make a change
to a file and submit that change as a GitHub pull request</a>
for more information about pull requests.</p>
###
<div id="faq5_2">
<div id="fix_an_entry">
FAQ 5.2: How may I submit a fix to an IOCCC entry?
<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>
<p>If you see a problem with an IOCCC entry, first check the <a href="bugs.html">known bugs</a>
@@ -1848,10 +1795,9 @@ make a change to a file and submit that change as a GitHub pull
request</a> for more information about pull requests.</p>
<p>Note that we’re much more inclined to accept an author’s fixes but the judges
have the final say in the matter.</p>
###
<div id="faq5_3">
<div id="report_web_problem">
FAQ 5.3: How may I report an IOCCC web site problem?
<h3 id="faq-5.3-how-may-i-report-an-ioccc-web-site-problem">FAQ 5.3: How may I report an IOCCC web site problem?</h3>
</div>
</div>
<p>If you discover a problem with the IOCCC web site that is related
@@ -1870,10 +1816,9 @@ if the problem has already been reported. If it has been reported,
feel free to add a comment to the issue. If you do not find an it
has been reported, then fee free to open a <a href="https://github.com/ioccc-src/winner/issues">new IOCCC
issue</a>.</p>
###
<div id="faq5_4">
<div id="fix_web_site">
FAQ 5.4: How may I submit a fix to the IOCCC web site?
<h3 id="faq-5.4-how-may-i-submit-a-fix-to-the-ioccc-web-site">FAQ 5.4: How may I submit a fix to the IOCCC web site?</h3>
</div>
</div>
<p>For IOCCC web site problems that relate to a particular IOCCC entry, please
@@ -1924,10 +1869,9 @@ markdown file, you will read:</p>
modify JSON files and/or change a <a href="bin/index.html">bin directory tool</a>.</p>
<p>If this happens, consider opening up an <a href="https://github.com/ioccc-src/winner/issues">IOCCC issue</a>
and ask for help. See <a href="#fix_an_entry">FAQ 5.3</a> for information on opening up an IOCCC issue.</p>
##
<div id="faq5_5">
<div id="fix_author">
FAQ 5.5: How may I correct or update IOCCC author information?
<h2 id="faq-5.5-how-may-i-correct-or-update-ioccc-author-information">FAQ 5.5: How may I correct or update IOCCC author information?</h2>
</div>
</div>
<p>Authors of IOCCC winning entries are kept in JSON files of the form:</p>
@@ -1945,10 +1889,9 @@ of the <a href="https://github.com/ioccc-src/winner">ioccc-src/winner repo</a>.<
entry</a>. See also the <a href="#ull_request">FAQ 6.10 How does someone
make a change to a file and submit that change as a GitHub pull
request</a> for more information about pull requests.</p>
##
<div id="faq5_6">
<div id="fix_link">
FAQ 5.6: What should I do if I find a broken or wrong web link?
<h2 id="faq-5.6-what-should-i-do-if-i-find-a-broken-or-wrong-web-link">FAQ 5.6: What should I do if I find a broken or wrong web link?</h2>
</div>
</div>
<p>We would appreciate if you try to fix the broken (the link goes nowhere) or wrong
@@ -1984,13 +1927,11 @@ if the text in some <code>index.html</code> file was:</p>
replace that text with:</p>
<pre><code> See the **author&#39;s description of the program** (sorry the content is no longer available) for more information.</code></pre>
<p>If you just wish to report the bad link issue, see <a href="#report_web_problem">FAQ 5.3</a>.</p>
##
<div id="faq6">
Section 6: Miscellaneous IOCCC
<h2 id="section-6-miscellaneous-ioccc">Section 6: Miscellaneous IOCCC</h2>
</div>
###
<div id="faq6_0">
FAQ 6.0: How did an entry that breaks the size rule 2 win the IOCCC?
<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>
<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
@@ -2002,23 +1943,20 @@ original winning entries as compressed tar files for a given year.</p>
<p>In some cases the entry may have abused rule 2 and declared an
“abuse of the rules” (although now blatant abuse of the rules to
get around rule 2 size limits is discouraged).</p>
###
<div id="faq6_1">
FAQ 6.1: Is there a list of known bugs and misfeatures of IOCCC entries?
<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 misfeatures of IOCCC entries?</h3>
</div>
<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>
<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
something like that.</p>
###
<div id="faq6_2">
FAQ 6.2: May I mirror the IOCCC web site?
<h3 id="faq-6.2-may-i-mirror-the-ioccc-web-site">FAQ 6.2: May I mirror the IOCCC web site?</h3>
</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">
FAQ 6.3: May I use parts of the IOCCC in an article, book, newsletter, or instructional material?
<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>
<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>
@@ -2028,9 +1966,8 @@ the IOCCC Judges</a> page.</p>
the CC BY-SA 4.0 License</a>.</p>
<p>See <a href="#license">FAQ 6.11</a> for additional information on the
<a href="license.html">Copyright and CC BY-SA 4.0 License</a>.</p>
###
<div id="faq6_4">
FAQ 6.4: Why do you sometimes use the first person plural?
<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>
<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-,
@@ -2061,10 +1998,9 @@ may still be in effect and the 1982 <a href="https://books.google.com/books?id=m
exaggeration</a>.</p>
<p>p.s. Here is an image of F. D. C. Willard:</p>
<p><a href="png/F.D.C.Willard.png">F D C Willard</a></p>
###
<div id="faq6_5">
<div id="author_handle">
FAQ 6.5: What is an author handle?
<h3 id="faq-6.5-what-is-an-author-handle">FAQ 6.5: What is an author handle?</h3>
</div>
</div>
<p>An <code>author_handle</code> is string that refers to a given author and is unique to the
@@ -2101,10 +2037,9 @@ in the case of <a href="2005/anon/anon.c">2005/anon</a>.</p>
<pre><code> Anonymous_[0-9][0-9][0-9][0-9][.0-9]*$</code></pre>
<p>See <a href="#fix_author">FAQ 5.5</a> for information about how to update
and/or correct IOCCC author information.</p>
###
<div id="faq6_6">
<div id="author_json">
FAQ 6.6: What is a author_handle.json file and how are they used?
<h3 id="faq-6.6-what-is-a-author_handle.json-file-and-how-are-they-used">FAQ 6.6: What is a author_handle.json file and how are they used?</h3>
</div>
</div>
<p><strong>TL:DR</strong>: The contents of these JSON files contain the best known
@@ -2378,10 +2313,9 @@ is a valid entry ID.</p>
<p>See <a href="#author_json">FAQ 6.7</a> for information about entry ids.</p>
<p>See <a href="#fix_author">FAQ 5.5</a> for information about how to update
and/or correct IOCCC author information.</p>
###
<div id="faq6_7">
<div id="author_json">
FAQ 6.7: What is a entry_id?
<h3 id="faq-6.7-what-is-a-entry_id">FAQ 6.7: What is a entry_id?</h3>
</div>
</div>
<p>A <code>entry_id</code> is a string that identifies a winning entry of the IOCCC.</p>
@@ -2391,9 +2325,8 @@ of 2020 is found under the following directory:</p>
<pre><code> 2020/ferguson2</code></pre>
<p>The <code>entry_id</code> for that winning entry is:</p>
<pre><code> 2020_ferguson2</code></pre>
###
<div id="faq6_8">
FAQ 6.8: What is the purpose of the .top, .year and .path files?
<h3 id="faq-6.8-what-is-the-purpose-of-the-.top-.year-and-.path-files">FAQ 6.8: What is the purpose of the .top, .year and .path files?</h3>
</div>
<p>The <a href=".top">.top</a> file resides at the top directory. This file contains the complete list
of IOCCC years.</p>
@@ -2404,10 +2337,9 @@ These files contain the directory path from the top directory.
For example see <a href="1984/anonymous/.path">1984/anonymous/.path</a>.</p>
<p>The .top, .year and .path files are generated from the top level Makefile, by:</p>
<pre><code> make genpath</code></pre>
###
<div id="faq6_9">
<div id="terms">
FAQ 6.9: What is the current meaning of the IOCCC terms Author, Entry, and Submission?
<h3 id="faq-6.9-what-is-the-current-meaning-of-the-ioccc-terms-author-entry-and-submission">FAQ 6.9: What is the current meaning of the IOCCC terms Author, Entry, and Submission?</h3>
</div>
</div>
<p>The IOCCC is now attempting to use the following terms:</p>
@@ -2457,10 +2389,9 @@ refer to what is now a <em>submission</em>. In a number of historical cases,
such as old rules and old guidelines, terms such as <em>entry</em> may still be
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>
###
<div id="faq6_10">
<div id="pull_request">
FAQ 6.10: How does someone make a change to a file and submit that change as a GitHub pull request?
<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>
<p>First, if you do not already have a GitHub account or you have not installed an
@@ -2620,10 +2551,9 @@ has the merge. To do this from the command line, assuming the fork in the above
example, you would type:</p>
<pre><code> git checkout master &amp;&amp; git pull https://github.com/ioccc-src/temp-test-ioccc.git master &amp;&amp; git push origin master</code></pre>
<p>This will merge your pull request to your fork.</p>
###
<div id="faq6_11">
<div id="license">
FAQ 6.11: Am I allowed to use IOCCC content?
<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>
<p><strong>Disclaimer</strong>: This FAQ is <strong>not a license</strong>, has <strong>no legal
+272 -70
View File
@@ -87,10 +87,16 @@ other inconsistencies with the original entry?](#faq4_3)
# The IOCCC FAQ
## <div id="faq0">Section 0: Submitting entries to a new IOCCC</div>
<div id="faq0">
## Section 0: Submitting entries to a new IOCCC
</div>
### <div id="faq0_0"><div id="submit">FAQ 0.0: How may I submit to the IOCCC?</div></div>
<div id="faq0_0">
<div id="submit">
### FAQ 0.0: How may I submit to the IOCCC?
</div>
</div>
To submit your code to the IOCCC, you **MUST** follow these steps:
@@ -181,7 +187,9 @@ To submit your code to the IOCCC, you **MUST** follow these steps:
### <div id="faq0_1">FAQ 0.1: What types of entries have been over-submitted to the IOCCC?</div>
<div id="faq0_1">
### FAQ 0.1: What types of entries have been over-submitted to the IOCCC?
</div>
There are types of entries that show up over and over again. The
IOCCC judges, and we suspect the public that enjoy viewing the
@@ -293,7 +301,9 @@ on an 'overused theme' and why the judges should not simply toss it out as being
boring.
### <div id="faq0_2">FAQ 0.2: What should I put in my entry's Makefile?</div>
<div id="faq0_2">
### FAQ 0.2: What should I put in my entry's Makefile?
</div>
We recommend starting with the [sample
Makefile](https://github.com/ioccc-src/mkiocccentry/blob/master/Makefile.example)
@@ -320,7 +330,9 @@ make compatible](https://www.gnu.org/software/make/) `make(1)`
command that is compatible with GNU Make version 3.81.
### <div id="faq0_3">FAQ 0.3: May I use a different source or compiled filename than prog.c or prog?</div>
<div id="faq0_3">
### FAQ 0.3: May I use a different source or compiled filename than prog.c or prog?
</div>
While your entry's source filename, as submitted, must be `prog.c`, your entry's `Makefile`
may copy `prog.c` to a different filename as part of the compiling/building process. For example:
@@ -352,7 +364,9 @@ For example:
```
### <div id="faq0_4">FAQ 0.4: What platform should I assume for my entry?</div>
<div id="faq0_4">
### FAQ 0.4: What platform should I assume for my entry?
</div>
Your entry must compile with GCC and run under at least one flavor of UNIX (e.g.
Linux or Solaris). To improve chances to win, it should work under both BSD and
@@ -363,7 +377,11 @@ even better. Being able to compile with other compilers like clang is also a
good thing.
### <div id="faq0_5"><div id="feedback">FAQ 0.5: How may I comment or make a suggestion on IOCCC rules, guidelines and tools?</div></div>
<div id="faq0_5">
<div id="feedback">
### FAQ 0.5: How may I comment or make a suggestion on IOCCC rules, guidelines and tools?
</div>
</div>
The [IOCCC judges](judges.html) to welcome feedback on the [IOCCC
rules](next/rules.html), [IOCCC guidelines](next/guidelines.html)
@@ -389,10 +407,16 @@ discussion with the [IOCCC judges](judges.html), then see
[How to contact the IOCCC](contact.html).
## <div id="faq1">Section 1: History of the IOCCC</div>
<div id="faq1">
## Section 1: History of the IOCCC
</div>
### <div id="faq1_0"><div id="ioccc_start">FAQ 1.0: How did the IOCCC get started?</div></div>
<div id="faq1_0">
<div id="ioccc_start">
### FAQ 1.0: How did the IOCCC get started?
</div>
</div>
One day (1984 March 23 to be exact), Larry Bassel and I (Landon Curt
Noll) were working for National Semiconductor's Genix porting group, we
@@ -470,7 +494,9 @@ P.S. Part of the inspiration for making the IOCCC a contest goes to the
P^2.S. See the [overall README](all/index.html) for more details.
### <div id="faq1_1">FAQ 1.1: Why are some years missing IOCCC entries?</div>
<div id="faq1_1">
### FAQ 1.1: Why are some years missing IOCCC entries?
</div>
Some years, such as 1997, 1999, 2002-2003, 2007-2010, 2016-2017, 2021-2023, no IOCCC was held.
@@ -481,7 +507,9 @@ The pause during the 2021-2023 period was due to the IOCCC judges developing too
make is much more likely for the IOCCC to be held in a yearly basis later on.
### <div id="faq1_2">FAQ 1.2: What is the history of the IOCCC web site?</div>
<div id="faq1_2">
### FAQ 1.2: What is the history of the IOCCC web site?
</div>
#### In the beginning of www.ioccc.org
@@ -669,7 +697,11 @@ repo](https://github.com/ioccc-src/winner) resulting in many, many substantial i
to the [official IOCCC web site](https://www.ioccc.org).
### <div id="faq1_3"><div id="size_rule">FAQ 1.3: How has the IOCCC size limit rule changed over the years?</div></div>
<div id="faq1_3">
<div id="size_rule">
### FAQ 1.3: How has the IOCCC size limit rule changed over the years?
</div>
</div>
The IOCCC size rule has changed over the years.
@@ -720,15 +752,21 @@ NOTE: The size rule was actually rule 1.
* Rule 2b: 2503
## <div id="faq2">Section 2: IOCCC Judging process</div>
<div id="faq2">
## Section 2: IOCCC Judging process
</div>
### <div id="faq2_0">FAQ 2.0: How many entries do the judges receive for a given IOCCC?</div>
<div id="faq2_0">
### FAQ 2.0: How many entries do the judges receive for a given IOCCC?
</div>
By tradition, we do not say.
### <div id="faq2_1">FAQ 2.1: What should I put in the remarks.md file of my entry?</div>
<div id="faq2_1">
### FAQ 2.1: What should I put in the remarks.md file of my entry?
</div>
While you may put in as much or as little as you wish into your entry's
`remarks.md` file, we do have few important suggestions:
@@ -771,14 +809,18 @@ this is not clear!
- leaving the remark section empty.
### <div id="faq2_2">FAQ 2.2: Why don't you publish entries that do not win?</div>
<div id="faq2_2">
### FAQ 2.2: Why don't you publish entries that do not win?
</div>
Because the publication on the IOCCC site **_IS_** the award!
Anyone is free to put their IOCCC hopefuls, lookalikes and/or
entries that do not win on their web page for everyone to see.
### <div id="faq2_3">FAQ 2.3: How much time does it take to judge the contest?</div>
<div id="faq2_3">
### FAQ 2.3: How much time does it take to judge the contest?
</div>
It takes a fair amount of time to setup, run, answer email, process entries,
review entries, trim down the set entries to a set of winning entries, doing the
@@ -795,7 +837,9 @@ on at least a couple different platforms, at least one of them being UNIX or
POSIX-conforming.
### <div id="faq2_4">FAQ 2.4: How many judging rounds do you have?</div>
<div id="faq2_4">
### FAQ 2.4: How many judging rounds do you have?
</div>
Are you trying to trick us? :-)
@@ -806,7 +850,9 @@ when usually report when the IOCCC judges start near final judging rounds, and
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.
### <div id="faq2_5">FAQ 2.5: Why do some IOCCC entries receive the Grand Prize or Best of Show award?</div>
<div id="faq2_5">
### FAQ 2.5: Why do some IOCCC entries receive the Grand Prize or Best of Show award?
</div>
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.
@@ -846,7 +892,9 @@ These could be considered the 'best entry' for those years with 1 or
more other entries that came in close behind.
### <div id="faq2_6">FAQ 2.6: How are IOCCC entries announced?</div>
<div id="faq2_6">
### FAQ 2.6: How are IOCCC entries announced?
</div>
Once the [IOCCC](../index.html) closes, the judges will:
@@ -868,10 +916,14 @@ winning entries page](../years.html).
* Update the [IOCCC news](../news.html) page.
## <div id="faq3">Section 3: Compiling and running IOCCC entries</div>
<div id="faq3">
## Section 3: Compiling and running IOCCC entries
</div>
### <div id="faq3_0">FAQ 3.0: What Makefile rules are available to build or clean up IOCCC entries?</div>
<div id="faq3_0">
### FAQ 3.0: What Makefile rules are available to build or clean up IOCCC entries?
</div>
In general the best way to compile everything in an entry directory is to run:
@@ -923,7 +975,9 @@ enable or disable additional warnings or flags. Even so different versions or
compilers might do different things, have different defects or other issues.
### <div id="faq3_1">FAQ 3.1: Why doesn't this IOCCC entry compile?</div>
<div id="faq3_1">
### FAQ 3.1: Why doesn't this IOCCC entry compile?
</div>
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
@@ -949,7 +1003,9 @@ that works for modern systems but one can view the original code in the
`dirname.alt.c` or `prog.alt.c`).
### <div id="faq3_2">FAQ 3.2: Why does a IOCCC entry fail on my 64-bit system?</div>
<div id="faq3_2">
### FAQ 3.2: Why does a IOCCC entry fail on my 64-bit system?
</div>
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
@@ -981,7 +1037,9 @@ a file and submit that change as a GitHub pull request](#ull_request)
for more information about pull requests.
### <div id="faq3_3">FAQ 3.3: Why do some IOCCC entries fail to compile under macOS?</div>
<div id="faq3_3">
### FAQ 3.3: Why do some IOCCC entries fail to compile under macOS?
</div>
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
@@ -998,7 +1056,9 @@ Please see [FAQ 5.2 How may I submit a fix to an IOCCC entry](#fix_an_entry)
for details.
### <div id="faq3_4">FAQ 3.4: Why does clang or gcc fail to compile an IOCCC entry?</div>
<div id="faq3_4">
### FAQ 3.4: Why does clang or gcc fail to compile an IOCCC entry?
</div>
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
@@ -1023,7 +1083,9 @@ make a change to a file and submit that change as a GitHub pull
request](#ull_request) for more information about pull requests.
### <div id="faq3_5">FAQ 3.5: What is this cb tool that is mentioned in the IOCCC?</div>
<div id="faq3_5">
### FAQ 3.5: What is this cb tool that is mentioned in the IOCCC?
</div>
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
@@ -1031,7 +1093,9 @@ judging the IOCCC. A Unix man page for `cb`
[still exists](https://www.ibm.com/docs/en/aix/7.3?topic=c-cb-command).
### <div id="faq3_6">FAQ 3.6: An IOCCC entry messed up my terminal application, how do I fix this?</div>
<div id="faq3_6">
### FAQ 3.6: An IOCCC entry messed up my terminal application, how do I fix this?
</div>
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`.
@@ -1039,10 +1103,18 @@ usually away with `stty echo`. Sometimes you can also get away with `stty sane`.
will too but it won't reset the terminal).
### <div id="faq3_7"><div id="X11macOS"><div id="X11">FAQ 3.7: How do I run an IOCCC entry that requires X11?</div></div></div>
<div id="faq3_7">
<div id="X11macOS">
<div id="X11">
### FAQ 3.7: How do I run an IOCCC entry that requires X11?
</div>
</div>
</div>
#### <div id="X11_general">Generally, to compile and run an IOCCC entry that requires X11:</div>
<div id="X11_general">
#### Generally, to compile and run an IOCCC entry that requires X11:
</div>
You must have the X11 related include files and X11 libraries in order to
compile the IOCCC entry. In order to do this you will need to install Xorg and
@@ -1065,7 +1137,9 @@ By X11 terminal application we suggest one of:
See below for various system related hints that may be of help.
#### <div id="Xorg_deprecated">X.org server has been deprecated</div>
<div id="Xorg_deprecated">
#### X.org server has been deprecated
</div>
The Red Hat RHEL9.0 release notes state that [X.org Server is now
deprecated](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/9.0_release_notes/deprecated_functionality#deprecated-functionality_graphics-infrastructures).
@@ -1226,7 +1300,11 @@ See the [X.org](https://x.org/wiki/) foundation web site.
See the above note for details.
### <div id="faq3_8"><div id="SDL">FAQ 3.8: How do I compile an IOCCC entry that requires SDL1 or SDL2?</div></div>
<div id="faq3_8">
<div id="SDL">
### FAQ 3.8: How do I compile an IOCCC entry that requires SDL1 or SDL2?
</div>
</div>
This depends on your operating system but below are instructions for Linux and
macOS with alternative methods for macOS and different package managers with Linux.
@@ -1344,7 +1422,11 @@ See the [FAQ 6.10 How does someone make a change to a file and submit that chang
as a GitHub pull request](#ull_request) for more information about pull requests.
### <div id="faq3_9"><div id="curses">FAQ 3.9: How do I compile an IOCCC entry that requires (n)curses?</div></div>
<div id="faq3_9">
<div id="curses">
### FAQ 3.9: How do I compile an IOCCC entry that requires (n)curses?
</div>
</div>
This depends on your operating system but below are instructions for Linux and
macOS with alternative methods for macOS and different package managers with Linux.
@@ -1407,7 +1489,11 @@ for downloading, installing and using ncurses.
We recommend trying a method suitable for your environment first, if possible.
### <div id="faq3_10"><div id="sox">FAQ 3.10: How do I compile and use an IOCCC entry that requires sound?</div></div>
<div id="faq3_10">
<div id="sox">
### FAQ 3.10: How do I compile and use an IOCCC entry that requires sound?
</div>
</div>
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
@@ -1465,7 +1551,9 @@ Usually the index.html file will explain how to use it under Linux so we do not
include this here, at least for now.
### <div id="faq3_11">FAQ 3.11: Why do Makefiles use -Weverything with clang?</div>
<div id="faq3_11">
### FAQ 3.11: Why do Makefiles use -Weverything with clang?
</div>
While we know that use of `-Weverything` is generally not recommended
by `clang` C compiler developers, we do use the `-Weverything`
@@ -1569,7 +1657,9 @@ you can get your entry to work well in `clang` it might very well be considered
better than other entries.
### <div id="faq3_12">FAQ 3.12: How do I find out how to send interrupt/EOF etc. for entries that require it?</div>
<div id="faq3_12">
### FAQ 3.12: How do I find out how to send interrupt/EOF etc. for entries that require it?
</div>
For some entries one needs to send interrupt or EOF or some other signal/other
special characters. There are typical defaults like (where `^` = ctrl):
@@ -1601,7 +1691,11 @@ reason it's not you might have to do something else including just piping it to
just `grep intr` or whatever.
### <div id="faq3_13"><div id="no_support">FAQ 3.13: Why does an IOCCC entry fail to compile or or fail run?</div></div>
<div id="faq3_13">
<div id="no_support">
### FAQ 3.13: Why does an IOCCC entry fail to compile or or fail run?
</div>
</div>
What may have worked years ago may not work well or work at all today.
Please note that the IOCCC judges do **NOT** support IOCCC entries.
@@ -1639,7 +1733,11 @@ request](https://github.com/ioccc-src/temp-test-ioccc/pulls).
Please see [FAQ 5.2](#fix_an_entry) for how to submit a fix to an IOCCC entry.
### <div id="faq3_14"><div id="tcpserver">FAQ 3.14 - How do I compile and install tcpserver for entries that require it?</div></div>
<div id="faq3_14">
<div id="tcpserver">
### FAQ 3.14 - How do I compile and install tcpserver for entries that require it?
</div>
</div>
If your OS package manager does not have the package `tcpserver` you can
download, making sure you're in a temporary directory, and compile the source
@@ -1662,7 +1760,11 @@ That will install it to `/usr/local/bin`. Now you should be able to use the
entry in question.
### <div id="faq3_15"><div id="netpbm">3.15 - How do I compile and install netpbm for entries that require it?</div></div>
<div id="faq3_15">
<div id="netpbm">
### 3.15 - How do I compile and install netpbm for entries that require it?
</div>
</div>
This depends on your operating system for which we describe a couple below.
@@ -1739,7 +1841,11 @@ We recommend trying a method suitable for your environment first, if possible.
### <div id="faq3_16"><div id="libjpeg">3.16 - How do I compile and install libjpeg-turbo for entries that require it?</div></div>
<div id="faq3_16">
<div id="libjpeg">
### 3.16 - How do I compile and install libjpeg-turbo for entries that require it?
</div>
</div>
This depends on your operating system for which we describe a couple below.
@@ -1816,7 +1922,11 @@ for downloading, installing and using libjpeg-turbo.
We recommend trying a method suitable for your environment first, if possible.
### <div id="faq3_17"><div id="imagemagick">3.17 - How do I compile and install ImageMagick for entries that require it?</div></div>
<div id="faq3_17">
<div id="imagemagick">
### 3.17 - How do I compile and install ImageMagick for entries that require it?
</div>
</div>
This depends on your operating system for which we describe a couple below.
@@ -1891,7 +2001,11 @@ for downloading, installing and using ImageMagick.
We recommend trying a method suitable for your environment first, if possible.
### <div id="faq3_18"><div id="OpenGL">3.18 - How do I compile and install OpenGL for entries that require it?</div></div>
<div id="faq3_18">
<div id="OpenGL">
### 3.18 - How do I compile and install OpenGL for entries that require it?
</div>
</div>
This depends on your operating system for which we describe a couple below.
@@ -1963,7 +2077,11 @@ for downloading, installing and using OpenGL.
We recommend trying a method suitable for your environment first, if possible.
### <div id="faq3_19"><div id="make_compatibility">3.19 - What kind of make(1) compatibility does the IOCCC support and will it support other kinds?</div></div>
<div id="faq3_19">
<div id="make_compatibility">
### 3.19 - What kind of make(1) compatibility does the IOCCC support and will it support other kinds?
</div>
</div>
For the [IOCCC](https://www.ioccc.org) [mkiocccentry submission
toolkit](https://github.com/ioccc-src/mkiocccentry) and the [winning IOCCC
@@ -1994,10 +2112,14 @@ it like:
though of course for both you may specify a rule or rules to run.
## <div id="faq4">Section 4: Changes made to IOCCC entries</div>
<div id="faq4">
## Section 4: Changes made to IOCCC entries
</div>
### <div id="faq4_0">FAQ 4.0: Why are some winning entry remarks incongruent with the winning IOCCC code?</div>
<div id="faq4_0">
### FAQ 4.0: Why are some winning entry remarks incongruent with the winning IOCCC code?
</div>
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
@@ -2009,7 +2131,11 @@ version like `dirname.alt.c` or `prog.alt.c`. In fact it is advisable to look at
the original code when reading the author's (and sometimes authors') remarks.
### <div id="faq4_1"><div id="gets">FAQ 4.1: Why were some calls to the libc function `gets(3)` changed to use `fgets(3)`?</div></div>
<div id="faq4_1">
<div id="gets">
### FAQ 4.1: Why were some calls to the libc function `gets(3)` changed to use `fgets(3)`?
</div>
</div>
Some may wonder: "Doesn't this tamper with the entry too much?"
@@ -2059,7 +2185,11 @@ can look almost identical.
### <div id="faq4_2"><div id="what_changed">FAQ 4.2: What was changed in an IOCCC entry source code?</div></div>
<div id="faq4_2">
<div id="what_changed">
### FAQ 4.2: What was changed in an IOCCC entry source code?
</div>
</div>
We have set up make rules to easily do see what was changed in the winning IOCCC
entry source. Using the `Makefile` in the entry directory, use
@@ -2156,7 +2286,9 @@ Obviously if you want to view the alt code or the orig code you can just open
the files as described above.
### <div id="faq4_3"> FAQ 4.3 - Why do author remarks sometimes not match the source and/or why are there other inconsistencies with the original entry?</div>
<div id="faq4_3">
### FAQ 4.3 - Why do author remarks sometimes not match the source and/or why are there other inconsistencies with the original entry?
</div>
If the entry has been fixed for modern systems and this fix required
modification to the code then invariably there will be entries where the remarks
@@ -2177,17 +2309,25 @@ VAX-11/PDP-11, however).
See also [FAQ 4.2: What was changed in an IOCCC entry source code?](#what_changed)
### <div id="faq4_4">FAQ 4.4: What is the meaning of the file ending in .orig.c in IOCCC entries?</div>
<div id="faq4_4">
### FAQ 4.4: What is the meaning of the file ending in .orig.c in IOCCC entries?
</div>
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
we can find.
## <div id="faq5">Section 5: Updating or correcting IOCCC web site content</div>
<div id="faq5">
## Section 5: Updating or correcting IOCCC web site content
</div>
### <div id="faq5_0"><div id="how_to_help">FAQ 5.0: How may I help the IOCCC?</div></div>
<div id="faq5_0">
<div id="how_to_help">
### FAQ 5.0: How may I help the IOCCC?
</div>
</div>
### We welcome your help in fixing IOCCC entries
@@ -2206,7 +2346,11 @@ section may offer you important fixing clues.
### We welcome your help on fixing the IOCCC web site
### <div id="faq5_1"><div id="report_bug">FAQ 5.1: How do I report a bug in an IOCCC entry?</div></div>
<div id="faq5_1">
<div id="report_bug">
### FAQ 5.1: How do I report a bug in an IOCCC entry?
</div>
</div>
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
@@ -2229,7 +2373,11 @@ to a file and submit that change as a GitHub pull request](#ull_request)
for more information about pull requests.
### <div id="faq5_2"><div id="fix_an_entry">FAQ 5.2: How may I submit a fix to an IOCCC entry?</div></div>
<div id="faq5_2">
<div id="fix_an_entry">
### FAQ 5.2: How may I submit a fix to an IOCCC entry?
</div>
</div>
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
@@ -2273,7 +2421,11 @@ Note that we're much more inclined to accept an author's fixes but the judges
have the final say in the matter.
### <div id="faq5_3"><div id="report_web_problem">FAQ 5.3: How may I report an IOCCC web site problem?</div></div>
<div id="faq5_3">
<div id="report_web_problem">
### FAQ 5.3: How may I report an IOCCC web site problem?
</div>
</div>
If you discover a problem with the IOCCC web site that is related
to a particular IOCCC entry, please see [FAQ 5.1](#report_bug) for
@@ -2295,7 +2447,11 @@ has been reported, then fee free to open a [new IOCCC
issue](https://github.com/ioccc-src/winner/issues).
### <div id="faq5_4"><div id="fix_web_site">FAQ 5.4: How may I submit a fix to the IOCCC web site?</div></div>
<div id="faq5_4">
<div id="fix_web_site">
### FAQ 5.4: How may I submit a fix to the IOCCC web site?
</div>
</div>
For IOCCC web site problems that relate to a particular IOCCC entry, please
see [FAQ 5.2](#fix_an_entry) for information on how submit a fix to an IOCCC entry.
@@ -2367,7 +2523,11 @@ If this happens, consider opening up an [IOCCC issue](https://github.com/ioccc-s
and ask for help. See [FAQ 5.3](#fix_an_entry) for information on opening up an IOCCC issue.
## <div id="faq5_5"><div id="fix_author">FAQ 5.5: How may I correct or update IOCCC author information?</div></div>
<div id="faq5_5">
<div id="fix_author">
## FAQ 5.5: How may I correct or update IOCCC author information?
</div>
</div>
Authors of IOCCC winning entries are kept in JSON files of the form:
@@ -2393,7 +2553,11 @@ make a change to a file and submit that change as a GitHub pull
request](#ull_request) for more information about pull requests.
## <div id="faq5_6"><div id="fix_link">FAQ 5.6: What should I do if I find a broken or wrong web link?</div></div>
<div id="faq5_6">
<div id="fix_link">
## FAQ 5.6: What should I do if I find a broken or wrong web link?
</div>
</div>
We would appreciate if you try to fix the broken (the link goes nowhere) or wrong
(the link goes to something that clearly is not the original intent) web link.
@@ -2442,10 +2606,14 @@ replace that text with:
If you just wish to report the bad link issue, see [FAQ 5.3](#report_web_problem).
## <div id="faq6">Section 6: Miscellaneous IOCCC</div>
<div id="faq6">
## Section 6: Miscellaneous IOCCC
</div>
### <div id="faq6_0">FAQ 6.0: How did an entry that breaks the size rule 2 win the IOCCC?</div>
<div id="faq6_0">
### FAQ 6.0: How did an entry that breaks the size rule 2 win the IOCCC?
</div>
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
@@ -2461,7 +2629,9 @@ In some cases the entry may have abused rule 2 and declared an
get around rule 2 size limits is discouraged).
### <div id="faq6_1">FAQ 6.1: Is there a list of known bugs and misfeatures of IOCCC entries?</div>
<div id="faq6_1">
### FAQ 6.1: Is there a list of known bugs and misfeatures of IOCCC entries?
</div>
Yes! Please see [bugs.html](bugs.html) for a list of known bugs and/or issues of a
variety of kinds.
@@ -2471,12 +2641,16 @@ not an issue and note that some issues are simply missing files, dead URL(s) or
something like that.
### <div id="faq6_2">FAQ 6.2: May I mirror the IOCCC web site?</div>
<div id="faq6_2">
### FAQ 6.2: May I mirror the IOCCC web site?
</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.
### <div id="faq6_3">FAQ 6.3: May I use parts of the IOCCC in an article, book, newsletter, or instructional material?</div>
<div id="faq6_3">
### FAQ 6.3: May I use parts of the IOCCC in an article, book, newsletter, or instructional material?
</div>
While IOCCC judges look favorably on most requests to use IOCCC material,
we request that you ask the [IOCCC judges](judges.html) first.
@@ -2491,7 +2665,9 @@ See [FAQ 6.11](#license) for additional information on the
[Copyright and CC BY-SA 4.0 License](license.html).
### <div id="faq6_4">FAQ 6.4: Why do you sometimes use the first person plural?</div>
<div id="faq6_4">
### FAQ 6.4: Why do you sometimes use the first person plural?
</div>
As a precedent for [first person
plural](https://en.wikipedia.org/wiki/Nosism), we may sight [Two-,
@@ -2528,7 +2704,11 @@ p.s. Here is an image of F. D. C. Willard:
[F D C Willard](png/F.D.C.Willard.png)
### <div id="faq6_5"><div id="author_handle">FAQ 6.5: What is an author handle?</div></div>
<div id="faq6_5">
<div id="author_handle">
### FAQ 6.5: What is an author handle?
</div>
</div>
An `author_handle` is string that refers to a given author and is unique to the
IOCCC. Each author has exactly one `author_handle`.
@@ -2594,7 +2774,11 @@ See [FAQ 5.5](#fix_author) for information about how to update
and/or correct IOCCC author information.
### <div id="faq6_6"><div id="author_json">FAQ 6.6: What is a author_handle.json file and how are they used?</div></div>
<div id="faq6_6">
<div id="author_json">
### FAQ 6.6: What is a author_handle.json file and how are they used?
</div>
</div>
**TL:DR**: The contents of these JSON files contain the best known
information about authors of IOCCC entries and is used to help form
@@ -3073,7 +3257,11 @@ See [FAQ 5.5](#fix_author) for information about how to update
and/or correct IOCCC author information.
### <div id="faq6_7"><div id="author_json">FAQ 6.7: What is a entry_id?</div></div>
<div id="faq6_7">
<div id="author_json">
### FAQ 6.7: What is a entry_id?
</div>
</div>
A `entry_id` is a string that identifies a winning entry of the IOCCC.
@@ -3093,7 +3281,9 @@ The `entry_id` for that winning entry is:
```
### <div id="faq6_8">FAQ 6.8: What is the purpose of the .top, .year and .path files?</div>
<div id="faq6_8">
### FAQ 6.8: What is the purpose of the .top, .year and .path files?
</div>
The [.top](.top) file resides at the top directory. This file contains the complete list
of IOCCC years.
@@ -3112,7 +3302,11 @@ The .top, .year and .path files are generated from the top level Makefile, by:
```
### <div id="faq6_9"><div id="terms">FAQ 6.9: What is the current meaning of the IOCCC terms Author, Entry, and Submission?</div></div>
<div id="faq6_9">
<div id="terms">
### FAQ 6.9: What is the current meaning of the IOCCC terms Author, Entry, and Submission?
</div>
</div>
The IOCCC is now attempting to use the following terms:
@@ -3170,7 +3364,11 @@ such as old rules and old guidelines, terms such as _entry_ may still be
found. Moreover, out of habit, the IOCCC judges sometimes use old
names such as _entry_ when they should use _submission_. Sorry (tm Canada)! :-)
### <div id="faq6_10"><div id="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 id="faq6_10">
<div id="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>
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
@@ -3418,7 +3616,11 @@ example, you would type:
This will merge your pull request to your fork.
### <div id="faq6_11"><div id="license">FAQ 6.11: Am I allowed to use IOCCC content?</div></div>
<div id="faq6_11">
<div id="license">
### FAQ 6.11: Am I allowed to use IOCCC content?
</div>
</div>
**Disclaimer**: This FAQ is **not a license**, has **no legal
value**, and only highlights some of the key features and terms of