diff --git a/faq.html b/faq.html index 906ef616e..b4c345b16 100644 --- a/faq.html +++ b/faq.html @@ -499,10 +499,12 @@ other inconsistencies with the original entry?
.entry.json file and how is it used?Jump to: top
Jump to: top
To submit your code to the IOCCC, you MUST follow these steps:
+Jump to: top
Check the current status of the IOCCC see of the IOCCC is open.
You may only register for the IOCCC when the IOCCC is OPEN.
@@ -578,6 +581,7 @@ 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 for an announcement of the availability of the IOCCC submit server. +Jump to: top
Jump to: top
Makefile should copy prog.c into the desired file
For the make(1) connoisseur: As of 2023, IOCCC judges use GNU
make compatible make(1)
command that is compatible with GNU Make version 3.81.
Jump to: top
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:
all: desired_name
+ ... Makefile continues above ...
+
+ all: desired_name
desired_name: desired_name.c
+ rm -f $@
cc desired_name.c -o $@
desired_name.c: prog.c
rm -f $@
cp -f prog.c $@
- clobber:
- rm -f desired_name.c desired_name
+ clean:
+ rm -f desired_name.o
+
+ clobber: clobber
+ rm -f desired_name.c desired_name
+
+ ... Makefile continues below ...
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.
For example:
different_name: prog
+ ... Makefile continues above ...
+
+ all: desired_name
+
+ different_name: prog
rm -f $@
- cp -f prog $@
+ cp -f prog $@
+
+ clean:
+
+ clobber: clobber
+ rm -f desired_name
+
+ ... Makefile continues below ...
+Jump to: top
Jump to: top
Jump to: top
See also the FAQ on “rules, guidelines, tools feedback”.
+Jump to: top
See the markdown syntax guide. See also CommonMark Spec.
+Jump to: top
FAQ 0.8: How do I report bugs in a
@@ -848,6 +878,7 @@ page.mkiocccentrytool?Please see the FAQ on “reporting bugs and other issues in the mkiocccentry repo” in the mkiocccentry repo.
+Jump to: top
FAQ 0.9: What is a
@@ -1119,6 +1150,7 @@ valid by.auth.jsonfile?chkentry) your submission would be rejected for violating validate the.auth.jsonfile.If you wish to verify that your
+.auth.jsonfile is valid JSON then see the FAQ on “validating JSON documents”.Jump to: top
FAQ 0.10: What is a
@@ -1554,6 +1586,7 @@ valid by.info.jsonfile?chkentry) your submission would be rejected for violating validate the.info.jsonfile.If you wish to verify that your
+.info.jsonfile is valid JSON then see the FAQ on “validating JSON documents”.Jump to: top
-voption. For instance:If the tool is not installed then you will obviously have to specify the path of the tool.
+Jump to: top
Jump to: top
txzchk(1)runs; if you must know we refer you to the source code. +Jump to: top
See also the FAQ on “validating your submission tarball” for more information.
+Jump to: top
FAQ 0.15 - What is the
@@ -1811,6 +1848,7 @@ indirectly as part of the packaging process, especially if you wish to run one or more of these tools manually.mkiocccentrytool and how do I use it?See also the Guidelines and the Rules (and in particular Rule 17).
+Jump to: top
See the mkiocccentry repo FAQ for more up to date information on downloading, compiling, and related FAQ information.
+Jump to: top
Section 1: History of the IOCCC
Jump to: top
P.S. Part of the inspiration for making the IOCCC a contest goes to the Bulwer-Lytton fiction contest.
+Jump to: top
FAQ 1.1: Why are some years missing IOCCC entries?
@@ -1909,6 +1950,7 @@ and the tradition continues as the longest running contest on the Internet. do not permit us to hold a new IOCCC.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.
+Jump to: top
On 202y mm dd, the temporary repo was merged back into the IOCCC winner repo resulting in many, many substantial improvements to the official IOCCC website.
+Jump to: top
Jump to: top
Section 2: IOCCC Judging process
Jump to: top
FAQ 2.0: How many entries do the judges receive for a given IOCCC?
By tradition, we do not say.
+Jump to: top
Jump to: top
FAQ 2.2: Why don’t you publish submissions that do not win?
@@ -2193,6 +2240,7 @@ this is not clear!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.
+Jump to: top
FAQ 2.3: How much time does it take to judge the contest?
@@ -2210,6 +2258,7 @@ 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. +Jump to: top
Jump to: top
These could be considered the ‘best entry’ for those years with 1 or more other entries that came in close behind.
+Jump to: top
Jump to: top
Section 3: Compiling and running IOCCC entries
Jump to: top
Makefiles check theCCvariable by substrings so that if you were to do something likemake CC=gcc=mp-12it would register asgcc. +Jump to: top
It might also be worth noting that almost all entries, have been fixed so that they can compile in modern systems though just because an entry compiles does not mean it will run on your specific system.
+Jump to: top
Jump to: top
Jump to: top
Jump to: top
FAQ 3.5: What is this cb tool that is mentioned in the IOCCC?
@@ -2455,6 +2513,7 @@ for more information about pull requests. longer be available, code wise, except for Plan 9, but Plan 9 was never used for judging the IOCCC. A Unix man page forcbstill exists. +Jump to: top
cbusually away withstty echo. Sometimes you can also get away withstty sane.resetdoes the most but note that it will clear the screen (obviouslyclearwill too but it won’t reset the terminal). +Jump to: top
Jump to: top
FAQ 3.8: How do I compile an IOCCC entry that requires SDL1 or SDL2?
@@ -2684,6 +2745,7 @@ fix it and make a pull request.See the FAQ on “GitHub pull request” for more information about pull requests.
+Jump to: top
FAQ 3.9: How do I compile an IOCCC entry that requires (n)curses?
@@ -2715,6 +2777,7 @@ packages: one for compiling and one for linking / running.Go to the ncurses website and follow their instructions for downloading, installing and using ncurses.
We recommend trying a method suitable for your environment first, if possible.
+Jump to: top
Other Linux distributions
Usually the index.html file will explain how to use it under Linux so we do not include this here, at least for now.
+Jump to: top
FAQ 3.11: Why do Makefiles use -Weverything with clang?
@@ -2820,6 +2884,7 @@ differences, try from1989/westley:As you can see, using
+clanghas some additional problems to work out but if you can get your entry to work well inclangit might very well be considered better than other entries.Jump to: top
intris set to:… 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
+grep intror whatever.Jump to: top
FAQ 3.13: Why does an IOCCC entry fail to compile and/or fail to run?
@@ -2884,6 +2950,7 @@ request. Please see the FAQ on “fixing an entry” for how to submit a fix to an IOCCC entry. +Jump to: top
FAQ 3.14 - How do I compile and install tcpserver for entries that require it?
@@ -3183,9 +3250,11 @@ manually, sometimes the scripts will do additional things that you might miss and there are some other benefits as well which you would miss if you did not use them. Nevertheless, if you prefer to do it manually, whether to help you process or appreciate the entry more, then please do so. +Jump to: top
Section 4: Changes made to IOCCC entries
Jump to: top
FAQ 4.0: Why are some winning entry remarks incongruent with the winning IOCCC code?
@@ -3202,6 +3271,7 @@ the original code when reading the author’s (and sometimes authors’) remarksSee the FAQ on “original source code” for more information.
+Jump to: top
gets()does not. As the Unix version 7 man page used toWe’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.
+Jump to: top
FAQ 4.2: What was changed in an IOCCC entry source code?
@@ -3342,6 +3413,7 @@ as no changes were made (there is an alt version for systems that are not VAX-11/PDP-11, however).See also the FAQ on “entry source code changes”
+Jump to: top
FAQ 4.4: What is the meaning of the file ending in .orig.c in IOCCC entries?
@@ -3350,6 +3422,7 @@ FAQ on “entry source code changes”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.
+Jump to: top
See the FAQ on “original source code” for more information.
+Jump to: top
main()instead had to call another function that has the body of the oldmain()and that function would call itself again. In some cases, however, this had to be done even withoutclangobjections. +Jump to: top
FAQ 4.7: Why were some filenames changed?
@@ -3411,6 +3486,7 @@ method of how to display files was devised).Another example is for more consistency, sometimes to do with alternate code and other times something else.
There were certainly other reasons as well.
+Jump to: top
In a few cases files were removed and there are multiple reasons for this too.
The end result is to help improve the presentation of the entries in some way or ways.
+Jump to: top
FAQ 4.9:- What is the original source file?
@@ -3474,9 +3551,11 @@ the source code as it is now now, try:See the FAQ on “what changed” for more information and make rules relating to “original source file” differences.
+Jump to: top
Section 5: Updating or correcting IOCCC website content
Jump to: top
We welcome your help on fixing the IOCCC website
+Jump to: top
Jump to: top
Note that we’re much more inclined to accept an author’s fixes but the judges have the final say in the matter.
+Jump to: top
Jump to: top
FAQ 5.4: How may I submit a fix to the IOCCC website?
@@ -3772,6 +3855,7 @@ replace that text with:If you just wish to report the bad link issue, see FAQ on “report website problem”.
+Jump to: top
If you wish to express your support and/or appreciation for our efforts, we suggest making an Anonymous gift via the IOCCC Amazon wishlist.
+Jump to: top
index.htmlhappy to include any whatever notes and/or comments from your new discussion that be prove helpful.THANK YOU in advance for your willingness to assist!
+Jump to: top
Section 6: Miscellaneous IOCCC
Jump to: top
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).
+Jump to: top
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.
+Jump to: top
We are not accepting mirror requests at this time, sorry. However you are free to fork the IOCCC winner repo. We do ask that your fork keep up to date with the latest changes when possible.
+Jump to: top
See FAQ on “using IOCCC content”. For additional information on the Copyright and CC BY-SA 4.0 License.
+Jump to: top
Jump to: top
Anonymous
+author_handle’s match this regexp:Jump to: top
Jump to: top
The
+entry_idfor that winning entry is:Jump to: top
The .top, .allyear, .year and .path files are generated from the top level Makefile, by:
+Jump to: top
FAQ 6.9: What is the current meaning of the IOCCC terms Author, Entry, and Submission?
@@ -4415,6 +4511,7 @@ refer to what is now a submission. In a number of historical cases, 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)! :-) +Jump to: top
This will merge your pull request to your fork.
+Jump to: top
Jump to: top
HINT to mastodon users: You may wish to refresh the @IOCCC mastodon feed page and/or mastodon app from time to time to view IOCCC mastodon updates.
+Jump to: top
FAQ 6.13: How may I find my author handle?
@@ -4673,6 +4773,7 @@ how they are used.See FAQ on “Author, Entry, Submission” for more information on terms such as author, entry, and submission.
+Jump to: top
FAQ 6.14: How do I set certain tabstops for viewing source code in vi(m)?
@@ -4684,6 +4785,7 @@ mode you can do this easily: make sure you’re in command mode (in most cases y can hit ESC to do this) and then type the command:where
+4is the value you wish to set the tabstop to.Jump to: top
FAQ 6.15 - How do the menus on the website work and what can I do if they don’t work?
@@ -4768,6 +4870,7 @@ consider fixing it and opening a pull request or at least report it as an issue (choose the category Website issue). +Jump to: top
FAQ 6.16 - How do I find more information about a winning author of an entry?
@@ -4787,6 +4890,7 @@ JSON files.Of course if you know the author’s name you can go directly to authors.html and click on their surname’s/last name’s/second name’s initial and then scroll down (if necessary) to the author in question.
+Jump to: top
FAQ 6.17: What is a
diff --git a/faq.md b/faq.md index d9bc5bc3d..ca54ec92f 100644 --- a/faq.md +++ b/faq.md @@ -111,6 +111,8 @@ other inconsistencies with the original entry? - 6.16 - How do I find more information about a winning author of an entry? - 6.17 - What is a `.entry.json` file and how is it used? +Jump to: [top](#) + # The IOCCC FAQ @@ -118,6 +120,8 @@ other inconsistencies with the original entry? ## Section 0: Submitting entries to a new IOCCC.entry.jsonfile and how is they used?