From: Ken A. <kan...@bb...> - 2004-06-16 20:28:11
|
Dick Gabriel http://www.dreamsongs.com/ one said he was forcing himself to write one poem a day as part of becoming a better writer. He had several hundred. I asked if there was something like this a programmer should do. Unfortunately, he didn't think so. Maybe writing a hack a day is the first step. So here's one i started to use yesterday. I wanted a way to remember when i had to leave. If i set a timer and popped up a JOptionPane.showMessageDialog it would appear underneath my EMACS window, so i'd never see it. So i decided to do a beep instead. It actually took a while for me to get my windows machine to beep. Here's the code. (import "java.awt.Toolkit") (import "java.util.Date") ;;; http://www.rgagnon.com/javadetails/java-0001.html ;;; If you are on a Windows machine you may not beep until your reg is ;;; set up right. (define (beep) (.beep (Toolkit.getDefaultToolkit))) (define (sleepUntil date) (Thread.sleep (- (.getTime date) (.getTime (Date.))))) ;;; reminder: String String -> void (define (reminder hour:min message) {Example: (reminder "11:45" "meet at elevator for lunch")} (let* ((d (.toString (Date.))) (d {[(.substring d 0 11)][hour:min]:00[(.substring d 19)]})) (.start (Thread. (lambda () (sleepUntil (Date. d)) (dotimes (i 10) (beep) (Thread.sleep 100L)) (display {It is now [d] [message]\n})))))) |