Commit Graph
173 Commits
Author SHA1 Message Date
Cody Boone Ferguson 5f0159e424 Format/typo check 2004/hibachi/README.md
With the exception of a possible task for 2004/gavin this should be the
completion of 2004!
2023-11-19 15:47:59 -08:00
Cody Boone Ferguson e5273c3404 Add 2004/sds/try.sh + format/typo checks
The try.sh script runs what used to be in the try section.

Format/typo fix README.md in full. This commit also fixes an
inconsistency where the author unwittingly used the word stenography
instead of steganography, a very easy mistake to make and one that I
almost missed.

Updated Makefile to silence a couple warnings.

Updated .gitignore.
2023-11-19 15:34:25 -08:00
Cody Boone Ferguson bcd2d9a063 Format/typo check 2004/omoikane
This should complete this entry's review.
2023-11-19 13:51:23 -08:00
Cody Boone Ferguson 04c4388db4 Improve/clean up fix to 2004/vik2
Now the vik2_1.c file only has code from that file rather than other
pre-processed things from before.

Both vik2.c and vik2_1.c now don't use FNAME but rather include __FILE__
just to make it a bit easier. Note that this was not done with
vik2.possible.cat.death.c because it is there for fun and to demonstrate
the problem I fixed (which unfortunately involved heavy modifications to
the original file).

Format/typo check README.md file.
2023-11-19 13:29:10 -08:00
Cody Boone Ferguson 7bb8f6a988 Format/typo check 2004/vik1 2023-11-19 12:44:47 -08:00
Cody Boone Ferguson f35cfd7c9a Updates to 2004/hoyle
The alt code was removed. This is because it serves no purpose or
functional difference. The only difference is that it's missing a
newline at the end and it has non-standard tab stop.

The README.md file has been format/typo checked.
2023-11-19 10:21:19 -08:00
Cody Boone Ferguson 7cbb11e1db Update bugs of 2004/gavin + format/typo checks
There are also documented features that are now in bugs.md as features,
not bugs, but just linking back to the section provided by the author.

The README.md file has been format and typo checked.

The gavin.md file has been format and typo checked.
2023-11-19 10:09:41 -08:00
Cody Boone Ferguson 05b41b922e Alt code/try scripts added to 2004/jdalbec
The alt code allows one to set how many numbers to print on a line
before adding a line break. This is done because the more numbers that
there are the harder it is to see where it 'belongs'. Defaults to 11
(protons, salt) but the macro name is Ag, silver (because silver is my
favourite precious metal, it wasn't used already and it allowed for some
irony in the alt build section).

The try.alt.sh script uses the alt code.

The try.sh script uses the fixed code (fixes I made quite a while back).

The bugs.md has had INAFIAB section added to this entry.

The README.md file has been format/typo checked.

This should complete the review of 2004/jdalbec.
2023-11-19 09:53:30 -08:00
Cody Boone Ferguson 30c59761df Mass fix Makefiles: $(MAKE) -> ${MAKE} 2023-11-19 06:31:28 -08:00
Cody Boone Ferguson d4d78fbc8d Add note about platform to 2004/gavin/Makefile 2023-11-19 06:23:10 -08:00
Cody Boone Ferguson 96ec0d298f Improve 2004/vik2 cat-killing-curiosity rule
It's now possible to see the messages even if warnings flood the screen
(which is quite likely). One might update the CSILENCE but this is
easier and prevents any problem of compilers not having the respective
-Wno- option but it doesn't matter anyway as if it was a clean compile
it would show nothing at all.
2023-11-19 06:20:53 -08:00
Cody Boone Ferguson 2e99bb2a20 Add 2004/schnitzi/try.sh + make it use fgets()
Format/typo check README.md file.

I also slowed down the animations as well as in modern systems they go
too fast, especially the Star Wars scrolling text one.
2023-11-18 12:32:02 -08:00
Cody Boone Ferguson 014e4835b5 Add alt versions to 2004/gavare + formatting
There already was one alt version which I found from the author's
website about the entry; they used the version for development and it's
unobfuscated. But two new ones were added.

The most important feature is that it allows one to change the image
size along with the anti-alias setting at compile time. This is
gavare.alt.c. The second version (which also has the size/anti-alias
changes) should theoretically work for Windows. This is gavare.alt2.c
and running make alt will not try and compile it as most it'll fail on
sane systems. Instead try make alt2. Both of these versions have some
form of protection with the size/anti-alias setting and one does not
have to define all three to get it to compile due to
'#ifndef..#elif..#endif' in the code.

The README.md file has been format/typo fixed.
2023-11-18 11:47:47 -08:00
Cody Boone Ferguson 9d6c5c0a4c Add 2004/kopczynski/try.sh + data files
Added try.sh.

