Commit Graph
4110 Commits
Author SHA1 Message Date
Landon Curt Noll d19b5470ee adjust DOCROOT_URL_SLASH to just be /temp-test-ioccc/
Testing the value of using:

```sh
DOCROOT_URL_SLASH="/temp-test-ioccc/"
```

in case doing "../../" isn't liked by GitHub.
2024-01-15 00:14:48 -08:00
Landon Curt Noll bfc262732b adjust DOCROOT_URL_SLASH to just be /
Testing the value of using:

```sh
DOCROOT_URL_SLASH="/"
```

in case doing "../../" isn't liked by GitHub.
2024-01-14 23:59:10 -08:00
Landon Curt Noll 103b45a3d6 remove Pandoc recommended defaults from ioccc.css
This is just a test.
2024-01-14 23:29:49 -08:00
Landon Curt Noll c6e6201209 release readme2index.sh version 1.0 2024-01-14
The initial release of `bin/readme2index.sh` tool that converts
`READMD.md` and various JSON files such as `.winner.json`
as well as "author/author_handle.json" files.

Applied the `readme2index.sh` tool to generate `2020/ferguson1/index.html`.

We generated the  `2020/ferguson1/index.html` by executing:

```sh
./bin/readme2index.sh -v 3 2020/ferguson1
```

