icsy - I Can't Sleep Yet!
a silly alarm for people with not-so-silly deadlines
The general consensus is that naps are pretty good. Many studies have shown that a 20-30 minute nap helps refresh a tired brain. When I get back from my classes, or if I'm working late at night, I like to take a short nap to keep myself from writing down absolute gibberish on my work. Unfortunately, when I set my alarm for 30 minutes, I typically wake up about 2 hours later because I shut the alarm off while I'm still mostly asleep. I've tried everything from setting the alarm across the room to hiding it and none of that seems to help. So, I came up with icsy, a simple alarm that prevents you from falling asleep.
Installation
No installation necessary. Arch Linux users might want to use the provided package in the AUR.
Usage
Usage is simple:
- Set the amount of time you want to sleep.
- When that time is up, icsy will start the alarm.
- Press enter to shut the alarm off. icsy will start asking you a few simple math questions to get you to wake up.
- If you answer any questions incorrectly and fall back asleep, a snooze alarm will go off later.
You can find detailed configuration instructions by invoking icsy -h. You can change the alarm time, snooze time, number of questions asked, alarm sound to play, and even specify a custom wakeup command.
Sample
$ icsy -t 2 -s 5 -n2 setting alarm for 2 seconds press enter when awake starting snooze timer for 5 seconds are you __really__ awake? what is 5-53? 0 what is 82+20? 0 0/2 correct... try again what is 34+90? 124 what is 28+47? 75 :) everything was correct now get back to work!
Other Notes
If you have any comments, feel free to contact me. This software is licensed under the MIT License. See the LICENSE file for more details.
Future Work
I'd like to improve the question module a bit so that it asks you different kinds of questions. A configuration file to store new defaults would be nice, too. Also, there is an unfortunate bug whereby Ctrl-C is captured, which may cause the alarm program to quit.
Changelog
- 0.9 - initial release
