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".
Modified `bin/cvt-submission.sh` to use `chkentry(1)` on
submissions that are about to be converted into an entry,
by using `-P` to ignore permissions. We also ignore any
`.DS_Store` files found as they will not be committed to
the repo (because of the top level `.gitignore` file).
Changed `bin/cvt-submission.sh` VERSION from "2.2.0 2025-06-29"
to "2.2.1 2025-06-29".
The `bin/cvt-submission.sh` tool no longer will remove selected files
when -n` is used.
The `bin/cvt-submission.sh` tool will not object if a `.gitignore` file
(put there by an IOCCC Judge) is found.
Changed `bin/cvt-submission.sh` VERSION from "2.1.0 2025-06-16"
to "2.2.0 2025-06-29".
The `bin/new-dir.sh` tool use of `sed(1)` to update the year level
Makefile has been fixed.
Changed `bin/new-dir.sh` VERSION from "2.0.2 2025-05-29"
to "2.0.3 2025-06-29".
Tested/testing using potential final round submissions.
We fix/improve the new_entry rule in `template/Makefile.year`
that is used by `bin/new-dir.sh`.
Changed `bin/new-dir.sh` VERSION from "2.0.1 2025-05-18"
to "2.0.2 2025-05-29".
Tested/testing using potential final round submissions.
Added `template/entry/Makefile.judging`, a Makefile that is
similar to `next/Makefile.example` except that it is
more suitable for IOCCC judging, especially during
the final rounds of judging.
By mistake in a few previous commits, some useful explanatory
and example comments were removed.
Add comments that will be useful for IOCCC29 and beyond.
Remove `${GINDENT}` and add `${RMDIR}` Makefile variables.
We update `next/Makefile.example` as per needs of IOCCC
final judging rounds.
Improved a few "XXX" comments.
Add `-pedantic` to `${CWARN}` by default with a comment
suggesting that is is OK to remove that compiler flag.
The use of `cindent(1)` and `indent(1)` by the IOCCC Judges
during final round processing has been deprecated in favor
of the `clang-format(1)` tool.
Removed rules in `1337.mk` related to `cindent(1)` and `indent(1)`.
Added `make clang-format` rule to `1337.mk`.
Added `${CLANG_FORMAT}` Makefile variable to `var.mk`.
Created `.clang-format` to hold the IOCCC style, a style that
is somewhat similar to the Linux Kernel style.
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.