In order simplify the write-up of the actual Rule 17 into a new FAQ 1.8. The somewhat shorted Rule 17 text now refers to checks performed by tools, encourages their use, discourages their misuse (overriding limits), and is easier to read: we think.
1246 lines
50 KiB
HTML
1246 lines
50 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||
<!-- START: two lines up starts content from: inc/top.default.html -->
|
||
|
||
<!-- END: this line ends content from: inc/top.default.html -->
|
||
<!-- START: this line starts content from: inc/head.default.html -->
|
||
|
||
<head>
|
||
<link rel="stylesheet" href="../ioccc.css">
|
||
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap" rel="stylesheet">
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||
<title>The International Obfuscated C Code Contest</title>
|
||
<link rel="icon" type="image/x-icon" href="../favicon.ico">
|
||
<meta name="description" content="IOCCC Rules">
|
||
<meta name="keywords" content="IOCCC, rules, Rules">
|
||
</head>
|
||
|
||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
||
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
||
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||
|
||
<!-- END: this line ends content from: inc/head.default.html -->
|
||
|
||
<!-- -->
|
||
<!-- This web page was formed via the tool: bin/gen-top-html.sh -->
|
||
<!-- The content of main section of this web page came from: next/rules.md -->
|
||
<!-- -->
|
||
|
||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||
<!-- !!! Do not modify this web page, instead modify the file: next/rules.md !!! -->
|
||
<!-- !!! Do not modify this web page, instead modify the file: next/rules.md !!! -->
|
||
<!-- !!! Do not modify this web page, instead modify the file: next/rules.md !!! -->
|
||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||
|
||
<!-- Markdown content was converted into HTML via the tool: bin/md2html.sh -->
|
||
|
||
<!-- START: this line starts content from: inc/body.default.html -->
|
||
|
||
<body>
|
||
|
||
<!-- END: this line ends content from: inc/body.default.html -->
|
||
<!-- START: this line starts content from: inc/topbar.default.html -->
|
||
|
||
<div class="theader">
|
||
<nav class="topbar">
|
||
<div class="container">
|
||
<div class="logo">
|
||
<a href="../index.html" class="logo-link">
|
||
IOCCC
|
||
</a>
|
||
</div>
|
||
|
||
<div class="topbar-items">
|
||
<div class="item">
|
||
<span class="item-header">
|
||
Entries
|
||
</span>
|
||
|
||
<div class="sub-item">
|
||
<div class="outfit-font">
|
||
<a href="../years.html" class="sub-item-link">
|
||
Winning entries
|
||
</a>
|
||
</div>
|
||
|
||
<div class="outfit-font">
|
||
<a href="../authors.html" class="sub-item-link">
|
||
Winning authors
|
||
</a>
|
||
</div>
|
||
|
||
<div class="outfit-font">
|
||
<a href="../location.html" class="sub-item-link">
|
||
Location of authors
|
||
</a>
|
||
</div>
|
||
|
||
<div class="outfit-font">
|
||
<a href="../bugs.html" class="sub-item-link">
|
||
Bugs and (mis)features
|
||
</a>
|
||
</div>
|
||
|
||
<div class="outfit-font">
|
||
<a href="../faq.html#fix_an_entry" class="sub-item-link">
|
||
Fixing entries
|
||
</a>
|
||
</div>
|
||
|
||
<div class="outfit-font">
|
||
<a href="../faq.html#fix_author" class="sub-item-link">
|
||
Updating author info
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="item">
|
||
<span class="item-header">
|
||
Status
|
||
</span>
|
||
|
||
<div class="sub-item">
|
||
<div class="outfit-font">
|
||
<a href="../news.html" class="sub-item-link">
|
||
News
|
||
</a>
|
||
</div>
|
||
|
||
<div class="outfit-font">
|
||
<a href="../status.html" class="sub-item-link">
|
||
Contest status
|
||
</a>
|
||
</div>
|
||
|
||
<div class="outfit-font">
|
||
<a href="../next/index.html" class="sub-item-link">
|
||
Rules and guidelines
|
||
</a>
|
||
</div>
|
||
|
||
<div class="outfit-font">
|
||
<a href="../markdown.html" class="sub-item-link">
|
||
Markdown guidelines
|
||
</a>
|
||
</div>
|
||
|
||
<div class="outfit-font">
|
||
<a href="../SECURITY.html" class="sub-item-link">
|
||
Security policy
|
||
</a>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="item">
|
||
<span class="item-header">
|
||
FAQ
|
||
</span>
|
||
|
||
<div class="sub-item">
|
||
<div class="outfit-font">
|
||
<a href="../faq.html" class="sub-item-link">
|
||
Frequently Asked Questions
|
||
</a>
|
||
</div>
|
||
|
||
<div class="outfit-font">
|
||
<a href="../quick-start.html#enter" class="sub-item-link">
|
||
Enter the IOCCC
|
||
</a>
|
||
</div>
|
||
|
||
<div class="outfit-font">
|
||
<a href="../faq.html#compiling" class="sub-item-link">
|
||
Compiling entries
|
||
</a>
|
||
</div>
|
||
|
||
<div class="outfit-font">
|
||
<a href="../faq.html#running_entries" class="sub-item-link">
|
||
Running entries
|
||
</a>
|
||
</div>
|
||
|
||
<div class="outfit-font">
|
||
<a href="../faq.html#help" class="sub-item-link">
|
||
How to help
|
||
</a>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="item">
|
||
<span class="item-header">
|
||
About
|
||
</span>
|
||
|
||
<div class="sub-item">
|
||
<div class="outfit-font">
|
||
<a href="../index.html" class="sub-item-link">
|
||
Home page
|
||
</a>
|
||
</div>
|
||
|
||
<div class="outfit-font">
|
||
<a href="../about.html" class="sub-item-link">
|
||
About the IOCCC
|
||
</a>
|
||
</div>
|
||
|
||
<div class="outfit-font">
|
||
<a href="../judges.html" class="sub-item-link">
|
||
The Judges
|
||
</a>
|
||
</div>
|
||
|
||
<div class="outfit-font">
|
||
<a href="../thanks-for-help.html" class="sub-item-link">
|
||
Thanks for the help
|
||
</a>
|
||
</div>
|
||
|
||
<div class="outfit-font">
|
||
<a href="../contact.html" class="sub-item-link">
|
||
Contact us
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
|
||
<div class="header-mobile-menu">
|
||
<noscript>
|
||
<a href="../nojs-menu.html" class="topbar-js-label">
|
||
Please Enable JavaScript
|
||
</a>
|
||
</noscript>
|
||
|
||
<button id="header-open-menu-button" class="topbar-mobile-menu">
|
||
<img
|
||
src="../png/hamburger-icon-open.png"
|
||
alt="hamburger style menu icon - open state"
|
||
width=48
|
||
height=48>
|
||
</button>
|
||
|
||
<button id="header-close-menu-button" class="hide-content">
|
||
<img
|
||
src="../png/hamburger-icon-closed.png"
|
||
alt="hamburger style menu icon - closed state"
|
||
width=48
|
||
height=48>
|
||
</button>
|
||
|
||
<div id="mobile-menu-panel" class="hide-content">
|
||
<div class="mobile-menu-container">
|
||
|
||
<div class="mobile-menu-wrapper">
|
||
<div class="mobile-menu-item">
|
||
Entries
|
||
</div>
|
||
<div class="mobile-submenu-wrapper">
|
||
|
||
<a class="mobile-submenu-item" href="../years.html">
|
||
Winning entries
|
||
</a>
|
||
|
||
<a class="mobile-submenu-item" href="../authors.html">
|
||
Winning authors
|
||
</a>
|
||
|
||
<a class="mobile-submenu-item" href="../location.html">
|
||
Location of authors
|
||
</a>
|
||
|
||
<a class="mobile-submenu-item" href="../bugs.html">
|
||
Bugs and (mis)features
|
||
</a>
|
||
|
||
<a class="mobile-submenu-item" href="../faq.html#fix_an_entry">
|
||
Fixing entries
|
||
</a>
|
||
|
||
<a class="mobile-submenu-item" href="../faq.html#fix_author">
|
||
Updating author info
|
||
</a>
|
||
|
||
<a class="mobile-submenu-item" href="../thanks-for-help.html">
|
||
Thanks for the help
|
||
</a>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="mobile-menu-wrapper">
|
||
|
||
<div class="mobile-menu-item">
|
||
Status
|
||
</div>
|
||
<div class="mobile-submenu-wrapper">
|
||
|
||
<a class="mobile-submenu-item" href="../news.html">
|
||
News
|
||
</a>
|
||
|
||
<a class="mobile-submenu-item" href="../status.html">
|
||
Contest status
|
||
</a>
|
||
|
||
<a class="mobile-submenu-item" href="../next/index.html">
|
||
Rules and guidelines
|
||
</a>
|
||
|
||
<a class="mobile-submenu-item" href="../markdown.html">
|
||
Markdown guidelines
|
||
</a>
|
||
|
||
<a class="mobile-submenu-item" href="../SECURITY.html">
|
||
Security policy
|
||
</a>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="mobile-menu-wrapper">
|
||
<div class="mobile-menu-item">
|
||
FAQ
|
||
</div>
|
||
<div class="mobile-submenu-wrapper">
|
||
|
||
<a class="mobile-submenu-item" href="../faq.html">
|
||
Frequently Asked Questions
|
||
</a>
|
||
|
||
<a class="mobile-submenu-item" href="../quick-start.html#enter">
|
||
Enter the IOCCC
|
||
</a>
|
||
|
||
<a class="mobile-submenu-item" href="../faq.html#compiling">
|
||
Compiling entries
|
||
</a>
|
||
|
||
<a class="mobile-submenu-item" href="../faq.html#running_entries">
|
||
Running entries
|
||
</a>
|
||
|
||
<a class="mobile-submenu-item" href="../faq.html#help">
|
||
How to help
|
||
</a>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="mobile-menu-wrapper">
|
||
<div class="mobile-menu-item">
|
||
About
|
||
</div>
|
||
<div class="mobile-submenu-wrapper">
|
||
|
||
<a class="mobile-submenu-item" href="../index.html">
|
||
Home page
|
||
</a>
|
||
|
||
<a class="mobile-submenu-item" href="../about.html">
|
||
About the IOCCC
|
||
</a>
|
||
|
||
<a class="mobile-submenu-item" href="../judges.html">
|
||
The Judges
|
||
</a>
|
||
|
||
<a class="mobile-submenu-item" href="../contact.html">
|
||
Contact us
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<script>
|
||
var headerOpenMenuButton = document.getElementById("header-open-menu-button");
|
||
var headerCloseMenuButton = document.getElementById("header-close-menu-button");
|
||
var mobileMenuPanel = document.getElementById("mobile-menu-panel");
|
||
|
||
headerOpenMenuButton.addEventListener("click", () => {
|
||
headerOpenMenuButton.classList.remove("topbar-mobile-menu");
|
||
headerOpenMenuButton.classList.add("hide-content");
|
||
|
||
headerCloseMenuButton.classList.remove("hide-content");
|
||
headerCloseMenuButton.classList.add("topbar-mobile-menu");
|
||
|
||
mobileMenuPanel.classList.remove("hide-content");
|
||
mobileMenuPanel.classList.add("topbar-mobile-panel");
|
||
});
|
||
|
||
headerCloseMenuButton.addEventListener("click", () => {
|
||
headerCloseMenuButton.classList.remove("topbar-mobile-menu");
|
||
headerCloseMenuButton.classList.add("hide-content");
|
||
|
||
mobileMenuPanel.classList.add("hide-content");
|
||
mobileMenuPanel.classList.remove("topbar-mobile-panel");
|
||
|
||
headerOpenMenuButton.classList.add("topbar-mobile-menu");
|
||
headerOpenMenuButton.classList.remove("hide-content");
|
||
});
|
||
</script>
|
||
|
||
<!-- END: this line ends content from: inc/topbar.default.html -->
|
||
<!-- START: this line starts content from: inc/header.default.html -->
|
||
|
||
<div class="header">
|
||
<a href="../2011/zucker/index.html">
|
||
<img src="../png/ioccc.png"
|
||
alt="IOCCC image by Matt Zucker"
|
||
width=300
|
||
height=110>
|
||
</a>
|
||
<h1>The International Obfuscated C Code Contest</h1>
|
||
<h2>IOCCC Rules</h2>
|
||
</div>
|
||
|
||
<!-- END: this line ends content from: inc/header.default.html -->
|
||
<!-- START: this line starts content from: inc/navbar.empty.html -->
|
||
|
||
<div class="navbar">
|
||
<a class="Right" href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fwww.ioccc.org%2Fnext%2Frules.html">✓</a>
|
||
</div>
|
||
|
||
<!-- END: this line ends content from: inc/navbar.empty.html -->
|
||
<!-- START: this line starts content from: inc/before-content.default.html -->
|
||
|
||
<div class="content" id="content">
|
||
|
||
<!-- END: this line ends content from: inc/before-content.default.html -->
|
||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||
|
||
<!-- BEFORE: 1st line of markdown file: next/rules.md -->
|
||
<!-- START: this line starts content from: inc/rules.pending.hdr -->
|
||
<h1 id="warning-these-rules-are-tentative">WARNING: These rules are TENTATIVE</h1>
|
||
<p>One might think of them as a <strong>beta</strong> release for the IOCCC
|
||
that is about to open.</p>
|
||
<p><strong>IMPORTANT</strong>: All <strong>tentative</strong> <a href="rules.html">rules</a> and <a href="guidelines.html">guidelines</a>
|
||
are subject to change by the <a href="../judges.html">IOCCC judges</a> at any time.
|
||
See both the <a href="../news.html">IOCCC news</a> and the <a href="https://fosstodon.org/@ioccc">IOCCC
|
||
Mastodon</a> feed as <em>sometimes</em> the
|
||
<a href="../judges.html">IOCCC judges</a> <em>mention</em> changes there.</p>
|
||
<p>See our
|
||
FAQ on “<a href="../faq.html#feedback">rules, guidelines, tools feedback</a>”
|
||
as well as our
|
||
FAQ on “<a href="../faq.html#question">about asking questions</a>”
|
||
about these rules. You might also find the FAQ in general useful, especially the
|
||
FAQ on “<a href="../quick-start.html#enter">how to enter the IOCCC</a>”.</p>
|
||
<h1 id="the-ioccc-is-pending">The IOCCC is pending</h1>
|
||
<p>While the IOCCC is not open now, there is a tentative opening date for the next IOCCC.</p>
|
||
<p>Comments and suggestions on these preliminary rules are welcome. See the
|
||
<a href="../faq.html#feedback">FAQ</a> for how to suggest, correct or provide feedback
|
||
about these rules.</p>
|
||
<!-- END: the next line ends content from: inc/rules.pending.hdr -->
|
||
<!-- This is the last line modified by the tool: bin/gen-status.sh -->
|
||
<h1 id="th-international-obfuscated-c-code-contest-official-rules">28th International Obfuscated C Code Contest Official Rules</h1>
|
||
<p class="leftbar">
|
||
Copyright © 2024-2025 Leonid A. Broukhis and Landon Curt Noll.
|
||
</p>
|
||
<p>All Rights Reserved. Permission for personal, education or non-profit use is
|
||
granted provided this this copyright and notice are included in its entirety
|
||
and remains unaltered. All other uses must receive prior permission in
|
||
writing by <a href="../contact.html">contacting the judges</a>.</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rules_version">
|
||
<div id="version">
|
||
<h2 id="ioccc-rules-version">IOCCC Rules version</h2>
|
||
</div>
|
||
</div>
|
||
<p class="leftbar">
|
||
These <a href="rules.html">IOCCC rules</a> are version <strong>28.26 2025-02-28</strong>.
|
||
</p>
|
||
<p class="leftbar">
|
||
The markdown form of these rules <a href="rules.md" download="rules.md">is
|
||
available for download</a>.
|
||
</p>
|
||
<p><strong>IMPORTANT</strong>: Be sure to read the <a href="guidelines.html">IOCCC guidelines</a>.</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="change_marks">
|
||
<h3 id="change-marks">Change marks</h3>
|
||
</div>
|
||
<p class="leftbar">
|
||
<strong>← Lines that start with this symbol indicate a change from the previous IOCCC</strong>
|
||
</p>
|
||
<p class="leftbar">
|
||
Most lines that were modified since the previous IOCCC start with a solid
|
||
4 pixel black left border (or, in the case of a code block or blockquote,
|
||
just a vertical bar). We say <em>most lines</em> because we sometimes forget
|
||
to bar modified sections.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="obfuscate">
|
||
<h1 id="obfuscate-defined">Obfuscate defined:</h1>
|
||
</div>
|
||
<p>tr.v. -cated, -cating, -cates.
|
||
<br><br>
|
||
<strong>1a.</strong> To render obscure.<br>
|
||
<strong>1b.</strong> To darken.
|
||
<br><br>
|
||
<strong>2.</strong> To confuse: his emotions obfuscated his judgment.<br>
|
||
[LLat. obfuscare, to darken : ob(intensive) + Lat. fuscare,<br>
|
||
to darken < fuscus, dark.] -obfuscation n. obfuscatory adj.</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="goals">
|
||
<h1 id="goals-of-the-contest">Goals of the Contest</h1>
|
||
</div>
|
||
<p>The goals of the IOCCC:</p>
|
||
<ul>
|
||
<li>To write the most Obscure/Obfuscated C program within the <a href="rules.html">IOCCC rules</a>.</li>
|
||
<li>To show the importance of programming style, in an ironic way.</li>
|
||
<li>To emphasize the value of perspicuous code by use of negative examples.</li>
|
||
<li>To stress C compilers with unusual code.</li>
|
||
<li>To illustrate some of the subtleties of the C language.</li>
|
||
<li>To provide a safe forum for poor C code. :-)</li>
|
||
<li>To have fun with C!</li>
|
||
</ul>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="dates">
|
||
<h1 id="important-ioccc-dates">Important IOCCC dates</h1>
|
||
</div>
|
||
<p class="leftbar">
|
||
This IOCCC runs from <strong>2024-12-29 23:58:13.213455 UTC</strong> to <strong>2025-06-05 04:03:02.010099 UTC</strong>.
|
||
</p>
|
||
<p class="leftbar">
|
||
This contest will enter the <strong><a href="../faq.html#pending">pending</a></strong> state on or about
|
||
<strong>2024-12-29 23:58:13.213455 UTC</strong>.
|
||
</p>
|
||
<p class="leftbar">
|
||
This contest will enter the <strong><a href="../faq.html#open">open</a></strong> state on <strong>2025-03-05 23:19:17.131107 UTC</strong>.
|
||
</p>
|
||
<p class="leftbar">
|
||
This contest will enter the <strong><a href="../faq.html#judging">judging</a></strong> state on <strong>2025-06-05 04:03:02.010099 UTC</strong>.
|
||
</p>
|
||
<p class="leftbar">
|
||
<strong>IMPORTANT NOTE</strong>: Until the contest enters the <strong><a href="../faq.html#open">open</a></strong> state, any or all
|
||
of the above <strong>dates and times may change</strong>!
|
||
</p>
|
||
<p class="leftbar">
|
||
Those who <a href="register.html">register</a> while the contest status is <strong><a href="../faq.html#pending">pending</a></strong>
|
||
will receive email with their <a href="https://submit.ioccc.org">submit server</a> <strong>Username</strong> and <strong>Initial password</strong>
|
||
from an <a href="../judges.html">IOCCC judge</a> shortly after the contest status becomes <strong><a href="../faq.html#open">open</a></strong>.
|
||
</p>
|
||
<p class="leftbar">
|
||
Once an <a href="../judges.html">IOCCC judge</a> emails you your <strong>Username</strong> and <strong>Initial password</strong>, you
|
||
will have 72 hours to <a href="pw-change.html">change your submit server initial password</a>.
|
||
If you do not change your <strong>Initial password</strong> in time, you will have to <a href="register.html">re-register</a>.
|
||
</p>
|
||
<p class="leftbar">
|
||
Because it takes time (maybe even a few days) for an <a href="../judges.html">IOCCC judge</a>
|
||
to process your registration and email you your initial login and password,
|
||
you should <strong>MAKE SURE</strong> you give yourself enough time before the contest closes.
|
||
In other words, <strong>DO NOT WAIT UNTIL THE FINAL DAYS</strong> of the contest to register!
|
||
The <a href="../judges.html">IOCCC judges</a> are <strong>NOT</strong> responsible for delayed or lost email,
|
||
or for those who wait until the last minute to try to register!
|
||
</p>
|
||
<p class="leftbar">
|
||
See the
|
||
FAQ on “<a href="../faq.html#mkiocccentry">obtaining and compiling the mkiocccentry tools</a>”
|
||
and the
|
||
FAQ on “<a href="../quick-start.html#enter">how to enter the IOCCC</a>”
|
||
as that FAQ has important details on
|
||
<a href="register.html">how to register</a>
|
||
as well as
|
||
<a href="submit.html">how to upload your submission</a> to the IOCCC.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rules">
|
||
<h1 id="ioccc-rules">IOCCC RULES</h1>
|
||
</div>
|
||
<p>To help us with the volume of submissions, we ask that you follow these rules:</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule0">
|
||
<h2 id="rule-0">Rule 0</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
Just as C starts at 0, so the IOCCC starts at <a href="#rule0">rule 0</a>. :-)
|
||
</p>
|
||
<p class="leftbar">
|
||
The “<a href="#dates">Important IOCCC dates</a>” section above is part of this rule.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule1">
|
||
<h2 id="rule-1">Rule 1</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
Your submission must be a C program.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule2">
|
||
<h2 id="rule-2">Rule 2</h2>
|
||
</div>
|
||
<p>The size rule requires your submission to satisfy <strong>BOTH</strong> <a href="#rule2a">Rule 2a</a> and <a href="#rule2b">Rule 2b</a>:</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule2a">
|
||
<h2 id="rule-2a">Rule 2a</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
The size of your program source <strong>should not exceed 4993 bytes</strong>.
|
||
</p>
|
||
<p class="leftbar">
|
||
If you use the most recently released official IOCCC submission
|
||
packaging tool (hereby referred to as <code>mkiocccentry(1)</code>), which we <strong>STRONGLY
|
||
recommend you do</strong> (see also <a href="#rule17">Rule 17</a>), then the <code>mkiocccentry(1)</code>
|
||
tool will warn you if there appears to be a <a href="#rule2a">Rule 2a</a> violation.
|
||
</p>
|
||
<p class="leftbar">
|
||
The <code>mkiocccentry(1)</code> tool will give you the option of overriding the <a href="#rule2a">Rule 2a</a> warning.
|
||
Overriding a <a href="#rule2a">Rule 2a</a> warning carries a <strong>fair amount of risk that your submission
|
||
will be rejected</strong>. Be sure to consult the <a href="guidelines.html">IOCCC guidelines</a>
|
||
ahead of time if you plan to override the <a href="#rule2a">Rule 2a</a> warning.
|
||
</p>
|
||
<p class="leftbar">
|
||
If you do override the <a href="#rule2a">Rule 2a</a> warning from the
|
||
<code>mkiocccentry(1)</code> tool, or otherwise plan to violate <a href="#rule2a">Rule 2a</a>, then
|
||
you <strong>MUST CLEARLY EXPLAIN THE RATIONALE</strong> of why you are doing so in your
|
||
<code>remarks.md</code> file. <strong><em>Even if you do</em> explain this in your <code>remarks.md</code> file your
|
||
submission may still be rejected</strong>.
|
||
</p>
|
||
<p class="leftbar">
|
||
You may check your code prior to submission by giving the filename
|
||
as a command like argument to the <code>iocccsize(1)</code> tool. For example:
|
||
</p>
|
||
<pre><code> ./iocccsize prog.c</code></pre>
|
||
<p class="leftbar">
|
||
Alternatively, you may use the <code>mkiocccentry(1)</code> option <code>-d</code> to verify that
|
||
things check out without having to answer all the questions. See the
|
||
FAQ on “<a href="../faq.html#mkiocccentry_test">how to test your submission without having to answer
|
||
questions</a>”
|
||
for more details.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule2b">
|
||
<h2 id="rule-2b">Rule 2b</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
When the filename of your program source is given as a command line argument to the latest version
|
||
of the official IOCCC size tool (hereby referred to as <code>iocccsize(1)</code>), the
|
||
value printed <strong>should NOT exceed <em>2503</em></strong>.
|
||
</p>
|
||
<p class="leftbar">
|
||
The source to <code>iocccsize(1)</code> may be found in the
|
||
<a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a>.
|
||
</p>
|
||
<p class="leftbar">
|
||
If you use the <code>mkiocccentry(1)</code> tool, which we <strong>STRONGLY recommend
|
||
you do</strong> (again, see also <a href="#rule17">Rule 17</a>),
|
||
then <code>mkiocccentry(1)</code> will invoke <code>iocccsize(1)</code> before packaging your submission.
|
||
</p>
|
||
<p class="leftbar">
|
||
The <code>mkiocccentry(1)</code> tool will give you the option of overriding the <a href="#rule2b">Rule 2b</a> warning.
|
||
Overriding a <a href="#rule2b">Rule 2b</a> warning carries a <strong>fair amount of risk that your submission
|
||
will be rejected</strong>. Be sure to consult the <a href="guidelines.html">IOCCC guidelines</a>
|
||
ahead of time if you plan to override the <a href="#rule2b">Rule 2b</a> warning.
|
||
</p>
|
||
<p class="leftbar">
|
||
If you do override the <a href="#rule2b">Rule 2b</a> warning from the <code>mkiocccentry(1)</code> tool,
|
||
or otherwise plan to violate <a href="#rule2b">Rule 2a</a>, then you <strong>MUST CLEARLY EXPLAIN THE RATIONALE</strong>
|
||
of why you are doing so in your <code>remarks.md</code> file. <strong><em>Even if you do</em> explain this in your <code>remarks.md</code> file
|
||
your submission may still be rejected</strong>.
|
||
</p>
|
||
<p class="leftbar">
|
||
You may check your code prior to submission by giving the filename
|
||
as a command like argument to the <code>iocccsize(1)</code> tool. For example:
|
||
</p>
|
||
<pre><code> ./iocccsize prog.c</code></pre>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule3">
|
||
<h2 id="rule-3">Rule 3</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
You must <a href="register.html">register</a> in order to submit your entry to the IOCCC.
|
||
You may <a href="register.html">register</a> while the contest is either
|
||
<strong><a href="../faq.html#pending">pending</a></strong> or <strong><a href="../faq.html#open">open</a></strong>.
|
||
</p>
|
||
<p class="leftbar">
|
||
See the
|
||
FAQ on “<a href="../quick-start.html#enter">how to register and submit to the IOCCC</a>”
|
||
for instructions on registering and participating in the IOCCC, as the process has changed from previous years!
|
||
</p>
|
||
<p class="leftbar">
|
||
When the contest is <strong><a href="../faq.html#open">open</a></strong>, an
|
||
<a href="../judges.html">IOCCC judge</a> will email you your <a href="https://submit.ioccc.org">submit server</a>
|
||
<strong>Username</strong> and <strong>Initial password</strong>. This takes some time (maybe even a few days) for an
|
||
<a href="../judges.html">IOCCC judge</a> to process your registration and email you your
|
||
initial login and password.
|
||
</p>
|
||
<p class="leftbar">
|
||
Those who <a href="register.html">register</a> while the contest status is <strong><a href="../faq.html#pending">pending</a></strong>
|
||
will receive email with their <a href="https://submit.ioccc.org">submit server</a> <strong>Username</strong> and <strong>Initial password</strong>
|
||
from an <a href="../judges.html">IOCCC judge</a> shortly after the contest status becomes <strong><a href="../faq.html#open">open</a></strong>.
|
||
</p>
|
||
<p class="leftbar">
|
||
Once an <a href="../judges.html">IOCCC judge</a> emails you your <strong>Username</strong> and <strong>Initial password</strong>, you
|
||
will have 72 hours to <a href="pw-change.html">change your submit server initial password</a>.
|
||
If you do not change your <strong>Initial password</strong> in time, you will have to <a href="register.html">re-register</a>.
|
||
</p>
|
||
<p class="leftbar">
|
||
Because it takes time (maybe even a few days) for an <a href="../judges.html">IOCCC judge</a>
|
||
to process your registration and email you your initial login and password,
|
||
you should <strong>MAKE SURE</strong> you give yourself enough time before the contest closes.
|
||
In other words, <strong>DO NOT WAIT UNTIL THE FINAL DAYS</strong> of the contest to register!
|
||
The <a href="../judges.html">IOCCC judges</a> are <strong>NOT</strong> responsible for delayed or lost email,
|
||
or for those who wait until the last minute to try to register!
|
||
</p>
|
||
<p class="leftbar">
|
||
If you have <a href="register.html">registered</a> and received by email their
|
||
<a href="https://submit.ioccc.org">submit server</a> <strong>Username</strong> and <strong>Initial password</strong>
|
||
from an <a href="../judges.html">IOCCC judge</a>, you may upload your submission to
|
||
the <a href="https://submit.ioccc.org">submit server</a> only while the
|
||
contest is <strong><a href="../faq.html#open">open</a></strong>.
|
||
</p>
|
||
<p class="leftbar">
|
||
The <a href="https://submit.ioccc.org">submit server</a>, in accordance with <a href="rules.html#rule17">Rule 17</a>,
|
||
places a limit of <strong>3999971</strong> octets on the size of your upload.
|
||
</p>
|
||
<p class="leftbar">
|
||
You are <strong>STRONGLY</strong> advised to use the <code>mkiocccentry(1)</code> tool
|
||
as found in the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a>
|
||
to form the file to upload to the <a href="https://submit.ioccc.org">submit server</a>.
|
||
</p>
|
||
<p class="leftbar">
|
||
See the
|
||
FAQ on “<a href="../faq.html#mkiocccentry">obtaining and compiling the mkiocccentry tools</a>”
|
||
for more information about the <code>mkiocccentry(1)</code> tool.
|
||
</p>
|
||
<p class="leftbar">
|
||
While the contest is <strong><a href="../faq.html#open">open</a></strong>, you may modify your previously
|
||
uploaded submission by rebuilding your submission with the <code>mkiocccentry(1)</code> tool
|
||
and then re-uploading it to the same slot number on the <a href="https://submit.ioccc.org">submit server</a>.
|
||
</p>
|
||
<p class="leftbar">
|
||
Once the contest enters the <strong><a href="../faq.html#judging">judging</a></strong> state, you will
|
||
<strong>NOT</strong> be allowed to upload your submission files.
|
||
</p>
|
||
<p class="leftbar">
|
||
The <a href="https://submit.ioccc.org">submit server</a> will become active when the contest is <strong><a href="../faq.html#open">open</a></strong>.
|
||
Until the contest status becomes <strong><a href="../faq.html#open">open</a></strong>,
|
||
the <a href="https://submit.ioccc.org">submit server</a> may be offline and/or unresponsive.
|
||
</p>
|
||
<p class="leftbar">
|
||
See the
|
||
FAQ on “<a href="../faq.html#mkiocccentry">obtaining and compiling the mkiocccentry tools</a>”
|
||
and the
|
||
FAQ on “<a href="../quick-start.html#enter">how to enter the IOCCC</a>”
|
||
as that FAQ has important details on
|
||
<a href="register.html">how to register</a>
|
||
as well as
|
||
<a href="submit.html">how to upload your submission</a> to the IOCCC.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule4">
|
||
<h2 id="rule-4">Rule 4</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
If your submission is selected as a winning entry, then your submission may be modified in order
|
||
to fit into the structure of the <a href="https://www.ioccc.org/index.html">Official IOCCC winner website</a>.
|
||
</p>
|
||
<p class="leftbar">
|
||
For example, your submission’s <code>Makefile</code> will be modified and your <code>remarks.md</code>
|
||
will become a <code>README.md</code> which will be used to generate an <code>index.html</code> file.
|
||
</p>
|
||
<p class="leftbar">
|
||
Your source code will be the file <code>prog.c</code>. The compiled binary
|
||
will be called <code>prog</code>. If you submission requires different filenames,
|
||
then modify your submission’s <code>Makefile</code> to <strong>COPY</strong> (<strong>NOT</strong> move!)
|
||
the files accordingly.
|
||
</p>
|
||
<p class="leftbar">
|
||
See also <a href="#rule5">Rule 5</a>, <a href="#rule18">Rule 18</a> and <a href="#rule21">Rule 21</a>.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule5">
|
||
<h2 id="rule-5">Rule 5</h2>
|
||
</div>
|
||
<p>Your submission <strong>MUST</strong> not modify the content or filename of any part of your
|
||
original submission including, but not limited to <code>prog.c</code>, the <code>Makefile</code>
|
||
(that we create from your how to build instructions), as well as any data
|
||
files you submit.</p>
|
||
<p>If you submission needs (or wishes :-) ) to modify such content, it <strong>MUST</strong> first copy the
|
||
file to a new filename and then modify that copy.</p>
|
||
<p class="leftbar">
|
||
You may use your submission to form a copy, or you can make use of your <code>Makefile</code> to form that copy.
|
||
</p>
|
||
<p class="leftbar">
|
||
If you do make a copy and then modify that copy, please be sure that
|
||
the <code>clobber</code> rule of your <code>Makefile</code> removes that copy in order to
|
||
restore the contents if your submission to its original submission.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule6">
|
||
<h2 id="rule-6">Rule 6</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
I am not a rule, I am a <code>free(void *human);</code> ‼️
|
||
</p>
|
||
<p class="leftbar">
|
||
<code>while (!(ioccc(rule(you(are(number(6)))))) {</code><br>
|
||
<code>ha_ha_ha();</code><br>
|
||
<code>}</code>
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule7">
|
||
<h2 id="rule-7">Rule 7</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
The obfuscated C program must be your own original work.
|
||
</p>
|
||
<p class="leftbar">
|
||
You (the author(s)) must own the contents of your submission OR
|
||
you must have permission from the owner(s) to submit their content
|
||
under the following license:
|
||
</p>
|
||
<p class="leftbar">
|
||
<strong><a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International</a></strong>
|
||
</p>
|
||
<p>If you submit any content that is owned by others, you <strong>MUST
|
||
detail that ownership</strong> (i.e., who owns what) <strong><em>AND</em> document the
|
||
permission you obtained</strong>.</p>
|
||
<p class="leftbar">
|
||
Please note that the IOCCC size tool, the tools in the <a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry
|
||
repo</a> and the tools and library in
|
||
the <a href="https://github.com/xexyl/jparse/issues">jparse repo</a> (that the
|
||
<a href="https://github.com/ioccc-src/mkiocccentry">mkiocccentry repo</a> clones) are
|
||
<strong>NOT</strong> original works, unless of course you’re the respective authors, in
|
||
which case they are. Of course, neither are any of the previous
|
||
winning entries, unless of course you’re the winner! :-)
|
||
</p>
|
||
<p class="leftbar">
|
||
See also <a href="#rule5">Rule 5</a>, <a href="#rule18">Rule 18</a> and <a href="#rule21">Rule 21</a>.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule8">
|
||
<h2 id="rule-8">Rule 8</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
Submissions may only be uploaded to the <a href="https://submit.ioccc.org">IOCCC submit server</a>
|
||
while the contest is <strong><a href="../faq.html#open">open</a></strong>.
|
||
</p>
|
||
<p class="leftbar">
|
||
Once the contest is in the <strong><a href="../faq.html#judging">judging</a></strong> state (or <strong><a href="../faq.html#closed">closed</a></strong>),
|
||
you may <strong>NOT</strong> upload submissions.
|
||
</p>
|
||
<p class="leftbar">
|
||
While the contest is <strong><a href="../faq.html#open">open</a></strong> or in the <strong><a href="../faq.html#judging">judging</a></strong> state,
|
||
the <a href="../judges.html">IOCCC judges</a> may (but are not required to) modify the slot comment of your submission to indicate
|
||
that they have received it. If uploaded submission is malformed, the <a href="../judges.html">IOCCC judges</a>
|
||
may (but are not required to) modify the slot comment accordingly.
|
||
</p>
|
||
<p class="leftbar">
|
||
See the “<a href="#dates">Important IOCCC dates</a>” section above for when these contest states are scheduled.
|
||
</p>
|
||
<p class="leftbar">
|
||
See also <a href="#rule17">Rule 17</a>.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule9">
|
||
<h2 id="rule-9">Rule 9</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
Each person may submit up to and including <strong>10.000000</strong> (ten in base 10) entries per contest.
|
||
</p>
|
||
<p><strong>Each submission <em>must be submitted separately</em></strong>.</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule10">
|
||
<h2 id="rule-10">Rule 10</h2>
|
||
</div>
|
||
<p>Entries requiring human interaction to be initially compiled <strong>are not
|
||
permitted</strong>. However, see the <a href="guidelines.html">guidelines</a>.</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule11">
|
||
<h2 id="rule-11">Rule 11</h2>
|
||
</div>
|
||
<p>Programs that require special privileges (<code>setuid(2)</code>, <code>setgid(2)</code>,
|
||
super-user, special owner, special group, etc.) are still <strong>HIGHLY
|
||
DISCOURAGED</strong>. We do not guarantee these functions will behave as
|
||
you expect on our test platforms. If your program needs special
|
||
permissions you <strong>MUST</strong> document this fact, and explain why
|
||
it is needed in your submission’s <code>remarks.md</code> file.</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule12">
|
||
<h2 id="rule-12">Rule 12</h2>
|
||
</div>
|
||
<p><strong>Legal</strong> abuse of the rules is somewhat encouraged. <strong>A submission that, in
|
||
the opinion of the <a href="../judges.html">judges</a>, violates the rules will be disqualified</strong>.
|
||
Submissions that attempt to abuse the rules <strong>MUST</strong> try to justify why
|
||
their rule abuse is legal, in the <code>remarks.md</code> file.</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule13">
|
||
<h2 id="rule-13">Rule 13</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
7 out of 13 UTF-8 characters in C code agree that this rule number is lucky enough to be a prime number.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule14">
|
||
<h2 id="rule-14">Rule 14</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
Any C source that fails to compile because of lines with trailing
|
||
control-M’s (i.e., lines with a tailing octet <code>015</code>) <strong><em>might</em></strong> be rejected.
|
||
</p>
|
||
<p>Please do <strong>NOT</strong> put trailing control-M’s on remarks file lines.
|
||
Please check to be sure, before submitting, that you have removed
|
||
any control-M at the end of remark file lines.</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule15">
|
||
<h2 id="rule-15">Rule 15</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
In order to register for the IOCCC, you <strong>MUST</strong> have a valid email address.
|
||
</p>
|
||
<p>The <a href="../judges.html">judges</a> <strong>are not responsible for delays in email</strong>, please plan
|
||
enough time for the exchange of emails so you can upload your submission.</p>
|
||
<p class="leftbar">
|
||
See the
|
||
FAQ on “<a href="../quick-start.html#register">how to register</a>”
|
||
for details.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule16">
|
||
<h2 id="rule-16">Rule 16</h2>
|
||
</div>
|
||
<p>You are <strong>STRONGLY</strong> encouraged to submit an <strong>original submission</strong>.
|
||
Submissions that are similar to previous entries are
|
||
discouraged. As we judge anonymously, submissions that have already
|
||
been published may be disqualified.</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule17">
|
||
<h2 id="rule-17">Rule 17</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
Your submission must be in the form of <strong>xz compressed tarball</strong>
|
||
that <code>mkiocccentry(1)</code> tool would generate. The files, directories,
|
||
and paths must conform to the limits imposed by <code>mkiocccentry(1)</code>
|
||
including but not limited to their names, count, path length
|
||
and directory tree depth.
|
||
</p>
|
||
<p class="leftbar">
|
||
Your <strong>xz compressed tarball</strong> submission file must pass the tests performed by:
|
||
</p>
|
||
<ul>
|
||
<li><p class="leftbar">
|
||
<code>txzchk(1)</code>
|
||
</p></li>
|
||
</ul>
|
||
<p class="leftbar">
|
||
Your <strong>xz compressed tarball</strong> submission file must pass the tests performed by:
|
||
</p>
|
||
<ul>
|
||
<li><p class="leftbar">
|
||
<code>fnamchk(1)</code>
|
||
</p></li>
|
||
</ul>
|
||
<p class="leftbar">
|
||
The resulting directory produced when your <strong>xz compressed tarball</strong> submission file uncompressed,
|
||
must pass the pass the checks performed by:
|
||
</p>
|
||
<ul>
|
||
<li><p class="leftbar">
|
||
<code>chkentry(1)</code>
|
||
</p></li>
|
||
</ul>
|
||
<p class="leftbar">
|
||
The resulting <code>prog.c</code> file must pass the <a href="#rule2">Rule 2</a> size checked performed by:
|
||
</p>
|
||
<ul>
|
||
<li><p class="leftbar">
|
||
<code>iocccsize(1)</code>
|
||
</p></li>
|
||
</ul>
|
||
<p class="leftbar">
|
||
The <code>.auth.json</code> and <code>.info.json</code> must be compatible with what hat <code>mkiocccentry(1)</code> tool
|
||
would produce as well as pass the tests performed by:
|
||
</p>
|
||
<ul>
|
||
<li><p class="leftbar">
|
||
<code>jparse(1)</code>
|
||
</p></li>
|
||
</ul>
|
||
<h3 id="tldr-rule-17---use-mkiocccentry1-to-form-your-submission">TL;DR Rule 17 - Use <code>mkiocccentry(1)</code> to form your submission</h3>
|
||
<p>Let the <code>mkiocccentry(1)</code> tool form your <strong>xz compressed tarball</strong>
|
||
submission file and don’t try to override override its checks and
|
||
limits in order to be sure you submission conforms to this rule.</p>
|
||
<h3 id="warning">Warning</h3>
|
||
<p>Using command line flags or input prompts to override checks and
|
||
limits made by the above mentioned tools is <strong>NOT</strong> recommended
|
||
and may result in your submission being rejected by the <a href="https://submit.ioccc.org">IOCCC
|
||
submit server</a> and/or the [IOCCC
|
||
Judges[(../judges.html).</p>
|
||
<p class="leftbar">
|
||
See the
|
||
FAQ on the “<a href="../faq.html#mkiocccentry">mkiocccentry tool</a>
|
||
for how to obtain and use the above mentioned tools.
|
||
</p>
|
||
<p class="leftbar">
|
||
<strong>IMPORTANT</strong>: See the
|
||
FAQ on “<a href="../faq.html#rule17">Rule17</a>”
|
||
for very important details behind this rule.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule18">
|
||
<h2 id="rule-18">Rule 18</h2>
|
||
</div>
|
||
<p>The entirety of your submission must be submitted under the following license:</p>
|
||
<p class="leftbar">
|
||
<strong><a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International</a></strong>
|
||
</p>
|
||
<p>You (the author(s)) <strong>MUST</strong> own the content of your submission <strong>OR</strong>
|
||
you <strong>MUST HAVE PERMISSION</strong> from the owner(s) to submit their content.</p>
|
||
<p>You <strong>MUST NOT</strong> submit anything that cannot be submitted under that license.</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule19">
|
||
<h2 id="rule-19">Rule 19</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
The <code>remarks.md</code> file, a required non-empty file, must be written in
|
||
markdown format. See the <a href="http://daringfireball.net/projects/markdown/basics">Daring Fireball Markdown:
|
||
Basics</a>.
|
||
</p>
|
||
<p class="leftbar">
|
||
We currently use <a href="https://pandoc.org">pandoc</a> to convert markdown to HTML.
|
||
</p>
|
||
<p class="leftbar">
|
||
Please see our FAQ “<a href="../faq.html#remarks_md">remarks.md</a>” and the <a href="../markdown.html">IOCCC markdown
|
||
guidelines</a> for additional markdown guidance.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule20">
|
||
<h2 id="rule-20">Rule 20</h2>
|
||
</div>
|
||
<p>The how to build instructions must be in Makefile format. See <a href="../faq.html#make_compatibility">the FAQ about
|
||
make(1) compatibility the IOCCC
|
||
supports</a> for more details.</p>
|
||
<p class="leftbar">
|
||
You are <strong>ENCOURAGED</strong> to use the
|
||
Makefile example, renamed as <code>Makefile</code> of course, for help in constructing your
|
||
<code>Makefile</code>. See the <a href="guidelines.html#makefile">Makefile section</a> in the
|
||
guidelines for more details.
|
||
</p>
|
||
<p>The target of the Makefile must be called <code>prog</code>. The original
|
||
C source file must be called <code>prog.c</code>.</p>
|
||
<p>To invoke the C compiler, use <code>${CC}</code>. To invoke the C preprocessor use
|
||
<code>${CPP}</code>.</p>
|
||
<p>Do <strong>NOT</strong> assume that <code>.</code> (the current directory) is in the <code>$PATH</code>.</p>
|
||
<p class="leftbar">
|
||
When <code>make clobber</code> is invoked, we request that submission be restored
|
||
to its original submission state. For example, any temporary files
|
||
created during the build process, or during execution should be
|
||
removed by the <code>clobber</code> rule.
|
||
</p>
|
||
<p class="leftbar">
|
||
Your <code>Makefile</code> <strong>MUST</strong> use a syntax that is compatible with <code>bash(1)</code>
|
||
and GNU <code>make(1)</code>. You are <strong>ENCOURAGED</strong> to use set <code>SHELL= bash</code> in
|
||
your <code>Makefile</code>.
|
||
</p>
|
||
<p class="leftbar">
|
||
Assume that commands commonly found in <a href="https://en.wikipedia.org/wiki/Single_UNIX_Specification">Single UNIX
|
||
Specification</a>
|
||
environments and systems that conform to the <a href="https://en.wikipedia.org/wiki/Single_UNIX_Specification">Single UNIX
|
||
Specification</a> are
|
||
available in the <code>$PATH</code> search path.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule21">
|
||
<h2 id="rule-21">Rule 21</h2>
|
||
</div>
|
||
<p>Your submission <strong>MUST NOT</strong> create or modify files above the current directory
|
||
<em>with the exception of</em> the <code>/tmp</code> and the <code>/var/tmp</code> directories. Your submission
|
||
<strong>MAY</strong> create subdirectories below the current directory, or in <code>/tmp</code>,
|
||
or in <code>/var/tmp</code> provided that <code>.</code> is <strong>NOT</strong> the first octet in any
|
||
directory name or filename you create.</p>
|
||
<p class="leftbar">
|
||
See also <a href="#rule5">Rule 5</a>.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule22">
|
||
<h2 id="rule-22">Rule 22</h2>
|
||
</div>
|
||
<p>Catch 22:</p>
|
||
<p>Your source code, data files, remarks and program output <strong>MUST NOT</strong>
|
||
identify the authors of your code. The <a href="../judges.html">judges</a> <strong>STRONGLY PREFER</strong> to
|
||
<strong>NOT</strong> know who is submitting entries to the IOCCC.</p>
|
||
<p>Even if you are a previous IOCCC winner, catch 22 still applies.</p>
|
||
<p>Identifying the author(s) of your submission in an obvious way anywhere
|
||
within your code, data, remarks or program output (unless you are
|
||
<strong>Peter Honeyman</strong> or pretending to be <strong>Peter Honeyman</strong>) will be grounds
|
||
for disqualification of your submission.</p>
|
||
<p>Yes, Virginia, <strong>WE REALLY MEAN IT!</strong></p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule23">
|
||
<h2 id="rule-23">Rule 23</h2>
|
||
</div>
|
||
<p>This prime rule number is reserved for future use.</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule24">
|
||
<h2 id="rule-24">Rule 24</h2>
|
||
</div>
|
||
<p>Even though 24 is not prime, you should still see <a href="#rule23">Rule 23</a>.</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule25">
|
||
<h2 id="rule-25">Rule 25</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
The <a href="rules.html">IOCCC rule set</a> needs more than 5^2 rules: see <a href="#rule26">Rule 26</a>.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule26">
|
||
<h2 id="rule-26">Rule 26</h2>
|
||
</div>
|
||
<blockquote>
|
||
<p>“The quick brown fox jumps over the lazy dog”.<br>
|
||
“Pack my box with five dozen liquor jugs.”<br>
|
||
“How vexingly quick daft zebras jump!”<br>
|
||
“Sphinx of black quartz, judge my vow.”<br>
|
||
“Waltz, bad nymph, for quick jigs vex.”<br>
|
||
“Mr. Jock, TV quiz PhD, bags few lynx.”<br>
|
||
“abcdefg, hijklmnop, qrstu&v, wxy&z.”</p>
|
||
</blockquote>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule27">
|
||
<h2 id="rule-27">Rule 27</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
Unless otherwise needed, <a href="#rule27">Rule 27</a> is reserved for something cubic. :-)
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="rule28">
|
||
<h2 id="rule-28">Rule 28</h2>
|
||
</div>
|
||
<p class="leftbar">
|
||
<a href="#rule28">Rule 28</a> is a perfect way end to the list of <a href="rules.html">IOCCC rules</a>
|
||
as we do <strong>NOT</strong> plan to have <strong>496</strong> rules. :-)
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<div id="more-information">
|
||
<div id="information">
|
||
<h1 id="for-more-information">FOR MORE INFORMATION:</h1>
|
||
</div>
|
||
</div>
|
||
<p class="leftbar">
|
||
For questions or comments about the contest, see <a href="../contact.html">Contacting the IOCCC</a>.
|
||
</p>
|
||
<p class="leftbar">
|
||
<strong>Be SURE</strong> to review the <a href="index.html">IOCCC Rules and Guidelines</a> as
|
||
<a href="rules.html">IOCCC rules</a> and the <a href="guidelines.html">IOCCC guidelines</a> may (and
|
||
<strong>often do</strong>) change from year to year.
|
||
</p>
|
||
<p class="leftbar">
|
||
You should be sure you have the current <a href="rules.html">IOCCC rules</a> and
|
||
<a href="guidelines.html">IOCCC guidelines</a> prior to submitting entries.
|
||
</p>
|
||
<p>See the <a href="../news.html">Official IOCCC website news</a> for additional information.</p>
|
||
<p class="leftbar">
|
||
For the updates and breaking IOCCC news, you are encouraged to follow
|
||
the <a href="https://fosstodon.org/@ioccc">IOCCC on Mastodon</a> account. See our
|
||
FAQ on “<a href="../faq.html#try_mastodon">Mastodon</a>”
|
||
for more information. Please do note that unless
|
||
you are mentioned by us you will <strong>NOT</strong> get a notification from the app <em>so you
|
||
should refresh the page <strong>even if you do follow us</strong></em>.
|
||
</p>
|
||
<p class="leftbar">
|
||
Check out the <a href="https://www.ioccc.org/index.html">Official IOCCC winner website</a> in general.
|
||
</p>
|
||
<p class="leftbar">
|
||
See the
|
||
FAQ on “<a href="../faq.html#mkiocccentry">obtaining and compiling the mkiocccentry tools</a>”
|
||
and the
|
||
FAQ on “<a href="../quick-start.html#enter">how to enter the IOCCC</a>”
|
||
as that FAQ has important details on
|
||
<a href="register.html">how to register</a>
|
||
as well as
|
||
<a href="submit.html">how to upload your submission</a> for the IOCCC.
|
||
</p>
|
||
<p>Jump to: <a href="#">top</a></p>
|
||
<p><strong>Leonid A. Broukhis</strong><br>
|
||
<strong>chongo (Landon Curt Noll) <code>/\cc/\</code></strong></p>
|
||
<hr style="width:10%;text-align:left;margin-left:0">
|
||
<p>Jump to: <a href="#">top</a>
|
||
<!-- AFTER: last line of markdown file: next/rules.md --></p>
|
||
|
||
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||
<!-- START: this line starts content from: inc/after-content.default.html -->
|
||
|
||
</div>
|
||
|
||
<!-- END: this line ends content from: inc/after-content.default.html -->
|
||
<!-- START: this line starts content from: inc/footer.default.html -->
|
||
|
||
<!--
|
||
|
||
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
|
||
|
||
You are free to share and adapt this file under the terms of this license:
|
||
|
||
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
|
||
|
||
For more information, see:
|
||
|
||
https://creativecommons.org/licenses/by-sa/4.0/
|
||
|
||
-->
|
||
|
||
<div class="footer">
|
||
|
||
<div id="copyright"><h3>Copyright © 1984-2024 by Landon Curt Noll:
|
||
<a href="https://creativecommons.org/faq/#what-does-some-rights-reserved-mean"
|
||
target="_blank"
|
||
rel="license noopener noreferrer">Some Rights Reserved</a></h3>
|
||
<p>
|
||
This work is <b>licensed by Landon Curt Noll</b> under
|
||
<b><a href="https://creativecommons.org/licenses/by-sa/4.0/?ref=chooser-v1"
|
||
target="_blank"
|
||
rel="license noopener noreferrer"
|
||
style="display:inline-block;">CC BY-SA 4.0</a></b>.
|
||
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
|
||
src="../png/cc.png"
|
||
alt="cc inside circle symbol">
|
||
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
|
||
src="../png/by.png"
|
||
alt="person inside circle symbol">
|
||
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
|
||
src="../png/sa.png"
|
||
alt="arrow looping back on itself inside circle symbol"><br>
|
||
You should <b>carefully review</b> the
|
||
<b><a href="https://creativecommons.org/licenses/by-sa/4.0/legalcode.en"
|
||
target="_blank"
|
||
rel="license noopener noreferrer">CC BY-SA 4.0 LEGAL CODE</a></b>
|
||
before using the licensed material.<br>
|
||
You may wish to review the
|
||
<b><a href="../license.html"
|
||
target="_blank"
|
||
rel="license noopener noreferrer">highlights of some of the key features and terms</a></b>
|
||
of <b>CC BY-SA 4.0</b>.<br>
|
||
</p>
|
||
</div>
|
||
|
||
<div id="coda"><h3>Coda</h3>
|
||
<p>
|
||
<a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fwww.ioccc.org%2Fnext%2Frules.html" rel="nofollow">Nu HTML check this web page</a><br>
|
||
<a href="#top">Jump to top</a> <a href="#content">Jump to Content</a>
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<!-- END: this line ends content from: inc/footer.default.html -->
|
||
<!-- START: this line starts content from: inc/bottom.default.html -->
|
||
|
||
</body>
|
||
</html>
|
||
|
||
<!-- END: this line ends content from: inc/bottom.default.html -->
|