From 1ebb19e76dd012d636b2836586d26e331ed9ed43 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Sun, 30 Apr 2023 12:08:47 -0700 Subject: [PATCH] Format fix + add try script to 2006/sykes2 The script runs the 'try' section but makes sure to redirect both stderr and stdout to /dev/null as without it it ruins the show. Format fixed README.md. The author suggested to having a table of operator precedence open when looking at the code so I pointed out operator(7). --- 2006/sykes2/README.md | 28 +++++++++++----------------- 2006/sykes2/sykes2.sh | 9 +++++++++ 2 files changed, 20 insertions(+), 17 deletions(-) create mode 100755 2006/sykes2/sykes2.sh diff --git a/2006/sykes2/README.md b/2006/sykes2/README.md index 21b6fe255..f0f22970e 100644 --- a/2006/sykes2/README.md +++ b/2006/sykes2/README.md @@ -1,8 +1,6 @@ # Best One Liner Stephen Sykes -Itäinen koulupolku -Kauniainen Finland @@ -15,26 +13,23 @@ make ## To run: ```sh -./prog +./sykes2 ``` ## Try: ```sh -while :; do - clear - rm -f sykes2 - make sykes2 - ./sykes2 - sleep 1 -done +./sykes2.sh ``` +This will repeatedly remake the program and run it then sleep for one second for +a nice show of time. + ## Judges' Comments: As they say, "Lather, rinse, repeat"! :-) -If you have the time, figure out how this small 1-line entry works! +If you have the time :-), figure out how this small 1-line entry works! ## Author's remarks: @@ -45,16 +40,15 @@ The clock numerals are rendered as an old fashioned 7 segment display. The encodings for which segments light for which number, and for where each segment appears on screen are hidden in the two strings. -When reading the program, you may want to refer to a table of -operator precedence - careful choices were made to keep the usage of -brackets to a minimum, and to keep the character count as low as -possible. +When reading the program, you may want to refer to a table of operator +precedence (try `man 7 operator`) - careful choices were made to keep the usage +of brackets to a minimum, and to keep the character count as low as possible. One interesting bit of obfuscation - the null at the end of the second string actually forms part of the lookup table. -Intel CC warns about the lack of a declaration for the argument to main. -(gcc does not notice this though, even with -Wall.) But anyway it can +Intel CC warns about the lack of a declaration for the argument to `main()`. +(`gcc` does not notice this though, even with `-Wall`.) But anyway it can easily be declared as int at the expense of 4 more characters. I'm not sure of the effects on a hard disk of rewriting the same file diff --git a/2006/sykes2/sykes2.sh b/2006/sykes2/sykes2.sh new file mode 100755 index 000000000..51f237072 --- /dev/null +++ b/2006/sykes2/sykes2.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +while :; do + clear + rm -f sykes2 + make sykes2 2>/dev/null 1>&2 + ./sykes2 + sleep 1 +done