429 Commits
Author SHA1 Message Date
Cody Boone Ferguson 41d230e234 Fix 1992/gson in macOS + format/typo checks
The fix is simply disabling the optimiser. This allows the specific
cases where it crashed on start in macOS to not happen. An example
command where it crashed:

    ./gson free software foundation < /usr/share/dict/words

The README.md file has been typo/format checked.
2023-11-08 11:55:10 -08:00
Cody Boone Ferguson 0fa0b79366 Delete alt code of 1992/adrian
It is just the original code and there's no good reason for it to be
compiled.
2023-11-08 11:10:39 -08:00
Cody Boone Ferguson 9f17036900 Fixes to 1992/buzzard.2
Running make all now links first.

The README.md now has been checked for formatting and typos.

The buzzard.2.README.md file has also been checked for formatting and
typos.
2023-11-08 11:06:59 -08:00
Cody Boone Ferguson 456f2d8ff3 Add 1992/buzzard.1/try.sh script 2023-11-08 10:12:32 -08:00
Cody Boone Ferguson de7ba83559 Fixes to 1992/ant
The Makefile has had a new rule added and another fixed as 'am' does not
support certain features that the Makefile uses.

Added #include <time.h> as the author stated that for some systems it
might be necessary (like DOS with Turbo C assuming anyone here uses
that).

Typo fixes including references to files that do not exist (am.c ->
ant.c and so on).

Typo/format check README.md and ant.README.
2023-11-08 09:47:20 -08:00
Cody Boone Ferguson 0e452a3813 Format/typo check 1992/albert + update bugs.md
There is a known bug in the code that is triggered by some inputs. I
have included some debugging information for those who wish to try and
solve it.

The README.md has been typo/format checked.

This should complete 1992/albert except for hopefully the bug being
resolved in the future.
2023-11-08 08:55:29 -08:00
Cody Boone Ferguson f700aea9e1 Various bug/format fixes in 1992/adrian
The default file to open in the code did not exist: it was submitted as
adgrep.c but the judges changed the entry to be adrian.c. The adgrep is
a link to adrian but adgrep.c does not exist. Instead of changing it to
be adrian.c, however, I changed it to __FILE__.

If the file cannot be opened it no longer will segfault. This is the
only crash that was fixed; two are explicitly noted by the author as
features though it could possibly be implied that the same goes for the
entry itself.

The bugs.md has had some bugs that seem to be genuine bugs that might
want to be fixed and it also has had features added, things that should
not be fixed (including adsleep and adbasename crashing if no arg
specified).

The README.md file was typo/format checked/fixed.

The Makefile had several fixes, most importantly that now running 'make'
will link adgrep as it's now a target.

The thanks file has been updated as well as various things have, as
noted above, changed.
2023-11-08 07:51:33 -08:00
Cody Boone Ferguson 8adc677fd1 Greatly improve 1992/westley presentation
Added whereami.c and whereami.alt.c which, using curses, gets the number
of columns of the terminal. If < 80 it is an error. Otherwise it will
try compiling the westley.c or westley.alt.c and if successful it will
run the program with the args specified.

The try.sh script will use whereami or whereami.alt if it's possible to
compile and link (it might not if curses is not installed) and otherwise
westley and westley.alt.

Running make all will compile westley.c and also whereami.c; running
make alt will compile westley.alt.c and whereami.alt.c. The try.sh
script does NOT use that but instead uses make westley alt: this is
because we need to be sure that westley.c and westley.alt.c can compile
but it is NOT an error if whereami.c or whereami.alt.c cannot compile.
So the Makefile was done in a special way for this to not be a problem.

The original code of westley.alt.c has been added in westley.alt.orig.c.

The README.md has been updated for these improvements and this should
complete 1992/westley.
2023-11-08 04:12:39 -08:00
Cody Boone Ferguson 5918bc6299 Format/typo check 1992/buzzard.1/README.md 2023-11-07 10:09:06 -08:00
Cody Boone Ferguson 456120f825 Fix 1992/albert, swap alt/main code
The alt code was the original; the entry was a bug fixed version by Leo
(before he was a judge). However that version, the fixed version, was
not obfuscated and as the judges say in the FAQ:

    the contest is called the IOCCC, not the INVOCCC :-)

so it seems better to have the version that has a bug as the entry. But
that code no longer compiled. This has been fixed.

Updated .gitignore.

Minor changes to README.md wrt the swapping of alt code/entry code. The
formatting has not been checked and no typos have been fixed either.
These will come later.
2023-11-07 08:31:36 -08:00
Cody Boone Ferguson 8b893ddfde Add 1992/westley/try.sh + format fixes
The try.sh script runs the program for the world cities and the alt
version for the US cities, one at a time, that the author suggested, as
well as the approximate location that the entry was judged, noted from
the judges.

The README.md has been format fixed.

