Home
entries friends calendar user info
Prael

Advertisement

Add to Memories
Tell a Friend

EMT-Basic Application Summary:
Application Confirmation ID: xxxxxxxxxx
Application Created: 11/15/2007 4:14:00 PM (CST)

Authorization To Test Delayed
Your Application to Test process is almost complete but the NREMT is unable to submit a request for an Authorization to Test to Pearson/Vue. The State of Kentucky requires successful completion and verification of your Practical Skills which has not been electronically submitted to the NREMT by the state office.

Once that verification is received by the NREMT, please allow 1 to 2 business days for the Authorization to Test to be issued. At that time, you will be able to print your Confirmation Letter from this web page which will instruct you as to the action necessary in order to schedule your test with Peason/Vue.

—————————————————————–

I had started the class in mid August, and passed it on Dec. 6th. I’ve been staring at this since December 8th. That’s the day we took the practicals for the actual license. Ever since then I’ve just been checking every day, seeing this every day, taunting me, driving me mad. But *finally* today, it wasn’t there anymore. It let me schedule my license exam. I’ll be taking it Jan. 10th at 14:00, so I have just under a week to cram like hell so I can pass it, so I can wait another 6 weeks for it to actually be mailed to me, so I can make the same money I would flipping burgers (I’m not kidding).

But then, it’s still better than selling my soul one super size at a time.

Tags:
Current Mood: relieved
Current Music: Cruciform Injection - Dark House

Add to Memories
Tell a Friend
So it's 3AM, I'm sitting here poking through cl-irc's sources, and I come across an eliza bot amongst the examples. Nifty.
While playing around with it (I wonder if I could make it a bit more flexible by reimplementing it using cl-ppcre?) I got to thinking, I wonder if there's a Last.FM group for StumpWM users? So I hit Google and type in "last.fm stumpwm" and what do I see? My previous blog about cl-audioscrobbler is the 4th result LOL.

(Edit)

Now this very post is 4th! The other moved down to 5th LOL.

Tags:
Current Mood: awake
Current Music: Project Pitchfork - Our Destiny

Add to Memories
Tell a Friend
So as I'm learning Common Lisp, as I usually do in a new language, I decide to write an IRC bot. It has been quite an interesting experience. Having had the general framework figured out I started to make it actually do some things, google searches, quotes, etc...
I also recently set up a last.fm account at http://www.last.fm/user/Cogita/ and had nothing better to do on New Year's Eve, so I thought it would be nifty if I had my bot interact with last.fm in some way, and I found a handy library to do just that, cl-audioscrobbler.

But it always set the time the song played to 6 hours before I actually played it. It was easy to figure out what was going wrong, given I'm in CST, or UTC-6. Last.fm's API specifies: "UTC date/time in YYYY-MM-DD hh:mm:ss format". cl-audioscrobbler was sending my *local* time.

So I found the bit of code that figures out what time it is in src/tools.lisp, and naively tried to simply add 6 hours to whatever it produced. Naturally, that didn't work out so well, and I wound up with something that kinda sorta worked but was hugely complicated and ugly. Then I found the un-braindead way to do it.

Change
(get-decoded-time) to (decode-universal-time (get-universal-time) 0)

It's not much, and chances are cl-audioscrobbler's author has already found and fixed this (it was obvious looking at the sources that 1.2 support was already well underway), but I sent him a quick note about it anyway.

But, it was the first bug in Lisp I've ever fixed that wasn't in my own code, so I'm still pretty happy about it.
 

Tags:
Current Mood: happy
Current Music: Wumpscut - Total War

Add to Memories
Tell a Friend
I've broken out the color values, added currently playing song info to the mode-line, got rid of the trailing newline from the date, and added some keybindings to control music playback.

--- cut ---------------------------------------------------------------------------------------------------------

; -*-lisp-*-

;;; .stumpwmrc 0.2



(in-package :stumpwm)



;;; Variable definitions.



(defparameter FOREGROUND-COLOR "green")
(defparameter BACKGROUND-COLOR "black")
(defparameter BORDER-COLOR FOREGROUND-COLOR)



;;; Function definitions (used internally).



