There are many fixes made but a few questions remain so when I reach
those years I will address those then. Unfortunately, due to
infrastructure work right now, this is all I can say even though there
are a number of things I'd like to say.
Although 'Email' is sometimes used it feels more out of place in the
middle of a sentence. There might be other files where this could be
done but at the same time there are files that this should not be done -
like source code.
Added testing procedure (markdown, html: testing-procedure.{md,html}).
Updated the recode.{md,html} and README.md for this as well.
Updated the hidden message file (enigma.html) for a bit more fun.
Updated manifest, rebuilt index.html and .entry.json.
The list of expressions in the judges' remarks has been changed so that
it fits nicer on smaller screens (it is no longer a code block but a
list and each operator is surrounded by backticks).
The grammar provided by the author (not the code that explains it but
the grammar) now also fits on smaller screens in a nicer way by breaking
it into multiple lines.
There were several places where a code block was used for text that is
more like a quote (and in one case it is a quote) and these have been
converted to a blockquote.
A few links were added instead of having the link in a code block.
In a case where a paragraph was split with blank lines in between each
line (with the '|' marker at each line) I added a <br> to it so that it
looked more natural.
With the recent changes to this file and the rules file more checks have
to be made as well.
The '{', '}' and other chars that are referred to are now in code blocks
(surrounded by single quotes) to help make them stand out better. The
single quotes are there as depending on the person's perception (or if
they're tired or ...) the colour difference might not be enough (in fact
it's barely enough for me at this point and others are more colour blind
than I am). The block quote colour is being experimented with still,
too, so that is another reason to have the 's.
Added make gen_next rule to Makefile which builds next/index.html from
next/README.md, next/rules.html from next/rules.md and
next/guidelines.html from next/guidelines.md. The make help rule was
updated for this.
There is no need to have 'blockquote' in one place and then later on in
the file '.content blockquote p'. This brings the two rules together so
one does not need to go back and forth in the file.
There were tabs in the part of the file (copy pasted in fact) that was
regenerated each time and I converted them to spaces. Doing a git add -u
and then trying to rebuild bugs.html did not seem to update the file and
since it had in the past I hope this solves the problem.
This took some careful editing but it now looks nice on an iPhone 14 Pro
Max and it also looks nice on a laptop (16"). In Safari responsive mode
at 500 x 100 it also looks okay which I think is pretty good. For some
macros the function line had to be split up and it might look like the
formatting is wrong in a few cases but this took trial and error to get
it to align right (or very close if not completely).
That is to say in the bugs file it will look something like:
STATUS: INABIAF - please DO NOT fix
but as a html file it is already bold as a heading. This means there is
no need in the index.html file to have the explicit **DO NOT** as it's
in a code block and it is not consistent in what is in bugs.html. For
instance 1984/mullender had:
STATUS: INABIAF - please **DO NOT** fix
but this meant the index.html file had the '**'s surrounding the DO NOT
which is not consistent with bugs.html.
Although blockquote already is set to italic now blockquote p explicitly
sets it. The colour is dark green and the rationale is explained in the
comments as thus:
/* This rule makes sure that text in <blockquote><p>..</p></blockquote> is
* coloured right. Note that this MUST BE HERE and not earlier where the
* 'blockquote' rule is as otherwise the above '.content p' rule would
* override it.
*
* The following rationale with the blockquote rule above (in particular
* with italics) and the dark green selection, so that this is understood
* better:
*
* 0. Purple should NOT be used as this is being used for visited links.
* 1. Blue should NOT be used as this is being used for non-visited links.
*
* Now with context this might be okay but links can also be in blockquotes
* so this alone is reason not to: even if there are underlines in most
* links. Additionally:
*
* 2. Bold seems to be too strong, especially when used for with a bright
* colour.
*
* Bold is used in headings (h1, h2, ..). A bold heading is not too much
* text (as headings tend to be short single lines): one does not become
* too tired looking at TOO MANY SHOUTING BOLD LETTERS. It seems preferable
* to reserve bold for those headings.
*
* Conclusions: dark blue seems to be slightly better but unfortunately the
* headings (h1, h2, ...) is too similar so we use dark green with italics
* as the choice.
*/
I believe now that it is in good order except for a strange indentation
issue in the index.html file in some code blocks that presumably has to
be fixed with CSS.
The bugs file was also slightly updated.
The whereami.c file should not have been left in as the scripts added
take care of the problem.
The Makefile now links whereami to westley and whereami.alt to
westley.alt. Running make clobber will remove the links.
The index.html had some mistakes from the time where the C file was
useful. There might still be some mistakes but that will have to be
checked another time.
The manifest has been updated locally but the .entry.json file and the
index.html file have not yet been corrected. This will happen soon after
the rest of the changes of 1992 are committed.
The problem was that later in the stylesheet there is '.content p' and
since the <blockquote><p>..</p></blockquote> is in the content class the
colour was being overridden. Thus there is now:
.content blockquote p {
color: blue;
}
which fixes the problem.
The play.sh script entry_text refers to snake-colours.sh so
snake-colours.sh comes first. Also since it's a key part of the entry
they come before the html files.
To help the fact it's a quote stand out better the vertical bar is a bit
thicker (4px instead of 2px) and the colour is a bit darker (darkgrey
instead of #e6e6e6). Also the font style is italic (as quotes often are
shown) and the font weight is bold to help it stand out even more (that
might be worth changing). Finally the colour of the text is blue (which
looks nice with bold so it might also be changed if the weight is not
bold).
A point worth noting is that in CSS (tested on my apache server and also
W3Schools) having:
blockquote {
color: blue;
}
does not work (for <blockquote><p>...</p></blockquote>) as in the colour
stays what was left for <p>...</p. which earlier in the stylesheet is
set to black. On W3Schools what does work is:
blockquote p {
color: blue;
}
but on the server for some reason it does not quite work. The rest of
the change to blockquote do work but not the colour of the text. I am
not sure if this is a cache or similar problem or not but clearing the
cache and also history (of the past hour) does not seem to solve the
problem at least at this time. Thus it is entirely possible that this
has to be fixed too.
To put this another way this change might need some tweaking still but
the blockquotes now stand out much better.
My original fix no longer worked, at least with clang in some systems,
because of more strictness in the compiler wrt implicit ints. As the
code does not use the Makefile but rather 'cc' (and in an unusual way)
'main()' now has an explicit int.
Also, what was previously documented as a bug to be fixed has been
changed to INABIAF as it was documented already. Thus it should not be
fixed. In fact the judges originally noted that if one specifies the
triggering input they should expect an infinite loop and compilation
failure.
The problem is the DATA variable in the Makefile had a file that no
longer exists.
The warning in the Makefile has been corrected too: it should compile
but it won't likely work in modern systems (it is the original but fixed
so that it at least compiles). The isaak.c is the fixed version that
works with both macOS and linux.
Make link to entries and award titles bold like the other files that
have links to entries with the award title. This is done by modifying
the bin/gen-authors.sh script.
Make it consistent with my improvement to bin/gen-years.sh: the entry
awards in the links (to each entry) are now in bold and so are the link
names. This helps them stand out a bit more.
The html files in 1986 (including 1986/marshall/compilers.html) look and
feel good. Format change (slight) in 1986/marshall/index.html.
The manifest update includes a fix for 1986/hague and this same change
in entry_text applies to files in a few other years as well.
The link to 'stack' was for abstract data type which not only has no
article but should be call stack. This has been corrected.
Also with this commit the index.html files of 1984 look good. This
includes the 1984/index.html file itself. There is a change in 1986 that
might come before 1985 but this is to be determined later.
In the case of this entry, it is so screwy that having the CFLAGS
conflicts with the -traditional-cpp option in some systems. Thus the alt
rule has ONLY the -traditional-cpp option. The thanks file notes this
oddity and how to view the diff between the original and the alternate
code.
Also the bugs file was changed to be worded like the README.md file.
The index.html file was improved for the fix to the Makefile (for the
alt build) and it also links to the specific lines in the code on GitHub
(see the index.html file how it talks about specific lines in the
judges' remarks).
To avoid problems the script now runs make find_missing_links at the
end. It does it in such a way, though, as to make sure everything is
fine before that. It runs the rule after everything is fine but if it
fails it tells them they do not have to run the script all over again
but they do need to fix the links and then run the appropriate make
rules in order to fix the html file(s). It does note that if you're in
doubt running 'make www' will be the safest bet.
There are two reasons the script does not run make www: first is that it
uses verbosity not used in the make rule and second is it offers to run
the quick-readme2index.sh script to go quicker if one knows that only
a few README.md files were modified. The script now warns that this will
only work if the README.md files have been changed (or timestamp
updated).
Since less information is shown on an entry's index.html page than in
the past a short FAQ entry about how to find the information seems like
a good idea to have.
Many entry_text fields have been changed, some to make it more
consistent with others (though most likely some slipped through) and
others to make it more correct.
The recent commits which changed filenames are in this update but the
rest of the process will be done soon as part of the same pull request.
As the others files do not specify macOS but are still screenshots of
macOS I have removed the '_on_macosx' from the filename. Thus
2013/cable3/screenshot_win3_on_macosx.png is now screenshot_win3.png.
Makefile updated for this.
All the authors now have either a null URL, a valid URL or one on the
Internet Wayback Machine.
Where it seemed likely (say because the domain no longer exists) emails
were set to null also.
Now unless a bug is found in the script this really should finish the
checks of authors.html.
40 of authors which previously had an 'unknown location' were found in
the archive. Only five are left that are unknown.
Rebuilt location.html and authors.html.
Although I did not check every link in these pages I have checked many
and since both files are generated by a script it is probably safe
(enough) to say that these files can be marked as verified to look okay
and have valid links. This means that unless I have missed something,
the top level html files have all been checked except for bugs.html and
faq.html but these have to be done after the entries as they are likely
to be updated as the entries are being looked at.
The index.html file (from index.md) now links to the no JavaScript menu
for those who either wish to use a plaintext menu or for those who the
menu does not work (like I discovered with my iPhone 8 Plus - iOS 16
Safari, a bug that was fixed in iOS 17). It also links to a new FAQ
about the menus: how they work and also what to do if they don't work.
By 'how they work' this refers to on desktop/laptops, on mobile devices:
without JavaScript enabled and also on mobile phones and tablets in
portrait and also landscape mode plus on mobile devices wider than 1024
pixels and also the browser bug I referred to above.
This includes three new png files, screenshots of how it looks on an
iPhone 14 Pro Max (which should be like other mobile phones), one which
shows the iOS 16 Safari bug and one which shows desktops. These are of
course used in the FAQ.
Although not every html file has a link to the plaintext (i.e. the menu
for those with JavaScript disabled), it is hoped that these two changes
will help people navigate if they have a problem with the menus.
The script set the URL for the tarball of all entries in the year to:
$YYYY/$YYYY.tar.bz2 but the link is relative so for 1984, for example,
it would link to 1984/1984/1984.tar.bz2 which obviously is a 404.
I also changed the formatting and wording of the link. It now is all
bold and it says instead (for example with 1984): 'Download all winning
entries from 1984'. Before it still referred to 'entry source' but it is
all entries and more than just the source.
This commit does not mean that the YYYY/index.html files have been
checked (though it's likely that all should be okay at this point) but
the manifest of entries and the tarball of all entries of the year
should at least be good.
The (same two) authors of 1995/heathbar and 1995/makarios had invalid
information, in one case email as well as in both the url and location.
The location was previously set to unknown (ZZ) but I knew from the
archive (which used to be what the README.md files which were the hint
files had until I was asked to remove that information which was done
November 2023) that it was US.
I also noticed, however, that the url was invalid and in one case the
email was invalid (it referred to the same domain).
With these problems in mind the url was changed to refer to the website
on the Internet Wayback Machine (in both), the email was set to null in
the one that had an email (now it's null in both) and the location_code
was set to US (in both).
I then did:
touch 1995/heathbar/README.md 1995/makarios/README.md
so that I could do:
make quick_www
as only two index.html files had to be updated. This also updated
authors.html and location.html, of course.
The FAQ was updated with more information on how to update author
information with the above two as an example and it now also says how to
validate json for those who want to make changes to author information
(or if anything else in the future is put in json).
It should be 'Location of winning authors' (as it is now) but by mistake
there was an extra space ('Location of winning authors'). Obviously
this is a huge commit as every html file with a menu (almost all) had to
be updated.
The json file had the email as a url by accident. The authors.html file
is not checked yet but will be soon, very possibly tomorrow, along with
the last (for the moment) top level html file (I think).
The fixes in the FAQ correspond to the fixes in the contact.html file.
With this commit the contact.html file seems okay but the FAQ is not yet
looked at.
The words 'press and hold words in the upper right corner' is less clear
than 'press and hold the menu you wish to activate'. It is obvious,
perhaps, to most, but it is better to be clearer.
A few page names were changed and menu link (titles) were changed too.
By page names it means either DESCRIPTION or HEADER_2 in
bin/md2html.cfg. Although it looks better and is more consistent, there
might be one or two that can be further improved.
Naturally every html file that is markdown based was updated.
This is a very large commit not only because I forgot to run make www
after updating the menus but I also forgot to do that after the update
to some of the award titles (only quick-readme2index.sh was used).
There is a typo fix in bin/README.md.
This commit does mean that md2html.cfg has to be added to bin/README.md
but that can be done later.
The steps run to verify this works okay:
make www
git status
git diff
git add -u
make update
git status
git restore $(git check)
The last is important as it is not time for make update. 'git check' is
an alias:
git diff --name-only
Something that was not noted in the other commit that touched this file
is that because this is markdown which renders to html I changed the
comments in the form of:
<=== no thank you
to
<!-- no thank you -->
This was not strictly necessary but and for non html it might not even
make sense except that it is still rendered to html and in most cases
(if not all) it is html. This was done for the rest of the file now too.
In some pages at the top it had 'and' but in the menu it had instead a
'&'. The menus (JavaScript and otherwise) now has 'and' to match the
pages. The file nojs-menu.html has been checked for broken links and
indeed one at least was fixed. Very few top level html files need to be
checked now. Some that are entirely generated should be okay but links
will still be checked to be sure.
Some cases of '(Mis)features' from the previous commit were also
corrected to '(mis)features' as this is also part of menu and page
consistency.
The files markdown.{md,html} have had the menus updated too but there
are some other changes that were works in progress. This file is not
thus completed but will be sometime soon.
This commit changes inc/md2html.cfg also and it is done to make the
header (under the line 'The International Obfuscated C Code Contest')
match the header in the bugs.md file, in case. Updating bugs.md is not
necessary. A keyword was also added to the html file, mis-features,
along with the already existing misfeatures.
This completes bin/ except that one file is likely to be moved to bin/
which will mean that the file has to be updated again but not in a big
way.
Very few top level html files (including inc/ and some other
subdirectories that are not the years) have to be checked now, I
believe. Some did not require any fixes at all. Still it might be a
couple days before this is done. It is hoped that the entry html files
will go quicker and then the final FAQ and bugs checks can be done.
The inc/md2html.cfg file was in this case updated for the keywords (not
that many would think of it, maybe, but since I was making another fix I
added the keyword 'ta') and more importantly HEADER_2. The file is not
just about fixing old entries but rather help in every other way too.
Thus it now reads 'Thanking people for their help'.
The thanks-for-help.{md,html} has also been fixed in the above way and
the 'thanks for all the fish' is now a link.
'Ta ta and thanks for all the fish :-)'
... including the index.{md,html} which was in all caps ..
The bin/README.md file (and index.html) was updated slightly with an
added comma: not strictly necessary but for some it might be easier to
read. This was discovered as I was going through the links (not done
checking them yet but so far so good).
Usage for scripts where the usage was missing added, even if that's just
that it is used in another file.
The script links have been changed to use %%REPO_URL%% for the GitHub
syntax highlighting. Some other files have also been changed to this.
Other changes were probably made too.
Links still have to be checked but this has to be done next time.
The PANDOC_WRAPPER did not have a default value which not only caused
the help string to show something like: '(def: use )' but it meant one
had to specify the option -p to specify the pandoc wrapper tool (which
is bin/pandoc-wrapper.sh).
A lot of the award titles that had more than one word capitalised were
changed to just one word capitalised, the first. Some were changed to
have multiple words capitalised. This happened when it was something
like '... prize' or '... award'. An exception to this is 2020/ferguson1:
'Don't tread on me award'. This is because I am not quite sure if I like
'Don't Tread On Me Award' or if it should be 'Don't Tread on Me Award'
(probably not that). For some like 'Grand Prize' or 'Bill Gates Award'
it's simple but I'm not so sure for my Snake entry of 2020. I will try
changing it and comparing it side-by-side to see which looks nicest.
This commit should make it easier to update the form of the award titles
in that they should all be consistent (or more consistent if not
completely) though it should be noted that the macOS Numbers application
(spreadsheet) is case-insensitive. A reason I did not change 'Don't
tread on me award' to 'Don't Tread On Me Award', yet, besides the above
reasons, is that it's a longer title and I am not sure how I like that
many words capitalised. Still it's a title of a slogan/whatever so it
might be better that way. This will be determined in the near future.
The tmp/year_prize.numbers had the text size increased a fair bit as
the default is too small for my pitiful vision (I changed it within
reason as it can become harder in another way if it's too big - 16"
MacBook Pro screen). One of the columns was also widened as it was too
short even for the smaller size.
It seems pandoc actually handles it okay but the markdown was fixed
anyway (in other words it does not change the html file). A line that
was part of a sentence (the end of) started with '256.' This was changed
to '256\.' (another option would be to move the '256.' to the end of the
previous line). With pandoc the html file does not change but this very
issue has caused me problems before so I fixed it.
I was asked to actually make corrections in the rules and guidelines and
to make sure that the look and feel seems good. The typos and other
features will be added back later. Some things worth noting below.
First references to twitter were changed to mastodon. I also in some
cases (this should be in the FAQ too and I'm not sure if it is) when
referring to mastodon noted that unless you are mentioned (also if
someone reposts your toot but this is not mentioned as it's not
relevant) you will not get a notification so one should still refresh
the page as otherwise they might not get an update.
The current iocccsize in the mkiocccentry repo checks for 2503 not 2053
like it used to. Only some of the references can be changed to 2503,
however. For why this is read the file!
I changed the word 'historic' to 'historical'. This is because
historical refers to something that happened in the past and the rules
and guidelines are something that existed in the past. On the other hand
historic refers to famous or important in history. Of course that might
be the case here but it felt like in these cases historical was more
correct. This, of course, depends entirely on how you view the rules and
guidelines that are from the previous contest.
This time I modified files in inc: guidelines.closed.hdr and
rules.closed.hdr. This is because the next/guidelines.md and
next/rules.md refer to it as being included (even though it appears that
might not be the case). These files are simply what the top of the
guidelines.md and rules.md files are. I do not know if this is important
but since the markdown files do refer to them I have updated this time
(even though it seems like one has to keep two copies of the same text).
A few typos were fixed.
One tool had the description reworded a bit to make it (hopefully) a bit
clearer.
A link was fixed but I am not sure if, since it's a script, it should
link to the GitHub repo or not, like with other markdown files. I
changed it to use the %%var%% that the bin/README.md file uses. This is
one reason links have not been checked. The other reason is I have not
gone through the entire file yet.
I notice some tools do not have example usage and those could be added
too.
There was an apparent typo in bin/find-missing-links.sh and this same
typo was fixed in bin/README.md. I am not sure exactly what was meant,
however, so it might need further modifications.
I have (the caveats above notwithstanding) gone up through
pandoc-wrapper.sh or just before it.
Regenerated bin/index.html.
Some links were fixed. For instance instead of index.html#enter it's now
the relevant FAQ. A markdown link was broken so that it did not create a
link at all.
Some formatting was updated mostly to make points bold or in code block
(if it's going to be html it might as well especially as they are
important).
And although there were some typo fixes there still are some typos in
there. If you don't know why that is see the FAQ 1.0: How did the IOCCC
get started?. :-) Besides much will be changed in these files by the
judges and the purpose of this commit was to make sure links were valid
and that the files are rendered okay, not to try and change the rules
(although I did update the IOCCC email and make it the 28th IOCCC and
fix the judges [list] .. to make a reference to something recent :-) ).
This commit means that the files under next/ have all been checked. As
usual we all anticipate things to change but some things that were
outdated were corrected (or they were at least partially corrected like
referring to the mkiocccentry repo) to help out a bit.
One typo was fixed and wording was slightly changed in one thing which
is not really a typo but might be clearer now (if only slightly).
The links seem okay though I did not go through them in the browser as
each section has the same links and it is easier to check them in vim
than going back and forth in the browser between pages. It should all be
good.
Thus next/README.md and next/index.html have been updated and can be
considered completely reviewed at this time.
This is not yet complete as I must still verify that link titles are
consistent with what they link to and formatting might also be changed a
bit (bold, italic) to help things stand out a bit better. An example of
a format change in this commit is that the 'status is foo' now has the
status (as in foo e.g. closed, open etc.) is in bold and italic (in the
header it is just italic as there seems to be no reason to be bold
there).
Rebuilt next/index.html.
There was a typo which had Homer''s instead of Homer's. This has been
corrected in the tmp/year_prize.numbers, tmp/year_prize.csv,
2006/sloane/.entry.json, 2006/sloane/index.html and years.html files.