Tagged as LISP, Programming
Written on 2008-10-23 05:34:39
Something non-techy for starters, Don Gerz has posted
three separate entries about
Alan Moore's Watchmen in the last week. In two days, actually. And (perhaps due to my prodding) Kris Osterhage threw up a post mentioning
his Watchmen experience among other things. It's fun. Maybe I should try to re-read it and write a nice essay before the movie comes out in March.
I haven't been getting quite enough done lately but what else is new. I have been learning some good things and as always there's good stuff coming down the pipe. I've banged out the features I thought my version of hangman was most lacking,
a real word-list\dictionary and
a fix for a bug I may not have mentioned. If a letter occurred more than once in a word (i.e. "o" in "cook") and was guessed only the first instance of the letter would show up. Those fixes are committed and I'm moving on to things like the
cleanup suggestions Xach made and then who knows.
Finishing
PCL is probably next on the priority list. I took some crappy notes which I keep telling myself to turn into a "Common Lisp for Schemers" series of articles but I haven't gotten around to it. Maybe because I'll just embarass myself but that's what the internet is for so I'll probably do it anyway. I've also been wanting to finish the Picture Language stuff in SICP 2.2. But whenever I try to load the
SICP module in DrScheme my CPU utilisation goes through the roof and it just sits there for a while. Personally, I'm not one for waiting as this seems to happen with
any module on PLaneT. It's probably just me though and I'm willing to look into it more later. There are some
.scm files for MIT-Scheme on the SICP site and I'm still considering what to do.
Also, I've been peeking at Scheme implementations again. I'm still fond of the massive concurrency option of Gambit/Termite and I like DrScheme for it's strong community and many good features...but my heavens, Chicken Scheme is
armed to the teeth with eggs. Is it even for real? That looks like fun to me. Implementation surfing is a dangerous distraction when you should be writing code though. I'll worry more about scheme implementations when I bang out a x86_64 edition of
RedLinux before college starts (hopefully in the Spring). I'll write more about that tomorrow but I've been
worrying about my upgrade path for a while now and going back to school has brought some of those issues back to the front for me. My laptop positively refuses to get on a secured wireless network. Now, that's probably something to fix with a usb wifi card or something but the battery life is also under an hour. I'll just say I've been thinking about it a lot and come to some conclusions.
Additionally,
OOPSLA and
Lisp50 just wrapped up. I really wanted to go but I wouldn't have been much more than a fanboy at this point and my funds were limited. Hopefully videos of a few talks and more blogging on the conference will trickle out. The clatter about
clojure continues to grow too. It's something worth keeping an eye on no doubt.
Last but not least, more mercurial fun tonight. What you didn't guess from the title? I found two good sources on Mercurial today. The first was a general
mercurial guide and the other dealt with
emacs integration. On to some quick tips.
Let's assume you forgot to setup your username in .hgrc and you've just fired off the old add-commit. You haven't pushed (and we'll assume no one had the ability to pull) yet so no one has to know about your silly mistake and crazy machine name. Just run
hg rollback
to eliminate that last commit but be forewarned that you can't rollback a rollback. For simpler cases where you've added, removed or something similar but haven't committed yet just use
hg revert
. You can also use
hg revert filename
to undo changes to a particular file.
Also, I'm enjoying using mercurial.el in emacs. Just drop mercurial.el into your emacs/site-lisp directory and
(require 'mercurial)
into your .emacs file.
C-c h s
does hg-status and
C-c h c
will start a commit but allow you to unmark any files you don't want to commit before doing so.
C-c h a
is hg-add and
C-c h U
is hg revert,
C-x v u
being for the current file only.
C-c h <
works as hg-pull and
C-c h u
is hg-update. Finally,
C-c h >
is hg-push. There you have it folks. Mercurial in a paragraph. I'm a bit tired so that's all for tonight. See you tomorrow.