;;; Taken from http://en.wikipedia.org/wiki/User:Gwern/.stumpwmrc
(defun cat (&rest strings) "A shortcut for (concatenate 'string foo bar)."
  (apply 'concatenate 'string strings))



;;; Colors.



;;; Window border colors.
(set-focus-color FOREGROUND-COLOR)
(set-unfocus-color BACKGROUND-COLOR)
  
;;; Input box colors.
(set-bg-color BACKGROUND-COLOR)
(set-fg-color FOREGROUND-COLOR)
(set-border-color BORDER-COLOR)

;;; Modeline colors.
(setf *mode-line-background-color* BACKGROUND-COLOR)
(setf *mode-line-border-color* BORDER-COLOR)
(setf *mode-line-foreground-color* FOREGROUND-COLOR)

;;; Background.
(run-shell-command (cat "xsetroot -solid " BACKGROUND-COLOR))



;;; Init stuff.



;;; Make frames 1-indexed.
;;; See: http://lists.gnu.org/archive/html/stumpwm-devel/2006-08/msg00002.html
(setf *frame-number-map* "1234567890")

;;; Rename the first group to "Browse".
(setf (group-name (first (screen-groups (current-screen)))) "Browse")
;;; Create the other groups.
(run-commands "gnewbg Edit" "gnewbg Term" "gnewbg Chat")

;;; Change the prefix key
(set-prefix-key (kbd "C-z"))

;;; Set up X cursor and colors.
(run-shell-command (cat "xsetroot -cursor_name left_ptr -fg " BACKGROUND-COLOR " -bg " BORDER-COLOR)) ; Colors swapped here.

;;; Keep the mouse pointer out of the way.
(run-shell-command "unclutter -idle 5 -jitter 5 -root")

;;; Configure and start the modeline. Colors are handled above.
(setf *mode-line-border-width* 1)
(setf *mode-line-pad-x* 1)
(setf *mode-line-pad-y* 1)
(setf *mode-line-position* :bottom)
(setf *mode-line-timeout* 10) ; Update every 10 seconds if nothing else has triggered it already.
(setf *screen-mode-line-format* (list "[%n] [%w] [" ; Current group and frames
                                      `(:eval (run-shell-command "mpc | head -n 1 | tr -d '\\n'" t)) ; Current playing song
                                      "] [" ; Just a spacer
                                      `(:eval (run-shell-command "date '+%a %b %e %H:%M' | tr -d '\\n'" t)) ; Current time
                                      "]"))
(run-commands "mode-line")



;;; Keyboard shortcuts.



;;; Applications.
(define-key *root-map* (kbd "b") "exec firefox ")
(define-key *root-map* (kbd "e") "exec xemacs ")
(define-key *root-map* (kbd "c") (cat "exec xterm -fg " FOREGROUND-COLOR " -bg " BACKGROUND-COLOR " +cm "))

;;; MPD control.
(define-key *root-map* (kbd "Up") "exec mpc volume +10")
(define-key *root-map* (kbd "Down") "exec mpc volume -10")
(define-key *root-map* (kbd "Left") "exec mpc prev")
(define-key *root-map* (kbd "Right") "exec mpc next")
(define-key *root-map* (kbd "P") "exec mpc pause")

Tags:
Current Mood: geeky
Current Music: Run Level Zero - My Tormentor

Add to Memories
Tell a Friend
I've always used Fluxbox ( http://www.google.com/search?q=fluxbox ), as it's small, clean, and efficient.

Once in a great while, I'll try something else. XFCE, WindowMaker, IceWM, E16/E17, other Blackbox forks,
etc..., but eventually, I invariably wind up going back to good 'ol Fluxbox, which is now at 1.0.

None of them ever seemed quite right though. Not even Fluxbox. My first experience with Unix was
Slackware 3.6 at Votech, soon after which I installed Slackware 4.0 on my computer at home and had no GUI
for 6 months as XWindows did not support my video chipset at the time.

After the first week, I didn't miss it. I had become a commandline junkie. Everything I wanted to do I could
do just fine, and kept everything organized with virtual terminals and screen and suchlike, and it was vastly
quicker to move around and actually *get things done*. The only thing missing were images in webpages, and I
didn't care as they're usually ads anyway and this was long before the whole "Web 2.0" craze and
lynx/links/w3m/etc... were fine.

