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 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.
We moved the building of an initial entry `README.md` file functionality
form `bin/cvt-submission.sh` to a new `bin/gen-readme.sh` tool.
Add `bin/gen-readme.sh` VERSION "2.0.0 2025-06-16".
Update `bin/cvt-submission.sh` to ignore while running `chkentry(1)`,
any submission top level `REDAME.md` file.
Removed unused template file `template/entry/README_md`.
Changed `bin/cvt-submission.sh` allowed minimum `chkentry(1)` VERSION from "1.1.5"
to "2.0.5".
Changed `bin/cvt-submission.sh` VERSION from "2.0.5 2025-05-18"
to "2.1.0 2025-06-16".
Update sitemap.
Tested the above via `make gen_top_html timestamp` on macOS.
Fixed heading title for "Support the IOCCC" block in `years.html`.
Changed `bin/gen-years.sh` VERSION from "2.1.0 2025-06-06"
to "2.1.1 2025-06-06".
Update sitemap.
Tested the above via `make gen_years timestamp` on macOS.
Changed "Support IOCCC" heading to "Support the IOCCC".
Use HTML blockquote instead of markdown quote for the "Support the IOCCC"
and "IOCCC on Social Media" HTML code blocks.
Added "Support the IOCCC" and "IOCCC on Social Media" to the
top level `index.html` page, the top level `news.html` page and
the top level `years.html` page.
Changed `bin/gen-years.sh` VERSION from "2.0.0 2025-03-13"
to "2.1.0 2025-06-06".
Update sitemap.
Tested the above via `make gen_top_html gen_years timestamp` on macOS.
Added FAQ 5.12 regarding how to compile entries that use ncurses if we
only have the old classic curses.
Clarified how FAQ 5.2 relates to FAQ 0.2.
Update sitemap.
Tested the above via `make quick_www timestamp` on macOS.
Successfully tested `bin/cvt-submission.sh` on a new entry in a new
year that was generated from a submission entry.number directory via
`sbin/post-collect.sh` from the submit tools.
Changed `bin/cvt-submission.sh` prompts to use "[Y,n]" and to default to yes.
The `bin/cvt-submission.sh` processes and appends YYYY/dir to `.allyear`.
Improved 215 error message and exit code from `bin/subst.entry-navbar.awk`.
Changed `bin/cvt-submission.sh` VERSION from "2.0.3 2025-05-18"
to "2.0.4 2025-05-18".
Changed `bin/output-index-author.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-05-18".
Changed `bin/output-index-inventory.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-05-18".
Changed `bin/output-index-inventory.sh` VERSION from "2.0.1 2025-05-17"
to "2.0.2 2025-05-18".
Changed `bin/subst.entry-index.sh` VERSION from "2.0.1 2025-05-17"
to "2.0.2 2025-05-18".
Changed `bin/subst.entry-navbar.awk` VERSION from "1.3.1 2025-05-17"
to "1.3.2 2025-05-18".
Update sitemap.
Tested the above via `make update` on macOS.
Fixed a bug that was introduced into `bin/subst.entry-index.sh`
where the value `$HTML_SED` was set too early. Shell functions
variables are evaluated when they are executed, not when they
are first parsed. So exported variables used by a shell function
need to be set only before the shell function is executed.
Checkpoint `bin/cvt-submission.sh` as part of our testing.
Set file modes of 0444 for when `.auth.json` is formed from `.auth.json.xz`.
The awk scripts under bin put their name (basename) into error
messages to make it easier to debug any error they might raise.
Changed `bin/cvt-submission.sh` VERSION from "2.0.1 2025-05-01"
to "2.0.2 2025-05-17".
Changed `bin/filelist.entry.json.awk` VERSION from "1.0 2024-02-12"
to "1.0.1 2025-05-17".
Changed `bin/manifest.csv.entry.awk` VERSION from "1.0 2024-07-14"
to "1.0.1 2025-05-17".
Changed `bin/manifest.entry.json.awk` VERSION from "1.2.1 2024-11-16"
to "1.2.2 2025-05-17".
Changed `bin/subst.entry-index.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-05-17".
Changed `bin/subst.entry-navbar.awk` VERSION from "1.3 2024-08-02"
to "1.3.1 2025-05-17".
Changed `bin/subst.year-navbar.awk` VERSION from "1.2 2024-04-04"
to "1.2.1 2025-05-17".
Update sitemap.
Tested the above via `make update` on macOS.
The genpath rule uses `${RM}` to remove files, and touches `.tmp.genpath` after removing it.
Updated "_YYYY/Makefile_" files, and the `template/Makefile.year` template.
Updated year level tarballs to incorporate the modified "_YYYY/Makefile_" file.
Updated sitemap.
Tested the above via `make update` on macOS.
The tarballs were updated.
Removed reference to the previous mod from `thanks-for-help.md`.
Updated the `2012/omoikane/index.html` page.
Updated sitemap.
The json wrapper tools, `bin/jfmt-wrapper.sh`, `bin/jprint-wrapper.sh`
and `bin/jval-wrapper.sh` have been updated as follows:
The `-Q` option now does a quick test, ignores args, and exits.
With `-Q`, the required args are ignored and are not required.
The quick testing of `JSONPath.sh` via `-Q` is fixed.
Leading commends about the tools have improved.
A few typos have been fixed.
The `-v 3` variable printing is performed just before any `-N` test.
Changed `bin/jfmt-wrapper.sh` VERSION from "2.0.1 2025-04-21"
to "2.0.2 2025-05-04".
Changed `bin/jprint-wrapper.sh` VERSION from "2.0.1 2025-04-21"
to "2.0.2 2025-05-04".
Changed `bin/jval-wrapper.sh` VERSION from "2.0.1 2025-04-21"
to "2.0.2 2025-05-04".
Updated sitemap.
Tested the above via `make update` on macOS.
Changed `markdown.md` VERSION from "28.1 2025-02-02"
to "28.2 2025-04-28".
Updated sitemap.
Tested the above via `make www gen_status gen_sitemap timestamp` on macOS.
Fixed vimrc typo relating to noexpandtab in `markdown.md`.
Added missing top level and 2nd level markdown and HTML files
to the sitemap.
Changed `bin/gen-sitemap.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-04-28".
Updated sitemap.
Tested the above via `make www gen_status gen_sitemap timestamp` on macOS.
We released [mkiocccentry toolkit](https://github.com/ioccc-src/mkiocccentry) **version 2.4.6 2025-04-26**.
While you are **NOT** required to use this release in order to submit to **IOCCC28**,
we do **RECOMMEND** that you **install and use** it, because among other things, it provides:
* Enhanced the scanning process of topdir, excluding ignored files and directories from the count against the maximum allowed limit.
* Clarified the purpose of a submission title to emphasize that it should not contain names.
* Default handles may now contain UPPERCASE letters.
The `JSONPath.sh` has been updated (and bug fixed).
The `-A` option is gone and `-4` has been added.
See: https://github.com/lcn2/JSONPath.sh
Changed `bin/jfmt-wrapper.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-04-21".
Changed `bin/jprint-wrapper.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-04-21".
Changed `bin/jval-wrapper.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-04-21".
Tested the above via `make www gen_status gen_sitemap timestamp` on macOS.
The **IOCCC28** **OPEN** period has reached the half-way point.
This is a _gentle suggestion_ to not wait until the last minute to write, test
and upload your submission.
The **IOCCC28** is [open for registration](https://www.ioccc.org/next/register.html).
Those who have registered have until **2025-06-05 04:03:02.010099 UTC** to
[upload their submissions](https://www.ioccc.org/next/submit.html).
See "[how enter the IOCCC](https://www.ioccc.org/quick-start.html#enter)" for more information.