After serving the blog part of this site with an ugly Haserl-Lua-CGI hack (although not without input sanitation), it is not running atop something much saner: Skinny, a blog engine written in Emacs Lisp using Elnode, an evented IO webserver in Emacs Lisp, written by Nic Ferrier. (I didn't say "sane;" I said "saner," as in "comparatively sane.")

Yes, I have lost my marbles, and I am enjoying myself immensely. Elnode is a really fun experiment, along with the Elnode apps Nic started and I have picked up, Skinny and Elwiki. Yes, this could be done in Racket, or Common Lisp, but then you don't get the power of a text-processing tool you use every day: your text editor. Emacs also has a much nicer REPL than that of most others. Emacs gives you a fully-fledged text-editor for a REPL; Racket gives you a line-oriented command-prompt.

Of course, Emacs was never intended for use as a web server, Elnode has only just gotten up off the operating table, and other lisp web-frameworks are much more mature, but being sane is boring.

As far as I know, mine and Nic's are the only two sites running on Skinny, and there is still much to be done as we run into more use cases. The other Elnode project I mentioned, Elwiki, is going to replace OddMuse as the engine running EmacsWiki, so Emacs will be hosting its own wiki! A text editor will be hosting its own wiki. Dog food has never been tastier.

I am still trying to figure out the most sane (relatively) way to set up Elnode as a system daemon on Debian, but Elnode is already hosting websites. If you're interested in following Elnode development and use, bug Nic to start keeping a list, on his site, of pages about Elnode. He's already behind.