368 Commits
Author SHA1 Message Date
Landon Curt Noll 8471e805ed add orig_prog_diff and alt_prog_diff rules to Makefiles 2023-10-18 17:00:02 -07:00
Landon Curt Noll 6625034139 replace trailing whitespace with blackslash in README.md
As an alternative to the markdown trailing whitespace as a line
break, we use a trailing blackslash as a markdown line break.
2023-10-18 15:49:51 -07:00
Landon Curt Noll f9750f114a fix improper use of whitespace in README.md 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.
2023-10-18 15:33:10 -07:00
Cody Boone Ferguson 0942f4e6b2 Mass typo fix in Makefiles
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'
2023-10-16 10:35:34 -07:00
Cody Boone Ferguson ffdf581218 Mass typo fix in Makefiles
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'
2023-10-15 12:18:34 -07:00
Cody Boone Ferguson ff350f424e Fix make and makefile in README.md files
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.
2023-10-11 05:45:25 -07:00
Cody Boone Ferguson e74f1c4837 Fix some missed edge cases of Un\*x to Unix
.. and there very well could be more.
2023-10-11 05:41:39 -07:00
Cody Boone Ferguson 73fc551f70 sgit -e 's/Un\*x/Unix/g' -e 's/UN\*X/UNIX/g' .
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.
2023-10-11 05:16:15 -07:00
Cody Boone Ferguson 5d02b1f325 Minor rewording in some YYYY/README.md files
This change was already applied in the README.md files of the years <
2000, yesterday, but I got tired of doing it manually as I do each year
so I used my sgit tool (https://github.com/xexyl/sgit) like:

    sgit -e 's/\(Look at the README.md file for the given\) winner/\1 winning entry/g' -e \
    's/\(on how to compile\) the winner/\1 it/g' .

which changed the text:

    ... for the given winner

and

    on how to compile the winner

to

    ... for the winning entry

and

    ... on how to compile it

This felt useful because the winner is not the entry itself but the
author (and in some cases authors). This should be clearer now. When I
do a final pass I will check for any consistency issues in the ones
changed manually.

In this commit the year 2013/README.md was format fixed as the change
was done in this file, manually, yesterday, when I did format fixes but
which was not committed as I wanted to do it with the years 2000+.
2023-10-11 03:38:38 -07:00
Cody Boone Ferguson ef456bfb1e Mass typo fixes
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).
2023-10-07 04:35:47 -07:00
Cody Boone Ferguson 1d86daf19a Change LIBS to LDFLAGS in Makefiles
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.
2023-07-10 03:33:53 -07:00
Cody Boone Ferguson b6330673cc Restore silencing warnings in macOS
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.
2023-07-08 05:05:50 -07:00
Cody Boone Ferguson d89305ef3b Mass .gitignore update for .orig.c files
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.
2023-07-08 04:39:42 -07:00
Cody Boone Ferguson 76b7f121d5 Fix 2019/dogon/Makefile for clang in linux 2023-07-07 10:22:38 -07:00
Landon Curt Noll 2aa99f0644 revert commit d8425bb767 2023-07-07 05:36:08 -07:00
Landon Curt Noll d8425bb767 silence warnings under macOS for cc, clang and gcc
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
```
2023-07-07 01:11:22 -07:00
Landon Curt Noll 2ba12ecc3c restore *.orig.c to each entry
Under each yyyy/dir there is a file of the form '*.orig.c'
containing the original source code, or as close as we can
get to the original source code.
2023-07-06 21:49:38 -07:00
Cody Boone Ferguson d37f6e1fbb Add -lm to 2019/dogon/Makefile
Not all systems implicitly link in libm so this is necessary for those
systems.
2023-07-06 10:47:06 -07:00
Landon Curt Noll ac41f07a83 move fix thanks a file, update top level html links, rename CONTRIBUTING.md
The fix thank you's have been moved from `README.md` to
`thanks-for-fixes.md`.

**WARNING**: Some mistakes may have been made in doing this.
We presume later changes by others will correct any issues.

The `CONTRIBUTING.md` was renamed `how-to-enter.md`.

A 3rd line of links was added to top level html such as
`contact.html`, `index.html`, `judges.html`, `winners.html`,
and `years.html`.

Improved blank line use in a number (but not all) `README.md` files.
2023-06-06 16:59:53 -07:00
Cody Boone Ferguson 7dbb9fc2fe Change 'tri-graphs' to 'trigraphs' - it's one word
The is a file excluded from this commit that has had the change because
there are other changes but the file is incomplete. That file will be
committed when the fixes are complete which will happen at a later date.
2023-06-05 05:52:57 -07:00
Cody Boone Ferguson 96070ce50b Update 2019/duble/.gitignore 2023-06-03 07:47:32 -07:00
Cody Boone Ferguson e6abdec692 Fix command to find sockets in 2019/duble
The grep expression in particular was incorrect. This commit fixes the
problem. Note that it doesn't look for lower case letters as there are
legitimate dot files in the repo with lower case letters. Hopefully no
system will leave lower case file sockets lying about (though for all I
know it's the entry deciding it - didn't look into it).
2023-06-03 04:50:57 -07:00
Cody Boone Ferguson b5811cbfd2 Fix details about 2019/duble sockets
Of course the globs do not have a = at the end of the line; that's from
an aliased ls that shows different characters at EOL depending on the
file type.

I also explained how to delete these files assuming that glob pattern.

In the README.md this was done in the new INABIAF section which is where
it belonged in the first place.
2023-05-31 03:04:58 -07:00
Cody Boone Ferguson f36cceffb2 Add note about sockets lying about in 2019/duble
The entry appears to leave sockets lying about in the current working
directory. Although undesirable this is not a bug it's a feature.
Updated bugs.md and the README.md file as well as the Makefile.

A useful thing I thought of that might be good to look at for other
entries that show notes in the Makefile is that it might be good (and in
this entry I did do it) to have the note _after_ compilation as it will
be more likely seen. In the case of entries that might not compile with
clang (due to some defects in it) it will have to be done with either ||
or else printed before the compilation (for instance in some of these we
have to say that one should use make alt for clang).

This will be added to the todo.md in a future commit.
2023-05-31 02:42:45 -07:00
Cody Boone Ferguson 6b60880726 Finish twitter deprecation of 2019/mills 2023-05-27 05:35:13 -07:00
Cody Boone Ferguson a736acb775 More twitter deprecation - 2019/mills
In the README.md in the judges' remarks there was a link not to
twitter.com but an archive of a certain person's tweet. However this
link is dead and I don't think it is worth using the Internet Wayback
Machine in this case due to if nothing else major divisiveness for the
US and the world full stop. The name is still there but no link. I'm not
even sure about that. Perhaps since twitter is entirely deprecated it
should be removed entirely but I don't know.
2023-05-27 04:46:15 -07:00
Cody Boone Ferguson ba30809ed7 Slight update to 2019/poikola/README.md
Changed my name to my full name. I incidentally meant to say that yes I
do like the entry Timo but space, stars, the sky, planets,
constellations and all such things are much closer to my heart so the
Most stellar entry is my favourite of the two! But still this is a nice
one. Again thank you!
2023-05-25 03:03:21 -07:00
Cody Boone Ferguson 22bbe488e9 Format fix 2019/poikola/README.md
Yesterday I noticed that Timo wrote directly to me in his remarks and I
wanted to address this by adding a link to myself (which is what is
being done with all winners being referred to) but this naturally meant
I should format fix the file too. I am very touched by this especially
as 2019 was a very hard year for me and I didn't even think I was going
to participate in that year (did in the end and didn't win but funnily
enough some of my entry ideas actually won though with some differences
of course) so I wanted to address it now. I might end up changing my
name to my full name but I want to keep it as close to as possible
(format fixed and links added notwithstanding) first to see how it
looks. Thank you Timo! It means a great deal to me.

In the paragraph to me Timo wrote about his 2018 entry and I linked to
that too.

I changed another winner Timo mentioned to be a link (the winner in
winners.html as well as the winning entry referred to are now both
links).

Add some links and other format fixes.

Added INABIAF section to both the README.md file and bugs.md.

Typo fixes or at least adding a word here and there to make certain
things a bit clearer.
2023-05-25 02:53:26 -07:00
Landon Curt Noll f46e68740f Deprecate twitter
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.
2023-05-24 16:50:01 -07:00
Landon Curt Noll 5927927e51 Add .id to all winning entries 2023-05-13 11:45:33 +10:00
Landon Curt Noll c69445d067 Add .top and .year files
This will be used by tools that will build the web site
and tools that form JSON files (such as `.winner.json').
2023-05-12 20:10:38 +10:00
Cody Boone Ferguson 0e3acd6739 sgit -e 's/[[:space:]]$//g' '*Makefile'
At the request of Landon all Makefiles have had trailing spaces removed.
The request also included README.md files but this is more complicated
as some lines have to end in spaces in order to force line breaks. For
Makefiles it's fine though. Tested the Makefiles by doing 'make clobber
all everything' from the root directory and all appears to be fine. This
testing is important because depending on how this process (removal of
trailing spaces) was done it could break the Makefiles; for instance
trying something like:

    sgit -e 's/\s.*$//g' '*Makefile'

