387 Commits
Author SHA1 Message Date
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 c283440697 Format fix 2013/mills/README.md 2023-10-10 05:21:13 -07:00
Cody Boone Ferguson 480f5b874e Fix 2013/hou + format 2013/hou/README.md
The way the Makefile was constructed meant that the program just
decompressed the real program which is only the first part of the
program. As the judges noted it could be said to break rule 2 (in a
way?) because the code actually is a decompressor of the real code. So
in order to get the entry to do what it's supposed to do the Makefile
rule was modified to be:

    ${PROG}: ${PROG}.c
	    ${CC} ${CFLAGS} $< -o $@ ${LDFLAGS}
	    ./${PROG} | ${CC} ${CFLAGS} -x c - -o $@ ${LDFLAGS}

which first compiles the program to hou and then runs hou, piping the
output to the compiler to compile it into hou again. This way when one
runs hou (after running make) the actual program is run, saving
viewers/users from the extra step (and potential confusion). The
README.md file also shows how to just generate the decompressed source
code and notes the author's remarks about a.c.gz and a.c (what was
included in what was a.c.gz) so as to clarify that the file is not
missing but rather that it's not included and does not need to be
included either.

Since the real code uses math.h the LDFLAGS were modified to include -lm.

The .gitignore file was updated to have the PPM files that are generated
by the program.

Added an INAFIAB section to the README.md and the bugs.md file: it does
not terminate on its own and since the author mentioned it wrt a rule it
felt like it should be put in such a section.

Format fixed README.md.

With this commit only a final pass should be necessary to say this entry
has been finished though it's entirely possible I discover another
problem I guess.
2023-10-10 04:07:50 -07:00
Cody Boone Ferguson 465edad4d1 Format fixes and additions to 2013/endoh4
Format and typo fix 2013/endoh4/README.md.

Based on the author's suggestions I added a script run.sh which
temporarily disables the cursor, using trap to set it back (it also
explicitly sets it back in case the signals specified are not sent to
the program). If no arg is specified it will feed the source code of the
program into the program; otherwise it'll use the arg specified. It does
not check if the file exists and is readable or anything else as the
shell/program will do that.
2023-10-09 07:51:56 -07:00
Cody Boone Ferguson 8023b9fc2a Format fix 2013/endoh2/README.md 2023-10-09 06:21:02 -07:00
Cody Boone Ferguson 2f40678705 Format fix 2013/endoh1
This also involved undoing the rot13 spoiler which uncovered some typos
as well. I did not rot13 it again as Landon has specified that unless an
entry is to be used to decipher text in the documentation (an example
being my Enigma machine, 2020/ferguson2) then it should not be
enciphered as the point of remarks in the contest has changed in some
ways.
2023-10-09 06:15:48 -07:00
Cody Boone Ferguson 66e54fac9b Updates and fixes to 2013/dlowe
Added fun.c and make make all compile it: this is what the judges
suggested one try compiling with different compilers and checking the
results. I added how to specify the compiler.

Added slen.sh script, corrected for shellcheck, which runs the command
the author suggested (and which the judges added to their remarks), to
make it simpler for viewers of the entry.

Added INABIAF section to README.md: if no args are specified it will
very likely crash or do something funny. A similar such thing is in
bugs.md as well.

Updated .gitignore.

Format fix README.md.
2023-10-09 04:18:06 -07:00
Cody Boone Ferguson 2baa24cb27 Updates and fixes to 2013/dlowe
Added fun.c and make make all compile it: this is what the judges
suggested one try compiling with different compilers and checking the
results. I added how to specify the compiler.

Added slen.sh script, corrected for shellcheck, which runs the command
the author suggested (and which the judges added to their remarks), to
make it simpler for viewers of the entry.

Added INABIAF section to README.md: if no args are specified it will
very likely crash or do something funny. A similar such thing is in
bugs.md as well.

Updated .gitignore.

Format fix README.md.
2023-10-09 04:08:56 -07:00
Cody Boone Ferguson 856dd9dced Add alt code to 2013/cable3 + other fixes
The alt code _should_ (keyword :-) ) run in Windows. This code is based
on the author's remarks. It is done by (at the compiler line) undefining
KB and defining it in the source code (cable3.alt.c) as the author
suggested.

The cable3.c now #includes unistd.h: this is because the author
suggested in some systems it might be necessary though the example the
author gave no longer exists for current versions (the last 32-bit macOS
to support 32-bit binaries was version 0.14 Mojave and even that was
64-bit and Mojave was released in 2018 with a new version released each
year since then). This does trigger a warning in macOS but we now
silence that warning as well.

