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:
1 parent
c223b8f1d6
commit
112e35a1b5
2 files changed
+342
-210
No files matched your search
@@ -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&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'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 && git pull https://github.com/ioccc-src/temp-test-ioccc.git master && 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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in new issue
Block a user