Add data files with reversed output of their respective file. I used
rev(1) to make these but kopczynski-10-rev had to be modified a bit more
to get it to work.

Format/typo check README.md.
2023-11-18 11:34:45 -08:00
Cody Boone Ferguson 8236f9ac54 Simplify fix of 2004/newbern + format/typo checks
This should complete the review of 2004/newbern.
2023-11-18 11:01:47 -08:00
Cody Boone Ferguson 1d8c7abf09 Add alt versions to 2004/gavin + format/typo check
There already was one alt version which I found from the author's
website about the entry; they used the version for development and it's
unobfuscated. But two new ones were added.

The most important feature is that it allows one to change the image
size along with the anti-alias setting at compile time. This is
gavare.alt.c. The second version (which also has the size/anti-alias
changes) should theoretically work for Windows. This is gavare.alt2.c
and running make alt will not try and compile it as most it'll fail on
sane systems. Instead try make alt2. Both of these versions have some
form of protection with the size/anti-alias setting and one does not
have to define all three to get it to compile due to
'#ifndef..#elif..#endif' in the code.

The README.md file has been format/typo fixed.
2023-11-18 09:50:06 -08:00
Cody Boone Ferguson 58bc8c1a8b Format/typo check 2004/burley 2023-11-18 06:56:34 -08:00
Cody Boone Ferguson 33386e1130 Format/typo check 2004/arachnid 2023-11-18 06:53:45 -08:00
Cody Boone Ferguson 4287dc0f09 Format/typo check my Precious (2001/anonymous)
Did you know that in the first edition of The Hobbit Gollum was willing
to give up the ring? It was not the Ruling Ring, the One Ring, the Ring
of Power or anything like that: it was simply a literary device that
could make one invisible. When Bilbo won the famous riddle game Gollum
went to fetch the Ring - not to kill and eat Bilbo but to give it to
him! But Bilbo had already found it just like in the later editions.
Gollum profusely apologised and begged for forgiveness. Bilbo told him
never mind because he would have had it anyway. But he'd let him off on
one condition: that he show him the way out. It was at this point that
Bilbo slipped the ring on and Gollum saw him vanish and understood that
he already found it. But there was no call of thief and no hatred of
Bilbo.

If you want to read the first edition they reprinted it some years back: `The
Hobbit Facsimile First Edition`. The details are also discussed in History of
Middle-earth [HoMe] VI, 'The Return of the Shadow', part one of the
history of 'The Lord of the Rings' of a twelve volume set - as well as in
The History of the Hobbit.

