The links to rules should all be good. This includes in news.html,
quick-start.html, next/submit.html, 2024/index.html (it had been
modified to refer to next/rules.html instead of 2024/rules.html) as well
as the guidelines and rules themselves (under next/).
Various typo fixes. I'm afraid there are likely others but I must let
others deal with that as I am out of time.
Removed FAQ about mastodon push notifications. When I added the FAQ
about push notifications for mastodon I was incorrect. The web browser
interface suggests it but I never got a push notification even before
Apple broke them. There seems to be no way at this time to get them. I
note that there was a screenshot in the FAQ but this file still is in
the repo possibly.
I regenerated the html files but it's possible I forgot to do one at the
last minute.
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.
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.
This did involve updates to news.{md,html} and years.html. The prize in
diabolical logistics now reflects the title of the game and the prize in
yil-tas has a capitalisation fix (that was missed yesterday).
Also reworded some of the text of 2024/ferguson1/index.html.
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
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.
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.
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.
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 **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.
Add news of the mkiocccentry toolkit version 2.4.4 2025-03-15.
Note that C is the official locale of the IOCCC in the IOCCC guidelines
version 28.47 2025-03-15.
Added news based on the recent
[release 2.4.3 2025-03-11](https://github.com/ioccc-src/mkiocccentry/releases/tag/2.4.3)
of the [mkiocccentry toolkit](https://github.com/ioccc-src/mkiocccentry).
Updated the FAQ with additional information about the above mentioned release.
Fixed use of double blank lines in `faq.md` so that they:
- precede all markdown headings
- precede and follow all "Jump to top" lines
Added missing "Jump to top" lines.
Fixed Section 2 internal link.
Performed `make www gen_status gen_sitemap timestamp` to update the website.
A choice was made a while back to use website and not web site so
changed all new references of 'web site' to 'website':
sgit -e 's/web site/website/g' '*.md' '*.html'
As this also occurs in the FAQ and there were some minor mods (just
textual, including some fun, not a new FAQ) these are included too.
The IOCCC28 will now open on **2025-03-05 23:19:17.131107 UTC**
and enter the judging state on **2025-06-05 04:03:02.010099 UTC**.
Updated sitemap, added news for 2025-02-12, and updated the status.
Performed `make www gen_status gen_sitemap timestamp` on macOS to complete the above.
The IOCCC now has a [Discord server](https://discord.gg/2hVYnv83DD)!
Click the link to join the [IOCCC Discord server](https://discord.gg/2hVYnv83DD).
Fans of the IOCCC, hopeful **IOCCC28** contestants, and past winners of the IOCCC
are all encouraged to stop by and say hello.
Based on user input and suggestions, we have been working on some new
functionality for the [mkiocccentry tool set](faq.html#mkiocccentry).
In order to complete and fully test this new functionality, we need
additional time. Therefore the **IOCCC28 open** date as been **moved
forward for 19 days**. Moreover, and also by request, the contest will
remain **open for an additional month**.
The [40th anniversary of the IOCCC](faq.html#ioccc_start), which started
on **2024-12-29 23:58:13.213455 UTC**, is now scheduled to be **open**
from **2025-02-19 23:19:17.130705 UTC** to **2025-05-19 23:29:31.374143
UTC**. We will update the [IOCCC rules](next/rules.html) and
[IOCCC guidelines](next/guidelines.html) accordingly, before the contest opens.
Amongst the changes here is that we do not need to have the hex or html
code (numbers) for open and close parentheses (in links) as there are
names. '(' is & followed by lpar; and the ')' is the same but 'rpar;'
instead. This makes it easier to remember and type and it generates the
same html as well (they are all valid). Now the markdown files are
consistent in this (in some cases hex was used and in others the html
code).
Although many markdown files were updated no html files needed to be
updated as it generates the same html. Even so I ran the appropriate
rules to do so just to verify this.
We quasi-canonicalized markdown links to FAQ entries.
**IMPORTANT NOTE**: This is a useful step in completing issue #2417. This commit is consistent with the top level TODO comment requirements. Nevertheless, this changes made by this commit needs to be examined and in some cases improved.
A link to an FAQ entry is of the form:
```
FAQ on "[the link text](....faq.html#string)"
FAQ on "[the link text](....faq.html#string)"
```
The "FAQ" is at the start of the line, or in rare cases is preceded only by whitespace.
The reference to the FAQ starts outside of the markdown link with the string **FAQ ON "**.
After the markdown link is a **"** followed by either the end of line or a single punctuation character such as a period or comma.
We reduced the size of "the link text" that refer to an FAQ to at most 3 words. In some cases the sentence and/or text surrounding the markdown link to a FAQ may need to be further adjusted to better accommodate this new style.
**IMPORTANT NOTE**: References to a FAQ entry are on a separate line.
p.s. When linking to the `faq.html` file itself, we use markdown of the form "`the [IOCCC FAQ](..../faq.html)`" and place the word "the" outside of the "IOCCC FAQ" link text.
Given the above system (and because references to an FAQ entry is on a separate line), the following command shows links to FAQ entries, sorted by FAQ entry "link #name" so that one may evaluate the way a given FAQ entry is referenced:
```sh
find * -name '*.md' -print0 | xargs0 grep -E '^[[:space:]]*FAQ on "' | sed -e 's/^\([^:]*\):\( *FAQ on "[^#]*\)#\([^)]*\)\()".*\)$/#\3\t\1\t\2#\3\4/' | sort
```
The above command shows the value of consistency when it comes to FAQ references.
**NOTE**: There are a few differences on how a given FAQ is references. That is probably OK as there is NOT an "total mandate" that all references to a given FAQ must have the same "link text" for example. On the other hand if references to a given FAQ can be identical, that might be helpful. We are certain that in some contexts the "link text" might need to change.
Should we decide to change the way FAQ are referenced, we will be able to modify identify and modify them with greater ease.'
Examine the changes made by this commit and adjust and/or improve as needed.
Performed `make www` to accomplish the above and to test under macOS.
While not strictly necessary, replacing the two ASCII tab characters
in the markdown copyright comment makes it easier to detect problematic
TAB indentation within markdown files.
After this commit, only 90 markdown files have leading ASCII TAB
characters. And again, while not strictly necessary, we can consider
running expand on those 90 markdown files to see what effect that
might have on the HTML files they produce.
Replace leading ASCII TAB characters with multiples of 8 ASCII SPACE
characters (the default action of the `expand(1)` tool) might have
an negative effect on some HTML formatting where **hack-a-round**
formatting was attempted to fix broken indentation caused by
problematic ASCII TAB characters.
Think of this as a baseline for evaluating leading
TAB characters within markdown files.
TODO: Consider either using `expand(1)` to replace leading ASCII
TAB characters with multiples of 8 ASCII SPACE characters AND/OR
modifying the appropriate `bin` tool to convert leading ASCII TAB
characters into multiples of 8 ASCII SPACE characters.
For the improvements to the script, besides a typo, a link to the FAQ
(for submitting entries) has been added and a link to the GitHub issues
page (the new issue page) has been added in the case where an unknown
status appears in the status.json file.
The news update is that more progress has been made in that one of the
longer files to check for invalid links is done (thanks file) and that
two long files are left but that instead of looking at those two first
the other html files will be looked at first as it's quite possible that
both will have to be updated in some way or another as the other files
are being edited. Indeed this has happened numerous times already. This
way will save time and prevent having to look at those files a second
time. It also notes that some of the top level html files have also been
reviewed (see below) and a link was fixed (added a <div id="news"> for a
link that was linked to). I am fairly certain that I also fixed some
formatting problems and some links were fixed as well.
The status.md/status.html file has been updated with some links added,
more div blocks (for each section describing the status.json file),
which are used, slight formatting updates and possibly some other things
as well. As for some of the links we might say that it's 'statuses all
the way down' :-)
With this commit I am happy to report that some other top level files
have also been verified for invalid links:
judges.html
news.html
status.html
As the news.html file will be updated it is entirely possible that some
fixes will have to be made but the links up to and including 08 June
2024 (unless more changes are made today of course) need not be checked
again.
More top level html files (which include those in next/ and other
subdirectories that are not of the entries) also have to be checked but
these should also go relatively quickly.
Regenerated status.json file as the news has been updated.
It might be useful to know that the majority of the files should be
relatively quick to review and that of the three slower files one is
almost done.
I did not change the date of the news update but this seems like a
useful change (though maybe better wording could be used). If the date
is changed it would allow to update the status.json and status.html file
news date.