01 Nov 2005

Wake Up with Bash

Like so many, I have problems sleeping… and waking up. While I’m not sure what to do about making myself fall asleep faster (the mind just won’t turn off), I am now using this method of waking myself up. It has worked wonderfully for the past week. I have had about 6 hours of sleep each night, and wake up completely refreshed and ready to go. Before this, I would get 7-8, and sometimes 9 hours of sleep, and would wake up dead tired and completely unmotivated; all I wanted to do was check for urgent mail, and fall back into bed. Needless to say, I’m loving the extra few hours in the morning. Maybe I’ll eventually become a “morning person.” (I like the theory of early morning wake up, but I generally hate it in practice :-)).

My method for the “quiet” alarm was to schedule my wake up in Evolution, and have the appointment alarm execute “banshee –play”. I would have a Banshee instance running, paused on a quiet song that would slowly increase volume. Subsequent songs in the wake up playlist would be fairly mellow. The idea is to have the first song fade in, so there’s no abrupt noise to jolt you awake. The fall back alarm is your typical buzzing alarm clock we all despise.

The Evolution approach has actually been fairly annoying. I don’t always like to wake up at exactly the same time, so having recurring wake up appointments just leaves me having to edit the appointment each night. So tonight I wrote a simple timeout shell script that takes a string that is passed to the date program to calculate a timeout.

$ ./wakeup.sh 8am && banshee --play
Terminating on Tue Nov 1 08:00:00 EST 2005
Expires in: 06:12:19

That’s pretty simple. It will then show the full date/time string, so you can verify date properly parsed your wake up time string, and then it will count down the number of hours, minutes, and seconds before “expiring.” This is nice because it gives you an idea of exactly how much sleep you may get (provided you can fall asleep shortly thereafter). When it expires, it will either exec the second argument, or just quit if no second argument was specified, so you can use it just like sleep.

For those interested, the script is here. Happy waking up!

Oh, and Banshee 0.9.9 was released.

WordPress database error: [Table './abockwordpress/wp_comments' is marked as crashed and last (automatic?) repair failed]
SELECT * FROM wp_comments WHERE comment_post_ID = '21' AND comment_approved = '1' ORDER BY comment_date

Leave a Reply

Note: My Blog is actually not a technical support forum. Please use our wonderful Banshee community resources or just file a bug. I will delete comments that are really just bug reports unless they amuse me and I feel inclined to reply with wit or sarcasm. Also, be nice. I don't like flaming zealots.