This is a HUGE commit and this task is not done. There are still some
changes that might need to be discussed and since so much is done here I
think it's better to let this go through and then make sure everything
is okay. When the remaining references are discussed they can also be
changed.
I did NOT include changes in the tmp/OLD_manifest directory.
Some of the changes in this commit (it might be exhaustive but it might
not be - not sure):
- In the Makefiles the WINNERS was renamed AUTHORS.
- References to winners.html were changed to authors.html.
- The FAQ named anchor 'fix_a_winner' was renamed 'fix_an_entry'.
- The JSON fields (or whatever they're called) 'winner_id' and
'winner_JSON_format_version' were changed so that 'winner' is 'entry'.
- In scripts for entries 'IOCCC winner' was changed to 'IOCCC entry'.
- 'winners_text' is now 'entries_text'. It might be better to be
'entry_text' as it's per entry but this was not noticed at first. Since
this is easy to fix I am holding off on this for the meantime.
- The script tmp/update-manifest.sh now has the commit log messages
changed to the correct terms as well.
The index.html files were updated as well with any of the above
changes.
There are some references that should NOT be updated. Two examples
caught (and maybe more have slipped through that will have to be changed
back): in 1984/anonymous/README.md the author wrote back to Landon after
being told about the famous tattoo and they used the words:
.. my entry will be the first IOCCC winner ..
but since this comes from the author it should remain so.
The other one is that winners.html should still refer to winners.html as
it informs people that it's been moved to authors.html (it does redirect
too but even so if it was changed it would defeat the purpose of the
message).
With paths like authors.html I tried to copy paste so that hopefully
there are no typos. It is possible that I did not end up doing this with
all but these can be fixed when discovered.
The id.sh and id.alt.sh scripts are (for entry and alt entry that I
submitted to the contest) are for those who want to try and prove that
'"intelligent" design' is real or for those who know better to see how
long it'll take Eric the monkey to type 'EVOLUTION IS A PROVEN FACT'.
These were both added by the judges at time of publication but I moved
them to the try scripts. Now however the id scripts limit to 250000 max
attempts (see below on this change) before giving up to save time (and
to maybe let them move on to the next step, see below also).
The monkey-words.sh and monkey-words.alt.sh are to see how long it is
before the monkey Eric can type 'words' or more likely how long it'll
take before he gives up or falls asleep. I am no longer sure if I added
this or the judges did but I'm pretty sure I did.
As for the max attempts this one might need to be moved to a second alt
version for both but if so I don't know what to name them. This
reconfiguration option was not originally submitted but to show what
will happen when Eric fails it was added. It would normally be put in
prog.alt.c but prog.alt.c already exists: a simpler keyboard. But if the
new feature was moved to prog.alt.c what would prog.alt.c be? Maybe
prog.alt2.c but then what about the simpler keyboard version? This can
be discussed because I am not sure I want it in prog.c and I am not sure
if it should be either as it was not part of the original entry (though
in retrospect it should have been). The try.sh and try.alt.sh scripts
now show what happens when Eric fails where previously one would have to
wait a very long time (max attempts SIZE_MAX - 1 is what it was set to
and still defaults to, being reset to it if it's < 100 which was
arbitrarily selected).
The Makefile has been improved to simplify redefining the macros that
specify how many offspring per generation to have and the max length of
the string (this has also been used in the try.sh and try.alt.sh scripts
if the user says they want to see the undocumented Easter egg).
The test.sh script now uses less(1) so one can look at the output one
page at a time.
The make test rule now has a '@' to silent the command being executed
('./test.sh').
The try.sh and try.alt.sh scripts are respectively for the entry and the
alt code. There is a joke in them that is based on what the judges
originally suggested one try.
The weasel.man page was deleted. Instead weasel.1 has had the FILES
section removed (which caused some confusion in another way with
another winner of that year). The spec file will have to be tested again
another time.
I did NOT format / typo check the README.md file. Too much to do for now
and since it's mine I can do it any other time. I'd like to get through
the rest of the entries.
Thus this should complete (for now?) 2018/ferguson.
Format changes in the README.md.
Update the test.sh and test-strings.txt files: modify the goodbye
message in the script (for fun) and add some fun strings for it to
search out.
Make it a bit more portable (assuming env is under /usr/bin):
#!/usr/bin/env bash
instead of
#!/bin/bash
And although Landon suggested that I will never be done with changes in
my entries (which is probably true I confess ... :-) ) I suggest that in
this case this is rather useful (in fact I should do this for
2020/ferguson1 as there are several scripts there .. maybe
2020/ferguson2 but I don't know for sure).
Fix test.sh for shellcheck.
Minor fixes to README.md including moving the author information (that
is my information :-) ) to the first column of the file as not having it
prevents links from being generated right. This is a problem for the
other README.md files too and I'll be noting it on GitHub.
Some humour with html <del>..</del>.
Modified portability section to make it a bit simpler and suggest that I
won't be updating the list. I only include the original systems tested
for historical purposes. I won't be updating the list over time as that
would be annoying to do and would just make the already very long
document needlessly longer. It's already been almost 5 years since it
was updated.
Add a string to test-strings.txt.
Warning: these are most likely not the final fixes or updates for my
entries as Landon has pointed out :-) but there shouldn't be many more
for now or hopefully for a long time. Unless I see something I won't
feel the need to fix anything.
Update 2018/burton2/README.md to have my middle name.
Make test.sh +x.
Formatting fixes.
Typo fixes.
Other things as well.
I'm actually aware of some other things that could still be done including
removing some text that is no longer needed (and some that probably is
not needed) but this can come at a later date.
The 2020 winners are hinted it, but the source code is not there,
nor are the hints. Someone could look into the HTML and
see what was commented out, but that is not a problem because
WHO won is known and the name of their AWARD is known already.
Moreover a number of the winners have talked about what their
entirs do, so the commented out spoiler text is not a bit problem.
One will find HTML commented out with:
<!-- XXX remove when 2020 is ready
2020 links here
XXX remove when 2020 is ready -->
The "XXX remove when 2020 is ready" string is found at the
start and end comment blocks. Again, soneone could read
what was commented out, but that is OK since most of that
information is known or can be known. The following files
have such HTML comment blocks in them.
./winners.html
./years-spoiler.html
./years.html
In addition, ./all/summary.txt was modified to not
include the 2020 entries for the momemt.
The 2020 winner code AND write-ups are NOT part of this set.
p.s. The all/all.tar.bz2 does not contain the 2020 source code (yet?).