Renamed some FAQs (typos and/or other things).
Fix a number of typos in various files (including markdown format
errors).
Rules and guidelines should be relatively good although as there is a
lot to get through and not much time left maybe I missed something (I
also kind of cheated doing the final checks with the guidelines rather
than going through them all again).
The next/try.sh and next/try.alt.sh scripts have had updates as well and
the next/Makefile.example was modified too.
The index.html page now has an anchor for goals of the contest so that
the goals in the rules could simply link to it in index.html.
Although some text had to be added (and some corrected) a reasonable
amount of text was also removed as it was elsewhere or was extraneous in
some way.
The screenshots are more recent (including some new ones).
The welcome email images have not been updated as some things have to be
answered before that can be done.
The current files were renamed to be shorter as well.
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.
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.
Rule 17 mandates specific file permissions for files/directories in
submission tarballs but the documentation did not state this. More work
might need to be done here but it should be better now.
The new syntax (though not all functionality is yet finished) of
mkiocccentry does not match what was in the FAQ, guidelines and rules.
Also added an important reminder to use v7 format with tarballs as not
doing so can reveal who you are which would break the rules. This is
mentioned in the rules and guidelines, showing how to create such a
tarball.
More work does have to be done with these two things however.
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.
The FAQ, guidelines and rules have been updated to reflect recent
discussions and modifications to the maximum number of files.
A new FAQ entry has been added. The guidelines talk about including
extra tarballs and rule 17 has been updated as well. Some of this was
copied directly from discussion with Landon.
Some minor other fixes were made in the guidelines and rules (mostly
wording).
This includes the include files inc/guidelines.pending.hdr and
inc/rules.pending.hdr.
Rebuilt html files as well.
This does not include the other pending fixes and it does not include
the updates about mkiocccentry now allowing subdirectories. That'll come
in another commit either later today or if not then hopefully this
weekend.
The status showed 'The IOCCC is not yet open' to indicate it is in
pending status. But it would be better to match the actual status
itself especially as the status.html file explains pending status, not
'not yet open'. At a quick glance it is easy to miss especially for
those of us who have worked on the repo for a long time and in
particular those who worked on the status.html file a lot.
This updated files in inc/, bin/ and next/ but I cheated and used sgit
to do this. I then rebuilt the html files. A previous minor grammar
problem in rules was fixed as well.
Fixed link in `inc/guidelines.pending.hdr`.
Improved link in `inc/rules.open.hdr`.
Updated timestamps and sitemap with `make gen_status gen_sitemap timestamp`.
Changed `bin/status2html.sh` VERSION from "1.4.3 2024-08-05"
to "1.4.4 2024-12-29".
Performed `make quick_www` on macOS to complete the above.
We set dates and times for when IOCCC28 will go into pending state,
open state, and judging state. These dates are subject to change until
the content enters the open state.
Modified both `next/guidelines.md` and `next/rules.md` as per the
IOCCC28 dates and times.
Improve the `next/guidelines.md` and `next/rules.md` text around IOCCC28 dates and times.
We processed the XXX's in markdown files that needed processing.
Fixed a minor typo in `bin/cvt-submission.sh`.
Made some minor formatting improvements to `faq.md`, `next/register.md`,
`next/rules.md`, `next/guidelines.md`, `README.md` and `index.md`.
Updated "Rule 3" in `next/rules.md` in regards to the above.
Updated "Rule 8" in `next/rules.md` in regards to the above.
Changed `faq.md` version from **28.1.8 2024-12-07**
to **28.2.0 2024-12-28**.
Changed `next/guidelines.md` version from **28.29 2024-12-27**
to **28.30 2024-12-28**.
Changed `next/rules.md` version from **28.14 2024-12-07**
to **28.15 2024-12-28**.
TODO: Review these changes.
The menu in all html pages for the FAQ was fixed to link to the step 0
(of how to enter the contest) and also it was renamed ('Enter the
IOCCC').
I also went through the most important sections of the FAQ (how to
enter and the mkiocccentry related questions) and checked the
register.html, pw-change.html and submit.html pages. It is possible I
have missed something but I think it's in pretty good shape nonetheless.
We added lettered steps to `next/register.md` as part of our
configuring the mailing list for IOCCC28.
Change "IOCCC Judges" to the more commonly used "IOCCC judges"
and made it a HTML link in `2014/README.md`, `2015/README.md`,
and `faq.md`.
Added a reference to "first time login" in `next/submit.md`.
Improved some text in Step 3 of FAQ 0.0 of `faq.md`.
Performed `make quick_www` to update the HTML pages.
TODO: Need to add images to the lettered steps in `next/register.md.
Added a new `next/submit.html` to move the "how to submit" form "in-line"
of the top FAQ entry into a new page managed by `next/submit.md`.
Thus, `next/submit.html` is a parallel to `next/register.html`
and `next/submit.md` is a parallel to `next/register.md`.
Changed the FAQ "faq.html#submit" and into "faq.html#enter".
Added individual tags for the steps in FAQ0.0.
Moved "faq.html#register" down to FAQ 0.0 step 2.
Added "faq.html#submit" for FAQ 0.0 step 5,
however elsewhere often "next/submit.html" is used.
Changed references for "faq.html#upload" to "next/submit.html".
We made a number of changes to the following markdown files to reflect the above:
- `about.md`
- `faq.md`
- `index.md`
- `markdown.md`
- `next/README.md`
- `next/README.md`
- `next/guidelines.md`
- `next/register.md`
- `next/rules.md`
- `nojs-menu.md`
- `status.md`
as well as these files:
- `bin/gen-top-html.sh`
- `bin/md2html.cfg`
and added:
- `next/submit.html`
- `next/submit.md`
Perform `make www` and `make gen_status` to perform the above and test under macOS.
TODO: Add images about the mailing list to `next/register.md`. See the line:
```
XXX - **put images and other details about joining the mailing list here** - XXX
```
There were numerous fixes and clarifications. One important fix was a
typo for jparse(3), being instead jparse(8) which is obviously very
wrong.
Other things were improved upon. The FAQ simply stresses something a bit
better as the guidelines (or maybe it was the rules) links to that FAQ.
We improved the rules language around `make clobber` to not insist,
but instead request actions to restore the state of the submission.
Updated `inc/rules.closed.hdr` and `inc/guidelines.closed.hdr` to clarify
the tentative nature of the rules and guidelines without implying
that they might be massively changed before the IOCCC re-opened.
The `next/rules.md` and `next/guidelines.md` have been updated to
include the `inc/rules.closed.hdr` and `inc/guidelines.closed.hdr`
content respectively.
The top level warning that the rules and guidelines are out of date
have been removed.
Performed `make rules guidelines` to update the HTML pages.
The guidelines now link to both GitHub (viewing option) and directly to
the files Makefile.example, try.sh and try.alt.sh, as does the FAQ.
I made sure to keep the version of the guidelines and rules the same (as
in major.minor) but updated the date, as these changes are part of the
previous commit.
The Makefile.example file now has the ALT_OBJ and ALT_TARGET (with a
comment explaining how to use it) and the alt rule (which if the
variables are left empty it will do nothing with 'make alt' or 'make
everything').
The example Makefile now has the everything rule as well, for those who
have an alt target.
Fix links to next/try.sh, next/try.alt.sh and next/Makefile.example in
html files (guidelines/rules/FAQ) to not link to GitHub as they're
supposed to be downloaded.
The file template/entry/Makefile.entry was moved to
next/Makefile.example. This matches the mkiocccentry repo in filename
and where it was before (template/entry) is not the right place as that
is for the template of making submissions into a winning entry whereas
next/ is for the next contest. The next/ seems like the most logical
place because the example file could be updated per contest for whatever
reason, perhaps by adding the year in it (or not). On the other hand,
the try.sh in template/entry is for submitters too but since the
bin/cvt-submission.sh script will copy the template files to a winning
entry if it does not exist it is left in template/entry, even if this
might not be ideal.
The references to the old Makefile.entry have been updated to
Makefile.example in the new path/filename.
Other changes had to be made too including updates to
bin/cvt-submission.sh. That script should be checked to make sure
everything is okay but as I have no way to test it that might have to be
done by the judges though I think it is okay.
Html files that have been changed that might need to be checked are:
0. faq.html (this one especially should be checked)
1. next/guidelines.html (though the judges will be checking this more)
2. next/rules.html (though the judges will be checking this more)
For the faq.html file, the Makefile.example and try.sh/try.alt.sh
scripts should be downloaded, not linked to on GitHub and it needs to be
clear that one should use the Makefile.example from the website (this
repo) rather than the out of date mkiocccentry repo.
For the guidelines and rules, and especially the guidelines, any files
linked should also be downloaded and not linked to GitHub. The text
should be clear already but it might be good to have a quick pass. The
judges will be going over these files before the next contest too. The
files should be downloaded here too, not linked to GitHub as submitters
need to download the files to make use of.
The thanks-for-help.html file was slightly modified but should be fine
too. In this case the GitHub file should be linked to.
The version of the rules and guidelines are from an earlier date of when
they were last modified for the above changes (as this was worked on
over a number of days).
The scripts can be found under template/entry. A new FAQ entry has been
added and the guidelines have been updated.
The rules have a new div id ("version") to match what was added to
guidelines yesterday (since it's obvious what kind of version it is.
Once this has been merged html files need to be checked to make sure
everything is okay.
We move the "_Thanks for the help_" out from under the "Entries"
menu and under the "About" menu to better balance the menus.
Besides, "_Thanks for the help_" is more **about** the IOCCC itself.
The sections have been modified a fair amount. The Entries menu has been
extended to have: Fixing entries, Updating author info, Thanks for the
help. The first two were moved from FAQ and the last one from About.
The rationale for these, in order: entries and authors have to do with
entries and most of the help involves entries. It also has to do with
website but in 'about' it does not seem the right place, unless maybe it
is renamed to 'Credits' or something (I am not suggesting this one way
or the other). This one is debatable but that was the rationale.
The Status menu has been extended to have: Markdown guidelines and
Security policy. The rationale is that the markdown guidelines are part
of contest guidelines and the security policy is about the status of the
entries and how if there are any security problems they will not be
addressed (instead of about the IOCCC).
The FAQ was extended to have: Compiling entries, Running entries, How to
help. The reason to not have compiling and running entries under Entries
is because this is 'how to' and also the menu was too long. How to help
seems like a good idea under FAQ too (was in About).
About was extended to have the new 'about.html' page (from about.md).
This is a rare case where a new file is useful as it fits under 'About'.
The menu now is: Home page, About the IOCCC, The Judges, Contact us. I
was pondering the 'About [the IOCCC]' at the top and also naming it
'About us' but it seemed like a link to index.html was necessary and as
for 'about us' it seemed less clear as to whether it was about the
judges or the contest itself. The FAQ has been updated slightly for
this.
After further inspection the bin/index.html and the inc/index.html links
were removed from the about section.
With these changes, renaming an item or slight reordering
notwithstanding, I believe that #2006 is probably in good shape.
The mobile About menu was missing the IOCCC markdown guidelines. This
has been added to the mobile menu but moved to 'Status' which is where
guidelines are (it has been renamed to be 'IOCCC Markdown Guidelines' to
match the style of the other items in that menu).
The About menu now has two more links, one for the website tools and the
other for the include files of the tools. It might be, looking at the
generated html files, better to have another menu instead, but what that
should be is unclear. The reason it might be better is because the
'About' menu is rather long. In retrospect it might be better to not
have the script include files in the html files but this can be decided
and dealt with later.
The script bin/find-missing-links.sh now ignores the directory NOTES/. A
better approach might be using git ls-files --exclude but a quick test
did not work right. Another option, at least for NOTES/, might be to use
'git ls-files --exclude-standard'.
The bin/index.html file has been updated.
Run make www to rebuild all html files.
A number of question answers have been merged and shortened somewhat.
Fix link in the menu of all html pages and the inc/ files that was
broken due to renaming an anchor.
The guidelines and rules have had a link fix (to the FAQ) as well as
some additional points added about the mkiocccentry toolkit.
More work in the FAQ needs to be done, including with the how to enter
the IOCCC, but as so much work has been done already I have decided to
make the commit to get these many important changes out of the way.
Numerous sections have had questions moved to another section including
the new sections 'The mkiocccentry toolkit: finer details' and 'History
of the IOCCC'.
The first section was renamed (pending any better name as it might not
be quite right) 'Entering the IOCCC: the bare minimum you need to know'.
Renamed some questions to better (hopefully) account for what they are
about.
The purpose of not making the actual content match this reordering is so
that if any changes need to be made they do not have to be done again
(though a few were moved). Thus before more work can be done some
discussion is needed.
The guidelines and rules now refer at the top to the general FAQ
especially about the bare minimum one needs to know.
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.