IOCCC image by Matt Zucker

The International Obfuscated C Code Contest

Entering the IOCCC: the bare minimum you need to know

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 only 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” and the FAQ on “compiling mkiocccentry toolkit”, 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 work_dir prog.c Makefile remarks.md [file ...]

where:

NOTE: Please see our IOCCC markdown guide for important information on using markdown in the IOCCC.

NOTE: It is NOT necessary to install the tools to use them as you can run the tools from the top of the mkiocccentry repo directory just fine, though you’ll have to use the form of ./mkiocccentry instead of just mkiocccentry. However, installing it will make it easier for you as you can run it from your submission’s directory. See the FAQ on “installing mkiocccentry” at the mkiocccentry repo.

If the mkiocccentry tool indicates that there is a problem with your entry, 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!

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 only 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.