would rather break the Makefiles. This makes sense to anyone who knows
my script (and obviously sed :-) ) as long as they're not also tired but
I AM tired and so it was the first thing I tried (without thinking of
course ... though I had first thought of the correct way :-) ).

But what happens to the universes (yes I at least want to believe in the
multiverse theory and I hope it's true :-) ) when trailing spaces are
removed? :-)

As it turns out the only Makefiles touched were:

	modified:   1987/wall/Makefile
	modified:   1992/adrian/Makefile
	modified:   1994/ldb/Makefile
	modified:   2000/anderson/Makefile
	modified:   2001/anonymous/Makefile
	modified:   2001/bellard/Makefile
	modified:   2004/kopczynski/Makefile
	modified:   2015/howe/spoiler/Makefile
	modified:   2019/karns/Makefile

and most of them were my fault.
2023-05-11 02:28:26 -07:00
Cody Boone Ferguson 382cc698ec Add mastodon handle to all Yusuke Endoh entries
This was easy with my sgit tool which I didn't think about until shortly
after the previous commit (20edd11936).
2023-04-28 05:25:24 -07:00
Cody Boone Ferguson 4bf3f302cb 'comments' -> 'remarks' in all README.md files
As in

    sgit -e 's/\([Aa]uthor.*\)comments/\1remarks/g' -e 's/\([Jj]udge.*\)comments/\1remarks/g' '*README.md'
