This quick start guide is version 28.0.2 2025-03-12.
Entering the IOCCC: the bare minimum you need to know
To submit your code to the IOCCC, you MUST follow these steps:
0. Verify that the IOCCC is pending or open for submissions
First, check the “current status of the IOCCC” page to see current contest status. You may only register for the IOCCC when the IOCCC is either pending or open.
You may only submit your entries to the IOCCC when the IOCCC is open.
See also the IOCCC news for more information.
1. Read the latest IOCCC rules and review the IOCCC guidelines
Please pay close attention to the official IOCCC rules.
You are also highly encouraged to review the official IOCCC guidelines as they contain important suggestions, useful hints, and IOCCC humor. :-)
2. Register for the IOCCC
IMPORTANT: You may only register for the IOCCC when the IOCCC is either pending or open. See “current status of the IOCCC” page for details.
If the contest is pending or open, then follow the directions on “how to register for the IOCCC”.
3. Wait for your submit server username and initial password
Once you have registered for the IOCCC, and once the contest is OPEN, one of the IOCCC judges will send via email within a few days, your IOCCC submit server Username and Initial password.
PLEASE NOTE: After registering, it could take up to a few days before an IOCCC judge sends the that email, so PLEASE be patient. This means that you should GIVE YOURSELF TIME before the contest closes!
IMPORTANT NOTE: Unless the contest is open, then you will NOT receive your Username and Initial password by email. For example, if the contest is pending, you will have to WAIT UNTIL THE CONTEST IS OPEN.
Please check the “current status of the IOCCC” page and visit the “how to register for the IOCCC” page for detailed instructions.
NOTE: If are having trouble receiving your Username and Initial password, and the CONTEST IS OPEN, and have you checked your spam folder, Contact the IOCCC for assistance.
4. Login to the submit server and change your password
Using the Username and Initial password you receive via email in step 3, you need to login to the IOCCC submit server.
IMPORTANT NOTE: You must change your password WITHIN 72 HOURS from when one of the IOCCC judges sent that email.
NOTE: The IOCCC submit server is ready for submissions ONLY WHEN THE CONTEST IS open.
Please visit the “change your submit server initial password” page for detailed instructions.
5. Obtain and compile the latest mkiocccentry toolkit
Once the contest is open, download the most recent version of the mkiocccentry toolkit.
IMPORTANT NOTE: While the contest is pending, the mkiocccentry toolkit could change. Once the content is open, be sure you have the latest version installed.
To help you, please see the FAQ on “how to obtain the most recent mkiocccentry”, the FAQ on “compiling mkiocccentry toolkit” and the FAQ on “installing the mkiocccentry tools” for more details.
6. Run the mkiocccentry tool to form your submission tarball
For more details on mkiocccentry
, what it is, how to obtain it and how to use
it, see the
FAQ on “mkiocccentry”
(especially the
FAQ on “what mkiocccentry is in simple terms,
the
FAQ on”how to use mkiocccentry“)
and the mkiocccentry section in the
guidelines.
mkiocccentry [options] workdir topdir
where:
workdir
directory where the submission directory and tarball are formed
topdir
directory where your files to be packaged are in
Three files are required to exist in topdir
:
prog.c
path to the C source for your submission
Makefile
Makefile to build (make all) and clean up (make clean & make clobber) as well as the other required files
remarks.md
Remarks about your entry in markdown format: see the FAQ on “remarks.md” for more info.
NOTE: Please see our IOCCC markdown guide for important information on using markdown in the IOCCC.
If the mkiocccentry
tool indicates that there is a problem with your
submission, especially if it identifies a Rule 2, or
any other rule, related problem, you are strongly encouraged to revise and
correct your entry and then re-run the mkiocccentry
tool.
If you choose to risk violating Rules, be sure and explain your reason
for doing so in your remarks.md
file.
See also Rule 17!
IMPORTANT NOTE: the tools that require other tools, mkiocccentry(1)
and
txzchk(1)
, will, as of version 2.0.2 2025-03-11
, search under $PATH
. If
you have an earlier version and you have not installed the tools and run the
tools from outside the repo directory, you will have to use the options to the
tools to set the path to the required tools.
Do remember to make sure you have the latest vers
chkentry(1)
, txzchk(1)
and fnamchk(1)
. And remember to make sure you have
the latest version so you do not violate Rule 17.
See the
FAQ on “obtaining the latest mkiocccentry tools”,
the
FAQ on “compiling the mkiocccentry tools”,
the
FAQ on “installing the mkiocccentry tools”
and the
FAQ on “using the mkiocccentry tools”
for more help.
See also the FAQ on “what the minimum required versions are for this contest” for more details on how to verify you have the correct versions for this contest.
7. Upload your submission to the IOCCC submit server
The screenshots on the “how to upload your submission to the IOCCC” page might be a helpful guide when using the IOCCC submit server.
NOTE: You may modify a previous uploaded submission, if the contest is open, by replacing the file in a slot. Please use the mkiocccentry tool to rebuild the compressed tarball as this will update the timestamps and the filename generated, as well as packaging any changes: making it clear to the IOCCC judges that you intend to replace the older upload.
IMPORTANT NOTE: The IOCCC submit server is ready for submissions ONLY WHEN THE CONTEST IS open.
See the “current status of the IOCCC” page for details on the contest status.
IMPORTANT NOTE: When the contest is closed, the IOCCC submit server might be offline and unreachable as a website.
NOTE: if you do need to update a submission, you might find the FAQ on “how to not have to re-enter information more than once” useful.