399 Commits
Author SHA1 Message Date
Cody Boone Ferguson 290c40dba8 Minor fix in 2012/omoikane/try.alt.sh
Make everything, not all, as it uses alt code (make alt would also
work).
2023-12-01 09:32:56 -08:00
Cody Boone Ferguson 00e336df7a Add alt code to 2012/omoikane + try + formatting
There are two alt versions which should be useful for (respectively)
those who do not have /dev/urandom and those who use Windows. Both of
these versions read from argv[0] instead of /dev/urandom but the second
one sets binary mode on stdin and stdout. This is to be consistent with
the fact that other entries also have this as an alt version.

The try.sh and try.alt.sh scripts work on the entry and the first
version of the alt code, the one that is not Windows specific. The
scripts consist of commands from both the to use section of the
README.md (which is still there) and the try section (which now refers
to try.sh).

Format/typo checks in README.md file.
2023-12-01 09:23:43 -08:00
Cody Boone Ferguson 81d972a20f Add 2012/hamano/try.sh + format/typo checks 2023-11-30 11:04:42 -08:00
Cody Boone Ferguson a6d1c17e98 Add 2012/tromp/try.sh, update bugs.md + formatting
The try.sh has a variety of commands, some that come from the judges and
some that come from the author.

The bugs.md has features added, not bugs.

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

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

The author stated that there is a macro that indicates the term space
but as it's a big number and I don't see it being a problem I did not
(unlike in other cases) add alt code that lets one redefine it.
2023-11-30 10:43:38 -08:00
Cody Boone Ferguson 54cfecae4f Update 2012/deckmyn - try.sh, bugs.md, formatting
The try.sh script is as usual.

The bugs.md has some features, not bugs.

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

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

A caveat with this entry is I was not able to verify as much when it
comes to checking things as I do not have a musical background (despite
the fact my family is full of musicians).
2023-11-30 10:02:03 -08:00
Cody Boone Ferguson bb1ac2484d Add try.sh and hint.md to 2012/hou + formatting
The hint.md file is necessary as the '#' header in it specifies the
title and stylesheet as part of the entry.

The try.sh script is as usual.

Format/typo check README.md file. The hint.md file formatting was not
changed due to the regexp engine amongst other reasons. Just obvious
spelling errors were updated.
2023-11-30 08:42:41 -08:00
Cody Boone Ferguson 4750077034 Add 2012/vik/try.sh + format/typo checks
The try.sh script includes the brainfuck feature that the author
implemented.
2023-11-29 14:23:08 -08:00
Cody Boone Ferguson d7e73b4f38 Format/typo check 2012/kang + update try.sh 2023-11-29 10:57:56 -08:00
Cody Boone Ferguson a84d3f9d3f Add 2012/konno/try.sh + format/typo checks 2023-11-29 10:27:46 -08:00
Cody Boone Ferguson 5d8e061438 Add make test rule to 2012/zeitak + formatting
The make test rule runs the new test.sh script which checks the return
value of the program run on a variety of new files (and the old
incorrect.c which was renamed incorrect.paren.c). The new files include
1984/anonymous.c and 1984/anonymous.alt.c as the author explicitly
mentioned that entry.

The README.md file has been format/typo checked.
2023-11-29 08:45:24 -08:00
Cody Boone Ferguson 30c59761df Mass fix Makefiles: $(MAKE) -> ${MAKE} 2023-11-19 06:31:28 -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
Cody Boone Ferguson 07c1705905 Improve 2012/kang scripts
Get CC, defaulting to cc.
2023-11-14 04:20:27 -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 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 e601a8f595 Change '#### Try' to '### Alternate try'
This does not complete the alt code related headers but I noticed this
and it was easy to do quickly. Unless I run across another when I am
working on the README.md files of the entries I will probably have to do
the rest manually as I come across them as most likely the headers are
missing.

This was done as

    sgit -e 's/^#### Try/### Alternate try/g' '*README.md'
2023-10-26 08:57:32 -07:00
Cody Boone Ferguson ff72c76ff1 Change alt/orig to build/to use heading levels
As the 'Alternate code' and 'Original code' heading level is now 2 the
'To build' and 'To use' subsections should be level 3, not 4, and also
reworded, this was done:

    sgit -e 's/^#### To build/### Alternate build/g' -e 's/^#### To use/### Alternate use/g' '*README.md'

Many more have to be updated and this will be done manually at another
time.
2023-10-26 04:53:08 -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 2469510d33 Add scripts to 2012/kang
Add try.sh which runs the judges' try commands, showing what the
commands are and then the output, to simplify trying the entry out.

The scripts en.alt.sh and de.alt.sh are like en.sh and de.sh except it
defaults to the kang.alt version, which as noted can help one appreciate
the entry even more. Although not documented one can specify which
version for the alt scripts and the other scripts.
2023-10-25 07:58:01 -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
Cody Boone Ferguson 37c9908519 Fix typo in 2012/endoh2/find-font-table.rb 2023-10-25 05:26:17 -07:00
Cody Boone Ferguson 6f87b6be8f Restore 2012/grothe original code from archive 2023-10-25 05:24:23 -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
Cody Boone Ferguson 4d71e0e65b Make current 2012/kang properly alt code
I was on the fence of whether it's a feature or bug that the program
deciphers 'fier' as '4' instead of proper 'vier' but to help with
preventing confusion to those who know German I ended up changing it.
This was thought okay but after more thought and also playing with it a
bit I have made that fix the alt version instead. It so happens that
(and I wondered about this at the time but did not have examples then)
by changing it to 'vier' it caused other number words to be wrong. Thus
the version that I'll call vier (even though it's zwei or if
alternatively if zero based eins :-) ) is now the alt version.

Added en.sh and de.sh scripts to count from 0 through 13 (reason below),
showing the word and number and then the result. One can choose whether
to use the alt version or not by passing in KANG=... to the script like:

    KANG=kang.alt ./de.sh

would run the vier version of kang (kang.alt).

As for why 13 it's to demonstrate two of the German umlauts, ö and ü (in
German you can add an 'e' or 'E' if you don't have the umlaut so it does
both to demonstrate how the program deals with it).

Makefile updated so one can run make alt.

.gitignore updated.

Now the program is how it was and how it should be and yet at the same
time one play with the vier versus fier.
2023-10-22 10:29:13 -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 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