NOTE: This above tool requires **pandoc to be installed**.
See the [pandoc web site](https://pandoc.org) for how
to install.  We used _HomeBrew_ to install it,
but there is also a _macports_ process as well.

NOTE: While the above web page does have formatting issues, it is
a first attempt data driven programmatic web page generation.

Some adjustments can be made by mostly improving `ioccc.css`,
and some perhaps by modifying how `bin/pandoc_wrapper.sh`
invokes pandoc.  But probably most of the improvements can
be made by fixing and improving `ioccc.css`.

TODO: Fix and improve the `2020/ferguson1/index.html`
web page by fixing and improving `ioccc.css`.

Moved scripts and tools needed to generate HTML pages
into a new `/bin` subdirectory.

TODO: Consider getting rid of the [build-ioccc
repo](https://github.com/ioccc-src/build-ioccc) and just use the
`/bin` subdirectory.

NOTE: Some links in the `2020/ferguson1/index.html`
web page do not (yet) exist.

TODO: Once the basic format of the `2020/ferguson1/index.html` web
page is somewhat reasonable, generate `index.html` pages for other
winners.  Generate the year level `index.html' files.
Generate the top level HTML files, including the missing
`location.html` file.

Greatly simplified the `.winner.json` file format,
removing a number of fields that were not strictly needed
for generating an inventory on a `index.html` page.

Updated various versions:

* `bin/gen-author.sh` VERSION="1.3 2024-01-14"
* `bin/gen-inventory.sh` VERSION="1.0 2024-01-14"
* `bin/manifest.winner.json.awk` VERSION="1.0 2024-01-14"
* `bin/pandoc_wrapper.sh` VERSION="1.3 2024-01-14"
* `bin/readme2index.sh` VERSION="1.0 2024-01-14"
* `bin/subst.default.sh` VERSION="1.1 2024-01-14"
* `bin/subst.winner-index.sh` VERSION="1.1 2024-01-14"
* `tmp/gen_path_list.found.sh` VERSION="1.1 2024-01-14"
* `tmp/gen_winner_json.sh` VERSION="1.1 2024-01-14"

The `.winner.json` file format from winner_JSON_format_version
"0.5 2023-11-04" to "1.0 2024-01-14".

All `.winner.json` files have been updated to use the
new `.winner.json` file format.

The manifest (`tmp/manifest.numbers` and `tmp/manifest.csv`) has
updated to use the new `.winner.json` file format.

The following procedure was used to generate the
`tmp/manifest.csv` manifest file:

0. open [manifest.numbers](manifest.numbers) in numbers: modify if/as needed

NOTE: Please try to keep the [manifest.numbers](manifest.numbers) spreadsheet
      in order order.  Use Organize -> Sort -> ((Sort Now)) to sort.

NOTE: Empty fields in the [manifest.numbers](manifest.numbers) spreadsheet
      are not allowed.  By default, a cell that is empty is colored
      as a warning.

1. File -> Export To -> CSV...
    * 1a. `[ ]` Include table names (unset)
    * 1b. Text Encoding: Unicode (UTF-8)
    * 1c. Click ((Save..))

2. Save As: manifest.csv
    * 2a. Select the `tmp` directory

3. Click ((Export))
    * 3a. If needed click ((Replace))

4. Execute ./tmp/[fix_csv.sh](fix_csv.sh)

NOTE: You must run the [fix_csv.sh](fix_csv.sh) in the above
      step in order to make the CSV file usable by other tools.

NOTE: If no changes are needed in the above step, the
      original file content will be restored.

5. Execute ./tmp/[gen_path_list.found.sh](gen_path_list.found.sh)

NOTE: The above step silently performs a `make clobber` at the
      top level, and so it takes a bit of time.

NOTE: If no changes are needed in the above step, the
      original file content will be restored.

6. Execute ./tmp/[check_path_list.sh](check_path_list.sh)

NOTE: The above step prints nothing and for an exit 0, then
      all is well.  If there is a problem, such as files
      found that are not part of the manifest, or files
      in the manifest that are not found, then an error
      message will be printed and the tool will exit non-zero.
      If errors are reported, go back to step 0 and
      correct the errors.

7. Execute ./tmp/[run_all.sh](run_all.sh) ./gen_winner_json.sh

NOTE: The above step will take a few seconds to run.  It will rebuild
      all `.winner.json` files for all winners.

NOTE: If no changes are needed in the above step, the
      original file content will be restored.

8. Execute `git status` and inspect changes

NOTE: Check in changes if and as needed.

NOTE: In a number of shell scripts under `bin/*.sh`,
      and in the `bin/manifest.winner.json.awk` script
      you will find comments of the form:

```
```

This is a note that when tools such as `jnamval` (and `jval` and `jfmt`) are
ready, these gross hacks should be replaced with calls to those tools.
Until they are ready, some must be careful with the layout of JSON files.

A number of bugs and typos have been fixed.

NOTE: Fixing typos in the files touched by this comment is welcome.
      This includes scripts, data files, text files, etc.

The _inventory_order_, _display_as_, _display_via_github_.  and
_winners_text_ fields of the [manifest.numbers](manifest.numbers)
spreadsheet were just set to have some initial values.
As they impact the inventory displayed on `index.html` pages,
their content needs to be improved.

NOTE: Improving the above mentioned fields of the
      [manifest.numbers](manifest.numbers) spreadsheet is welcome.
2024-01-14 22:03:28 -08:00
Landon Curt Noll f5a259d3b3 update .winner.json files as per recent file changes 2024-01-14 12:16:58 -08:00
Landon Curt Noll 7c55a47cdc update manifest as per recent file changes 2024-01-14 12:12:55 -08:00
Landon Curt Noll 2223747ef8 Merge pull request #1893 from xexyl/ant93
Add 1993/ant/try.txt and ants.txt
2024-01-14 12:02:34 -08:00
Cody Boone Ferguson 9a283ae744 Add 1993/ant/try.txt and ants.txt
The ants.txt file is something that kids throughout the English speaking
world are tortured with, some having been forced to repeat it many,
many, many, too many times, but which fits well here: a grep program
called 'ant' should find lots of ants :-) (and it is a fun use .. or
maybe I just wish to subject others to the torture I was subjected to
decades ago? :-) )
2024-01-14 10:50:02 -08:00
Cody Boone Ferguson 58195f6192 Add 1993/dgibson/try.sh 2024-01-14 10:34:44 -08:00
Cody Boone Ferguson d347b24626 Add 1993/ejb/try.sh 2024-01-14 10:23:37 -08:00
Cody Boone Ferguson 5609ceaf59 Add 1993/vanb/try.sh 2024-01-14 10:15:40 -08:00
Cody Boone Ferguson 094a4da91a Add 1992/adrian/try.sh
This script shows the entry itself as well as some of the other tools
that the entry generates. The adwc / wc one uses a pipeline to show the
output (with leading spaces and filename removed along with squeezing
spaces) and also writes each to a text file to use diff on, to show how
they have the same output.

Not all the tools are in the script. The adbasename might have a bug
(in any case it doesn't appear to function exactly like basename(1) in
that it requires two args, not one) so it is not used and adgrep is not
used either. For the latter one the author's remarks might provide some
clues as to why I did not include it.
2024-01-14 09:46:54 -08:00
Cody Boone Ferguson 85a9066b02 Add try scripts to 1992/albert 2024-01-14 09:13:46 -08:00
Cody Boone Ferguson b0918543df Add 1992/ant/try.sh
If you like ants there are now 1992 of them here to try out (whatever
that means :-) ).

Some typos in the test Makefile were also fixed (just those that I saw
as the command was scrolling by - I didn't look at the whole file).
2024-01-14 09:03:58 -08:00
Cody Boone Ferguson 903ef5472a Typo (link) fix in thanks for 1992/buzzard.1 2024-01-14 08:49:54 -08:00
Cody Boone Ferguson cda49daa4e Fix 1992/buzzard.2 alt code, add try scripts
The bug fix is simply so it can compile. It assumed exit(3) returned a
value, not void. The fixes noted in the remarks (though I did not see
them at a quick glance) of the author are not in the alt version (that's
the purpose of it).

The try.sh and try.alt.sh scripts correspond to the entry and the alt
code.

Updated .gitignore.

Added 'first.alt' to Makefile for the try.alt.sh script.
2024-01-14 07:28:59 -08:00
Cody Boone Ferguson d91bced2b8 Fix funny problem in 1989/fubar
In some cases if one were to modify the C code (possibly the same with
the script) in certain ways the program would fail to work even after
changing the code back. Trying to figure out what to put in bugs.md and
on a hunch, changing the fubar.sh script (in particular the ex(1) part)
remedies the problem (or so it seems from the various tests I have
performed including some that caused a problem). In particular:

    --- i/1989/fubar/fubar.sh
    +++ w/1989/fubar/fubar.sh
    @@ -7,13 +7,12 @@ if [[ $# -ne 1 ]]; then
	 exit 1
     fi

     # run/compile it
     rm -f ouroboros.c x1 x
    -ex - <<EOF
    -r fubar.c
    +ex fubar.c <<EOF
     8,9j
     w ouroboros.c
     EOF
     chmod +x ouroboros.c

The C code was also changed to make it even more like the original code.
2024-01-14 05:28:07 -08:00
Landon Curt Noll dce8348db1 update manifest as per recent file changes 2024-01-13 20:05:40 -08:00
Landon Curt Noll c50f7c58e7 Merge pull request #1883 from xexyl/buzzard192-try
Slightly improve 1992/buzzard.1/try.sh
2024-01-13 18:55:08 -08:00
Cody Boone Ferguson 543b250815 Slightly improve 1992/buzzard.1/try.sh 2024-01-13 10:54:25 -08:00
Cody Boone Ferguson b639167e03 Added 1992/imc/try.sh 2024-01-13 10:48:32 -08:00
Cody Boone Ferguson 3f4d556101 Minor formatting update in 1992/marangon 2024-01-13 10:36:46 -08:00
Cody Boone Ferguson f9d5a7b907 Minor formatting fix in 1992/kivinen/README.md 2024-01-13 10:35:43 -08:00
Cody Boone Ferguson 7031130843 Rename 1992/runme.sh lush.sh and improve it
The script now lets one specify which compiler to use so that one can
(in the case that their cc is clang, for instance like it is with macOS)
specify a path to a real gcc compiler.
2024-01-13 10:29:59 -08:00
Cody Boone Ferguson 27ba4879a1 Improve 1992/nathan/try.sh 2024-01-13 10:22:32 -08:00
Cody Boone Ferguson 9b1d4e7a83 Format fix thanks file - add missing ` 2024-01-13 09:58:19 -08:00
Cody Boone Ferguson c3e6471e80 Improve 1991/fine/try.sh
I'll now suggest that now it's 'quite fine' :-)
2024-01-13 07:41:12 -08:00
Cody Boone Ferguson e2e00d66f5 Minor update in thanks file for 1991/buzzard 2024-01-13 07:31:16 -08:00
Cody Boone Ferguson e0b6a7f357 Add 1991/brnstnd/try.sh and try.txt
The try.txt is a file for the rot13 SORTA file. All but one of the
sorta.* files is used. The only one that is not prints out a verr long
line of output and would flood the screen. The try section in the
README.md does suggest one try it just to be complete.
2024-01-13 07:27:37 -08:00
Cody Boone Ferguson 2f76ad3c8e Add 1990/baruch to bugs.md, update try.sh
A feature is that as the number specified gets bigger so too does the
runtime, the amount of resources and the number of lines of output.

The script has another example command (that isn't too long but is a
number of pages of less(1) output).
2024-01-13 06:12:40 -08:00
Landon Curt Noll e2a542bb58 Merge pull request #1872 from xexyl/westley90-try
Add 1990/westley/try.sh
2024-01-12 12:45:01 -08:00
Cody Boone Ferguson 36c9def8ac Add 1990/westley/try.sh 2024-01-12 09:59:23 -08:00
Cody Boone Ferguson 2bdf97ec41 Add 1990/theorem/try.sh
This script shows not just theorem but the sorter and the Fibonacci
generator as well. For the sorter it reverses output of ls (redirected
to a file) and then shows how using sorter on it results in the same
output of ls (with no options specified). Of course if different ls
sorts output differently this could fail but I did not think of that
until after I wrote it.
2024-01-12 09:51:14 -08:00
Cody Boone Ferguson fd57e523bf Add 1990/tbr to bugs.md (INABIAF) 2024-01-12 09:26:55 -08:00
Cody Boone Ferguson 3065fc20d8 Add 1990/scjones/try.sh
The script allows one to more easily see (and verify) what the entry
does. This involves a temporary file that is created (and removed at the
end of the script but which has also been added to .gitignore).
2024-01-12 09:19:07 -08:00
Cody Boone Ferguson 9a69a9dd24 Improve 1990/jaw/try.sh 2024-01-12 09:12:44 -08:00
Cody Boone Ferguson 60ca3e63e2 Add 1990/dg/try.sh
It runs the program with a couple strings and then it feeds the source
code to the program (piped to less) as well (after showing the source
code with less).
2024-01-12 09:08:31 -08:00
Cody Boone Ferguson 04cf7822ae Add 1990/baruch/try.sh 2024-01-12 08:58:12 -08:00
Cody Boone Ferguson d5da633a4a Remove trailing newlines in 1989/vanb/try.sh 2024-01-12 08:42:45 -08:00
Cody Boone Ferguson 3267c2e625 Add 1989/robison/try.sh
Also updated bugs.md with another case where the program might 'break
into tiny bits' but as a feature not a bug. Checking the source code
will give all you need to know about the 'problem' quite well.
2024-01-12 08:38:33 -08:00
Cody Boone Ferguson 4238aac1ac Clarify valid range of P in 1989/ovdluhe alt code 2024-01-12 08:25:07 -08:00
Cody Boone Ferguson 66308ecd7c Improve 1989/jar.2/try.sh
Now it will cat each file before running jar.2 on it, prompting for both
cat and the command itself. Spaces are added in between commands to help
let things stand out better.
2024-01-12 08:19:11 -08:00
Cody Boone Ferguson 7c12aeeb0d Reword use / alt use in 1989/jar.1 + typo fixes 2024-01-12 05:48:40 -08:00
Landon Curt Noll d0a1d62ee7 fix faq.md
Add missing : to FAQ 1.3 header
2024-01-11 11:36:16 -08:00
Landon Curt Noll d2f682dbb3 improve 2001/bellard/Makefile
Removed ` || :` from all rule.
2024-01-11 11:19:26 -08:00
Landon Curt Noll 7b6c976332 Merge pull request #1860 from xexyl/ovdluhe89-alt 2024-01-11 11:16:02 -08:00
Landon Curt Noll 0b4ecc78f7 Merge pull request #1859 from xexyl/jar289 2024-01-11 11:15:46 -08:00
Landon Curt Noll 03774e19ce Merge pull request #1858 from xexyl/fubar89 2024-01-11 11:14:23 -08:00
Landon Curt Noll 1a61b8dba3 Merge pull request #1857 from xexyl/todo-alt 2024-01-11 11:13:22 -08:00
Landon Curt Noll 3351f0b686 Merge pull request #1854 from xexyl/burton19 2024-01-11 11:11:49 -08:00