We set LC_ALL=C when sorting in a bin tool. This was done to make the result of using `sort(1)` consistent. Improved how the Primary files and Secondary files are sorted by `bin/output-index-inventory.sh` to sort with "-u -k 1n -k 3.2d". The above will change `index.html` files for all entries. Changed `bin/chk-entry.sh` VERSION from "1.1.2 2024-03-17" to "1.1.3 2024-03-18". Changed `bin/gen-authors.sh` VERSION from "1.3 2024-03-04" to "1.3.1 2024-03-18". Changed `bin/gen-location.sh` VERSION from "1.1 2024-03-04" to "1.1.1 2024-03-18". Changed `bin/gen-sitemap.sh` VERSION from "1.3 2024-03-16" to "1.3.1 2024-03-18". Changed `bin/output-index-inventory.sh` VERSION from "1.2 2024-02-27" to "1.2.1 2024-03-18". Changed `bin/pandoc-wrapper.sh` VERSION from "1.5 2024-03-18" to "1.5.1 2024-03-18". Changed `bin/sort.gitignore.sh` VERSION from "1.1.1 2024-02-23" to "1.1.2 2024-03-18". Changed `bin/tar-all.sh` VERSION from "1.1 2024-02-27" to "1.1.1 2024-03-18". Changed `bin/tar-year.sh` VERSION from "1.1 2024-02-27" to "1.1.1 2024-03-18". Performed `make www` to update all entry `index.html` files.
To build:
make
There is an unobfuscated version of this entry. See Alternate code below.
To use:
./konno N
Try:
./try.sh
# you can also specify numbers to try before the random and preselected ones:
./try.sh 111 222 333 444 555 666 777 888 999
Try running try.sh a number of times as the first part randomly selects ten numbers to try.
Alternate code:
An alternate version of this entry, konno.alt.c, is provided. This alternate code is an unobfuscated version of the winning code.
Alternate build:
make alt
Alternate use:
Use konno.alt as you would konno above.
Judges' remarks:
This entry is a good one-liner to analyze completely.
For extra credit, what are the minimal changes to convert it to 64-bit integers so that it could print 32 lines?
Author's remarks:
Remarks
This program outputs elementary cellular automaton patterns.
Try:
./konno 30
./konno 90
./konno 102
./konno 109
./konno 165
There are 256 (from 0 through 255) possible rules.
Obfuscation
This program uses bit operations. I think
7&O<<!o>>!o+29
is an interesting operation. This isn't equal to
7&O>>29
operation. What is the operation doing?
Limitation
This program assumes that the size of int is 4.
Copyright and CC BY-SA 4.0 License:
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/