Files
ioccc/2015/endoh4
Landon Curt Noll ecabb73bf6 add tools to compare entry's manifest with its files
Added `bin/bin/tar-entry.sh` to build a compressed tarball for an
entry.  The compressed tarball is formed by gnu tar with options
so that the same entry file content will always produce the same
compressed tarball, byte for byte.

As some files are missing from some entries, one should
use the `-W` option as in:

```sh
bin/tar-entry.sh -v 5 -W 2020/ferguson1
```

Added `make form_entry_tarball` to the top level `Makefile`
to build entry tarballs even when files are still missing.

Added `make verify_entry_files` to verify that all entries have all
of their files listed in their manifest, plus the top level ioccc.css
and var.mk files.  As file entry files are still missing (due to
HTML files that need to be built), the overall `make quick_www` and
`make www` do **NOT** (yet) exit when the `make verify_entry_files`
fails.

Improved `bin/chk-entry.sh` by removing some variables
that were not needed.

TODO: Improve `bin/` tool exit codes as the current use is a bit silly.

TODO: Clean out some variables used in `bin/` tools as some of then
are only set printed in debug statements.

TODO: Clean up usage messages, some of the options listed to not
match the `getopts(1)` parsing.  In some cases the option needs to
be parsed but needs to be ignored by the tool because another tool
automatically passes along certain options that really have no
effect.  Such ignored options need to be show as "This option is
ignored" in the usage message.
2024-02-13 03:29:54 -08:00
..
2024-02-01 14:35:49 -08:00
2023-12-26 09:00:03 -08:00
2023-03-07 21:35:00 -08:00
2020-12-30 16:57:03 -08:00
2023-07-06 21:49:38 -07:00
2024-01-15 04:29:39 -08:00
2024-01-29 09:45:36 -08:00

To build:

make

There is an alt version which is the originally submitted entry. See Alternate code below for details.

To use:

./prog <a number of arguments>

Try:

./try.sh

Alternate code:

An alternate version of this entry, prog.alt.c, is provided. This alternate code does not contain improvements suggested by Gil Dogon; it is the author's original entry.

Alternate build:

make alt

Alternate use:

Use prog.alt as you would prog above.

Judges' remarks:

For this one liner it is best to avoid prime numbers. The output groups factors in the x-y dimensions. How many factors can be represented before you run out of command line argument space? How could you modify the program to experiment with numbers that have more or larger factors?

Author's remarks:

Visual factorization 1-liner. Try:

gcc -o prog prog.c
./prog @
./prog @ @
./prog @ @ @
./prog @ @ @ @
./prog @ @ @ @ @ @
./prog @ @ @ @ @ @ @ @
./prog @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @

Inspired by Animated Factorization Diagrams.

prog.alt.c is the original version that I submitted. Gil Dogon kindly improved it during the review. Thank you!

This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved. You are free to share and adapt this file under the terms of this license:

Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

For more information, see: https://creativecommons.org/licenses/by-sa/4.0/