Welcome to DU! The truly grassroots left-of-center political community where regular people, not algorithms, drive the discussions and set the standards. Join the community: Create a free account Support DU (and get rid of ads!): Become a Star Member Latest Breaking News Editorials & Other Articles General Discussion The DU Lounge All Forums Issue Forums Culture Forums Alliance Forums Region Forums Support Forums Help & Search
 

Phillip McCleod

(1,837 posts)
Mon Mar 4, 2013, 09:50 PM Mar 2013

/* this forum needs more zest and i have just the cure.. */

coding games.*

quick, what language? what does it do?

<code>
print_help() {
printf "usage: that would be cheating now wouldn't it?"
exit 1 }
getYOUR() {
date '+%H' }
getMINE() {
date '+%M' }
getSMURFY_MAN() {
date '+%S' }
KLINGON() {
while true; do
printf '\a'
sleep 3
done
}

### 'main' function ###

if [ "$1" == "-h" ]; then
print_help
fi

if [ "$1" == "-r" ]; then
isrel=1
shift
else
isrel=0
fi

if [ "$#" -ne "2" ]; then
print_help
fi

HOUR=$1
MIN=$2
let "ALM=$HOUR*3600 + $MIN*60"
let "DAY=24*3600"

if [ "$isrel" == "1" ]; then
let "waitsecs=$ALM"
else
let "now=($(gethour)*60 + $(getmin))*60 + $(getsec)"
let "waitsecs=(($DAY - $now) + $ALM) % $DAY"
fi

if (( waitsecs < 0 )); then
echo "You cannot KLINGON in the past!"
exit 1
fi

let "alm_h=($waitsecs/3600)%24"
let "alm_m=($waitsecs/60)%60"
let "alm_s=($waitsecs)%60"

printf "BLURP in: %02d:%02d:%02d " "$alm_h" "$alm_m" "$alm_s"
printf " (%d YERMOM from now)\n" "$waitsecs"

sleep $waitsecs

if [ "$?" == "0" ]; then
KLINGON&
read -n 1 -s
kill $!
fi
</code>

* all formatting has been stripped (thanks DU for not allowing <code> tags), most of the if-then statements were also stripped by DU, and arbitrary variable and function names have been changed (by me, for fun).

also, the usage function and all comments were removed (also for fun), and last but most importantly..

this would NOT run so don't even TRY it but otherwise it WAS working code and besides..

it's fun.

10 replies = new reply since forum marked as read
Highlight: NoneDon't highlight anything 5 newestHighlight 5 most recent replies
/* this forum needs more zest and i have just the cure.. */ (Original Post) Phillip McCleod Mar 2013 OP
javascript? (nt) NYC_SKP Mar 2013 #1
uh-oh. GONG! Phillip McCleod Mar 2013 #2
you deserve a hint though. 'script' was correct. BING-BING-BING! Phillip McCleod Mar 2013 #3
KSH (nt) ChromeFoundry Mar 2013 #4
DING-DING-DING! Phillip McCleod Mar 2013 #5
Looks like it does something like... ChromeFoundry Mar 2013 #6
pretty damn good! Phillip McCleod Mar 2013 #7
Interesting... ChromeFoundry Mar 2013 #8
funny how that works huh? Phillip McCleod Mar 2013 #9
This message was self-deleted by its author Dash87 May 2013 #10
 

Phillip McCleod

(1,837 posts)
3. you deserve a hint though. 'script' was correct. BING-BING-BING!
Mon Mar 4, 2013, 10:04 PM
Mar 2013

rules of the game, partial credit means you get a HINT. the 1st line is missing. here's a hint to what it said:

'i start with crunch and end with not a bang, but a _____'

 

Phillip McCleod

(1,837 posts)
5. DING-DING-DING!
Tue Mar 5, 2013, 08:44 AM
Mar 2013

since ksh scripts are pretty much indistinguishable from bash i'm gonna have to give you this one. it's a bash script.

that was the easy part.. now.. what does it do?

ChromeFoundry

(3,270 posts)
6. Looks like it does something like...
Tue Mar 5, 2013, 02:32 PM
Mar 2013

Accepts up to two numeric inputs: Hours and Minutes..
It then calculates the the total number of seconds specified by the input parameters.
Does a little date/time validation.
Sleeps for the calculated number of seconds.
Reads a single character from standard-input.
Then kills itself.

/*

Maybe I'm way off.. it's been a lot of years since I've done anything notable with UNIX.
I think I could probably rewrite that in PowerShell in less than 70 characters

*/

 

Phillip McCleod

(1,837 posts)
7. pretty damn good!
Wed Mar 6, 2013, 03:25 PM
Mar 2013

the KLINGON function has a line that reads:

printf "\a"

try it in your *SH (tested in BASH)

if nothing interesting happens, make sure your terminal program allows system beeps ('bell on').

it's an utterly simplistic shell-based alarm clock program that will let you set the alarm in relative or absolute clock time. i wrote it one night at a motel when i had a plane to catch and too much 'fun' beforehand. i cleaned it a bit, later, but not much.

once the alarm starts going off, it waits for any keypress to stop it. otherwise your computer will beep into eternity..

ChromeFoundry

(3,270 posts)
8. Interesting...
Wed Mar 6, 2013, 05:15 PM
Mar 2013

Too drunk to wake up, but - Never too drunk to code!!!!

>> >> >> >> >> >> >> >> write-some-code >>

Response to Phillip McCleod (Original post)

Latest Discussions»Retired Forums»Website, DB, & Software Developers»/* this forum needs more ...