The `display_as` field in an `.entry_json` file must match the regex `^[a-z][0-9a-z]*$` now. This is needed to reduce errors during the final round while converting a potential submission to entry form. Modify `1992/buzzard.2/.entry.json` and `1993/rince/.entry.json` to change `display_as` field to use lower case. Correct `2012/omoikane/.entry.json` to correctly reflect changes made by commit2955e5d07eand commit2955e5d07e. Change `bin/cvt-submission.sh` to verify that the `display_as` matches the above regex. Changed `bin/cvt-submission.sh` VERSION from "2.2.2 2025-06-30" to "2.3.0 2025-07-02". Rebuild all tarballs, both at the entry and the year level due recent changes to `var.mk`, `1337.mk`, and `ioccc.css`. Rebuild sitemap due to the changes above. Ran `make update` to test and perform the above.
To build:
make all
To use:
./bas2 < file
echo text | ./bas2
Try:
./try.sh
./try.sh "foo bar" "baz" "IOCCC 1998/bas2" README.md
./try.sh try.sh "bas2.c" bas2.orig.c
Judges' remarks:
Questions to ponder:
Can you determine the relationship between the input and the resulting numeric output?
The program was not designed to process files with a certain octet value, what value is that?
Hint and Extra Credit:
This entry points out a minor flaw in the IOCCC rules that has been around since 1992. It processes a certain octet value in a way that differs from a strict reading of one of the official IOCCC rules. What is the rule and what is the octet value?
Author's remarks:
The main obfuscation is the way characters are recognized, which is done by matching the bit patterns. Minor obfuscations are:
-
Useless layout.
-
Useless variable names.
-
Recursive
main()instead of 2 loops (over input characters and over bits in the character). -
?:and||instead of if statements.