From d6f2bffd0e60d537fb81c9e8b01a96c06ca967b4 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Sun, 14 Jul 2024 11:02:19 -0700 Subject: [PATCH 1/3] Add FAQs about .auth.json and .info.json These are very detailed as they are very important parts of the mkiocccentry toolkit. The guidelines will likely refer to these for those who want to know more details but that is for another commit. --- faq.html | 647 +++++++++++++++++++++++++++++++++++++++++++++++++++++- faq.md | 652 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 1277 insertions(+), 22 deletions(-) diff --git a/faq.html b/faq.html index a18ffe313..fe751f0ca 100644 --- a/faq.html +++ b/faq.html @@ -394,6 +394,8 @@
mkiocccentry tool?.auth.json file?.info.json file?author handle?author_handle.json file and how are they used?entry_id?remarks.md file, see FAQ 2.1,
submitted theme and how compares with previous IOCCC winners
of the same theme.
We recommend starting with the sample Makefile as found in the mkiocccentry GitHub repo, @@ -796,7 +800,7 @@ as it lists things you should not use in markdown files.
See also CommonMark Spec.mkiocccentry tool?mkiocccentry tool?As the mkiocccentry toolkit is @@ -820,6 +824,628 @@ file. If it does not find a problem but you think there is a problem, please still do feel free to report it and do make sure you attach the log nonetheless. If it does find problems, it will give you a summary of the problems and when you attach the log file we will see those too.
+.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
+information about the author or authors of the submission, in JSON format. The
+JSON authors array holds the following information about the authors of the
+submission:
name (string)
location_code (string)
NOTE: in mkiocccentry use XX if you want your location to be anonymous.
email (string)
x@y, or null if not provided.url (string)
null if not provided.alt_url (string)
null if not provided.mastodon (string)
@user@domain, or
+null if not provided.github (string)
@user, or null if not
+provided.affiliation (string)
null if not provided.NOTE: if provided, the length of the affiliation MUST be within
+the range of 1 THROUGH MAX_AFFILIATION_LEN (see
+soup/limit_ioccc.h
+in the mkiocccentry repo). If
+this is not the case you stand a great risk of having your submission
+rejected for violating Rule 17!
NOTE: an affiliation does NOT have any affect on whether you will win or not.
past_winning_author (boolean)
true if this author claims to have won a past IOCCC, false if this
+author has NOT won before.NOTE: this has NO effect on whether you will win or not.
default_handle (boolean)
true if this default handle was accepted, false if one is provided
+by this author.author_handle (string)
NOTE: if you have won before, we ENCOURAGE you to use the same handle of
+your previous winning entries, to help in organising the
+authors.html page and the author JSON file (see: What is an
+author handle? and What is an author_handle.json
+file and how are they used?).
author_number (number)
authors array..auth.json:The file also contains the following details:
+no_comment (string)
no comment about no_comment so we ask you to please
+NOT comment about our no comments. :-)IOCCC_auth_version (string)
.auth.json file.NOTE: this MUST match THIS IOCCC’s .auth.json version, defined as
+AUTH_VERSION in
+soup/version.h
+in the mkiocccentry repo. If
+this is not the case your submission WILL BE rejected!
IOCCC_contest (string)
NOTE: this MUST match THIS IOCCC’s contest value, defined as
+IOCCC_CONTEST in
+soup/limit_ioccc.h
+in the mkiocccentry repo. If
+this is not the case your submission WILL BE rejected!
IOCCC_year (number)
NOTE: sometimes an IOCCC year runs into another year and the contest year +might not match when it ends.
+NOTE: this MUST match THIS IOCCC’s contest, defined as
+IOCCC_YEAR in
+soup/limit_ioccc.h
+in the mkiocccentry repo. If
+this is not the case your submission WILL BE rejected!
mkiocccentry_version (string)
mkiocccentry that formed this .auth.json file.NOTE: this MUST match THIS IOCCC’s mkiocccentry version,
+defined as MKIOCCCENTRY_VERSION in
+soup/version.h
+in the mkiocccentry repo. If
+this is not the case your submission WILL BE rejected!
chkentry_version (string)
chkentry that was used to validate this .auth.json,
+assuming that it was created by mkiocccentry.NOTE: this MUST match THIS IOCCC’s chkentry version, defined
+as CHKENTRY_VERSION in
+soup/version.h
+in the mkiocccentry repo. If
+this is not the case your submission WILL BE rejected!
fnamchk_version (string)
fnamchk that txzchk uses to validate the filename of
+the xz compressed tarball.NOTE: this MUST match THIS IOCCC’s fnamchk version in order for it
+to be valid. If this is not the case your submission WILL BE rejected!
IOCCC_contest_id (string)
NOTE: if the contest ID is NOT in this format then fnamchk will
+report it as an error and your submission WILL BE rejected for
+violating Rule 17!
tarball (string)
NOTE: this MUST match the actual tarball’s filename in order for
+this to be valid. If there is a mismatch you stand a great risk of having
+your submission rejected for violating Rule 17!
+Moreover, it is possible that txzchk will report a problem through
+fnamchk(1) which also puts you at great risk of violating Rule
+17. If txzchk does not detect this, though, it
+does not mean it’s a bug but rather that the directory in the tarball
+matches the filename.
submit_slot (number)
NOTE: this MUST be within the range of 0 THROUGH
+MAX_SUBMIT_SLOT (see
+soup/limit_ioccc.h
+in the mkiocccentry repo). If
+this is not the case you stand a great risk of having your submission
+rejected for violating Rule 17!
author_count (number)
NOTE: this MUST be within the range of 1 THROUGH
+MAX_AUTHORS (see
+soup/limit_ioccc.h
+in the mkiocccentry repo). If
+this is not the case you stand a great risk of having your submission
+rejected for violating the Rules! Moreover, if the
+author_count is inconsitent with how many authors are in the authors
+array your submission will be invalid.
test_mode (boolean)
true if the test ID was used to form the tarball, else false.NOTE: if true then this may NOT be submitted to the contest! Please do
+NOT email the Judges your submission!
formed_timestamp (number)
.auth.json/.info json was formed (see gettimeofday(2)).NOTE: this MUST be greater than or equal to MIN_TIMESTAMP (see
+soup/limit_ioccc.h
+in the mkiocccentry repo). If
+this is not the case your submission WILL BE rejected.
formed_timestamp_usec (number)
.auth.json was
+formed - see gettimeofday(2)) second.NOTE: this MUST be within the range MIN_FORMED_TIMESTAMP_USEC
+THROUGH MAX_FORMED_TIMESTAMP_USEC and is validated by
+test_formed_timestamp_usec() in
+soup/entry_util.c
+in the mkiocccentry repo. If
+this is not the case chkentry(1) will report an error and your
+submission WILL BE rejected!
timestamp_epoch (string)
"Thu Jan 01 00:00:00 1970 UTC" (gettimeofday(2) epoch).NOTE: this MUST be "Thu Jan 01 00:00:00 1970 UTC" which is #defined
+as TIMESTAMP_EPOCH in
+soup/limit_ioccc.h
+in the mkiocccentry repo. If
+this is not the case your submission WILL BE rejected!
min_timestamp (number)
NOTE: this MUST be >= MIN_TIMESTAMP defined in
+soup/limit_ioccc.h
+in the mkiocccentry repo. If
+this is not the case your submission WILL BE rejected!
This file will be verified with the chkentry(1) tool and if there are any
+problems it is an error. If there is an error the tarball will NOT be
+formed by mkiocccentry; otherwise the txzchk(1) tool will be executed on the
+tarball.
This file will NOT be looked at unless the submission wins! Nonetheless,
+chkentry(1) WILL BE used on the file as part of the judging process.
At the risk of stating the obvious, if your .auth.json file is invalid JSON or
+is reported invalid by chkentry your submission will almost certainly be
+rejected for violating the Rules and in particular Rule
+17.
An obvious example where chkentry would fail to validate .auth.json is if
+there is a mismatch of type in the JSON file with what is expected, for
+instance, if in .auth.json the no_comment that we chose to not comment on is
+not a string. Another obvious example is when things are out of range (see above
+for list). Two more examples would be if a field is missing or if an unknown
+filed is in the file. In these cases (and any others that must be established as
+valid by chkentry) your submission would be rejected for violating Rule
+17 and in particular because chkentry would not
+validate the .auth.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
+information about the submission, in JSON format. The
+JSON manifest array contains information about the files of the submission,
+including the mandatory .auth.json, .info.json,
+C source and remarks files. In particular:
info_JSON (string)
MUST be ".info.json", defined as INFO_JSON_FILENAME in
+soup/entry_util.h
+in the mkiocccentry repo, and
+it is the .info.json file that mkiocccentry forms.NOTE: if this is NOT the case you stand a great chance of having your +submission rejected for violating Rule 17!
auth_JSON (string)
MUST be ".auth.json", defined as AUTH_JSON_FILENAME in
+soup/entry_util.h
+in the mkiocccentry repo, and
+it is the .auth.json file that mkiocccentry forms.NOTE: if this is NOT the case you stand a great chance of having your +submission rejected for violating Rule 17!
c_src (string)
MUST be "prog.c", defined as PROG_C_FILENAME in
+soup/entry_util.h
+in the mkiocccentry repo, and
+is your submission source code.NOTE: if this is NOT the case you stand a great chance of having your +submission rejected for violating Rule 17!
+NOTE: if you provide to mkiocccentry a different filename it will be
+copied to prog.c.
Makefile (string)
MUST be "Makefile", defined as MAKEFILE_FILENAME in
+soup/entry_util.h
+in the mkiocccentry repo, and
+is your Makefile.NOTE: if this is NOT the case you stand a great chance of having your +submission rejected for violating Rule 17!
+NOTE: if you provide to mkiocccentry a different filename it will be
+copied to Makefile.
remarks (string)
MUST be "remarks.md", defined as REMARKS_FILENAME in
+soup/entry_util.h
+in the mkiocccentry repo, and
+is your remarks.md.NOTE: if this is NOT the case you stand a great chance of having your +submission rejected for violating Rule 17!
+NOTE: if you provide to mkiocccentry a different filename it will be
+copied to remarks.md.
The manifest array also optionally has one or more of the field:
extra_file (string)
NOTE: this MUST NOT match a mandatory filename (see above list) and
+chkentry will verify this for you; it is also an error if it the
+filenames are not unique. In these cases you stand a great risk of having
+your submission rejected for violating Rule 17! On
+the other hand, ONLY mkiocccentry will verify that the files exist and
+can be read; txzchk(1) will NOT do this for you as it only LISTS
+the tarball: it does NOT extract it. Even so, the Judges
+WILL extract the tarball and if a file listed in the manifest does not
+exist your submission will very likely be rejected for not being as
+documented!
The file also contains the following details:
+no_comment (string)
no comment about no_comment so we ask you to please
+NOT comment about our no comments. :-)IOCCC_info_version (string)
.info.json files.NOTE: this MUST match THIS IOCCC’s .info.json version, defined as
+INFO_VERSION in
+soup/version.h
+in the mkiocccentry repo. If
+this is not the case your submission WILL BE rejected!
IOCCC_contest (string)
NOTE: this MUST match THIS IOCCC’s contest value, defined as
+IOCCC_CONTEST in
+soup/limit_ioccc.h
+in the mkiocccentry repo. If
+this is not the case your submission WILL BE rejected!
IOCCC_year (number)
NOTE: sometimes an IOCCC year runs into another year and the contest year +might not match when it ends.
+NOTE: this MUST match THIS IOCCC’s contest, defined as
+IOCCC_YEAR in
+soup/limit_ioccc.h
+in the mkiocccentry repo. If
+this is not the case your submission WILL BE rejected!
mkiocccentry_version (string)
mkiocccentry that formed this .auth.json file.NOTE: this MUST match THIS IOCCC’s mkiocccentry version,
+defined as MKIOCCCENTRY_VERSION in
+soup/version.h
+in the mkiocccentry repo. If
+this is not the case your submission WILL BE rejected!
iocccsize_version (string)
iocccsize that was used for this .info.json file.NOTE: this MUST match THIS IOCCC’s iocccentry version,
+defined as IOCCCSIZE_VERSION in
+soup/version.h
+in the mkiocccentry repo. If
+this is not the case your submission WILL BE rejected!
chkentry_version (string)
chkentry that was used to validate this .info.json,
+assuming that it was created by mkiocccentry.NOTE: this MUST match THIS IOCCC’s chkentry version, defined
+as CHKENTRY_VERSION in
+soup/version.h
+in the mkiocccentry repo. If
+this is not the case your submission WILL BE rejected!
fnamchk_version (string)
fnamchk that txzchk uses to validate the filename of
+the xz compressed tarball.NOTE: this MUST match THIS IOCCC’s fnamchk version, defined
+as FNAMCHK_VERSION in
+soup/version.h
+in the mkiocccentry repo. If
+this is not the case your submission WILL BE rejected!
txzchk_version (string)
txzchk used to validate the xz compressed tarball.NOTE: this MUST match THIS IOCCC’s txzchk version, defined
+as TXZCHK_VERSION in
+soup/version.h
+in the mkiocccentry repo. If
+this is not the case your submission WILL BE rejected!
IOCCC_contest_id (string)
NOTE: if the contest ID is NOT in this format then fnamchk will
+report it as an error and your submission WILL BE rejected for
+violating Rule 17!
submit_slot (number)
NOTE: this MUST be within the range of 0 THROUGH
+MAX_SUBMIT_SLOT (see
+soup/limit_ioccc.h
+in the mkiocccentry repo). If
+this is not the case you stand a great risk of having your submission
+rejected for violating Rule 17!
title (string)
MAX_TITLE_LEN, defined in
+soup/limit_ioccc.h
+in the mkiocccentry repo) that
+matches the regexp [a-z0-9][a-z0-9_+-]*.NOTE: if this is NOT the case you stand a great risk of having your submission +rejected for violating Rule 17!
abstract (string)
MAX_ABSTRACT_LEN, defined in
+soup/limit_ioccc.h
+in the mkiocccentry repo)NOTE: if your abstract is 0 in length or > the maximum abstract length you +stand a great risk of having your submission rejected for violating Rule +17!
tarball (string)
NOTE: this MUST match the actual tarball’s filename in order for
+this to be valid. If there is a mismatch you stand a great risk of having
+your submission rejected for violating Rule 17!
+Moreover, it is possible that txzchk will report a problem through
+fnamchk(1) which also puts you at great risk of violating Rule
+17. If txzchk does not detect this, though, it
+does not mean it’s a bug but rather that the directory in the tarball
+matches the filename.
rule_2a_size (number)
NOTE: if this violates Rule 2a you stand a great +chance of having your submission rejected for violating the +Rules!
rule_2b_size (number)
NOTE: if this violates Rule 2b you stand a great +chance of having your submission rejected for violating the +Rules!
empty_override (boolean)
true if user override warning of an empty source file, else false.rule_2a_override (boolean)
true if user overrides warning of Rule 2a
+violation, else false.NOTE: if the Rule 2a calculated size is NOT
+violated but this is true then you stand a good chance of having your
+submission rejected for violating Rule 17!
rule_2a_mismatch (boolean)
true if Rule 2a calculated size is not the
+same as the file size.rule_2b_override (boolean)
true if user overrides warning of Rule 2b
+violation, else false.NOTE: if the Rule 2b calculated size is NOT
+violated but this is true then you stand a good chance of having your
+submission rejected for violating Rule 17!
highbit_warning (boolean)
true if iocccsize detects a high bit (unescaped octets with the high
+bit set - octet value >= 128); see Rule 13, else
+false.nul_warning (boolean)
true if iocccsize detects a NUL character in the prog.c, else
+false.trigraph_warning (boolean)
true if iocccsize detects an unknown or invalid trigraph in
+prog.c, else false.wordbuf_warning (boolean)
true if prog.c triggered a word buffer overflow (see iocccsize),
+else false.NOTE: this does NOT mean that your code has been checked for buffer +overflows in general.
ungetc_warning (boolean)
true if prog.c triggered an ungetc(3) error, else false.Makefile_override (boolean)
true if the user overrides any warnings about an incomplete/incorrect
+Makefile, else false.NOTE: if the Makefile has no problems and this is true then
+you stand a good chance of having your submission rejected for violating
+Rule 17!
first_rule_is_all (boolean)
true if the first rule in the Makefile is
+all, else false.found_all_rule (boolean)
true if the Makefile has an all rule, else
+false.found_clean_rule (boolean)
true if the Makefile has a clean rule, else
+false.found_clobber_rule (boolean)
true if the Makefile has a clobber rule,
+else false.found_try_rule (boolean)
true if the Makefile has a try rule, else
+false.test_mode (boolean)
true if the test ID was used to form the tarball, else false.NOTE: if this is true then this may NOT be submitted to the
+contest! Please do NOT email the Judges your submission!
formed_timestamp (number)
.info json was formed (see gettimeofday(2)).NOTE: this MUST be greater than or equal to MIN_TIMESTAMP (see
+soup/limit_ioccc.h
+in the mkiocccentry repo). If
+this is not the case your submission WILL BE rejected.
formed_timestamp_usec (number)
.auth.json was
+formed - see gettimeofday(2)) second.NOTE: this MUST be within the range MIN_FORMED_TIMESTAMP_USEC
+THROUGH MAX_FORMED_TIMESTAMP_USEC and is validated by
+test_formed_timestamp_usec() in
+soup/entry_util.c
+in the mkiocccentry repo. If
+this is not the case chkentry(1) will report an error and your
+submission WILL BE rejected!
timestamp_epoch (string)
"Thu Jan 01 00:00:00 1970 UTC" (gettimeofday(2) epoch).NOTE: this MUST be "Thu Jan 01 00:00:00 1970 UTC" which is #defined
+as TIMESTAMP_EPOCH in
+soup/limit_ioccc.h
+in the mkiocccentry repo. If
+this is not the case your submission WILL BE rejected!
min_timestamp (number)
NOTE: this MUST be >= MIN_TIMESTAMP defined in
+soup/limit_ioccc.h
+in the mkiocccentry repo. If
+this is not the case your submission WILL BE rejected!
This file will be verified with the chkentry(1) tool and if there are any
+problems it is an error. If there is an error the tarball will NOT be
+formed by mkiocccentry; otherwise the txzchk(1) tool will be executed on the
+tarball.
The Judges WILL use chkentry(1) on this file during the
+judging process and if it does not pass your submission WILL BE rejected.
An obvious example where chkentry would fail to validate .info.json is if
+there is a mismatch of type in the JSON file with what is expected, for
+instance, if in .info.json the no_comment that we chose to not comment on is
+not a string. Another obvious example is when things are out of range (see above
+for list). Two more examples would be if a field is missing or if an unknown
+filed is in the file. In these cases (and any others that must be established as
+valid by chkentry) your submission would be rejected for violating Rule
+17 and in particular because chkentry would not
+validate the .info.json file.
By tradition, we do not say.
First, PLEASE read the IOCCC markdown guidelines.
@@ -2732,7 +3359,7 @@ in the case ofTL:DR: The contents of these JSON files contain the best known @@ -2752,7 +3379,7 @@ of the form:
author/author_handle.json
where author_handle is an author handle. See FAQ 6.5 for more information about an author handles.
-author_handle.json JSON file contentsThe syntax of a author_handle.json follows the So-called JSON spec.
See json_index.html
for information on the So-called JSON spec.
"mastodon_url" : null,
NOTE: The JSON null is NOT enclosed in quotes!
-See “FAQ 6.12: What is Mastodon and why does IOCCC use it?” for more +
See the FAQ on what is Mastodon and why does IOCCC uses it for more information on Mastodon.
"github" : "@mame",
@@ -3315,8 +3942,10 @@ to help ensure that everyone may enjoy the IOCCC.
The IOCCC uses Mastodon for news updates, announcements, and for various other social media purposes.
Please follow the IOCCC on Mastodon.
- The IOCCC no longer uses twitter, or whatever that someone who appears to have poor impulse control
- (allegedly) calls their platform these days.
++The IOCCC no longer uses twitter, or whatever that someone who appears to have +poor impulse control (allegedly) calls their platform these days.
+
The IOCCC prefers to reside in the fediverse.
For help with Mastodon:
There is help with Mastodon available for diff --git a/faq.md b/faq.md index fe9d675a3..fdb1978f4 100644 --- a/faq.md +++ b/faq.md @@ -11,7 +11,8 @@ - 0.6 - What is the best way to ask a question about the IOCCC rules, guideline and tools? - 0.7 - What are the IOCCC best practices for using markdown? - 0.8 - How do I report bugs in a `mkiocccentry` tool? - +- 0.9 - What is a `.auth.json` file? +- 0.10 - What is a `.info.json` file? ## Section 1 - [History of the IOCCC](#faq1) @@ -23,7 +24,7 @@ ## Section 2 - [IOCCC Judging process](#faq2) - 2.0 - How many entries do the judges receive for a given IOCCC? -- 2.1 - What should I put in the remarks.md file of my entry? +- 2.1 - What should I put in the remarks.md file of my submission? - 2.2 - Why don't you publish entries that do not win? - 2.3 - How much time does it take to judge the contest? - 2.4 - How many judging rounds do you have? @@ -88,7 +89,7 @@ other inconsistencies with the original entry?](#faq4_3) - 6.3 - May I use parts of the IOCCC in an article, book, newsletter, or instructional material? - 6.4 - Why do you sometimes use the first person plural? - 6.5 - What is an `author handle`? -- 6.6 - What is an author_handle.json file and how are they used? +- 6.6 - What is an `author_handle.json` file and how are they used? - 6.7 - What is an `entry_id`? - 6.8 - What is the purpose of the .top, .year and .path files? - 6.9 - What is the current meaning of the IOCCC terms Author, Entry, and Submission? @@ -363,10 +364,12 @@ of the same theme.
authors array holds the following information about the authors of the
submission:
name (string)
name (double quoted string)
location_code (string)
location_code (double quoted string)
NOTE: in mkiocccentry use XX if you want your location to be anonymous.
email (string)
email (null or double quoted string)
x@y, or null if not provided.url (string)
url (null or double quoted string)
null if not provided.alt_url (string)
alt_url (null or double quoted string)
null if not provided.mastodon (string)
mastodon (null or double quoted string)
@user@domain, or
null if not provided.github (string)
github (null or double quoted string)
@user, or null if not
provided.affiliation (string)
affiliation (null or double quoted string)
null if not provided.true if this default handle was accepted, false if one is provided
by this author.author_handle (string)
author_handle (double quoted string)
.auth.json:The file also contains the following details:
no_comment (string)
no_comment (double quoted string)
no comment about no_comment so we ask you to please
-NOT comment about our no comments. :-)no comment about no_comment other than to state that unless
+no_comment matches the string:IOCCC_auth_version (string)
++mandatory comment: because comments were removed from the original JSON spec
+
your submission WILL BE rejected!
+Are we suggesting that removing comments from the JSON spec was a mistake?
+++“You might very well think that; I couldn’t possibly comment” – Francis Urquhart
+
IOCCC_auth_version (double quoted string)
.auth.json file.IOCCC_contest (string)
IOCCC_contest (double quoted string)
mkiocccentry_version (string)
mkiocccentry_version (double quoted string)
mkiocccentry that formed this .auth.json file.MKIOCCCENTRY_VERSION in
soup/version.h
in the mkiocccentry repo. If
this is not the case your submission WILL BE rejected!chkentry_version (string)
chkentry_version (double quoted string)
chkentry that was used to validate this .auth.json,
assuming that it was created by mkiocccentry.CHKENTRY_VERSION in
soup/version.h
in the mkiocccentry repo. If
this is not the case your submission WILL BE rejected!fnamchk_version (string)
fnamchk_version (double quoted string)
fnamchk that txzchk uses to validate the filename of
the xz compressed tarball.NOTE: this MUST match THIS IOCCC’s fnamchk version in order for it
to be valid. If this is not the case your submission WILL BE rejected!
IOCCC_contest_id (string)
IOCCC_contest_id (double quoted string)
NOTE: if the contest ID is NOT in this format then fnamchk will
report it as an error and your submission WILL BE rejected for
violating Rule 17!
tarball (string)
tarball (double quoted string)
gettimeofday(2)) second.chkentry(1) will report an error and your
submission WILL BE rejected!
-timestamp_epoch (string)
timestamp_epoch (double quoted string)
"Thu Jan 01 00:00:00 1970 UTC" (gettimeofday(2) epoch).manifest array contains information about the files of the sub
including the mandatory .auth.json, .info.json,
C source and remarks files. In particular:
info_JSON (string)
info_JSON (double quoted string)
MUST be ".info.json", defined as INFO_JSON_FILENAME in
soup/entry_util.h
@@ -1095,7 +1105,7 @@ it is the .info.json file that mkiocccentry
NOTE: if this is NOT the case you stand a great chance of having your submission rejected for violating Rule 17!
auth_JSON (string)
auth_JSON (double quoted string)
MUST be ".auth.json", defined as AUTH_JSON_FILENAME in
soup/entry_util.h
@@ -1104,7 +1114,7 @@ it is the .auth.json file that mkiocccentry
NOTE: if this is NOT the case you stand a great chance of having your submission rejected for violating Rule 17!
c_src (string)
c_src (double quoted string)
MUST be "prog.c", defined as PROG_C_FILENAME in
soup/entry_util.h
@@ -1115,7 +1125,7 @@ is your submission source code.NOTE: if you provide to mkiocccentry a different filename it will be
copied to prog.c.
Makefile (string)
Makefile (double quoted string)
MUST be "Makefile", defined as MAKEFILE_FILENAME in
soup/entry_util.h
@@ -1126,7 +1136,7 @@ is your Makefile.NOTE: if you provide to mkiocccentry a different filename it will be
copied to Makefile.
remarks (string)
remarks (double quoted string)
MUST be "remarks.md", defined as REMARKS_FILENAME in
soup/entry_util.h
@@ -1140,7 +1150,7 @@ copied to remarks.md.The manifest array also optionally has one or more of the field:
extra_file (string)
extra_file (double quoted string)
The file also contains the following details:
no_comment (string)
no_comment (double quoted string)
no comment about no_comment so we ask you to please
-NOT comment about our no comments. :-)no comment about no_comment other than to state that unless
+no_comment matches the string:IOCCC_info_version (string)
++mandatory comment: because comments were removed from the original JSON spec
+
your submission WILL BE rejected!
+Are we suggesting that removing comments from the JSON spec was a mistake?
+++“You might very well think that; I couldn’t possibly comment” – Francis Urquhart
+
IOCCC_info_version (double quoted string)
.info.json files.IOCCC_contest (string)
IOCCC_contest (double quoted string)
mkiocccentry_version (string)
mkiocccentry_version (double quoted string)
mkiocccentry that formed this .auth.json file.MKIOCCCENTRY_VERSION in
soup/version.h
in the mkiocccentry repo. If
this is not the case your submission WILL BE rejected!iocccsize_version (string)
iocccsize_version (double quoted string)
iocccsize that was used for this .info.json file.IOCCCSIZE_VERSION in
soup/version.h
in the mkiocccentry repo. If
this is not the case your submission WILL BE rejected!chkentry_version (string)
chkentry_version (double quoted string)
chkentry that was used to validate this .info.json,
assuming that it was created by mkiocccentry.CHKENTRY_VERSION in
soup/version.h
in the mkiocccentry repo. If
this is not the case your submission WILL BE rejected!fnamchk_version (string)
fnamchk_version (double quoted string)
fnamchk that txzchk uses to validate the filename of
the xz compressed tarball.FNAMCHK_VERSION in
soup/version.h
in the mkiocccentry repo. If
this is not the case your submission WILL BE rejected!txzchk_version (string)
txzchk_version (double quoted string)
txzchk used to validate the xz compressed tarball.TXZCHK_VERSION in
soup/version.h
in the mkiocccentry repo. If
this is not the case your submission WILL BE rejected!IOCCC_contest_id (string)
IOCCC_contest_id (double quoted string)
title (string)
title (double quoted string)
MAX_TITLE_LEN, defined in
soup/limit_ioccc.h
@@ -1266,7 +1286,7 @@ matches the regexp [a-z0-9][a-z0-9_+-]*.NOTE: if this is NOT the case you stand a great risk of having your submission rejected for violating Rule 17!
abstract (string)
abstract (double quoted string)
MAX_ABSTRACT_LEN, defined in
@@ -1276,7 +1296,7 @@ in the mkiocccentry repoNOTE: if your abstract is 0 in length or > the maximum abstract length you
stand a great risk of having your submission rejected for violating Rule
17!tarball (string)
tarball (double quoted string)
gettimeofday(2)) second.chkentry(1) will report an error and your
submission WILL BE rejected!timestamp_epoch (string)
timestamp_epoch (double quoted string)
"Thu Jan 01 00:00:00 1970 UTC" (gettimeofday(2) epoch).First, PLEASE read the IOCCC markdown guidelines.
Next, 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:
no_comment (double quoted string)
no comment about no_comment other than to state that unless
-no_comment matches the string:no_comment matches this quote:-mandatory comment: because comments were removed from the original JSON spec
+“mandatory comment: because comments were removed from the original JSON spec”
your submission WILL BE rejected!
Are we suggesting that removing comments from the JSON spec was a mistake?
-“You might very well think that; I couldn’t possibly comment” – Francis Urquhart
+“You might very well think that; but of course I couldn’t possibly comment.” – Francis Urquhart
IOCCC_auth_version (double quoted string)
no_comment (double quoted string)
no comment about no_comment other than to state that unless
-no_comment matches the string:no_comment matches this quote:-mandatory comment: because comments were removed from the original JSON spec
+“mandatory comment: because comments were removed from the original JSON spec”
your submission WILL BE rejected!
Are we suggesting that removing comments from the JSON spec was a mistake?
-“You might very well think that; I couldn’t possibly comment” – Francis Urquhart
+“You might very well think that; but of course I couldn’t possibly comment.” – Francis Urquhart
IOCCC_info_version (double quoted string)