But a GUI is damn convenient for some things. Text mode browsers just don't cut it anymore. There's perfectly
usable commandline IM and IRC and mail clients, but their GUI counterparts like Pidgin and XChat and Sylpheed
are just more efficient for me (though, I've yet to find a GUI music player that isn't complete trash).So
I've always wanted a happy medium.

I've tried various other window managers that seemed like they could approximate that blissful commandline
experience like Ion, Ratpoison, XMonad, etc... but they all had their problems. Ion and Ratpoison seemed too
static and hard to customize. XMonad was ok... but I don't particularly like purely functional languages.

The last few months off and on, I've also been attempting to learn Common Lisp and in the process of such, I
came across StumpWM. A heavily customizable tiling keyboard driven window manager written entirely in
Common Lisp, appropriately enough written by the same guys as Ratpoison. And I think I've finally found a
new love. The best part is there's basically 0 learning curve if you've used screen
( http://en.wikipedia.org/wiki/GNU_Screen ) before. The quickest way to get an idea of what I'm talking about
is to just watch the video at http://www.archive.org/details/TheStumpWMExperience . Archive.org managed to
break the flash version so just download the Ogg Theora version, the video's probably smaller than your
current GUI anyway.

http://www.nongnu.org/stumpwm/
http://stumpwm.antidesktop.net/
http://en.wikipedia.org/wiki/Stumpwm

With that, I'll include my noobish configuration for StumpWM that so far doesn't do a whole lot more than
give it a nifty monochrome look. There are much more interesting examples at the above sites, and I have many
ideas that I intend to implement. You'll notice of course, that this is in fact executable Lisp code.
That's how StumpWM rolls.

--- cut -----------------------------------------------------------------

; -*-lisp-*-


(in-package :stumpwm)



;;; Colors.



;;; Window border colors.
(set-focus-color "green")
(set-unfocus-color "black")

;;; Input box colors.
(set-bg-color "black")
(set-fg-color "green")
(set-border-color "green")

;;; Modeline colors.
(setf *mode-line-background-color* "black")
(setf *mode-line-border-color* "green")
(setf *mode-line-foreground-color* "green")

;;; Background.
(run-shell-command "xsetroot -solid black")



;;; Init stuff.



;;; Make frames 1-indexed.
;;; See: <http://lists.gnu.org/archive/html/stumpwm-devel/2006-08/msg00002.html>
(setf *frame-number-map* "1234567890")

;;; Rename the first group to "Browse".
(setf (group-name (first (screen-groups (current-screen)))) "Browse")

;;; Create the other groups.
(run-commands "gnewbg Edit" "gnewbg Terms" "gnewbg IRC" "gnewbg IM" "gnewbg Misc") ; 6 "desktops" total.

;;; Change the prefix key
(set-prefix-key (kbd "C-z"))

;;; Set up X cursor and its colors.
(run-shell-command "xsetroot -cursor_name left_ptr -fg black -bg green")

;;; Keep the mouse pointer out of the way.
(run-shell-command "unclutter -idle 5 -jitter 5 -root")

;;; Configure and start the modeline. Colors are handled above.
(setf *mode-line-border-width* 1)
(setf *mode-line-pad-x* 1)
(setf *mode-line-pad-y* 1)
(setf *mode-line-position* :bottom)
(setf *mode-line-timeout* 10) ; Update every 10 seconds if nothing else has triggered it already.
(setf *screen-mode-line-format* (list "%g | %w | " `(:eval (stumpwm:run-shell-command "date '+%a %b %e %H:%M'" t))))
(run-commands "mode-line")



;;; Keyboard shortcuts.



(define-key *root-map* (kbd "b") "exec firefox ")
(define-key *root-map* (kbd "B") "exec dillo ")
(define-key *root-map* (kbd "e") "exec xemacs ")
(define-key *root-map* (kbd "c") "exec xterm -fg green -bg black +cm ")

Tags:
Current Mood: geeky
Current Music: Die Form - Vertex

Add to Memories
Tell a Friend
New year, new blog. Why not?
profile
User: [info]prael
Name: Prael
calendar
Back January 2008
12345
6789101112
13141516171819
20212223242526
2728293031
page summary
tags

Advertisement

Customize