The runme script now passes shellcheck (make '[ .. ]' '[[ .. ]]').

Format fixes in README.md including a few links where this seemed like a
good idea (for instance websites).

Updated .gitignore: added cable3.alt.

As as of yesterday there is no need to #undef localtime any more (if
there ever was: the fix I made to let it compile did not in the end need
it but it was the first thing I had done so I kept it in) this has been
removed as well.

The screenshots provided by the author have been linked into the
README.md file so that they should display in the html version.

At least one file was changed in name (in the README.md file) to what I
believe is the correct name (it was a non-existent file).

Updated bugs.md to refer to a file that is not found that the author
referred to.

Add bios.asm that author referred to: found at the GitHub repo for the
entry which the README.md now links to (was another website that no
longer exists).
2023-10-09 03:32:09 -07:00
Cody Boone Ferguson 88d566e985 Further compilation fix to 2013/cable3
Whereas in earlier versions of macOS my previous changes let it compile
in at least the most recent version, macOS 14 (Sonoma), it did not due
to the same problem of localtime(). The prototype has been removed
entirely to solve the problem.

The runme script no longer assumes that the program was compiled,
running first:

    make clobber all || exit 1

I partly formatted the README.md file. I will have to finish this file
and continue to the rest of 2013 another time.

One thing of importance (I feel) that I did add is that I put at the top
that to quit the emulator one should type QUITEMU as this was buried
deep in the remarks.
2023-10-08 09:01:31 -07:00
Cody Boone Ferguson b893db6bc2 Format fix 2013/cable2
The README.md file has been format fixed as a first pass with some typos
fixed. Another pass will be made later.

Add 'hello' to .gitignore since one of the suggested commands compiles
an image into 'hello'.
2023-10-08 08:34:50 -07:00
Cody Boone Ferguson af2090dd61 Fixes to 2013/cable1/README.md
Although I already checked formatting the tweet of Landon's that was
referred to was not on the Internet Wayback Machine so instead I took a
screenshot of the tweet and embedded it into the README.md file so that
when generated as a html file it will show the tweet instead (dark mode
because I don't like light backgrounds).

BTW: the author said: 'prejudge the past' but how can one prejudge the
past? I suggest a new word: postjudge :-)

(No this does not technically ignore the definition as it refers to
PRE-maturely AND without adequate information :-) but even if it did
that's far less fun! Of course it could be judging before seeing it but
this is also much less fun :-) )
2023-10-08 04:50:57 -07:00
Cody Boone Ferguson 6637df3157 Swap 2013/birken alt/main code in build/try
As the original entry is too fast for modern systems I have (after
discussion with Landon) made the build and try sections refer to
'birken.alt' instead of the original entry. The 'alternate code' section
was changed to 'original code' and it refers to 'birken' instead.

This is a rare case where the reversal of alt (in this case provided by
me) and the original is valuable.

There are still some other entries, I believe, where this will be useful
to do as well and for the same reason as this entry: it goes too fast in
modern systems.

The demo.sh script that I wrote now defaults to birken.alt.

Minor fixes to thanks-for-fixes.md wrt this entry.
2023-10-08 04:39:19 -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 cd2211fac9 Fix 2013/hou/Makefile
After 2013/hou/doc/example.markdown was renamed to
2013/hou/doc/example.md to match the rest of the repo running 'make'
would fail because of the file referenced in the Makefile no longer
exists.
2023-09-22 12:53:30 -07:00
Landon Curt Noll 94133e6cc3 rename file in 2013/hou/
doc/example.markdown -> doc/example.md
2023-07-31 16:19:26 -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
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 2d3c39207f Add -lm to 2013/morgan1/Makefile
Not all systems implicitly link in libm so this is necessary for those
systems.
2023-07-06 10:59:58 -07:00
Cody Boone Ferguson 76cef25333 Fixes to thanks for fixes file
At least one entry was missing (1984/anonymous).

Some entries were removed. One such entry was not ever broken but
instead when I had renamed a file (to markdown) I forgot to update the
DATA variable in the Makefile which then broke compilation. This was
seen in the log and mistakenly believed that there was something wrong
with the entry when there wasn't. Other entries removed were not fixes
but notes.

