Fixed cases where there was a bad trailing backslash.
Improved a few cases where a code block was needed
to highlight some text.
Changed a few cases where a code block needed to
declared as, say, a sh code block.
Fixed a few cases where the winner information was not properly formatted.
Plus a few nits and clarifying text was added.
We introduce a bit of fun, while specifying that something
is "supposed to happen".
NOTE: There is no need to change the INABIAF STATUS. The use
there is perfectly fine.
The `.id` files are no longer needed and so they were removed.
The `winner_id` (the contents of the `.id` files) are simply
a concatenation of "year" and "_" and "dir".
Adjusted `.inventory.html`, `tmp/README.md`,
`tmp/fake.gen_inventory.sh`, and the manifest according
to the above.
The new tool, tmp/fake.gen_inventory.sh, now adds
a fake .inventory.html file to each winner entry.
Once the winner2nventory tool is written, the .inventory.html
will contain links to all winner files listed in the inventory.
For now, the tmp/fake.gen_inventory.sh tool just creates
a placeholder file.
The entries referenced in `bugs.md` now have, below the
"To build:" section, a "Bugs and (Mis)features section text"
that matches the `bugs.md` status.
Several entries had their "STATUS" changed from:
"STATUS: INABIAF - please **DO NOT** fix" to:
"STATUS: known bug - please help us fix":
This was done because, while some of the bugs were minor,
inviting someone to try and fix the issue does nil harm.
In a few cases a more difficult bug was also changed to
the "please help us fix".
While we do NOT want to waste time fixing such entries NOW,
letting others become involved and to try to fix the entry
is a good thing as to encourages people to study the entry
and try to fix the entry. We don't need to accept a fix
that is offered, and of the fix transforms the source in
a less than desirable way, such a fix (if accepted) could
be become a alt source code.
This is because they are under the try section. I'm aware that there's a
script called try.me.sh but that's not been decided on a name change. It
probably should be changed to try.sh to be consistent and probably will
be but it's not been yet.
The manifest files in tmp/ have been updated as well, including the
macOS Numbers file.
In the case where we recommend trying the alternate code first, the
lower section is 'Original code' but this was at heading level 3 when
discussion suggests 2 so this was done as well:
sgit -e 's/^### \(Original code\)/## \1/g' '*README.md'
Change level 3 (###) to level 2 (##):
sgit -e 's/^### \(Alternate code\)/## \1/g' '*README.md'
which is the same as:
sgit -e 's/^### Alternate code/## Alternate code/g' '*README.md'
This is per discussion in GitHub.
As in:
sgit -e 's/# To run/# To use/g' '*README.md'
This makes consistent the message for how to use the program. 'How to
use' was chosen because one can run a program just by doing './foo' but
that doesn't imply that's how to use it but the purpose of the section
is how to use it.
We now have 6 diff rules:
diff_orig_prog
diff_prog_orig
diff_alt_prog
diff_prog_alt
diff_orig_alt
diff_alt_orig
The FAQ for these diffs needs to be updated
as we have 6 types of diffs now.
The use of the markdown trailing whitespace to indicate
line break should NOT be done when the following line is empty.
This removes such improper use of whitespace in README.md files.
There was a comment in the form of:
... the liked/allowed ...
which should instead be:
... liked/allowed ...
and this was fixed with my sgit tool like:
sgit -e 's,the \(liked/allowed or compile\),\1,g' '*Makefile'
With the make indent rule there was a typo for indent as 'intent'. This
was fixed with my sgit tool like:
sgit -e 's/no intent\( tool found\)/no indent\1/g' '*Makefile'
To be more like the author's remarks I made the judges' remarks EOLs end
with spaces so that it hopefully is not merged. This is because it's in
verse. This matches what the author did as well.
A few links were added where it seemed useful or interesting.
I believe this file is good and need not be checked for typos later but
it's also hard to be sure because the way it is written (verses) some
things are not words and so I probably will go through it one more time.
Nevertheless with this commit the README.md files of the 2013 entries
(well, the entries of 2013, not 2013 entries! :-) ) have been format
checked and fixed.
In the year 2013 the IOCCC did not yet have the source code of winning
entries as prog.c but in the remarks it included prog.c (when showing
warnings) so references to prog.c were changed to morgan1.c.
A link in the judges' remarks was dead and was replaced by a link in the
Internet Wayback Machine.
Format fix the README.md file.
As there are a lot of commands to try I added them in demo.sh, sleeping
approximately 1 second between each command (though I thought of
prompting instead).
And... since the author appears to love cats I'll throw out the word of
us cat lovers: ailurophile(s). And to those who are afraid of cats
(though I don't know why :-) ), the phobia is: ailurophobia.
If you're an ailurophile see https://rationalwiki.org/wiki/Fun:Cat. Even
if you're not you might find it amusing.
Add note about twitter no longer being used or endorsed by the IOCCC but
noting that despite this the award title should remain the same.
Unrot13 the spoiler as per the request of Landon months ago. Doing this
also allowed for proper syntax highlighting (via the feature of GitHub's
languages of code blocks) as rot13 of C/c is P/p.
Format fix README.md file.
The README.md format was messed up (extraneous and erroneous '```'s) due
to the nightmare (or perhaps daymare :-) ) of the many merging conflicts
of yesterday which required repeatedly resolving conflicts in GitHub.
I also renamed 'slen.sh' to 'sflen.sh' as it shows the sparkle OF the
length of all the files rather than a sparkle length. References to
slen.sh have been changed to sflen.sh instead.
The demo.sh script and the sflen.sh script now run:
make all || exit 1
before proceeding. It does not do make clobber before because this only
clutters the output and is unnecessary if everything is already
compiled.
Oh and just for those who wonder if daymare is or is not really a word:
it is but I redefined it; literally it refers to a frightening hallucinatory
experience whilst awake (though perhaps GitHub was hallucinating :-) that
there were conflicts (well there were but there shouldn't have been)).
The fact it uses ruby is clear but the ruby script uses (via IO.popen())
the convert tool from the ImageMagick suite. When I first looked at it
and had the error it was not very clear to me what was going on. It was
not until another day when I looked at it again that I recalled that
convert is a tool that comes from ImageMagick which had previously been
on my MacBook Pro but hasn't been (until now) since macOS Sonoma was
installed.
Now the Makefile rule checks that both ruby and ImageMagick (via
checking for 'convert') are installed. If either aren't it will report
where they can be found and then after doing that if either are not
installed it exits 1. Otherwise if both are found it will run the
script.
That is
sgit -e 's/Use make\( to compile\)/Use `make`\1/g' -e \
's/makefile/Makefile/g' '20[0-9][0-9]/README.md'
This way 'make' is formatted with a code block (or whatever the term is
in markdown terminology) and 'makefile' is changed to Makefile.
BTW: fun fact: Landon was part of the recommendation of naming Makefiles
Makefile instead of makefile which is shown in the man page make(1):
Normally you should call your makefile either makefile or Makefile.
(We recommend Makefile because it appears prominently near the
beginning of a directory listing, right near other important files
such as README.) The first name checked, GNUmakefile, is not
recommended for most makefiles. You should use this name if you
have a makefile that is specific to GNU Make, and will not be
understood by other versions of make. If makefile is '-', the
standard input is read.
This is not only to help with formatting - especially important in
markdown files - but it's no longer really necessary to do it. One
might not feel the need to do it in non-markdown files but I did it
anyway to be consistent. Thus instead of showing Un*x/UN*X it shows
Unix/UNIX.
A question of whether or not it should all be the same case is another
thing entirely but if this is desired at some point it should be easy to
do anyway - with some care in case it's in formatted text.
A note about the glob: why '.' when there are C files and other file
types where it could be dangerous to modify? Because I did a git grep
first so I knew that it was safe.