2023-04-10 11:01:39 -07:00
Landon Curt Noll 9ace61a560 improve make clobber for 2019/endoh 2023-04-09 15:03:30 -07:00
Landon Curt Noll 39ce98f58e improve make clobber for 2019/karns 2023-04-09 15:00:45 -07:00
Cody Boone Ferguson 9161664f81 Fix try section in 2019/mills
Some commands were incorrect and caused errors.
2023-04-08 08:11:56 -07:00
Cody Boone Ferguson 03bbc129a5 Fixes in 2019/mills
Format fixes and typo fixes in README.md. Some of the typo fixes were
very subtle (like a ' outside of `` where it should be in) but I
probably missed some as there are many terms I'm unfamiliar with. I'll
have to go through this file again but it's a good start.

Add to .gitignore file name referenced README.md.

I believe this completes the first pass of formatting and typos in 2019
entries (I haven't really looked at the year README.md files).
2023-04-06 09:05:07 -07:00
Cody Boone Ferguson 437329f18c Format fix author info in 2019/lynn/README.md 2023-04-06 08:36:56 -07:00
Cody Boone Ferguson 27cccdcabb Fix in 2019/ciura/README.md
Move author information to first column.
2023-04-06 08:35:10 -07:00
Cody Boone Ferguson c2939e9cb3 Fixes in 2019/duble/README.md
Format fixes.

Add warning that if the file is deleted it can lock any session
currently using the file where 'q' does not work and neither does
anything else.
2023-04-06 08:29:37 -07:00
Cody Boone Ferguson 92addd358b Fixes in 2019/yang/README.md + .gitignore
Add commands to try based on the author's comments.

Format fixes.

Typo fixes.

Added a link to something referenced by the author.

Moved author information to first column.

Updated .gitignore with files in the commands suggested to try.
2023-04-06 08:02:55 -07:00
Cody Boone Ferguson a4a50f9055 Fixes in 2019/poikola
Add missing rule to Makefile.

Formatting in README.md (including moving author information to leftmost
column).

Update .gitignore (add the pdf file created by the make rule).
2023-04-06 05:19:15 -07:00
Cody Boone Ferguson 706d4c16a5 Fixes in 2019/lynn
Format fixes in README.md.

Update .gitignore based on files being created by commands suggested in
the README.md file. Any made by ghc notwithstanding as I don't have that
and so can't test it.
2023-04-04 08:35:13 -07:00
Cody Boone Ferguson 0791a31fc7 Fix 2019/karns
A strange problem is that although it worked with macOS and linux for me
numerous times in the past it stopped working under both. I went to try
and figure it out but when disabling the optimiser for debug symbols the
problem vanished. Changing it back to -O3 and the problem reappeared
both with macOS and linux. Thus it appears that the entry should not
have -O level > 0. I'm not sure if this is the same issue the author
reported where it sometimes segfaults but I did not try and figure it
out either (in any event the crash disappeared when -O0 was specified so
it'd be harder to debug).

Added to .gitignore the file the author noted the program is called (as
the command he gives creates). To make it easier I just made it a
symlink to prog.

Fixed formatting in README.md.
2023-04-03 09:57:21 -07:00
Cody Boone Ferguson 946b73151b Fix in 2019/giles/README.md
Forgot to move the author information to the first column.
2023-04-03 09:35:11 -07:00
Cody Boone Ferguson b63d0dfcca Fixes in 2019/giles/README.md 2023-04-03 09:33:17 -07:00
Cody Boone Ferguson 349194249d Fixes in 2019/endoh
Remove optimisation from Makefile and add -g to compile line as it's a
backtrace quine.

Add to .gitignore prog2.c as the author's comments suggest a command
that will create it.

I believe that the llvm should be lldb as that's the debugger (macOS)
and the llvm tools are not.

Format fixes in README.md.
2023-04-03 09:14:19 -07:00
Cody Boone Ferguson f044887200 Minor adjustment to 2019/burton
As Landon believes that the spelling of this word that is usually four
words is intentional (and I suspect it too) I have done what he
suggested - surround it with quotes. That is:

    -Input should be less than ten million octets toavoidthisproblem.
    +Input should be less than ten million octets "toavoidthisproblem".
2023-04-03 08:44:06 -07:00
Cody Boone Ferguson 388e419cdd Fixes in 2019/dogon/README.md 2023-04-03 08:43:06 -07:00