The location of the link is in the About menu under the 'Contacting the IOCCC' and above 'Thanks for the help'. At first I had it at the very bottom, under 'IOCCC markdown guidelines', but it seemed better to have it closer to contacting the IOCCC. This is the same location in the no JavaScript menu (which, for those who do not know or forget, is not a requirement except for some screen sizes). The top level Makefile has a new 'security' rule. Updated make help. Typo fixes in make help. SECURITY.html has had a few updates as well: change the wording of entry code is unsupported (it now says 'ALL CODE IN ALL IOCCC ENTRIES IS UNSUPPORTED!!') and it now links to the mkiocccentry repo and how to report a possible security vulnerability in that repo; as that IS supported - and since there was reference to discussing security concerns is in SECURITY.html - even though the entries will not receive security updates - it seemed a good idea to have a link to report such security issues in the mkiocccentry repo. Perhaps the FAQ needs to be updated for this too.
To build:
make all
To get this to compile with a modern CPP, we had to replace #D with #define.
To use:
Run the program this way:
./ovdluhe < textfile
The program stops when it reaches the end of the template buffer by chance or is killed.
Try:
./try.sh ; sleep 2 ; ./try.sh
Alternate code:
The author suggested that one varies the definition of P from 2 through 10. As
it's a #define it's easy to set up.
Alternate build:
make P=9 clobber alt
You do not have to define P but if you do you can replace the value with
whatever you wish, as long as it's a positive int (or evaluates to a positive
int like the default (A<<AP) does). Too high a value will likely cause the
program to fail and a negative value will cause a compilation error as will a
value that's not a number.
Alternate use:
./ovdluhe.alt
Alternate try:
./try.alt.sh
P=5 ./try.alt.sh
NOTE: if you specify too high a value for P the program might fail. If you
specify a value < 0 it will fail to compile.
Judges' remarks:
Run this program using your favorite text file as input. Files such as mailboxes, man pages and usenet articles are especially recommended. You will get different output each time you run it.
Author's remarks:
This program implements an "Eddington ape" - it generates
random text from a supplied template. The template text file
is read through stdin. The larger the template, the better the
result. A maximum of 2**12 chars are used. From the template,
the program calculates the statistics of chars that immediately
follow a given string (correlator string) of a certain length
(currently 4 - can be varied by changing the definition for P
accordingly). A character is randomly chosen, weighted by its
probability to occur after the correlator string. That
character is printed to stdout and placed at the end of the
correlator string, whose first character is discarded.
Meaningful words are therefore usually preserved, the effect on
sentences can be dramatically random.
You might want to vary the definition of P between 2 and 10 and
observe the result.