Fixes in FAQ

This commit is contained in:
Cody Boone Ferguson committed 2024-06-30 13:57:15 -07:00
1 parent 6e27348540
commit 497072163b
3 files changed
+72 -76

No files matched your search

+1 -1
View File
@@ -517,7 +517,7 @@ guidelines: ${GEN_TOP_HTML} next/guidelines.md
faq: ${GEN_TOP_HTML} faq.md
@echo '=-=-=-=-= IOCCC begin make $@ =-=-=-=-='
@echo "Wait, you have questions? Uh oh!"
@${GEN_TOP_HTML} next/guidelines
@${GEN_TOP_HTML} faq
@echo "Well, okay then!"
@echo '=-=-=-=-= IOCCC complete make $@ =-=-=-=-='
+10 -10
View File
@@ -564,7 +564,7 @@ submission on a frequently submitted theme will have to do something
in a <strong>really unique AND interesting way</strong> to even make it into the
final judging rounds. It will have to compete with previous IOCCC
winners based on the same theme.</p>
<p><strong>IMPORTANT HINT</strong>: If you really wish send in an submission on a
<p><strong>IMPORTANT HINT</strong>: If you really wish send in a submission on a
frequently submitted theme, be sure that it is obfuscated in several
new and novel ways.</p>
<p><strong>IMPORTANT HINT</strong>: Be sure to <strong>clearly explain</strong> near the beginning
@@ -573,7 +573,7 @@ of your <code>remarks.md</code> file, see <a href="#remarks_md">FAQ 2.1</a>,
submitted theme</strong> and <strong>how compares with previous IOCCC winners</strong>
of the same theme.</p>
<h4 id="examples-of-frequently-submitted-themes">Examples of frequently submitted themes</h4>
<h5 id="maze-generator">maze generator</h5>
<h5 id="maze-generator">Maze generator</h5>
<ul>
<li><a href="1985/shapiro/index.html">1985/shapiro</a></li>
<li><a href="1991/buzzard/index.html">1991/buzzard</a></li>
@@ -581,18 +581,18 @@ of the same theme.</p>
<li><a href="1995/dodsond2/index.html">1995/dodsond2</a></li>
<li><a href="1998/bas1/index.html">1998/bas1</a></li>
</ul>
<h5 id="tic-tac-toenoughts-and-crossesxs-and-os-game">tic-tac-toe/noughts and crosses/Xs and Os game</h5>
<h5 id="tic-tac-toenoughts-and-crossesxs-and-os-game">Tic-Tac-Toe/Noughts and Crosses/Xs and Os game</h5>
<ul>
<li><a href="1991/westley/index.html">1991/westley</a></li>
<li><a href="1996/jonth/index.html">1996/jonth</a></li>
<li><a href="2020/carlini/index.html">2020/carlini</a></li>
</ul>
<h5 id="solitaireothello-game">solitaire/Othello game</h5>
<h5 id="solitaireothello-game">Solitaire/Othello game</h5>
<ul>
<li><a href="1987/lievaart/index.html">1987/lievaart</a></li>
<li><a href="1994/dodsond1/index.html">1994/dodsond1</a></li>
</ul>
<h5 id="generating-small-primes-below-is-the-list-of-all-prime-related-winning-entries">generating small primes (below is the list of all prime related winning entries)</h5>
<h5 id="generating-small-primes-below-is-the-list-of-all-prime-related-winning-entries">Generating small primes (below is the list of all prime related winning entries)</h5>
<ul>
<li><a href="1985/august/index.html">1985/august</a></li>
<li><a href="1988/applin/index.html">1988/applin</a></li>
@@ -601,13 +601,13 @@ of the same theme.</p>
<li><a href="1996/dalbec/index.html">1996/dalbec</a></li>
<li><a href="2000/bellard/index.html">2000/bellard</a></li>
</ul>
<h5 id="self-reproducing-program">self reproducing program</h5>
<h5 id="self-reproducing-program">Self-reproducing program</h5>
<ul>
<li><a href="1990/scjones/index.html">1990/scjones</a></li>
<li><a href="1994/smr/index.html">1994/smr</a> - <em>do not claim your program is the smallest without seeing this entry</em>!</li>
<li><a href="2000/dhyang/index.html">2000/dhyang</a> - <em>this entry set a high bar for entries of this theme</em></li>
</ul>
<h5 id="entries-that-just-print-hello-world">entries that just print “Hello, world!”</h5>
<h5 id="entries-that-just-print-hello-world">Entries that just print “Hello, world!”</h5>
<ul>
<li><a href="1984/anonymous/index.html">1984/anonymous</a></li>
<li><a href="1985/applin/index.html">1985/applin</a></li>
@@ -617,14 +617,14 @@ of the same theme.</p>
<li><a href="1992/lush/index.html">1992/lush</a></li>
<li><a href="2000/tomx/index.html">2000/tomx</a></li>
</ul>
<h5 id="entries-that-use-some-complex-state-machinetable-to-print-something">entries that use some complex state machine/table to print something</h5>
<h5 id="entries-that-use-some-complex-state-machinetable-to-print-something">Entries that use some complex state machine/table to print something</h5>
<ul>
<li><a href="1988/isaak/index.html">1988/isaak</a></li>
<li><a href="1988/phillipps/index.html">1988/phillipps</a></li>
<li><a href="2018/ciura/index.html">2018/ciura</a></li>
<li><a href="2018/giles/index.html">2018/giles</a></li>
</ul>
<h5 id="rot13">rot13</h5>
<h5 id="rot13">ROT13</h5>
<ul>
<li><a href="1985/sicherman/index.html">1985/sicherman</a></li>
<li><a href="1989/westley/index.html">1989/westley</a></li>
@@ -652,7 +652,7 @@ of your <code>remarks.md</code> file, see <a href="#remarks_md">FAQ 2.1</a>,
submitted theme</strong> and <strong>how compares with previous IOCCC winners</strong>
of the same theme.</p>
<div id="faq0_2">
<div id="submission_makefiles">
<div id="submission_makefile">
<h3 id="faq-0.2-what-should-i-put-in-my-entrys-makefile">FAQ 0.2: What should I put in my entry’s Makefile?</h3>
</div>
</div>
+61 -65
View File
@@ -4,9 +4,9 @@
## Section 0 - [Submitting entries to a new IOCCC](#faq0)
- [0.0 - How may I enter the IOCCC?](#faq0_0)
- [0.1 - What types of entries have been frequently submitted to the IOCCC?](#faq0_1)
- [0.2 - What should I put in my submission's Makefile?](#faq0_2)
- [0.2 - What should I put in my entry's Makefile?](#faq0_2)
- [0.3 - May I use a different source or compiled filename than prog.c or prog?](#faq0_3)
- [0.4 - What platform should I assume for my submission?](#faq0_4)
- [0.4 - What platform should I assume for my entry?](#faq0_4)
- [0.5 - How may I comment or make a suggestion on IOCCC rules, guidelines and tools?](#faq0_5)
- [0.6 - What are the IOCCC best practices for using markdown?](#faq0_6)
@@ -20,12 +20,12 @@
## Section 2 - [IOCCC Judging process](#faq2)
- [2.0 - How many entries do the judges receive for a given IOCCC?](#faq2_0)
- [2.1 - What should I put in the remarks.md file of my submission?](#faq2_1)
- [2.1 - What should I put in the remarks.md file of my entry?](#faq2_1)
- [2.2 - Why don't you publish entries that do not win?](#faq2_2)
- [2.3 - How much time does it take to judge the contest?](#faq2_3)
- [2.4 - How many judging rounds do you have?](#faq2_4)
- [2.5 - Why do some IOCCC entries receive the Grand Prize or Best of Show award?](#faq2_5)
- [2.6 - How are winning IOCCC entries announced?](#faq2_6)
- [2.6 - How are IOCCC entries announced?](#faq2_6)
## Section 3 - [Compiling and running IOCCC entries](#faq3)
@@ -55,7 +55,7 @@
## Section 4 - [Changes made to IOCCC entries](#faq4)
- [4.0 - Why are some winning author remarks incongruent with the winning IOCCC code?](#faq4_0)
- [4.1 - Why were some calls to the libc function gets&#x28;3&#x29; changed to use fgets&#x28;3&#x29;?](#faq4_1)
- [4.2 - What was changed in an IOCCC entry's source code?](#faq4_2)
- [4.2 - What was changed in an IOCCC entry source code?](#faq4_2)
- [4.3 - Why do author remarks sometimes not match the source and/or why are there
other inconsistencies with the original entry?](#faq4_3)
- [4.4 - What is the meaning of the file ending in .orig.c in IOCCC entries?](#faq4_4)
@@ -171,7 +171,7 @@ If you already have an mkiocccentry tool directory:
make clobber all
```
#### 5. Run the mkiocccentry tool to form your submission tarball
#### 5. Run the mkiocccentry tool to form your entry tarball
```sh
mkiocccentry work_dir prog.c Makefile remarks.md [file ...]
@@ -181,11 +181,11 @@ where:
* work_dir
directory where the submission directory and tarball are formed
directory where the entry directory and tarball are formed
* prog.c
path to the C source for your submission
path to the C source for your entry
* Makefile
@@ -193,31 +193,31 @@ where:
* remarks.md
Remarks about your submission in markdown format: see [FAQ 2.1](#remarks_md) for more info.
Remarks about your entry in markdown format: see [FAQ 2.1](#remarks_md) for more info.
* [file ...]
Optional extra data files to include with your submission
Optional extra data files to include with your entry
NOTE: Please see our [IOCCC markdown guide](markdown.html) for **important information** on using markdown in the IOCCC.
NOTE: It is *NOT* necessary to install the tools to use them as you can run
the tools from the top of the _mkiocccentry repo_ directory just fine.
If `mkiocccentry` tool indicates that there is a problem with your submission,
If `mkiocccentry` tool indicates that there is a problem with your entry,
especially if it identifies a [rule 2](next/rules.html#2) related problem,
you are **strongly** encouraged to revise and correct your submission and
you are **strongly** encouraged to revise and correct your entry and
then re-run the `mkiocccentry` tool.
If you choose to risk violating rules, be sure an explain your reason
for doing so in your `remarks.md` file.
#### 6. Upload your submission tarball to the IOCCC submit server
#### 6. Upload your entry to the IOCCC submit server
The **IOCCC submit server** is still being written.
<!--XXX--> As such, we do not yet have instructions
on how upload your submission tarball to the **IOCCC submit server**. Once
on how upload your entry to the **IOCCC submit server**. Once
**IOCCC submit server** is ready, we will update this section
with the proper instructions. Watch the [IOCCC news](news.html)
for an announcement of the availability of the **IOCCC submit server**.
@@ -243,7 +243,7 @@ in a **really unique AND interesting way** to even make it into the
final judging rounds. It will have to compete with previous IOCCC
winners based on the same theme.
**IMPORTANT HINT**: If you really wish send in an submission on a
**IMPORTANT HINT**: If you really wish send in a submission on a
frequently submitted theme, be sure that it is obfuscated in several
new and novel ways.
@@ -257,7 +257,7 @@ of the same theme.
#### Examples of frequently submitted themes
##### maze generator
##### Maze generator
- [1985/shapiro](1985/shapiro/index.html)
- [1991/buzzard](1991/buzzard/index.html)
@@ -266,20 +266,20 @@ of the same theme.
- [1998/bas1](1998/bas1/index.html)
##### tic-tac-toe/noughts and crosses/Xs and Os game
##### Tic-Tac-Toe/Noughts and Crosses/Xs and Os game
- [1991/westley](1991/westley/index.html)
- [1996/jonth](1996/jonth/index.html)
- [2020/carlini](2020/carlini/index.html)
##### solitaire/Othello game
##### Solitaire/Othello game
- [1987/lievaart](1987/lievaart/index.html)
- [1994/dodsond1](1994/dodsond1/index.html)
##### generating small primes (below is the list of all prime related winning entries)
##### Generating small primes (below is the list of all prime related winning entries)
- [1985/august](1985/august/index.html)
- [1988/applin](1988/applin/index.html)
@@ -289,14 +289,14 @@ of the same theme.
- [2000/bellard](2000/bellard/index.html)
##### self reproducing program
##### Self-reproducing program
- [1990/scjones](1990/scjones/index.html)
- [1994/smr](1994/smr/index.html) - _do not claim your program is the smallest without seeing this entry_!
- [2000/dhyang](2000/dhyang/index.html) - _this entry set a high bar for entries of this theme_
##### entries that just print "Hello, world!"
##### Entries that just print "Hello, world!"
- [1984/anonymous](1984/anonymous/index.html)
- [1985/applin](1985/applin/index.html)
@@ -307,7 +307,7 @@ of the same theme.
- [2000/tomx](2000/tomx/index.html)
##### entries that use some complex state machine/table to print something
##### Entries that use some complex state machine/table to print something
- [1988/isaak](1988/isaak/index.html)
- [1988/phillipps](1988/phillipps/index.html)
@@ -315,7 +315,7 @@ of the same theme.
- [2018/giles](2018/giles/index.html)
##### rot13
##### ROT13
- [1985/sicherman](1985/sicherman/index.html)
- [1989/westley](1989/westley/index.html)
@@ -349,15 +349,15 @@ state something along the lines of:
**FAIR WARNING**: Be sure to **clearly explain** near the beginning
of your `remarks.md` file, see [FAQ 2.1](#remarks_md),
**why you are submitting an entry based on a frequently
**why you are submitting a entry based on a frequently
submitted theme** and **how compares with previous IOCCC winners**
of the same theme.
<div id="faq0_2">
<div id="submission_makefiles">
### FAQ 0.2: What should I put in my submissions's Makefile?
<div id="submission_makefile">
### FAQ 0.2: What should I put in my entry's Makefile?
</div>
</div>
@@ -365,15 +365,14 @@ We recommend starting with the [sample
Makefile](https://github.com/ioccc-src/mkiocccentry/blob/master/Makefile.example)
as found in the [mkiocccentry GitHub repo](https://github.com/ioccc-src/mkiocccentry),
(renamed as `Makefile` of course) as a starting point for your
submission's `Makefile`.
entry's `Makefile`.
The `Makefile` is a file used by the `make(1)` command that contains
rules and UNIX shell-style commands.
The first and default rule should be the `all` rule and should build your
submission's executable file.
The first and default rule should be the `all` rule and should build your entry's executable file.
If your submission depends on a particular source file name during compilation or execution,
If your entry depends on a particular source file name during compilation or execution,
your `Makefile` should copy `prog.c` into the desired filename. For example:
If you are not familiar `Makefile`s, you might consider the following tutorials:
@@ -391,8 +390,7 @@ command that is compatible with GNU Make version 3.81.
### FAQ 0.3: May I use a different source or compiled filename than prog.c or prog?
</div>
While your submission's source filename, as submitted, must be `prog.c`, your
submission's `Makefile`
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:
``` <!---make-->
@@ -409,7 +407,7 @@ may copy `prog.c` to a different filename as part of the compiling/building proc
rm -f desired_name.c desired_name
```
We recommend that the `make clobber` rule remove files that your submission
We recommend that the `make clobber` rule remove files that your entry
creates as part of the compiling/building process.
You may also copy the compiled `prog` into a different file as part of compiling process.
@@ -424,11 +422,11 @@ For example:
<div id="faq0_4">
<div id="SUS">
### FAQ 0.4: What platform should I assume for my submission?
### FAQ 0.4: What platform should I assume for my entry?
</div>
</div>
Your submission must compile with **clang** or **gcc** and run under at least one flavor of a UNIX
Your entry must compile with **clang** or **gcc** and run under at least one flavor of a UNIX
system that conforms to the [SUS](https://en.wikipedia.org/wiki/Single_UNIX_Specification),
otherwise known as the [The Single UNIX Specification Version 4](https://unix.org/version4/)
or [later SUS](https://unix.org/online.html).
@@ -471,8 +469,8 @@ discussion with the [IOCCC judges](judges.html), then see
</div>
The IOCCC makes extensive use of [markdown](https://daringfireball.net/projects/markdown/).
For example, when [submitting to the IOCCC](faq.html#submit), we have people
submit remarks about submissions in markdown format. Every
For example, we [submitting to the IOCCC](faq.html#submit), we have people
to submit remarks about entry in markdown format. Every
[winning IOCCC entry](years.html) uses a `README.md` markdown file
as the basis for forming the `index.html` web page for that entry.
All generated HTML pages on the [Official IOCCC website](https://www.ioccc.org/index.html)
@@ -835,7 +833,7 @@ NOTE: The size rule was actually rule 1.
<div id="faq2_0">
<div id="how_many">
### FAQ 2.0: How many submissions do the judges receive for a given IOCCC?
### FAQ 2.0: How many entries do the judges receive for a given IOCCC?
</div>
</div>
@@ -844,21 +842,21 @@ By tradition, we do not say.
<div id="faq2_1">
<div id="remarks_md">
### FAQ 2.1: What should I put in the remarks.md file of my submission?
### FAQ 2.1: What should I put in the remarks.md file of my entry?
</div>
</div>
While you may put in as much or as little as you wish into your submission's
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:
We recommend that you explain how to use your submission. Explain the
We recommend that you explain how to use your entry. Explain the
command line (if any command line options and arguments are used)
and any input or actions if applicable.
We highly recommend that you explain why you think your submission is
We highly recommend that you explain why you think your entry is
well obfuscated.
For those submission that win the IOCCC, we often use much of text from the
For those entries that win the IOCCC, we often use much of text from the
`remarks.md` file in the _Author's remarks_ section of the `index.html` file.
For this reason, a well written `remarks.md` file is considered a plus.
@@ -866,53 +864,51 @@ While not required, consider adding bit of humor to your `remarks.md`
as most people who are not humor impaired, as well as the IOCCC judges
appreciate the opportunity for a fun read as well as a chuckle or two.
**PLEASE** also look at [markdown.html](markdown.html) for the IOCCC markdown
guidelines.
#### What helps:
- explaining what your submission does
- explaining what your entry does
- how to entice it to do what it is supposed to do
- what obfuscations are used
- what are the limitations of your submission in respect of portability and/or input data
- what are the limitations of your entry in respect of portability and/or input data
- how it works (if you are really condescending)
#### What does not help:
- admitting that your submission is not very obfuscated (you see, the contest is
- admitting that your entry is not very obfuscated (you see, the contest is
called the **IOCCC**, not the **INVOCCC** :-) ); but even if you do not admit
it, not very obfuscated submission have a minuscule chance to win (although
it, not very obfuscated entries have a minuscule chance to win (although
[2000/tomx](2000/tomx/index.html) is a notable counterexample).
- mentioning your name or any identifying information in the remark section (or
in the C code for that matter) - we like to be unbiased during the judging
rounds; we look at the author name only if a submission wins. See the guidelines if
rounds; we look at the author name only if an entry wins. See the guidelines if
this is not clear!
- leaving the remark section empty.
### FAQ 2.2: Why don't you publish submissions that do not win?
%%REPO_URL%%/<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
submissions that do not win on their web page for everyone to see.
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>
It takes a fair amount of time to setup, run, answer email, process submissions,
review submissions, trim down the set submissions to a set of winning entries, doing the
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
write-up of the entries, announcing the entries, reviewing final edits of the
winning entry set, posting the winning entries, being flamed :-), tell folks who send in
late entries to wait until the next contest, etc... It takes a few weekends and
a number nights of study and work ... which is hard given that we are busy with
many other activities as well.
Note that **we do not** contact the author if a submission does not compile or does not
Note that we do not contact the author if an entry does not compile or does not
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
@@ -975,7 +971,7 @@ more other entries that came in close behind.
<div id="faq2_6">
### FAQ 2.6: How are winning IOCCC entries announced?
### FAQ 2.6: How are IOCCC entries announced?
</div>
Once the [IOCCC](index.html) closes, the judges will:
@@ -1155,7 +1151,7 @@ for details.
### FAQ 3.4: Why does clang or gcc fail to compile an IOCCC entry?
</div>
Although we have fixed most entries to work with clang (sometimes in an alt
Although we have fixed numerous entries to work with clang (sometimes in an alt
version but usually in the program itself) there are some that simply cannot be
fixed or if they are fixable they have not yet been fixed (we are working on
this but other things have to be done too and all on free time).
@@ -1697,7 +1693,7 @@ if you're running out of bytes due to rule 2[ab] one might not have much choice.
This is something that obfuscation authors simply sometimes have to deal with!
If you try to minimize the number of `-Wno-foo` options needed with
`-Weverything`, please mention this in your remarks about the submission, as the
`-Weverything`, please mention this in your remarks about the entry, as the
judges note you attempt to honor it (see also below). In some cases your
obfuscated code will issue warnings with `-Weverything` no matter what: the
`-Wno-poison-system-directories` is a common example of this but there are
@@ -1709,12 +1705,12 @@ different build environment might still have warnings. For instance the warning
set is different in macOS (which by default is `clang`: even when run as `gcc`!)
than Linux (due to versions and possibly other things)!
Given that your submission **MUST** work as documented, you may be safer to
say that your submission keeps the number of warnings and `-Wno-foo` options while
Given that your entry **MUST** work as documented, you may be safer to
say that your entry keeps the number of warnings and `-Wno-foo` options while
compiling with `clang -Weverything` at a minimum. You might want to say the
version number and platform too as an extra safety net. Because if you claim zero
warnings, and we find a warning situation, this may diminish the value of your
submission as it is not as documented. Thus it might be wise to point this out and
entry as it is not as documented. Thus it might be wise to point this out and
if you can test it in multiple platforms (or versions of `clang`, see
below note) this would be advisable.
@@ -1750,8 +1746,8 @@ Alternatively you can try:
```
As you can see, using `clang` has some additional problems to work out but if
you can get your submission to work well in `clang` it might very well be considered
better than other submissions.
you can get your entry to work well in `clang` it might very well be considered
better than other entries.
<div id="faq3_12">
@@ -2306,7 +2302,7 @@ If you download the 1984 tarball, i.e. `1984/1984.tar.bz2`, then you might
extract it and then switch to the directory and compile everything of each
entry:
``` <!---sh-->
```sh
cd 1984
make everything
```