From 75387360d018b279d93dfcd5d7e7c219ad296839 Mon Sep 17 00:00:00 2001
From: Landon Curt Noll
If a group of people work on a submission, then they should +
-Processing your registration is an activity overseen by an IOCCC judge. -Please be patient while an IOCCC judge processes your registration.
+using either a group email address, or an email address for one of the authors. + +It can take a few days to process your registration and for the server to email your details, therefore make sure to allow yourself ample time to register and submit your entries; DO NOT WAIT UNTIL THE FINAL DAYS to register! The judges are NOT responsible for delayed or lost email or for those who wait until the last minute to try to register!
-If after a few days you believe your registration hasn’t been process, then -contact the Judges.
-After your UUID and initial password are emailed to you, you have +
+ +contact the Judges by email to request a reset. +See How to register for the IOCCC.
See Entering the IOCCC: the bare minimum you need to know.
Jump to: top
@@ -593,7 +601,9 @@ If you fail to change your temporary password by that deadline, then you’ll ne authors who skillfully employed various techniques to develop their code. If you do make use of such tools or services, then we ENCOURAGE you to describe how you used such tools in yourremarks.md file.
-In short: You created it, you own it, its an original work, or you have explicit permission to the work.
+See the FAQ on “May I use AI, LLM, Virtual coding assistants, or similar tools to write my submission?”.
Jump to: top
@@ -677,14 +687,18 @@ This is one of the reasons why the IOCCC rules andSubmissions will be judged in an environment that has no IDE. Any submission that fails to compile/build because it requires an IDE will be rejected.
-We will use the GNU make(1) tool, your Makefile, as well as tools found in the
+
Your Makefile MUST be compatible with GNU make and we suggest you use
+in the building and compiling of your submission.
+
See the FAQ on “What are the detailed recommendations for a submission Makefile?”.
Jump to: top
@@ -695,13 +709,19 @@ FAQ on “What are the detailed recommend -We STRONGLY recommend you do install the most recent release of +
-If you submit your own JSON files (OTHER THAN .auth.json and
-.info.json) then they do NOT have to be valid JSON.
However, if you do provide invalid JSON files, PLEASE
-document and clearly explain this in your remarks.md file.
If you use an optional filename for something other than their intended use -in order to get past the file limit, we will consider that an abuse of rules.
-The mkiocccentry generated tarball does NOT reveal who you are! For this
-reason, the tarball MUST be a v7 format tarball.
You should NOT use a tarball as an extra file for a test-suite unless you +
+ + -If you DO include a tarball as an extra file, and the build process or the
+then you MUST specify why in your remarks.md file.
+
Instead of including a large test-suite that requires a lot of files as part of +extracted files. +
+ -If you DO include a tarball then make sure it uses the v7 format. See the +submission, assuming it is not reveal who you are. +
+ +for details on how to make a v7 tarball. + +See the
FAQ on “What should I do with the try.sh and try.alt.sh scripts?”.
See the @@ -768,7 +804,9 @@ previously uploaded submission by rebuilding your submission with the mkiocccentry toolkit, and then re-uploading it to the same slot number on the submit server.
-The official locale of the IOCCC is C.
+You are encouraged to examine the winners of previous contests.
Because rules change from year to year, some past winning entries may be rejected this year.
@@ -982,11 +1020,13 @@ is quite another to use many bytes of-Ds in order to try and squee
source under the size limit.
Your source code, post-pre-processing, should not exceed the size of Microsoft Windows. :-)
-You should try to restrict commands used in the build file to commands found in +
+Specification. +You may compile and use your own programs. If you do, try to build and execute
from the current directory. This restriction is not a hard and
absolute one. The intent is to ensure that the building of your
@@ -1272,42 +1312,59 @@ without having to type in answers each time, you can use the -d or
option to mkiocccentry for the tool to pseudo-randomly create answers for you.
For example:
mkiocccentry -d workdir topdir
-Do NOT submit a tarball formed by mkiocccentry -d .. OR by
-mkiocccentry -s seed .. OR by using the test UUID!
The mkiocccentry(1) tool creates an xz(1) compressed v7 format tarball using a tar(1)
-command of the form:
cd workdir/UUID-slot_num && tar --format=v7 -cJf submit.UUID-slot_num.timestamp.txz UUID-slot_num
In many places the mkiocccentry(1) tool will prompt you to verify what you input, allowing you to
correct details as you go along.
Pressing the “enter key” at the mkiocccentry(1) tool prompts will allow you
-to proceed with a default, however make sure the default is the CORRECT
-answer.
The mkiocccentry(1) tool will use code from iocccsize(1) which detects a number of
issues (such as Rule 2 - Size restrictions) that you may ignore,
however ignoring such issues comes with a SIGNIFICANT level of risk!
Once the tarball is packaged it will
run txzchk(1), which will also run fnamchk(1), as part of its algorithm.
The use of mkiocccentry -W .... is highly discouraged as this may ignore
-warnings about a problem that may cause your submission to be REJECTED!”
The same can be said of the -Y option, and to a lesser extent -y: the -y
-is mostly for the test script and the -Y is like -y but even more
-aggressive.
If mkiocccentry encounters an error, the program will exit and the xz
compressed tarball will NOT be generated: this is a feature, not a bug!
If you encounter a bug with the
mkiocccentry toolkit
PLEASE run the bug_report.sh script to help us out here!
While you don’t have to install the +
-The mkiocccentry(1) tool will ignore any filename or directory that begins with a period (.).
The mkiocccentry(1) tool will ignore all files that begin with COPYING, COPYRIGHT, and LICENSE, regardless
-of filename case.
The mkiocccentry(1) tool will reject any of the following files if they are found directly under
-the top level directory (topdir):
chkentry(1) (mkiocccentry -C chkentry ...), txzchk(1) (mkiocccentry -T txzchk ...),
+and fnamchk(1) (mkiocccentry -F fnamchk ...).
+
+
+
+
+topdir):
[0-9][0-9][0-9][0-9]_*.tar.bz2 file globThe files listed in the above list are allowed to exist in sub-directories: just NOT directly under
-the top level directory (topdir).
The mkiocccentry(1) tool evaluates all filenames and directory names in a case
+
Having two or more filenames that differ only by case WILL lead to problems -because of the previous statement.
-When the mkiocccentry(1) tool ignores a file, that file is NOT included as
-part of your submission.
When the mkiocccentry(1) tool ignores a directory, that directory,
+even if your filesystem doesn’t do the same.
+
The mkiocccentry(1) tool will ignore all symlinks.
Creating a directory directly under the top level directory (topdir)
+your submission.
+
The required Makefile and remarks.md files may NOT be empty. This
+mkiocccentry(1) tool to abort with a fatal error.
+
If the optional file try.alt.sh, or try.sh exists and is an empty file,
-the mkiocccentry(1) tool will abort with a fatal error.
If the mkiocccentry(1) tool encounters anything that isn’t a file, isn’t a
+tool will ONLY check file size.
+
See
FAQ on “How do I report bugs in an mkiocccentry tool?”.
See Rule 11 - Legal rule abuse for warnings about ignoring mkiocccentry(1) tool warnings.
The 2503 value for Rule 2b - Net Size is a decimal anagram of the number of the kernel disk pack of one of the judge’s BESM-6.
-There may or may not be fewer than 2^7+1 reasons why these IOCCC -guidelines seem obfuscated.
-Excessively “dotty” use of the chksubmit(1) or chkentry(1) commands suggests that
-either you like silly things, or that you”RTFS” with some level of care.
Some people might question what actually constitutes a valid JSON file, given -the state of the “so-called” JSON spec.. :-)
+the state of the “so-called” JSON spec. :-)We prefer programs that do not require a fish license: crayons and cat detector vans not withstanding.
We believe that Mark Twain’s quote:
@@ -1447,25 +1530,27 @@ This isn’t to say that another highly compact and obfuscated replacement ofinit(8)would not be an interesting submission. -If the IOCCC judges are feeling ornery we +If the IOCCC judges are feeling like it, they might choose to compile your program for running on an Arduino or a PDP-11. Heck, should we ever find an emulator of 60-bit CDC Cyber -CPU, we might just try your submission on that emulator as well :-)
+CPU, we might just try your submission on that emulator as well :-) +Do not fear if you’re not 100% sure of the significance of
-2305567963945518424753102147331756070as it is not of prime importance: or is it? :-)With respect to nested functions, try
+chkentry -b.Jump to: top
+ + It can take a few days to process your registration and for the server to email your details, therefore make sure to allow yourself ample time to @@ -149,13 +153,17 @@ register and submit your entries; **DO NOT WAIT UNTIL THE FINAL DAYS** to register! The judges are **NOT** responsible for delayed or lost email or for those who wait until the last minute to try to register! + + See [How to register for the IOCCC](register.html). @@ -187,7 +195,9 @@ authors who skillfully employed various techniques to develop their code. If you do make use of such tools or services, then we **ENCOURAGE you to describe how you used such tools** in your `remarks.md` file. + See the FAQ on "[May I use AI, LLM, Virtual coding assistants, or similar tools to write my submission?](../faq.html#ai)". @@ -299,15 +309,19 @@ Submissions will be judged in an environment that has no **IDE**. Any submission that fails to compile/build because it requires an **IDE** will be rejected. + + See the FAQ on "[What are the detailed recommendations for a submission Makefile?](../faq.html#makefile_details)". @@ -325,15 +339,21 @@ Jump to: [top](#) + + + + + + + + + + + See the FAQ on "[What should I do with the `try.sh` and `try.alt.sh` scripts?](../faq.html#try_scripts)". @@ -428,7 +465,9 @@ previously uploaded submission by rebuilding your submission with the and then re-uploading it to **the same slot number** on the [submit server](https://submit.ioccc.org). + You are **encouraged** to examine the [winners of previous contests](../years.html). @@ -713,11 +752,13 @@ source under the size limit. Your source code, post-pre-processing, should not exceed the size of [Microsoft Windows](https://en.wikipedia.org/wiki/Microsoft_Windows). :-) + You may compile and use your own programs. If you do, try to build and execute from the current directory. This restriction is not a hard and @@ -1091,11 +1132,15 @@ For example: mkiocccentry -d workdir topdir ``` -Do **NOT** submit a tarball formed by `mkiocccentry -d ..` **OR** by -`mkiocccentry -s seed ..` **OR** by using the `test` UUID! + + ``` cd workdir/UUID-slot_num && tar --format=v7 -cJf submit.UUID-slot_num.timestamp.txz UUID-slot_num @@ -1104,9 +1149,10 @@ command of the form: In many places the `mkiocccentry(1)` tool will prompt you to verify what you input, allowing you to correct details as you go along. + The `mkiocccentry(1)` tool will use code from `iocccsize(1)` which detects a number of issues (such as [Rule 2 - Size restrictions](rules.html#rule2-size)) that you may ignore, @@ -1115,12 +1161,15 @@ however ignoring such issues **comes with a SIGNIFICANT level of risk!** Once the tarball is packaged it will run `txzchk(1)`, which will also run `fnamchk(1)`, as part of its algorithm. -The use of `mkiocccentry -W ....` is **highly discouraged** as this may ignore + -The same can be said of the `-Y` option, and to a lesser extent `-y`: the `-y` -is mostly for the test script and the `-Y` is like `-y` but even more -aggressive. + If `mkiocccentry` encounters an **error**, the program will exit and the xz compressed tarball **will NOT be generated**: this is a **feature, not a bug**! @@ -1129,21 +1178,30 @@ If you encounter a **bug** with the [mkiocccentry toolkit](https://github.com/ioccc-src/mkiocccentry) **PLEASE run the `bug_report.sh` script to help us out here!** + + + + + + + + + + + + + + + See FAQ on "[How do I report bugs in an `mkiocccentry` tool?](../faq.html#mkiocccentry_bugs)". @@ -1223,14 +1302,19 @@ may be found on the ["Curios!" about 2503](https://t5k.org/curios/page.php/2503. The 2503 value for [Rule 2b - Net Size](rules.html#rule2b-net-size) is a decimal anagram of the number of the kernel disk pack of one of the judge's [BESM-6](https://en.wikipedia.org/wiki/BESM-6). -There may or may not be fewer than 2^7+1 reasons why these [IOCCC -guidelines](guidelines.html) seem obfuscated. + + Some people might question what actually constitutes a valid JSON file, given -the state of the "_so-called_" JSON spec.. :-) +the state of the "_so-called_" JSON spec. :-) We prefer programs that do not require a fish license: crayons and cat detector vans not withstanding. @@ -1295,7 +1379,7 @@ unless you count this one, in which case there are 3. :-) We believe that Mark Twain's quote: @@ -1324,29 +1408,30 @@ replacement of `init(8)` would not be an interesting submission. - -If the [IOCCC judges](../judges.html) are feeling ornery we +If the [IOCCC judges](../judges.html) are feeling like it, they might choose to compile your program for running on an Arduino or a PDP-11. Heck, should we ever find an emulator of 60-bit CDC Cyber CPU, we might just try your submission on that emulator as well :-) + Do not fear if you're not 100% sure of the significance of `2305567963945518424753102147331756070` as it is not of prime importance: or is it? :-) + Jump to: [top](#) diff --git a/next/rules.html b/next/rules.html index d724aec19..ccc6d61fd 100644 --- a/next/rules.html +++ b/next/rules.html @@ -480,20 +480,36 @@ granted provided this copyright and notice are included in its entirety and remains unaltered. All other uses MUST receive prior permission in writing by contacting the judges.diff --git a/next/guidelines.md b/next/guidelines.md index 1678e7508..d58a8feb9 100644 --- a/next/guidelines.md +++ b/next/guidelines.md @@ -13,7 +13,7 @@ writing by [contacting the judges](../contact.html). # Guidelines VersionRules Version
-These IOCCC Rules are version 29.11 2025-11-30.
+These IOCCC Rules are version 29.12 2025-12-01.
+ +Reminder: be SURE to read the IOCCC guidelines.
-Rule 0 - Dates
This IOCCC runs from
-2025-12-03 20:25:12.045045 UTCto2026-03-13 17:19:23.293137 UTC.This contest will enter the pending state on
-2025-12-03 20:25:12.045045 UTC, -allowing people to register for the IOCCC.This contest will enter the open state on
-2025-12-15 18:21:24.273033 UTC, -allowing people to upload submissions.This contest will enter the judging state on
+ + + +2026-03-13 17:19:23.293137 UTC, -when people will no longer be allowed to upload submissions.The above dates and times may change AT ANY TIME until the contest status is open.
-The above timestamps are in “YYYY-MM-DD HH:MM:SS.micros UTC” format.
+See Entering the IOCCC: the bare minimum you need to know.
See FAQ on “How can I comment or make a suggestion on IOCCC rules, guidelines and tools?”.
@@ -502,7 +518,9 @@ FAQ on “How can I comment or make a suggestionRule 1 - C program
-Your submission MUST be a C program.
+See the Guidelines for Rule 1 - C program.
-@@ -560,56 +578,68 @@ temporary password, which you MUST change within 14 days.Rule 4 - Required files
Your submission MUST include at least these files:
-Makefile,prog.c, +At a minimum the following requirements apply. Additional requirements +Use mkiocccentry
. + + -NOTE:
-mkiocccentry(1)will reject any directory which has prohibited -files.NOTE: by ‘top directory’ we mean the directory with
-prog.c,Makefile, -remarks.mdand themkiocccentry(1)generated files.auth.jsonand -.info.jsonand NOT thetopdirarg tomkiocccentry(1).-
+a case insensitive filesystem. + +- -
+
.info.jsonand.auth.jsonMUST be generated bymkiocccenty(1)+below: +| +*
.info.jsonand.auth.jsonMUST be generated bymkiocccenty(1)when packing a submission. Whenchksubmit(1)is run on the submission directory ALL tests must pass and if there is ANY problem with these JSON files or if either is missing it will fail. See Rule 17 - use -mkiocccentry.- -
The
+Makefile,remarks.md,.info.json, and.auth.jsonMUST +mkiocccentry.| +* The
Makefile,remarks.md,.info.json, and.auth.jsonMUST have a file size greater than 0 and MUST have content. Note thatmkiocccentry(1)will check for file size but will NOT check for -content.- -
Your submitted source code MUST be called
+prog.c. When theMakefile+content.| +* Your submitted source code MUST be called
prog.c. When theMakefilecompiles your code, the executable (if applicable) MUST be calledprog. -TheMakefilemay compile your source code into other filenames as well, if you -want.- -
As
prog,prog.alt,prog.alt.o,prog.omay be created by your -Makefile, your submission MUST NOT include those files in your top -directory.- -
Your submission may NOT have any file that starts with
COPYING, -COPYRIGHT, orLICENSEas those files are reserved by IOCCC.- -
Your submission may NOT have in the top directory:
prog.orig.c, -README.mdorindex.htmlas those files are reserved by the IOCCC.- -
Your submission may NOT have in the top directory any file +The
+Makefilemay compile your source code into other filenames as well, if you want.| +* As
+prog,prog.alt,prog.alt.o,prog.omay be created by your +Makefile, your submission MUST NOT include those files in your top directory.| +* Your submission may NOT have any file that starts with
+COPYING, +COPYRIGHT, orLICENSEas those files are reserved by IOCCC.| +* Your submission may NOT have in the top directory:
+prog.orig.c, +README.mdorindex.htmlas those files are reserved by the IOCCC.| +* Your submission may NOT have in the top directory any file that matches a file glob pattern form
[0-9][0-9][0-9][0-9]_*.tar.bz2-as those files are reserved by IOCCC.- -
Your submission may ONLY contain files and directories. Other file -types such as symlinks, sockets etc. are NOT allowed.
- -
All directories MUST have permission mode of 0755. All files +as those files are reserved by IOCCC.
+| +* Your submission may ONLY contain files and directories. Other file +types such as symlinks, sockets etc. are NOT allowed.
+| +* All directories MUST have permission mode of 0755. All files MUST have the file mode of 0444, EXCEPT for files that -end in
.shwhich must have a mode of 0555.- -
All files that end in
.mdMUST be in markdown format. -We recommend that markdown files observe our -IOCCC markdown guidelines.- -
All filenames are treated as case insensitive. For example,
+REMARKS.MD, +end in.shwhich must have a mode of 0555.| +* All files that end in
+.mdMUST be in markdown format.| +* All filenames are treated as case insensitive. For example,
REMARKS.MD, andRemarks.md, andremarks.mdare considered bymkiocccenty(1)to be the SAME file. When preparing a submission on a case sensitive filesystem, ensure that the submission will work on -a case insensitive filesystem.The
remarks.mdandMakefileare explained in more detail in the Guidelines.See IOCCC markdown guidelines.
See Rule 17 - Use mkiocccentry.
@@ -635,8 +665,10 @@ directories and as long as the directory name or filename does NOT. (dot)).The
-Makefileclobbertarget MUST restore your submission to its original form, including the removal of any created files and directories.Your code should be able to run under a -SUS environment.
+-Rule 6 - Free Rule
@@ -652,12 +684,16 @@ original form, including the removal of any created files and directories.Rule 7 - Original Work
You, the author(s), MUST own the contents of your submission, OR, IF you +
-You are permitted to use tools to write your code.
+you obtained from them in yourremarks.mdfile. + +See Rule 16 - Anonymous Judging, and Guidelines for Rule 7 - Original Work.
@@ -670,13 +706,15 @@ and registered and ONLY while the contest is open.The submit server places a total size limit of 3999971 bytes PER submission.
-Each account has ten (10.000) submission slots (0..9). Each submission +
+validate your submission. +See Rule 3 - Registering for the IOCCC, Rule 15 - GNU Makefile, @@ -772,27 +810,32 @@ win, then you are encouraged to mention this in your
remarks.mdfilRule 15 - GNU Makefile
-The
+invoked usingMakefileMUST adhere to GNU Makefile syntax. It’s highly recommended +${CC}and${CPP}macros respectively. +The
-clobbertarget MUST clean and restore the submission directory tree to its original state, such as removing temporary files or any modified data files. Don’t assume thatgittool chain is installed, i.e. do NOT expectgit clean -fto work. To be clear: do NOT usegitto clean out files as this can cause problems in the winner repo!The
+the value such as: +MakefileMUST use a syntax that is compatible with +-SHELL= bashAssume that commands commonly found in Single UNIX + -
+Do NOT assume that
+GNU long name options (such as.(current directory) is in the$PATHenvironment -variable.--example) or extensions likegrep -P. +Do NOT assume that
.(current directory) is in the$PATHenvironment variable.See FAQ on “What are the detailed recommendations for a submission Makefile?”.
@@ -820,37 +863,55 @@ may result in the submission being disqualified.The files, directories, and paths MUST conform to the limits imposed by
-mkiocccentry(1), including but NOT limited, to their names, count, path length, directory tree depth, and permissions.The submission tree may have at most 13 directories and maximum +
+component is 38 and maximum path length is 60. +The submission MUST be a
.txzcompressed tarball (i.e., tarball compressed byxz(1)) as constructed bymkiocccentry(1), which MUST be within [1..3999971] bytes in size.The tarball MUST be a v7 format tarball, and any supplementary tarballs you provide MUST also be v7 format.
The sum of all file lengths, after unpacking from the tarball, MUST be less than
-27651*1024(28314624) bytes.The submission MUST pass all
-txzchk(1)checks, and the tarball filename -MUST pass allfnamchk(1)checks as well.You may NOT submit a tarball created by the
--d,-eOR by the-s seedoptions ofmkiocccentry(1).The unpacked submission directory MUST pass the checks performed by the -minimum required version of
-chksubmit(1).Submissions may NOT use a mkiocccentry + + + + -
Submissions may ONLY use mkiocccentry +the IOCCC judges only”, in their respective man pages. +
+ -The
-prog.cfile MUST pass the Rule 2 - Size -checks performed byiocccsize(1).The
-.auth.jsonand.info.jsonfiles MUST be compatible with what -mkiocccentry(1)generates.Any submission that fails to pass the checks performed by the minimum required +for testing and the IOCCC judges. +
+ + + +WILL be rejected! +See the FAQ on “What is the mkiocccentry tool, how do I obtain it and how do I use it?”.
@@ -864,9 +925,11 @@ FAQ on “What is the mkiocccentry tool, how-Rule 19 - Prime
This 19th rule, while prime, is reserved for future abuse 😁. +
+below this rule in future contests. +See Rule 6 - Free Rule.
Further Reading
Please read the Guidelines next for further commentary on these rules.
diff --git a/next/rules.md b/next/rules.md index 1fcb22c01..25d4add30 100644 --- a/next/rules.md +++ b/next/rules.md @@ -39,7 +39,15 @@ writing by [contacting the judges](../contact.html). ## Rules Version -These IOCCC Rules are version **29.11 2025-11-30**. +These IOCCC Rules are version **29.12 2025-12-01**. + + + + Reminder: be SURE to read the [IOCCC guidelines](guidelines.html). @@ -48,20 +56,30 @@ Reminder: be SURE to read the [IOCCC guidelines](guidelines.html). ## Rule 0 - Dates + + + + The above **dates and times may change _AT ANY TIME_** until the [contest status](../status.html) is **open**. + See [Entering the IOCCC: the bare minimum you need to know](../quick-start.html#enter). @@ -75,7 +93,9 @@ FAQ on "[How can I comment or make a suggestion on IOCCC rules, guidelines and t + See the [Guidelines for Rule 1 - C program](guidelines.html#guidelines-for-rule-1---c-program). @@ -159,70 +179,83 @@ See [Guidelines for Rule 3 - Register for the IOCCC](guidelines.html#guideline-3 + + +| * `.info.json` and `.auth.json` **MUST** be generated by `mkiocccenty(1)` when packing a submission. When `chksubmit(1)` is run on the submission directory **ALL** tests must pass and if there is **ANY** problem with these JSON files or if either is missing it will fail. See [Rule 17 - use mkiocccentry](#rule17-mkiocccentry). +| * The `Makefile`, `remarks.md`,`.info.json`, and `.auth.json` **MUST** have a file size **greater than 0** and **MUST** have content. Note that `mkiocccentry(1)` will check for file **size** but will **NOT** check for content. +| * Your submitted source code **MUST** be called `prog.c`. When the `Makefile` compiles your code, the executable (if applicable) **MUST** be called `prog`. -The `Makefile` may compile your source code into other filenames as well, if you -want. +The `Makefile` may compile your source code into other filenames as well, if you want. +| * As `prog`, `prog.alt`, `prog.alt.o`, `prog.o` may be created by your -`Makefile`, your submission **MUST NOT** include those files in your **top** -directory. +`Makefile`, your submission **MUST NOT** include those files in your **top** directory. +| * Your submission may **NOT** have any file that starts with `COPYING`, `COPYRIGHT`, or `LICENSE` as those files are reserved by IOCCC. +| * Your submission may **NOT** have in the **top** directory: `prog.orig.c`, `README.md` or `index.html` as those files are reserved by the IOCCC. +| * Your submission may **NOT** have in the **top** directory any file that matches a file glob pattern form `[0-9][0-9][0-9][0-9]_*.tar.bz2` as those files are reserved by IOCCC. +| * Your submission may **ONLY** contain files and directories. Other file types such as symlinks, sockets etc. are **NOT** allowed. +| * **All** directories **MUST** have permission mode of **0755**. All files **MUST** have the file mode of **0444**, EXCEPT for files that end in `.sh` which must have a mode of **0555**. +| * All files that end in `.md` **MUST** be in markdown format. -We recommend that markdown files observe our -[IOCCC markdown guidelines](../markdown.html). +| * All filenames are treated as case insensitive. For example, `REMARKS.MD`, and `Remarks.md`, and `remarks.md` are considered by `mkiocccenty(1)` to be the **SAME** file. When preparing a submission on a case sensitive filesystem, ensure that the submission will work on a case insensitive filesystem. + + + + The `remarks.md` and `Makefile` are explained in more detail in the Guidelines. See [IOCCC markdown guidelines](../markdown.html). @@ -259,8 +292,10 @@ with a `.` (dot)). The `Makefile` `clobber` target **MUST** restore your submission to its original form, including the removal of any created files and directories. +@@ -285,13 +320,17 @@ See [Rule 19 - Prime](rules.html#rule-19---prime).+ + See [Rule 16 - Anonymous Judging](rules.html#rule16-anonymous-judging), and @@ -310,6 +349,7 @@ registered and **ONLY** while the contest is open. The submit server places a total size limit of **3999971** bytes **PER** submission. + See [Rule 3 - Registering for the IOCCC](rules.html#rule3-register), @@ -446,11 +487,13 @@ win, then you are encouraged to mention this in your `remarks.md` file as this + The `clobber` target **MUST** clean and restore the submission directory tree to its original state, such as removing temporary files or any modified data files. @@ -458,23 +501,27 @@ Don't assume that `git` tool chain is installed, i.e. do **NOT** expect `git clean -f` to work. To be clear: do **NOT** use `git` to clean out files as this can cause problems in the winner repo! + ``` SHELL= bash ``` + + -Do **NOT** assume that `.` (current directory) is in the `$PATH` environment -variable. +Do **NOT** assume that `.` (current directory) is in the `$PATH` environment variable. See [Rule 4 - Required files](rules.html#rule4-required-files). @@ -514,11 +561,13 @@ The files, directories, and paths **MUST** conform to the limits imposed by `mkiocccentry(1)`, including but **NOT** limited, to their names, count, path length, directory tree depth, and permissions. + The submission **MUST** be a `.txz` compressed tarball (i.e., tarball compressed by `xz(1)`) as constructed by `mkiocccentry(1)`, which **MUST** be within **[1..3999971]** bytes in size. @@ -529,34 +578,50 @@ you provide **MUST** also be **v7 format**. The sum of all file lengths, after unpacking from the tarball, **MUST** be less than `27651*1024` (**28314624**) bytes. + + + + + -The `prog.c` file **MUST** pass the [Rule 2 - Size](rules.html#rule2-size) + + + See [Rule 4 - Required files](rules.html#rule4-required-files). @@ -581,9 +646,11 @@ See [Rule 7 - Original Work](rules.html#rule-7---original-work). ## Rule 19 - Prime + See [Rule 6 - Free Rule](rules.html#rule6-free-rule). diff --git a/sitemap.xml b/sitemap.xml index 968db06be..f1fcab2e4 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -16826,11 +16826,11 @@https://www.ioccc.org/next/guidelines.html -2025-12-01T09:13:14+00:00 +2025-12-01T10:26:00+00:00 https://www.ioccc.org/next/guidelines.md -2025-12-01T09:13:08+00:00 +2025-12-01T10:20:36+00:00 https://www.ioccc.org/next/index.html @@ -16870,11 +16870,11 @@https://www.ioccc.org/next/rules.html -2025-12-01T09:04:25+00:00 +2025-12-01T10:26:00+00:00 https://www.ioccc.org/next/rules.md -2025-12-01T09:06:35+00:00 +2025-12-01T10:21:01+00:00 https://www.ioccc.org/next/submit.html