In part due to the adding \ at end of lines with spaces but there was a
typo on my part in a link.
Plus a minor update to the obfuscation files for ferguson2.
The files have not been checked thoroughly. I just happened to notice
these issues and wanted to correct them. I will dot hat later on,
assuming that I can get myself to go through the textbook-like files.
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'
This is a HUGE commit:
417 files changed, 874 insertions(+), 874 deletions(-)
As the IOCCC website now is https enabled I have updated the
'http://www.ioccc' to 'https://www.ioccc'.
There was also a typo in Makefiles where it said 'for VERY WELCOME' when
it should be 'are VERY WELCOME'.
Finally slashdot.org is also https enabled so references to
'http://slashdot' were changed to 'https://slashdot'.
This was done by my sgit tool (see https://github.com/xexyl/sgit)
like:
sgit -e 's,http://www.ioccc,https://www.ioccc,g' -e 's/for VERY WELCOME/are VERY WELCOME/g' -e .
but because I didn't have a list of files that should be modified I had
to be careful which files to commit as I had files that were changed but
not ready to be committed. Since I did it in steps, finding typos as I
went along, I actually ran sgit three times but to simplify the above
(and to show that it's possible to do more than one sed command) I made
it all as one. Since I did not have a list of files ahead of time I had
to determine what files to commit, first going through them like:
for j in $(for i in $(git status|grep modified|cut -d: -f2); do \
git grep 'https://www.ioccc' "$i"; done|cut -d: -f1|sort|uniq); \
do git diff "$j"; done|less -r
(I had to pipe through less because of a strange problem with the git
diff which appears to be because of a terminal problem maybe due to the
command above but it was all I could come up with in a very tired head.)
The above and
git status | grep modified:
showed that some C files had been modified which obviously should not be
done so I had to do:
git co '*c'
to undo those changes.
Finally to commit the correct files I did:
for i in $(git status|grep modified|cut -d: -f2); do \
git grep -E 'https://www.ioccc|https://slashdot|are VERY WELCOME' "$i"; \
done |cut -d: -f1|sort|uniq|xargs git commit -v
or so (with any formatting issues or typos here due to typos in the log
due to the terminal (in)sanity issue described).
This is to make it more standard which further allows one to run make on
some other source code, say because they want to try and fix an entry
but forget to update the Makefile. Or if they're the author they can not
worry about it in some cases. But since LDFLAGS is the standard way it
seems better to have the LIBS variable in the Makefile be LDFLAGS.
Maybe there is a reason to not have this and I'm happy to close this in
that case but it does seem better this way so I'm doing this commit.
As besides the entries that are not supposed to compile/cannot compile
due to architectural limitations all the entries can compile in macOS
(though some do not work - yet(? I have plans to work on more later)) it
was not necessary to not silence the warnings after all as the entries
that don't work will be easy to identify ('they don't work' :-) ) so I
can just do make CSILENCE= all in the directory of those entries which
solves the problem I had originally thought of.
Some of the Makefiles have retained other changes I had to make
yesterday to get the entries to work with clang in linux but most of
them were either not changed or were made better with the rollback of
the commit that originally silenced warnings.
Now work on silencing warnings for linux can be done.
Due to the fact we now have .orig.c files and thus the possibility of
winner.orig or prog.orig being built I have updated all the .gitignore
files so that these files ignored. This was done with the following
shell commands, for reference:
for i in $(find 19* 200* 201[0123] -mindepth 2 -maxdepth 2 -name .gitignore) ; do echo $(dirname "$i"|sed -e 's,[0-9]\{4\}/,,g').orig >> "$i"; done
for i in $(find 201[4-9] 2020 -mindepth 2 -maxdepth 2 -name .gitignore) ; do echo prog.orig >> "$i"; done
and the two commands is because it was only in 2014 that the winning
entries were renamed to prog so prog.orig is the correct glob.
Used the following script to check for warnings
not silenced via ${CSILENCE}:
```sh
find ???? -mindepth 1 -maxdepth 1 -type d | while read dir; do
(cd "$dir"; echo =-=-= "$dir" =-=-= ; csilence -v 1 clobber all ; echo ; csilence -v 1 clobber alt)
done 2>&1 | less
```
We further deprecate the use of twitter.
In cases such as historic guidelines and rules, we add
a note about using Mastodon.
In cases where a tweet URL was used, we replace with
an Internet Archive link because twitter has announced
that accounts that are not used for a period of time
will be deleted.
We add a few missing deprecated_twitter information
to the author.numbers and author.cvs files.
We remove references to twitter handles (after making
sure that both author.numbers and author.cvs has the
deprecated_twitter information). When the "_README.md_"
files have their header information generated by
a tool, such deprecated_twitter data will not be present.
Yes well what can I say? I looked at the files by chance and saw a few
things that were not clear and needed to be corrected. Call me a snake
if you must! :-)
The solution is that when referring to html files have in parentheses
text like 'foo.md' on GitHub though with a link.
...at least I believe this should solve the problem. Time might show
otherwise but we'll see.
Updated the chocolate-cake.md file to stress important points (including
by making the ingredients - in the instructions parts - upper case to
make it stand out more). Some of the points are critical.
Added to 2020/ferguson2/.gitignore a file that is used to encrypt the
chocolate-cake.md (from 2020/ferguson1) for the Enigma entry (even
though anyone interested would use the 2020/ferguson1 plaintext
version). This is because it's easier to have than to look up the syntax
each time (of the recode program).
Fixed formatting in the markdown files. I did not check for typos due to
the fact I wrote so much (which I'm only sorry about in the sense that
it's too much to go through for almost everyone and this might make some
people miss useful/interesting things. If I had 'more "time" ' maybe I
could shorten it but I don't).
Renamed crazy.log to crazy.log.md. Updated Makefile for the DATA
variable.
Corrected file names in some cases.
Fixed formatting in man page.
There is one other change I have in 2020/ferguson1 but it's also needed
in 2020/ferguson2 so I'll do that at the same time.
It did not work if one did not choose to reconfigure colours and the alt
prog was not already compiled.
It now allows you to continue play after you end a game if you so
choose.
Shellcheck fixes.
... and that's all there is to it for now ...
I believe these commits improve the file and this should be all that's
needed unless something else shows otherwise. But as Landon said maybe
I'll never be done. I guess we'll see! :-)
In GitHub the code block overflows so I've attempted to fix this by
shortening the text. It might need further adjustments and maybe it
depends on screen width but I'm not sure of that.
Rename cannibalism.log to cannibalism.log.md as an experiment. I
believe it'll look nicer this way. I also made some changes that should
make it easier to see where each part of the game is (in some cases for
the tail; every case for the head and insect).
Updated gameplay.md to refer to the renamed file and removed the now
irrelevant information about cannibalism.log.
I did not regenerate gameplay.html but I did not remove it either. The
reason I didn't is because there will be a tool that converts markdown
to html files and since this commit won't sync to the IOCCC website it's
not a risk in the meantime. Nevertheless I want the html file in for the
time being. The html file is still referenced in the file too because
it's preferable that it's used when everything goes live (except on
GitHub of course).
There were many many README.md files with the wrong heading level for
different sections. These have been changed.
To help go through the changes it should be noted I used sgit and also
here is what is changed:
The 'Try', 'To build' and 'To run' lines have two '#'s. Some had one and
others had three.
An exception is that in 1984/anonymous/README.md for the alternative
code that had three '#'s. This is not consistent yet and it might be
that only two are desired. But for now that one at least has three.
Simply the Makefile header.
Refer to the //www.ioccc.org/bugs.md URL (that will eventually exist).
Now using CC BY-SA 4.0 License to how you may share and adapt the
Makefile.
Surprise, surprise there are more updates on my entries! :-) But to be
fair to me there were some important fixes and I had not really gone
through the README files of these entries (I still didn't go through all
of them thoroughly and probably won't since I'm far too concise :-)
:-)). In fact some of these problems broke some of the features of some
of the entries.
In 2020/ferguson1: termcaps must be compiled by make all. It also needed
a make test rule that runs ./termcaps. As well it needed a play and
snake-colours rule which copies and chmod +x the respective .sh files.
There were some typo fixes here and there as well as (I hope) a bit
clearer wording.
Some out of date things were changed.
There were some things I wanted to reiterate and stress even more that
are important notes about the cake.
Of course the ferguson2 files are still encrypted with a specific key
for the Enigma machine (one of the keys I provided in recode.md /
recode.html but which is a challenge though probably pointless since
it's also in ferguson1 unencrypted).
Updated 2020/ferguson2/.gitignore: added data files specific to the
encryption of the cake files so I can more easily fix it should I need
to update the files under 2020/ferguson2 (unlikely as that might be).
The commit 00ae59cd47 had a
mistake that introduces changes to Makefiles for 1996 thru 2020
that should not have been included.
This change reverses these intermediate changes until
the given year's Makefiles are ready.