Merge pull request #1021 from xexyl/2013-birken
This commit is contained in:
3 files changed
+41
-43
No files matched your search
+37
-41
@@ -8,72 +8,68 @@ Michael Birken
|
|||||||
## To build:
|
## To build:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
make
|
make alt
|
||||||
```
|
```
|
||||||
|
|
||||||
An alternate version which allows one to more easily see what is going on is
|
|
||||||
available. See Alternate code section below for more details.
|
|
||||||
|
|
||||||
WARNING: if you have a problem with flashing colours please consider whether you
|
|
||||||
should try this entry or not. This problem can also occur with the alternate
|
|
||||||
version but to a lesser degree depending on how it's configured.
|
|
||||||
|
|
||||||
|
|
||||||
## To run:
|
## To run:
|
||||||
|
|
||||||
|
To see why we recommend the alternate version instead of the original version,
|
||||||
|
see the [original code](#original-code) section.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
./birken < 17_columns_wide_paint_by_numbers_file
|
./birken.alt < 17_columns_wide_paint_by_numbers_file
|
||||||
```
|
```
|
||||||
|
|
||||||
|
To see why we recommend the alternate version instead of the original version,
|
||||||
|
see the [original code](#original-code) section.
|
||||||
|
|
||||||
## Try:
|
## Try:
|
||||||
|
|
||||||
```sh
|
This alternate version, which we recommend that you use in order to see what is
|
||||||
./birken < ioccc.txt
|
happening with modern systems, and to not flash colours too quickly, which can
|
||||||
|
be problematic for some people, can be configured to different speeds by way of
|
||||||
perl -e 'map{map{print int(rand()*8);}(0..16);print chr(10);}(0..30);' | tr '[0-4]' ' '| ./birken
|
the value used in `usleep()`. The default is `-DZ=15000`.
|
||||||
|
|
||||||
./demo.sh
|
|
||||||
|
|
||||||
BIRKEN=birken.alt ./demo.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
### Alternate code:
|
|
||||||
|
|
||||||
The alternate version for this entry which allows one to control
|
|
||||||
how fast the painting is done.
|
|
||||||
|
|
||||||
To compile:
|
|
||||||
|
|
||||||
|
|
||||||
```sh
|
|
||||||
make clobber alt
|
|
||||||
```
|
|
||||||
|
|
||||||
Finding the 'right' default value was a fine line; the default, 15000
|
Finding the 'right' default value was a fine line; the default, 15000
|
||||||
microseconds (0.015 seconds), will take quite a while to finish but it allows
|
microseconds (0.015 seconds), will take quite a while to finish but it allows
|
||||||
one to more easily see what is going on. Even easier to see would be 25000 but
|
one to more easily see what is going on. Even easier to see would be 25000 but
|
||||||
these values make it quite slow and one could easily lose interest. Like some
|
these values make it quite slow and one could easily lose interest. Like some
|
||||||
other entries where this was made an alternate version he made it
|
other entries where this was made an alternate version it is configurable at
|
||||||
configurable at compile time. If you wish to speed it up by 100% you can instead
|
compile time. If you wish to speed it up by 100% you can instead do:
|
||||||
do:
|
|
||||||
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
make clobber CDEFINE=-DZ=7500 alt
|
make clobber CDEFINE=-DZ=7500 alt
|
||||||
|
./birken.alt < ioccc.txt
|
||||||
|
|
||||||
|
perl -e 'map{map{print int(rand()*8);}(0..16);print chr(10);}(0..30);' | tr '[0-4]' ' '| ./birken.alt
|
||||||
|
|
||||||
|
./demo.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
That will speed it up a fair amount but of course it will still take a while to
|
If you wish to speed it up 200% you can use instead `-DZ=3750`. Doing this
|
||||||
finish. If you wish to speed it up 200% you can use instead `3750`. Doing this
|
you might find the right value to your liking; use ctrl-c to terminate the
|
||||||
you might find the right value; use ctrl-c to terminate the program early.
|
program early.
|
||||||
|
|
||||||
Given that the [original](birken.c) version is easy to see without a delay this
|
### Original code:
|
||||||
slower value shouldn't be a problem.
|
|
||||||
|
|
||||||
Use `birken.alt` as you would `birken` above.
|
Should you wish to see the original without having to mess with the compiler
|
||||||
|
line, try:
|
||||||
|
|
||||||
|
|
||||||
|
```sh
|
||||||
|
make clobber all
|
||||||
|
```
|
||||||
|
|
||||||
|
Use `birken` as you would `birken.alt` above. To use the demo script with the
|
||||||
|
original code, try:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
BIRKEN=birken ./demo.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
PLEASE be careful if you are sensitive to flashing colours!
|
||||||
|
|
||||||
## Judges' remarks:
|
## Judges' remarks:
|
||||||
|
|
||||||
This program also wins the "Most amusing abuse of the iocccsize tool" award; although not the
|
This program also wins the "Most amusing abuse of the iocccsize tool" award; although not the
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
make clobber everything 2>/dev/null
|
make clobber everything 2>/dev/null
|
||||||
|
|
||||||
if [[ -z "$BIRKEN" ]]; then
|
if [[ -z "$BIRKEN" ]]; then
|
||||||
BIRKEN="birken"
|
BIRKEN="birken.alt"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
trap "clear; exit" SIGINT
|
trap "clear; exit" SIGINT
|
||||||
|
|||||||
+3
-1
@@ -1573,7 +1573,9 @@ Along with the [demo.sh](2013/birken/demo.sh) that he added, Cody also added an
|
|||||||
alternate version which allows one to control how fast the painting is done,
|
alternate version which allows one to control how fast the painting is done,
|
||||||
based on the author's recommendations, except that Cody made it configurable at
|
based on the author's recommendations, except that Cody made it configurable at
|
||||||
compile time just like he did with other entries (in all but one it was
|
compile time just like he did with other entries (in all but one it was
|
||||||
alternate code) that use `usleep()`.
|
alternate code) that use `usleep()`. The alternate version and the original
|
||||||
|
version were swapped in the `To build`, `To run` and `Try` sections, with what
|
||||||
|
is normally `Alternate code` being `Original code`.
|
||||||
|
|
||||||
|
|
||||||
## [2013/cable3](2013/cable3/cable3.c) ([README.md](2013/cable3/README.md]))
|
## [2013/cable3](2013/cable3/cable3.c) ([README.md](2013/cable3/README.md]))
|
||||||
|
|||||||
Reference in new issue
Block a user