From b62dc414789a10f4034660a79784ff7531169994 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Fri, 18 Oct 2024 12:04:35 -0700 Subject: [PATCH 1/3] Reorder FAQ table of contents, adding new sections New sections were added. Not all anchors work yet. The questions/answers are not yet in the right order. That is the next step. Instead of relying on having to manually add numbers use ordered lists. The sections are in unordered lists so we have control over the number. The downside with this is with the long file it is harder to find the section one is in but as each question/answer has a jump to the top that should be worth the gain of not having to manually edit every question (in the table of contents as well as the question/answers) every time a question is moved to another place (or a new one is added) above others. Another downside is minor: it does not allow for 0 as html lists do not start with 0 but 1. Another thing that has to be done is to make sure that the html lint is correct. That can be done once this is merged. Any thing that needs to be fixed can then be fixed. --- faq.html | 865 +++++++++++++++++++++++++++++++++++++++++-------------- faq.md | 739 +++++++++++++++++++++++++++++------------------ 2 files changed, 1112 insertions(+), 492 deletions(-) diff --git a/faq.html b/faq.html index 4d0c1ec84..438363caf 100644 --- a/faq.html +++ b/faq.html @@ -388,140 +388,376 @@ -
This is FAQ version 28.0.7 2024-10-17.
-This is FAQ version 28.0.8 2024-10-18.
+mkiocccentry tool and how do I use it?mkiocccentry and its related tools?mkiocccentry tool?fnamchk tool?.auth.json and/or .info.json files?.auth.json file?.info.json file?author handle?author_handle.json file and how are they used?entry_id?.entry.json file and how is it used?try.sh and try.alt.sh scripts and why should I use them?.top, .allyear, .year and .path files?mkiocccentry tool and how do I use it?
+mkiocccentry and its related tools?
+fnamchk tool?
+.auth.json and/or .info.json files?
+.auth.json file?
+.info.json file?
+author handle?
+author_handle.json file and how are they used?
+entry_id?
+.entry.json file and how is it used?
+try.sh and try.alt.sh scripts and why should I use them?
+.top, .allyear, .year and .path files?
+Jump to: top
Jump to: top
+To submit your code to the IOCCC, you MUST follow these steps:
Jump to: top
+To submit your code to the IOCCC, you MUST follow these steps:
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.
@@ -590,8 +826,10 @@ on how upload your entry to the IOCCC submit server. Once with the proper instructions. Watch the IOCCC news for an announcement of the availability of the IOCCC submit server.Jump to: top
+mkiocccentry tool and how do I use it?mkiocccentry tool and how do I use it?This tool comes from the mkiocccentry repo and it is required that you @@ -635,9 +873,11 @@ be the subdirectory with your submission’s files.
submission as well as author details (that will only be looked at if the submission wins), run some tests and run a number of other tools, as already mentioned and as described below. +mkiocccentry and its related tools?mkiocccentry and its related tools?After you
@@ -650,9 +890,11 @@ at the mkiocccentry repo.
See also the mkiocccentry repo FAQ for more up to date information on downloading, compiling, and related FAQ information.
-Jump to: top
+Jump to: top +Yes! The mkiocccentry(1) tool has some options to help write OR read from an
answers file so you do not have to input the author(s) or the submission
@@ -664,8 +906,10 @@ flag with the same option argument. Be very careful that you do
overwrite your prog.c or some other important file!
To make use of the answers file, use the -i answers option like:
mkiocccentry -i answers.txt ...
+There are types of entries that are frequently submitted to the IOCCC. While we do not wish to prevent people from sending @@ -768,9 +1012,11 @@ FAQ on “remarks.md”, submitted theme and how compares with previous IOCCC winners of the same theme.
Jump to: top
+We recommend starting with the sample
@@ -793,8 +1039,10 @@ your Makefile should copy prog.c into the desired file
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:
Jump to: top
+Jump to: top
+The IOCCC judges to welcome feedback on the IOCCC @@ -871,9 +1123,11 @@ have to say, consider adding comments to that particular discussion. Otherwise consider opening a new mkiocccentry discussion.
Jump to: top
+We realise that the IOCCC rules, IOCCC guidelines @@ -935,8 +1189,10 @@ as it lists things you should not use in markdown files.
See the markdown syntax guide. See also CommonMark Spec.
Jump to: top
+mkiocccentry tool?mkiocccentry tool?As the mkiocccentry toolkit is crucial in the contest, both for submitters and the judges, if you find a bug @@ -947,8 +1203,10 @@ page.
FAQ on “reporting bugs and other issues in the mkiocccentry repo” in the mkiocccentry repo.Jump to: top
+.auth.json file?.auth.json file?This file is constructed by the mkiocccentry(1) prior to forming the xz
compressed tarball of your submission. The .auth.json file contains
@@ -1217,8 +1475,10 @@ validate the .auth.json file.
If you wish to verify that your .auth.json file is valid JSON then see the
FAQ on “validating JSON documents”.
Jump to: top
+.info.json file?.info.json file?This file is constructed by the mkiocccentry(1) prior to forming the xz
compressed tarball of your submission. The .info.json file contains
@@ -1652,9 +1912,11 @@ validate the .info.json file.
If you wish to verify that your .info.json file is valid JSON then see the
FAQ on “validating JSON documents”.
Jump to: top
+If you want or need to verify that a JSON document (as a string or file) is
@@ -1683,9 +1945,11 @@ verbosity with the -v option. For instance:
If the tool is not installed then you will obviously have to specify the path of the tool.
Jump to: top
+.auth.json and/or .info.json files?.auth.json and/or .info.json files?If you want to validate the .auth.json or .info.json files you
@@ -1727,21 +1991,34 @@ it will report this as an error. Thus, if you were to package y
submission manually then you would be violating Rule
17.
Jump to: top
+Jump to: top
+By tradition, we do not say.
Jump to: top
+Jump to: top
+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
+It takes a fair amount of time to setup, run, respond to messages, process entries, review entries, trim down the set entries to a set of winning entries, doing the @@ -1807,9 +2088,11 @@ SUS-conforming. See the FAQ on “SUS” for more information.
Jump to: top
+Are you trying to trick us? :-)
@@ -1820,10 +2103,12 @@ 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.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
+Update the IOCCC news page, also by updating this repo.
Jump to: top
+ + +Jump to: top
+Jump to: top +mkiocccentry(1) will check and warn about the following conditions:
See also the Guidelines and the Rules (and in particular Rule 17).
-Jump to: top
+Jump to: top +txzchk(1) runs; if
know we refer you to the source
code.
Jump to: top
+fnamchk tool?fnamchk tool?This tool, which is in the mkiocccentry @@ -2018,13 +2315,19 @@ you can do so. For instance:
FAQ on “validating your submission tarball” for more information.Jump to: top
+Jump to: top
+In general the best way to compile everything in an entry directory is to run:
@@ -2063,9 +2366,11 @@ compilers might do different things, have different defects or other issues. Note that theMakefiles check the CC variable by substrings so that if you
were to do something like make CC=gcc=mp-12 it would register as gcc.
Jump to: top
+Some entries that won the IOCCC, particularly entries from long ago, no longer compile on more @@ -2096,9 +2401,11 @@ for more information.
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
+Unfortunately some older entries are non-portable and require 32-bit support or @@ -2127,10 +2434,12 @@ for details. See also the FAQ on “GitHub pull request” for more information about pull requests.
Jump to: top
+Jump to: top
+Although we have fixed numerous entries to work with clang (sometimes in an alt @@ -2175,19 +2486,23 @@ See also the FAQ on “GitHub pull request” for more information about pull requests.
Jump to: top
+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 cb
still exists.
Jump to: top
+stty echo. Sometimes you can also get away with <
clearing of the screen, however, that solves the problem, so clear will not
help.
Jump to: top
+ +Jump to: top
+ +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.
@@ -2410,8 +2729,10 @@ fix it and make a pull request. FAQ on “GitHub pull request” for more information about pull requests.Jump to: top
+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.
@@ -2440,9 +2761,11 @@ packages: one for compiling and one for linking / running. for downloading, installing and using ncurses.We recommend trying a method suitable for your environment first, if possible.
Jump to: top
+This might depend on the entry but most likely the Swiss Army Knife of sound @@ -2473,8 +2796,10 @@ include this here, at least for now.
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
+While we know that use of -Weverything is generally not recommended
by clang C compiler developers, we do use the -Weverything
@@ -2537,10 +2862,12 @@ differences, try from 1989/westley:
clang it might very well be considered
better than other entries.
Jump to: top
+intr is set to:
reason it’s not you might have to do something else including just piping it to
just grep intr or whatever.
Jump to: top
+What may have worked years ago may not work well or work at all today. @@ -2603,8 +2932,10 @@ Please see the FAQ on “fixing an entry” for how to submit a fix to an IOCCC entry.
Jump to: top
+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
@@ -2910,8 +3241,10 @@ inevitable in obfuscated code and even non-obfuscated code.
If you can work past this it might be good but this is not something that should be worried about too much as this is on the compiler developers, not you.
Jump to: top
+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.
@@ -2940,14 +3273,18 @@ packages: one for compiling and one for linking / running. for downloading, installing and using zlib.We recommend trying a method suitable for your environment first, if possible.
Jump to: top
+Please see the official Ruby installation guide.
Jump to: top
+First, if gem is not installed, see the gem GitHub repo.
Assuming you have git(1) installed, you can do:
exe/gem install rake
Once this is done, try as root or via sudo:
gem install rake
-Jump to: top
+Jump to: top +Jump to: top
+Some may wonder: “Doesn’t this tamper with the entry too much?”
@@ -2999,9 +3342,11 @@ in the name of backward compatibility. problem and it is this that has complicated most of the fixes though again some can look almost identical.Jump to: top
+We have set up make rules to easily do see what was changed in the winning IOCCC @@ -3114,17 +3459,21 @@ and the FAQ on “entry source code changes” for more information.
Jump to: top
+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 (in some cases a change was made by the Judges, for example, or an author might have made a modification without saving the original).
Jump to: top
+The alternate versions are exactly what they sound like, versions of their @@ -3151,9 +3500,11 @@ judgement call.
FAQ on “original source code” for more information.Jump to: top
+There are a number of reasons this was done but they usually come down to a
@@ -3169,8 +3520,10 @@ could no longer be so: main() instead had to call another function
the body of the old main() and that function would call itself again. In some
cases, however, this had to be done even without clang objections.
Jump to: top
+The reasons this was done varies. One of the earliest changes was making the old
.hint or .text files README.md files. The first time this was done was for
@@ -3191,11 +3544,13 @@ method of how to display files was devised).
There were certainly other reasons as well.
Jump to: top
+Jump to: top
+ + +Jump to: top
+The known bugs file, order by IOCCC years, contains a list of known bugs & (mis)features. If you are looking for an IOCCC entry to try and fix, this file is a good place to start.
@@ -3279,11 +3640,13 @@ in question. Note that in several cases what you may have discovered, while a (mis)feature is not considered a bug and should not be fixed. In cases where the bug is known, the entry’s known bugs file section may offer you important fixing clues. -Jump to: top
+We do not ‘maintain’ the contest entries as such. The code is made available on an ‘AS @@ -3304,9 +3667,11 @@ IOCCC entry. See also the FAQ on “GitHub pull request” for more information about pull requests.
Jump to: top
+If you see a problem with an IOCCC entry, first check the known bugs @@ -3343,9 +3708,11 @@ for more information about pull requests.
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
+If you discover a problem with the IOCCC website that is related @@ -3368,8 +3735,10 @@ already been reported. If it has been reported, feel free to add a comment to the issue. Otherwise, if you do not see the same issue reported, then feel free to open a new IOCCC website issue.
Jump to: top
+For IOCCC website problems that relate to a particular IOCCC entry, please see the @@ -3478,13 +3847,13 @@ FAQ on “fixing an entry”.
See also the FAQ on “GitHub pull request” for more information about pull requests.
-Unless you are the author who originally selected the XX - Anonymous location, please do not attempt to change an XX - Anonymous location without the permission of the original author, as sometimes they want to have the location known but not their name and/or other details.
If you know the location of an author listed under:
@@ -3547,9 +3916,11 @@ replace that text with:If you just wish to report the bad link issue, see FAQ on “report website problem”.
Jump to: top
+The IOCCC judges run the IOCCC entirely out of @@ -3565,11 +3936,13 @@ better for everyone. :-)
efforts, we suggest making an Anonymous gift via the IOCCC Amazon wishlist.Jump to: top
+THANK YOU in advance for your willingness to assist!
Jump to: top
+ + +Jump to: top
+As entries have been fixed it is entirely possible that some of the entries no @@ -3664,10 +4043,12 @@ original winning entries as compressed tar files for a given year.
“abuse of the rules” (although now blatant abuse of the rules to get around rule 2 size limits is discouraged).Jump to: top
+Jump to: top
+If you do make a new fork of THIS repo, we do ask that your fork keep up to date with the latest changes when possible. Thank you.
Jump to: top
+While IOCCC judges look favorably on most requests to use IOCCC material, @@ -3724,10 +4109,12 @@ See the Copyright at the bottom of IOCCC web pages for FAQ on “using IOCCC content”. For additional information on the Copyright and CC BY-SA 4.0 License.
Jump to: top
+Jump to: top
+An author_handle is string that refers to a given author and is unique to the
IOCCC. Each author has exactly one author_handle.
TL:DR: The contents of these JSON files contain the best known @@ -4119,9 +4510,11 @@ FAQ on “fixing author information” for information about how to update and/or correct IOCCC author information.
Jump to: top
+entry_id?entry_id?An entry_id is a string that identifies a winning entry of the IOCCC.
An entry_id is a 4-digit year, followed by an underscore, followed by a directory name.
The entry_id for that winning entry is:
2020_ferguson2
Jump to: top
+.top, .allyear, .year and .path files?.top, .allyear, .year and .path files?The IOCCC is now attempting to use the following terms:
Jump to: top
+First, if you do not already have a GitHub account or you have not installed an @@ -4367,9 +4766,11 @@ example, you would type:
git checkout master && git pull https://github.com/ioccc-src/winner.git master && git push origin master
This will merge your pull request to your fork.
Jump to: top
+Disclaimer: This FAQ is not a license, has no legal @@ -4395,8 +4796,10 @@ enjoy hat those working on the IOCCC have proper Attribution including, of course, the IOCCC winners themselves! It is designed to help ensure that everyone may enjoy the IOCCC.
Jump to: top
+The IOCCC uses Mastodon for news updates, announcements, and for various other social media purposes.
@@ -4423,8 +4826,10 @@ follow posts something so you will have to check the IOCCC feed manually. mastodon feed page and/or mastodon app from time to time to view IOCCC mastodon updates.Jump to: top
+If you are an author of a winning entry, you may find your own author_handle by going to your entry in the authors.html web page and viewing the string @@ -4456,8 +4861,10 @@ how they are used.
FAQ on “Author, Entry, Submission” for more information on terms such as author, entry, and submission.Jump to: top
+Sometimes an author will state that for best viewing purposes you should have your tabstop set at say 4 or 8. If you use vim or vi or vim in no compatible @@ -4466,8 +4873,10 @@ can hit ESC to do this) and then type the command:
:set tabstop=4
where 4 is the value you wish to set the tabstop to.
Jump to: top
+
How can I comment or make a suggestion on IOCCC rules, guidelines and tools?
+Q: How can I comment or make a suggestion on IOCCC rules, guidelines and tools?