Friday, 18 May 2007 dies dies in 3 days. I can't justify spending 25 EURs on extending the domain subscription, as nobody of my co-developers showed any partical interested in fueling this social attractor.

If anyone is interested in reviving a Common Lisp developer group in Austria, feel free to contact me (preferably before the 21th of May).

Thursday, 17 May 2007

Liskell at the International Lisp Conference 2007, Cambridge, UK

It's been over a month since I returned from Cambridge and still I have not found time to blog an epilogue for this trip.

First, here is the material: Liskell presentation-ILC This is a screencast of my talk at the International Lisp Conference 2007; one of the two presentations I have given in Cambridge. Notice that this talk was prepared for a Lisp audience, so my job was to highlight the features of Haskell. The other talk in Cambridge was at Microsoft Research and I plan to make this talk available in a similar style (but with the objective to sell Lisp ideas to a Haskell audience).

A few remarks:

  • The implementation of cond as defmacro is a pedagogical code mock-up. It operates on the wrong data structure. The Liskell paper has a correct implementation of cond as defmacro.
  • There are a few errors in the codec stream for qtrle. For some reasons, my recent sync with ffmpeg subversion HEAD caused this trouble. There are only 3-4 errors, and they are usually corrected in a few seconds with the next Pframe in the stream.
  • Levelator rox. I spent about 2 hours finding suitable settings for mastering my voice track in Audacity with no useful results at all. The first try with Levelator was a perfect mastering. Lovely.
  • The liskell-mode you see in this video is just a tiny minor mode wrapping haskell-mode with scheme indention. A video on how to set up this development environment is also on my todo list. Grab liskell-mode.el.
Audio and video recordings of the original session are available. But unfortunately, the video is incomplete and the quality is insufficient for reading anything from the projection, also the background noise of the audio recording is quite high. I recommend to download the screencast above. The slides and source code files are available here.

And finally a few photos in my semi-private flickr stream.

Monday, 14 May 2007

Liskell — my favorite Lisp+Haskell pet — has a new website, namely There you will find a new branch of Liskell based on GHC-6.6 and a new Liskell development mailing list

Monday, 7 May 2007

Happy Birthday LUKS!

Two years ago on the 25th of March 2005, I bumped the version of cryptsetup-luks to 1.0. With the release of cryptsetup-luks 1.0.5, the LUKS reference implementation -- and arguably LUKS itself -- is more than 2 years old! With this release, the LUKS branch of cryptsetup is relabelled (in accordance with Christophe Saout) and cryptsetup-luks becomes the original cryptsetup.

Number one hit on Google for "LUKS" was once the American painter George Luks. I'm sorry George, but we have taken over. The term "LUKS" is now a synonym for "Linux Unified Key Setup". LUKS is now part of any major distribution, Debian includes it with their installation suite, Gnome can talk to it via a HAL module. I am quite satisfied with my first free software project, although my recent addiction to Lisp/Haskell/Liskell makes it a bit harder for me to code C.

It's interesting, how live changes in just two years. It's interesting how your personal interests change in just two years. I shifted my attention from capital markets, to Lisp, to Genetic Programming, to Typing, to Haskell, to Liskell, to static reasoning about programs in a non-turing complete language. "Making good cookies" and "world domination" are the next on my list.