Fixed `#todo` link in `2024/macke/README.md`.
Improved markdown paragraph size of `inc/rules.*.hdr` files.
Fixed FAQ link generated by `bin/status2html.sh` for the pending state.
Improved the markdown written by `bin/status2html.sh` for various states.
Changed `bin/status2html.sh` VERSION to "2.0.2 2025-12-02".
Changed IOCCC Rules to version **29.15 2025-12-01**.
Changed IOCCC Guidelines to version **29.08 2025-12-02**.
Changed IOCCC FAQ to version **29.05 2025-12-02**..
Ran `make update` to perform the above.
Fixed `#todo` link in `2024/macke/README.md`.
Improved markdown paragraph size of `inc/rules.*.hdr` files.
Ran `make quick_www tar timestamp` to perform the above.
Fixed links between rules and guidelines.
Add guideline about "Rule 2 - Size restrictions" not changing soon.
Expand "Guidelines for Rule 13 - No carriage returns in prog.c".
Put the word, "restrictions" into "Rule 2 - Size restrictions".
While this is a **GOOD IDEA**, the concept needs to be rolled out
over all of the rules, not just "Rule 2 - Size restrictions".
Changed IOCCC Rules to version **29.13 2025-12-01**.
Changed IOCCC Guidelines to version **29.06 2025-12-01**.
Ran `make quick_www` to perform the above.
Added a number of change bars to the rules & guidelines.
Recommend recommend that all markdown files in your submission observe
[IOCCC markdown guidelines](../markdown.html).
Made use of "_..._" consistent in the rules & guidelines.
Updated some the fun guidelines.
Performed some whitespace cleanup in the rules & guidelines.
Changed IOCCC Rules to version **29.12 2025-12-01**.
Changed IOCCC Guidelines to version **29.04 2025-12-01**
Ran `make quick_www` to perform the above.
Improved Rule 1.
Added Guidelines for Rule 1.
Improved Rule 3.
Added missing Guidelines for Rule 3.
Reordered guidelines sections under the "General Guidelines".
Set level 2 for "General Guidelines" subsections.
Changed IOCCC Rules to version **29.11 2025-11-30**.
Changed IOCCC Guidelines to version **29.03 2025-11-30**.
Ran `make quick_www` to perform the above.
Attempt to fix HTML5 errors.
Remove Makefile section from Guidelines as
this is in the FAQ.
Added links to Makefile FAQ in Guidelines.
Ran `make quick_www` to perform the above
TODO: Complete the correction for issue #244 ("Restore guidelines").
TODO: Continue to revise and improve the IOCCC guidelines as needed.
TODO: Fix typos/nits in the `next/guidelines.md` if needed.
TODO: Fix typos/nits in the `next/rules.md` if needed.
This is a checkpoint correction for issue #244 ("Restore guidelines")
which in turn was a correction for issue #243 ("Fixes and minor
improvements in rules").
Remove code that put the contest status at the top
of the guidelines page.
Change `bin/gen-status.sh` VERSION to "2.1.0 2025-11-29",
Fix `next/guidelines.md` so that `next/guidelines.html`
is rendered correctly.
Update sitemap and status (due to recent news mod).
Ran `make quick_www` to perform the above
TODO: Complete the correction for issue #244 ("Restore guidelines").
TODO: Continue to revise and improve the IOCCC guidelines as needed.
TODO: Fix typos/nits in the `next/guidelines.md` if needed.
TODO: Fix typos/nits in the `next/rules.md` if needed.
This is a draft edit of the revised IOCCC guidelines for **IOCCC29**.
Due the above, `next/guidelines.md` has undergone a significant update.
The `next/rules.md` and `faq.md` files have been modified accordingly.
The `faq.md` version is now **29.01 2025-11-28**.
The `next/guidelines.md` version is now **29.00 2025-11-28**.
The `next/rules.md` version is now *29.08 2025-11-28**.
Draft **IOCCC29** dates have been added to `rules.md`.
Ran `make quick_www` to perform the above.
TODO: Continue to revise and improve the IOCCC guidelines.
TODO: Fix typos and minor nits in the `next/guidelines.md`.
TODO: Fix typos and minor nits in the `next/rules.md`.
Fixed a number of whitespace, HTML comments, intending,
and markdown problems.
Clarified the <!---language--> syntax.
Made a number of textual changes to be more consistent.
Replaced emoji with HTML symbols.
Misc cleanup.
Ran `make markdown sitemap` to perform the above.
The largest change was due to modifying `ioccc.css`
that resulted in all year and entry tarballs being modified.
Ran `make update` to perform the above.
Switched to "#" (hash) for headings in `rules.md`.
Added "-" (dash) after the rule number and before the
rule keyword.
Adjusted links rules elsewhere according to the above.
Ran `make quick_www` to perform the above.
Add an `#ruleX` anchor tag to each rule.
Fix `GNU Makefile syntax` in `Rule 15 Building`.
Remove redundant text in `Rule 17 Packaging` about
empty/blank files.
Ran `make quick_www` to perform the above.
We thank Joel Yliluoma for rendering a record sided 1024x1024 image.
Sorted authors in `thanks-for-help.md` by last name.
Updated `2024/endoh1/README.md` with record sided 1024x1024 image.
Made tarballs `2024/endoh1/2024_endoh1.tar.bz2` and `2024/2024.tar.bz2`
due to the above edits.
Made tarballs `2011/2011.tar.bz2` and `2011/goren/2011_goren.tar.bz2`
based on previous edits.
Ran `make quick_www tar sitemap` to perform the above.
Fixed all cases where `TZ=UTZ` was incorrectly used
and replaced with `TZ=UTC`.
Changed `bin/gen-sitemap.sh` VERSION from "2.0.2 2025-07-30"
to "2.0.3 2025-08-23".
Changed `bin/tar-entry.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-08-23".
Changed `bin/tar-year.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-08-23".
The commit a1c86c8a7a modified
the navigation bars to include "Original C", so all tarballs
had be update, sorry (tm Canada 🇨🇦). In particular:
The navigation bar for a winning entry now has a "_Original C_" link
(between the ✅ and the Inventory on the right hand side) so that one
may easily view the original C code that was submitted for IOCCC judging.
In addition, a number of other commits since that time
modified other winning entries.
Ran `make update` to perform the above.
The navigation bar for a winning entry now has a "_Original C_" link
(between the ✅ and the Inventory on the right hand side) so that one
may easily view the original C code that was submitted for IOCCC judging.
Ran `make www timestamp` to perform the above.
Update news to announce YouTube links.
Update tarballs for all of 2024 as well as a recent 2012 update.
Update sitemap.
Ran `make update` to perform the above.
We improve `prog.c` beyond the 4M byte patch to reach 64M bytes.
The `try.sh` is made more robust, detecting both compiler and
executable problems that are **NOT** bugs in the code.
The code is now declared **INABIAF - please DO NOT fix**.
A detailed description of compiler, linker and resource
issues has been added to the `README.md` and `index.html`.
With commit fd483c2bed, all
try scripts now use:
```
MAKE=$(command -v gmake)
${MAKE:=make} CC="$CC" all >/dev/null || exit 1
```
to find `gmake(1)` and if not `make(1)` to make.
This commit updates the next and template try scripts accordingly.
We swapped `2024/anders` and `2024/straadt` by accident.
Sorry (tm Canada 🇨🇦) about that!
We **SINCERELY APOLOGIZE** to both **Anders Kaare Straadt**
and **Sebastian Macke** for the mix up!
We normalized some of the `.gitignore` files for some
of the 2024 winning entries.
Rebuilt 2024 tar files.
Updated `sitemap.xml`.
Ran `make update` to perform the above.
Congratulations to:
* 2024/anders - Prize in sound coding - layered music generator
* 2024/burton - Prize in pentagrammatology - wordle hard mode solver
* 2024/cable1 - Prize in bot talk - LLM inference engine
* 2024/cable2 - Prize in murky waters - salmon recipe
* 2024/carlini - Prize in perfect timing - Intel 4004 emulation
* 2024/codemeow - Prize in tray planting - bonsai generator
* 2024/endoh1 - Prize in patient pointillism - slow ray tracer in CPP
* 2024/endoh2 - Prize in solid body physics - rotating rigid body simulation
* 2024/ferguson1 - Prize in diabolical logistics - Oregon trail pact with the devil
* 2024/ferguson2 - Prize in yil-tas - Navajo code talker translator
* 2024/howe - Nice accent eh-ward - mini vi
* 2024/kramer - Prize in linguistic arithmetic - natural language numerical calculator
* 2024/kurdyukov1 - Prize in phased periodicity - phase of the Moon
* 2024/kurdyukov2 - Prize in art restoration - JPEG artifact removal
* 2024/kurdyukov3 - Prize in virtual quietus - gaming VM and doom
* 2024/kurdyukov4 - Prize in embiggening - encode without literals
* 2024/maffiodo - Prize in creative interpretation - Jav\*script interpreter
* 2024/mills - Prize in ℤ₃ - Infocom v3 story interpreter
* 2024/stedolan - Best one liner - icon from MD5
* 2024/straadt - Prize in imitative rebooting - OpenRISC CPU and Linux
* 2024/tmarrec - Prize in cyclonic coding - 3D tornado simulation
* 2024/tompng - Prize in quasi bijection - vortex encryptor decryptor
* 2024/weaver - Sur prize - rickroll
Ran `make update` to perform the above.
new file: 2024/burton/.entry.json
We indent FAQ 10.6.1, added in a previous commit, in the
same way we indent 3rd level FAQ numbers. Also adjusted
the vertical whitespace around the FAQ in `faq.md` to
be consistent with the other FAQ sections.
Updated sitemap.
Ran `make faq sitemap` to perform the above.
Added news for **2025-07-30** with the scheduled the date for the IOCCC
Awards Presentation and Source Code Reveal for IOCCC28 to be on 2025
August 02 11:00 (11AM) Pacific.
We add `make news` to the top level `Makefile.
Ran `make news timestamp` to perform the above.
We improve the text in the top level `social.html` page.
Added a number of missing files to the sitemap.
Changed `bin/gen-sitemap.sh` VERSION from "2.0.1 2025-04-28"
to "2.0.2 2025-07-30".
Ran `make social sitemap` to perform the above.
Prepare for the winners of **IOCCC28**.
> However these are not the 2024 droids you are looking for. :-)
The HTML menu (both JavaScript and non-JavaScript) has been updated.
The `Status -> Rules and guidelines' have been replaced with two
separate menus `Status -> IOCCC rules` and `Status -> IOCCC guidelines`.
Added a new top level `social.html` page: built from a new `social.md`.
Sorted rules for building specific web pages in the top level `Makefile`.
Added `make social` to make the `social.html` page from `social.md`.
The `bin/gen-top-html.sh` now is able to process a argument of **social**
to process the new top level `social.html` page.
Changed `bin/gen-top-html.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-07-25".
Below `About -> Home page` a new `About -> IOCCC social media` menu item
as added.
Because the menu change touched every HTML file, we changed the general
copyright date range for HTML files from "1984-2024" to "1984-2025"
due to the extensive changes made for **IOCCC28**.
Those markdown files that were modified in 2025 had their copyright date
range also changed from "1984-2024" to "1984-2025".
Rebuilt tarballs and sitemap due to the extensive HTML rebuilding.
Ran `make update` to perform the above.
We add `make clang-format` to the Makefile tree.
Add `important disclaimers about contest status` link to `status.html`.
Update `years.html` due to recent commit that fixed typo for abstract of 2011/akari.
Improve `template/README.md.year` for future IOCCC contents.
Ran `make quick_www` to perform the above.
We have a clever use of the sgit(1) to cleaver cleaver. :-)
Updated `sitemap.xml` and the `status.json` timestamp.
Ran 'make quick_www' to perform the above.
The `bin/gen-years.sh` has been updated to include the abstract of the
winning entry.
Changed `bin/gen-years.sh` VERSION from "2.1.1 2025-06-06"
ta "2.2.0 2025-07-10".
Ran `make gen_years timestamp` to perform the above.
Verified that all is up to date via a `make update`, with
the exception of the `sitemap.xml` which references the few
recent tarballs that were built during the previous commit.
FYI: The full `make update` took:
make update 1263.80s user 310.88s system 96% cpu 27:10.20 total
Ran 'make update' to perform the above.
Adjusted `bin/md2html.cfg` to allow for the creation of year level
archive of the rules and guidelines that were in effect when the given
year's content opened for submissions.
We improved `bin/gen-year-index.sh` so that if there exists
a `YYYY/rules.md` rules archive, then `YYYY/rules.html`
will be created.
We improved `bin/gen-year-index.sh` so that if there exists
a `YYYY/guidelines.md` rules archive, then `YYYY/guidelines.html`
will be created.
Changed `bin/gen-year-index.sh` VERSION from "2.0.0 2025-03-13"
to "2.1.0 2025-07-05".
Adjusted `next/rules.md` and `next/guidelines.md` so that when they are
copied as archived copies of rules and guidelines under a YYYY directory,
the internal links do not break. There are **NO** changes to the readable
contents of the rules and guidelines, only some changes to a few internal links.
Updated `1992/buzzard.2/index.html, `1993/rince/index.html`, and
`2012/omoikane/index.html that were modified by recent commits.
Rebuild sitemap due to the changes above.
Ran `make www` to test and perform the above.
The `display_as` field in an `.entry_json` file must match
the regex `^[a-z][0-9a-z]*$` now. This is needed to reduce
errors during the final round while converting a potential
submission to entry form.
Modify `1992/buzzard.2/.entry.json` and
`1993/rince/.entry.json` to change `display_as` field
to use lower case.
Correct `2012/omoikane/.entry.json` to correctly
reflect changes made by commit 2955e5d07e
and commit 2955e5d07e.
Change `bin/cvt-submission.sh` to verify that the `display_as`
matches the above regex.
Changed `bin/cvt-submission.sh` VERSION from "2.2.2 2025-06-30"
to "2.3.0 2025-07-02".
Rebuild all tarballs, both at the entry and the year level
due recent changes to `var.mk`, `1337.mk`, and `ioccc.css`.
Rebuild sitemap due to the changes above.
Ran `make update` to test and perform the above.
When `bin/cvt-submission.sh` needs to form a `try.sh` file,
it now uses `try.sh.judging`.
Changed `bin/cvt-submission.sh` VERSION from "2.2.1 2025-06-29"
to "2.2.2 2025-06-30".