There is a possible bug in the alt version which is in the bugs.md file.
There is also a feature in the bugs.md which does introduce a strange
look in the README.md file:

    STATUS: INABIAF - please **DO NOT** fix
    STATUS: known bug - please help us fix

but they are for different things.
2023-11-07 08:12:10 -08:00
Cody Boone Ferguson 6ac32f659e Remove 80 column limitation in 1992/westley
Because most people have much wider terminals nowadays and since not all
can be resized I have changed the code a bit so that every 80 iterations
(in the final loop) a newline is printed. This way as long as the
terminal is at least 80 columns the program will show the map correctly.
The alt version has been updated for this as well.

The Makefile now does not require one to run 'make whereami' to get the
link: one simply needs to run 'make' or 'make all' or 'make everything'.
For the alt program (the author provided one that I put into alt code
that is strictly for the US) running make alt or make everything will do
the same only it's whereami.alt.

The bugs.md has been updated noting that the terminal must be AT LEAST
80 columns. The README.md file has not been updated which means
referring to the bugs.md has not been done yet either. The Makefile note
about it requiring a terminal that wraps at 80 columns has been changed
to note that it needs a terminal that is at least 80 columns. The note
has been moved to after making the link (actually not a symlink but
perhaps it should be).
2023-11-07 06:13:46 -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 3fc44672b8 fix a few more quasi-common headers in winner README.md files 2023-11-02 16:10:34 -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 e4401eb32c Fix bug status in 1992/lush/README.md
I already fixed the name in bugs.md but I forgot to do it in the
README.md it seems.
2023-11-01 09:48:09 -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
Cody Boone Ferguson 5fddca37ce Fix 1992/westley/README.md about fixed bug
Removed the INABIAF section.

Added to alt section the subsections for build and to run. I did not add
an alternate try command because I would have to look up some
coordinates in the US (that's what it's for) and that takes time. I can
do that when I do a proper check of this file.
2023-10-31 12:21:54 -07:00
Cody Boone Ferguson 43e5b8af0e Retitle a bug status about some compilers
Rather than have:

    STATUS: doesn't work with some compilers - please provide alternative code

It might be better to have:

    STATUS: doesn't work with some compilers - please provide alternative code or fix for all compilers

which it now is.

Only one entry had it in so that entry and bugs.md were both updated.
Another entry in bugs.md was modified before and the README.md but the
status was not changed. That will be in the next commit which will be
this retitled one.
2023-10-31 05:54:08 -07:00
Cody Boone Ferguson 6ac877dba9 Format fix + unrot13 text in 1992/gson/README.md 2023-10-30 06:37:01 -07:00
Cody Boone Ferguson 102675d4dd Fix 1992/buzzard.1 - arg check 2023-10-30 06:34:57 -07:00
Cody Boone Ferguson e2a8f813dc Fix both original and alt code for 1992/westley
For both check args.

For alt move main()'s code to new function as some versions of clang do
not allow four args. Instead main() has two args now, the traditional
argc and argv, and the other two are passed 0.
2023-10-30 05:55:07 -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
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 add7268842 Format fix 1980s and 1990s README.md files
I also updated the todo.md file as I left some things out that have to
be done. I only explicitly named one thing but when I go over them as a
final pass I will address the things in question (some will require
discussion).
2023-10-10 06:24:13 -07:00
Cody Boone Ferguson 8dc6e39fda Update bugs and thanks for 1992/lush
I also removed a -Wno- option from the Makefile as the entry relies on
this warning. This is not strictly necessary as the script that I added,
runme.sh, directly compiles it, but it felt like it shouldn't have it
anyway.

In the bugs.md file I gave some hints as to why this does not work with
clang.

In the thanks file I broke up a paragraph into more than one paragraph.
2023-10-07 07:42:54 -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 27b73f0de3 Minor updates to INABIAF & thanks for 1992/westley
Added that some versions of clang do not even allow a fourth arg to
main() which my fix for clang also fixed (I did not know it at the
time).

Also added the joke about how the alternative version will very likely
nuke the USA and the main entry will very likely nuke the world if there
are not enough args specified (2) to the thanks-for-fixes.md file,
updated a bit, and updated it in bugs.md and the README.md file too.

And not that we need any help with this or anything :-) but we do
encourage you to test it. This should not be fixed. :-)

And to those like myself who would want to know: yes (obviously :-) ) it
was and is my own joke that felt right for the behaviour it exhibits
without 2 args and what the program actually does with enough args. Try
it and see!
2023-09-10 09:18:00 -07:00
Cody Boone Ferguson b53f584bb9 Minor update to 1992/lush/README.md
Removed reference to original source file in the archive (this was
originally added as some changes had to be made to get it to work with
modern gcc - does not work with clang due to how it is programmed) as
the original is lush.orig.c. There are other README.md files for other
entries that have this same thing and these files will be updated in
time too.
2023-09-10 08:56:40 -07:00
Cody Boone Ferguson 353223f869 Remove address from 1992/lush/README.md 2023-09-10 08:56:04 -07:00