Merge pull request #148 from xexyl/2018-ferguson

2018/ferguson fixes and minor updates
This commit is contained in:
Landon Curt Noll authored and GitHub committed 2023-03-25 04:35:07 -07:00
commit 0ce3042e8b
4 files changed
+42 -43

No files matched your search

+1 -1
View File
@@ -381,7 +381,7 @@ cc -ansi -Wall -trigraphs -Wno-trigraphs -Wno-parentheses -Wno-empty-body -Wno-c
### Coda ### Coda
Cody Ferguson was relentless in his pursuit of bugs. [Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) was relentless in his pursuit of bugs.
Thanks to his reports, the version of `unob.sh` is stronger, Thanks to his reports, the version of `unob.sh` is stronger,
`tac` groks digraphs, `tokenfix` corrects for missing digraphs in `prog.c`, `tac` groks digraphs, `tokenfix` corrects for missing digraphs in `prog.c`,
and the program `manpage` was added to the corpus. and the program `manpage` was added to the corpus.
+36 -38
View File
@@ -1,8 +1,9 @@
# Best use of weasel words # Best use of weasel words
Cody Boone Ferguson <weasel@xexyl.net> Cody Boone Ferguson <weasel@xexyl.net>
<https://ioccc.xexyl.net/2018/weasel> [https://ioccc.xexyl.net](https://ioccc.xexyl.net)
Twitter: @xexyl [https://xexyl.net](https://xexyl.net)
Mastodon: [@xexyl@fosstodon.org](https://fosstodon.org/@xexyl)
# To build: # To build:
@@ -252,18 +253,18 @@ I was quite proud that when the next contest came the judges removed that
question. Later 2018 and all of 2019 was difficult for me so it was like I won a question. Later 2018 and all of 2019 was difficult for me so it was like I won a
second time for the same entry. second time for the same entry.
### On user errors ### On <del>user</del> monkey errors
If the generation reaches **`SIZE_MAX - 1`** I consider it a If the generation reaches **`SIZE_MAX - 1`** I consider it a monkey (or if you
user (or monkey) error; if the user insists on being so petulant enough as to try such insist: user) error; if the user insists on being so petulant enough as to try
a ridiculous set of parameters in an attempt to make it be no more successful such a ridiculous set of parameters in an attempt to make it be no more
than a monkey typing *then it shouldn't be any more successful than a monkey; if successful than a monkey typing *then it shouldn't be any more successful than a
it by chance reaches the target it's because a monkey could too!* Either way monkey; if it by chance reaches the target it's because a monkey could too!*
unless the number reaches **`SIZE_MAX - 1`** the monkey Eric won't be blamed. It Either way unless the number reaches **`SIZE_MAX - 1`** the monkey Eric won't be
should be noted that depending on the parameters (size of chromosome, number of blamed. It should be noted that depending on the parameters (size of chromosome,
offspring, the string itself) the program could take quite a lot of system number of offspring, the string itself) the program could take quite a lot of
resources; and whether the OS kills it, Eric the monkey falls asleep or the system resources; and whether the OS kills it, Eric the monkey falls asleep or
typewriter is taken from him the result could very well be not found without the typewriter is taken from him the result could very well be not found without
blaming him. Of course the judges were talking about fish not monkeys. But since blaming him. Of course the judges were talking about fish not monkeys. But since
this program is inspired by the Weasel program *which was inspired by the this program is inspired by the Weasel program *which was inspired by the
[Infinite Monkey Theorem][]* I opted instead to target the monkey Eric even if [Infinite Monkey Theorem][]* I opted instead to target the monkey Eric even if
@@ -907,13 +908,12 @@ result. Remember too that **`S`** cannot be less than **`38`**. Both **`S`** and
Skip to [An aside on bugs](#bugs). Skip to [An aside on bugs](#bugs).
The entry works for both C99 and C11 (it *requires at least C99 even if you This entry requires at least C99 even if you translate digraphs. The program
translate digraphs*). The program doesn't require third-party libraries and doesn't require third-party libraries and should work on any Unix based system.
should work on any Unix based system. It works on both 64-bit and 32-bit (but It works on both 64-bit and 32-bit (but inevitably some data type sizes will be
inevitably some data type sizes will be smaller and this I believe includes smaller and this I believe includes **`SIZE_MAX`**). I don't think Windows gcc
**`SIZE_MAX`**). I don't think Windows gcc ports would have many issues (if any) ports would have many issues (if any) either but I have no way to test this.
either but I have no way to test this. I have tested the following systems and Originally I tested it on the below systems.
configurations:
#### Fedora 26: #### Fedora 26:
@@ -993,7 +993,7 @@ Skip to [Final thoughts](#thoughts).
I have included a RPM spec file for those with a Red Hat based Linux I have included a RPM spec file for those with a Red Hat based Linux
distribution; see [rpm.md][] for details (including why I implemented distribution; see [rpm.md][] for details (including why I implemented
this) if for some (strange?) reason you're interested. this) if for some (strange or maybe even mad) reason you're interested.
[rpm.md]: rpm.md [rpm.md]: rpm.md
@@ -1177,13 +1177,14 @@ like to thank my mother for being the best mum anyone could ask for, who's
always been here for me and whom I also inherit the keen analytical mind from. I always been here for me and whom I also inherit the keen analytical mind from. I
love you all! love you all!
I want to also thank Dave Burton for acknowledging me in his README.md file I want to also thank [Dave Burton](/winners#Dave_Burton) for acknowledging me in
for as he put it 'being relentless with pursuit of bugs'. To think that it was his [README.md]((../burton2/README.md) for his [2018/burton2](../burton2/prog.c)
circumstantial to my entry too makes it all the more unlikely but that doesn't entry for as he put it 'being relentless with pursuit of bugs'. To think that it
take away the significance of it; for I am a very symbolic person and being was circumstantial to my entry too makes it all the more unlikely but that
acknowledged for this type of thing is great but to be acknowledged for it by doesn't take away the significance of it; for I am a very symbolic person and
someone who has won more than once is even more special to me: thank you Dave! being acknowledged for this type of thing is great but to be acknowledged for it
It means a great deal to me and I am glad I could help! :) by someone who has won more than once is even more special to me: thank you
Dave! It means a great deal to me and I am glad I could help! :)
I would also like to say to the judges about their commentary as well as the I would also like to say to the judges about their commentary as well as the
category title: they're all very dear to me and that includes not just the category title: they're all very dear to me and that includes not just the
@@ -1197,16 +1198,13 @@ wonderful contest requiring creativity, cleverness, uniqueness and
inventiveness but to win beside all the other wonderful entries is truly inventiveness but to win beside all the other wonderful entries is truly
special! special!
Shortly after the entry has been published I will have more information on the I have more information on the winning entry at
winning entry at [https://ioccc.xexyl.net/2018/weasel][] including how to [https://ioccc.xexyl.net/2018/weasel][] including how to contact me (besides
contact me (besides what's already published on the IOCCC website). There also what's already published on the IOCCC website). I have commentary on the other
is an [errata page][] so that in the case I find anything I would like to winning entries as well.
correct in the documentation or other supplementary files I can note them there.
If you wish to contact me please do so; although I have a Twitter account I don't If you wish to contact me please do so. Please contact via mastodon. You can try
really use it so please send me an email instead. I do have Facebook as of a email but I'm more likely to respond to mastodon messages.
little under two years but I'll worry about that at such a time (I presume in
fact 'if') it becomes relevant.
[https://ioccc.xexyl.net/2018/weasel]: https://ioccc.xexyl.net/2018/weasel [https://ioccc.xexyl.net/2018/weasel]: https://ioccc.xexyl.net/2018/weasel
[errata page]: https://ioccc.xexyl.net/2018/weasel/errata [errata page]: https://ioccc.xexyl.net/2018/weasel/errata
+1
View File
@@ -6,3 +6,4 @@ I AM THE WALRUS
YOU ARE THE WALRUS YOU ARE THE WALRUS
YOU ARE THE WEASEL YOU ARE THE WEASEL
PAULINE HANSEN ACTS LIKE A WEASEL PAULINE HANSEN ACTS LIKE A WEASEL
IOCCC BEST USE OF WEASEL WORDS
+4 -4
View File
@@ -1,11 +1,11 @@
#!/bin/bash #!/bin/bash
# Make sure the program has been compiled # Make sure the program has been compiled
make weasel 1> /dev/null|| exit 1 make clobber all 1> /dev/null|| exit 1
while read f; do while read -r f; do
./weasel $* "${f}" # full line because of quotes ./weasel "$@" "${f}" # full line because of quotes
# ./weasel $* $f would just be the final word # NOTE: ./weasel $* $f would just be the final word
sleep 2 sleep 2
done < test-strings.txt || exit 1 done < test-strings.txt || exit 1
echo "All done. Goodbye." echo "All done. Goodbye."