The judges already knew that and now you do too (no, I didn't look it up
just for this .. I have the books and they're delightful)! :-)
2023-11-18 06:34:45 -08:00
Cody Boone Ferguson bc35c37748 Improve how gcc/clang is detected in Makefiles
Rather than check if $(CC) IS gcc or IS clang check for $(CC) containing
gcc or clang. This is because in some systems or conditions the compiler
might not be called JUST gcc or JUST clang. For instance gcc in MacPorts
is called gcc-mp-13 (for example) but without this change one would have
to symlink gcc to gcc-mp-13 or copy it to gcc.

The FAQ has been updated to address this.
2023-11-18 06:10:02 -08:00
Landon Curt Noll e00d20111d rename .inventory.html -> inventory.html
Due to GitHub not serving nor rendering HTML files whose filename
starts with "." (dot), we renamed `.inventory.html` to `inventory.html`.

Renamed: `tmp/gen_dot_winner.sh` -> `tmp/gen_winner_json.sh`
Fixed URL generation for GitHub links in `inventory.html`.

The manifest was updated accordingly.

The `tmp/README.md` file was updated accordingly.
2023-11-06 02:23:30 -08:00
Landon Curt Noll 4f88c4214b add initial .winner.json and .inventory.html for winners
Fixed an incorrect author win for "1989_jar.2" in `author_wins.numbers`
and `author_wins.csv`.

Changed winner_JSON_format_version to "0.5 2023-11-04".

Added `gen_dot_winner.sh` tool to generate .winner.json and .inventory.html
for a winner.  This tool uses [pandoc](https://pandoc.org) to convert
markdown to HTML.

Used this command to generate `.winner.json` and `.inventory.html` for
all winners:

```sh
./run_all.sh -v 1 -D 1 ./gen_dot_winner.sh
```

Updated `tmp/README.md` to reflect the above.

Retired "fake.gen_inventory.sh" to `tmp/OLD_manifest/fake.gen_inventory.sh`.

Added `-D level` flag to `run_all.sh` to specify the `-v level` for
the tool that is being run.
2023-11-06 00:22:19 -08:00
Cody Boone Ferguson 249e865de2 Mass edit README.md: remove top award/author lines
As requested on GitHub: a tool that will be written, readme2index, will,
as explained:

    '... will take the converted HTML from the README.md markdown and
    inject it into an HTML template. Things such title, award one and
    author information will be injected into the HTML page ahead of the
    HTML that was converted from the README.md markdown. Without going
    into details of HOW at this time, the result will be a coherent HTML
    index.html page with the winner title / award, winning author
    information, and important file links come from other sources and
    NOT from the README.md file.

    The text from the 1st award line, thru the authorship information,
    and up to but not including the "## To build:" line in the README.md
    file will just get in the way. Moreover authors might be tempted to
    try and maintain that top of README.md text instead of working with
    the author/_author_handle_.json and winner .winner.json files.

This was done with my[0] sgit(1) (https://github.com/xexyl/sgit) tool like:

    sgit -o -n -e '/^## To build:/,$p' '[12][0-9][0-9][0-9]/*/README.md'

[0] Is that shameless self-promotion? I don't know but I don't care: it
is generally a very useful tool and has been used in other repos too.
Besides, I've done it many times before and it's a great example that I
will be adding to the README.md file of the tool, one I hadn't thought
of doing.
2023-11-05 03:39:46 -08:00
Landon Curt Noll 360708f858 cleanup winner README.md files
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.
2023-11-04 03:21:11 -07:00
Landon Curt Noll f89a020d0f convert INABIAF headers in README.md to a Jargon File quote
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.
2023-11-02 17:17:40 -07:00
Landon Curt Noll d2188d1491 fix a few more standard header lines in winner README.md files 2023-11-02 16:01:23 -07:00
Landon Curt Noll fbd20cfdc2 fix standard headers and header spacing in winner README.md files 2023-11-02 15:45:36 -07:00
Cody Boone Ferguson 5041a0d592 Typo fix in all entry Makefiles
Change the comment

    # Special flags for this entry

to

    # Special Makefile variables for this entry

because these are actually variables and not flags.
2023-11-01 03:36:29 -07:00
Landon Curt Noll 7cb3c44a3b removed .id files from winning dirs
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.
2023-11-01 01:19:36 -07:00
Landon Curt Noll a17fe36163 add tmp/fake.gen_inventory.sh tool
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.
2023-11-01 00:47:43 -07:00
Landon Curt Noll 2e5f868896 improve Nu Html Checker code in index.html 2023-11-01 00:17:07 -07:00
Landon Curt Noll 1883e441c7 remove use of FONT from stb index.html files
We are still seeing if we can get the validator to work.
2023-10-31 22:44:17 -07:00
Landon Curt Noll d6f3d20bac improve winner index.html for a validator attempt 2023-10-31 22:40:25 -07:00
Landon Curt Noll a42aeeca8f add stub index files for each winner 2023-10-31 22:26:09 -07:00
Landon Curt Noll 8b71dd0d4f add or improve Bugs and (Mis)features text in README.md
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.
2023-10-30 00:19:21 -07:00
Cody Boone Ferguson 684ed89d7e Changing heading level of 'Alternate code'
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.
2023-10-26 04:36:57 -07:00
Cody Boone Ferguson b77347cc35 Change 'To run' to 'To use' in all README.md files
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.
2023-10-26 04:05:50 -07:00
Cody Boone Ferguson 1cb070de20 Add missing ':' to Alternate code sections
This was done as:

    sgit -e 's/\(# Alternate code\)$/\1:/g' '*README.md'

The heading levels and other things to do with alternate code that are
being discussed have not been addressed here. That will come later. This
is, as noted, just adding the missing ':' where it was missing.

The command does NOT touch it when it is not prefixed with '# ' because
there are cases where normal lines end with 'Alternate code' (these will
be turned into links later on).
2023-10-25 06:00:36 -07:00
Landon Curt Noll 00c9d60266 improve diff files
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.
2023-10-23 10:18:20 -07:00
Landon Curt Noll 71f1463547 Rename diff Makefile commands
Renamed these Makefile rules:

    orig_prog_diff ==> diff_orig_prog
    alt_prog_diff ==> diff_alt_prog

Updated thanks-for-fixes.md and faq.md accordingly.
2023-10-22 17:26:22 -07:00
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 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 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 9e2b569661 Update FAQ about incongruent code & author remarks
As I was looking at 2004/burley/README.md it occurred to me that
numerous entries have been modified in ways that are incongruent with
what the author(s) originally wrote about the entry. In some cases this
has been noted in the README.md file (like has been added to
2004/burley/README.md itself) but not in all. That should probably be
checked for and I will do that in time most likely but in the meantime
it felt even better to update the FAQ about this which this commit does
as well.
2023-09-10 09:58:27 -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