Various README.md files have been updated for this sometimes just
formatting merely because I opened the file because for instance there
is an alternate version (many by me) that is referred to. I'd not be
surprised if more README.md files have to be updated for this much
better system but these will be found in time when I do another pass
(and some years I have not checked at all yet).
2023-07-01 09:49:26 -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
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 847ccdc232 Update David Lowe URL
I know that in bugs.md there is a missing URL for him or at least about
one of the entries but I'll have to look at that later. It might be that
it should stay there as it was a website for the entry itself and it
would be nice to have it back but for now this is unaddressed.
2023-05-10 09:49:30 -07:00
Cody Boone Ferguson c7e450a8a7 Format fix 2013/cable1/README.md 2023-05-10 09:40:05 -07:00
Cody Boone Ferguson 95fffc4f9a Several updates/alt code to 2013/birken
The alt version is based on the author's suggestion but like I've done
with the others (sometimes based on author's suggestions, sometimes not)
where usleep() is used I made it configurable at compile time.

Added demo.sh which cycles through all the text files provided, noting
prior to running the command what is about to be run, to show them all.
Note that if someone were to put in an invalid text file in the
directory there might be a problem. Script removes (in message) the
'.txt$' and capitalises the word. In some cases it changes the text to
be two words. Script passes shellcheck. This script allows one to use
the alt version as well; the try section of the README.md shows this
happening.

Format fix and added links (quite a few - I have very fond memories of
the games from the 1980s!) to the games referenced.

Updated .gitignore.
2023-05-09 05:17:12 -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 14126d1517 improve make clobber for 2013/endoh2 2023-04-09 15:11:55 -07:00
Landon Curt Noll 5ff04797cc improve make clobber for 2013/misaka 2023-04-09 15:10:55 -07:00
Cody Boone Ferguson e09f677b37 Mass typo fix (all README.md and Makefiles)
As in

    sgit -e 's/the terms this license/the terms of this license/g' '*/Makefile' '*/README.md'
2023-04-02 09:27:13 -07:00
Cody Boone Ferguson e805f41d34 Mass fixes to headers in README.md files
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.
2023-03-31 06:43:59 -07:00
Landon Curt Noll 350da723cc improve architecture and Optimization comments in Makefiles 2023-03-26 22:13:13 -07:00
Landon Curt Noll 1c35dc3b47 make everything true :-)
Add @${TRUE} as an action for the everything rule in Makefiles.
2023-03-26 20:47:04 -07:00
Landon Curt Noll e42d7484cd trim comments and update 133t hacker rulz in Makefiles 2023-03-26 20:24:16 -07:00
Landon Curt Noll 1b1dd2f2e4 put all README.md files under CC BY-SA 4.0 License
This will make is easier for others to share README.md
files while requiring them to attribute the file
when using it.
2023-03-26 02:58:27 -07:00
Landon Curt Noll 8cd2aa85c1 clean up and improve end of Makefile rules 2023-03-26 02:02:31 -07:00
Landon Curt Noll d04e6d8f03 remove X11_LIBDIR and X11_INCDIR setting from Makefiles
The X11_LIBDIR and X11_INCDIR values are now set in the
top level `var.mk` file.
2023-03-26 00:50:47 -07:00
Landon Curt Noll bbd18a20df improve Makefile headers
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.
2023-03-25 23:51:14 -07:00
Cody Boone Ferguson db31034f3b Several README.md files updated
Typos / spelling errors and other such things. Many many more need to be
checked still.
2023-03-25 05:30:31 -07:00
Cody Boone Ferguson eecce31dac Add note about time.h in 2013/cable3
Interestingly the problem with localtime() being redefined is only for
(at least with the current implementation of SDL in macOS) SDL2 which as
I noted cannot be used anyway. Nevertheless I have kept the fix in case
some system SDL1 SDL.h file ends up including time.h.
2023-03-25 04:18:13 -07:00
Cody Boone Ferguson 9264bcf0d1 Fix 2013/cable3 for modern systems
The code declares localtime() to be a different type than what time.h
has which was included with macOS and thus it caused a compilation
error. Instead use #undef localtime (I tried to remove the prototype and
let time.h do its thing but this caused a segfault and since this works
I opted for it .. for now at least).

It also did not link in any system because it uses SDL functions that
were removed from SDL2 so sdl-config has to be used instead of
sdl2-config.
2023-03-24 13:16:24 -07:00
Landon Curt Noll 551d259855 fix top level Makefile for 2013 2023-03-24 02:17:47 -07:00
Landon Curt Noll 9185892a8a fix Makefile and README.md for 2013/robison 2023-03-24 02:16:36 -07:00