Merge pull request #1044 from xexyl/2013-dlowe-updates

This commit is contained in:
Landon Curt Noll authored and GitHub committed 2023-10-13 07:02:03 -07:00
commit 4df4aadd75
4 files changed
+18 -26

No files matched your search

+7 -17
View File
@@ -24,17 +24,9 @@ make
./dlowe 16 32 64 128
./dlowe 16 32 64 128 256
./dlowe 16 32 64 128 256 512
echo "sparkline of file sizes: $(wc -c * | awk '{print $1}' | xargs ./dlowe)" # or ./slen.sh
./dlowe 0
echo "sparkline of file sizes: $(wc -c * | awk '{print $1}' | xargs ./dlowe)" # or ./slen.sh
```
./dlowe 0
echo "sparkline of file sizes: $(wc -c * | awk '{print $1}' | xargs ./dlowe)" # or ./slen.sh
echo "sparkline of file sizes: $(wc -c * | awk '{print $1}' | xargs ./dlowe)" # or ./sflen.sh
```
Alternatively, for the lazy or those short on time, try:
@@ -51,10 +43,9 @@ echo 'IOCCC 2013' > ioccc.txt
rm -f ioccc.txt
```
?
To make it simpler to see try showing just the last two lines:
To make it simpler to see try showing just the different line like:
```sh
./demo.sh | tail -n 2 > 1.txt
@@ -79,8 +70,8 @@ something funny (or will it ? :-) ) and when will it do nothing?
We liked how this entry used Unicode, specifically UTF-8, in a somewhat obfuscated way.
Also, why doesn't it crash, and produces a correct output when called with one argument
or when all arguments are equal?
Also, why doesn't it crash but instead produces a correct output when called
with one argument or when all arguments are equal?
For extra fun, compile and run [fun.c](fun.c):
@@ -106,7 +97,7 @@ and with clang (3.3), we get
-2147483648 0 2147483647
```
and with Apple clang version 15.0.0 (clang-1500.0.40.1) we get:
and with Apple clang version 15.0.0 (clang-1500.0.40.1) in 2023, we get:
```
1840985120 -2033041452 35979112
@@ -117,7 +108,6 @@ Which one is correct? :)
NOTE: `make all` will compile [fun.c](fun.c) but to provide a different compiler
you can do something like:
```sh
make CC=clang fun
```
@@ -140,10 +130,10 @@ $ echo "sparkline of file lengths: $(wc -c * | awk '{print $1}' | xargs ./sparkl
sparkline of file sizes: ▁▁▁▃▃▂▁▂▁▁▉
```
NOTE: this has been provided in [slen.sh](slen.sh) so you can try:
NOTE: this has been provided in [sflen.sh](sflen.sh) so you can try:
```sh
./slen.sh
./sflen.sh
```
instead.
+3 -4
View File
@@ -1,7 +1,6 @@
#!/usr/bin/env bash
make clobber all || exit 1
make all || exit 1
echo "$ ./dlowe 0 1 2 3 4 5 6 7"
./dlowe 0 1 2 3 4 5 6 7
echo
@@ -17,5 +16,5 @@ echo
echo "$ ./dlowe 0"
./dlowe 0
echo
echo "$ ./slen.sh"
./slen.sh
echo "$ ./sflen.sh"
./sflen.sh
@@ -1,3 +1,5 @@
#!/usr/bin/env bash
make all || exit 1
ln -sf dlowe sparkl
echo "sparkline of file lengths: $(wc -c ./* | awk '{print $1}' | xargs ./sparkl)"
+6 -5
View File
@@ -1641,15 +1641,16 @@ Cody added the source code that we suggested one should compile and run with
different compilers as [fun.c](2013/dlowe/fun.c). He modified the Makefile so
that running `make all` will compile it, saving you the effort.
He also provided the script [slen.sh](2013/dlowe/slen.sh) which is based on the
author's remarks, giving a script that shows the spark line of the file lengths
(as in `wc -c`), fixing it for shellcheck. These fixes were applied in the
author's remarks as well.
He also provided the script [sflen.sh](2013/dlowe/sflen.sh), fixing it for
shellcheck, which is based on the author's remarks, giving a script that shows
the spark line of the file lengths (as in `wc -c`). These fixes were applied in
the author's remarks as well.
Since the author called the program `sparkl` Cody modified the Makefile so that
running `make all` will create a symlink to `dlowe` as `sparkl`. Running `make
clobber` will delete both and running `make clobber all` will ensure that the
symlink is created.
symlink is created. The `sflen.sh` script also explicitly makes sure to create
the symlink as it uses it, even though it runs `make clobber all`.
Cody also added the [demo.sh](2013/dlowe/demo.sh) script to more easily try the
program.