Tuesday, February 21, 2006

CLIM Screencast - Installation and Hello World

Finally, I was able to do my first CLIM screencast. It's about
installation and writing a little hello world program to give the
viewer a starting point for exploring McCLIM.

The intended audience are developers that have never seen McCLIM in
action before and that need guidance with the Installation and their
first Hello World steps.

Get it via bittorrent:
CLIM Screencast - Installation and Hello World.torrent
. (Please do not link to this torrent directly, as I might change the way I intend to distribute it, please link to the permalink below. I will update this entry when I move things around.)

In the video, I forgot to mention that you can use:

(define-key slime-doc-map "g" 'clim-lookup)
to bind clim-lookup to a key in Slime. Typing "C-c C-d g" will then
invoke clim-lookup. And also here is the code fragment to run
hello-world without the SLIME object pasting magic I unintentionally
used in the video:

(run-frame-top-level (make-application-frame 'hello-world))
Update on video codec: I'm using a regular ISO MPEG-4 encoder. You
will be able to decode this video with any MPEG-4 decoder, but
sometimes (older player have that issue) they do not recognize the
video as MPEG-4 as it contains the new fourcc for ffmpeg. (Background story here.)

Windows users should install a recent version of ffdshow. *nix user can grab a recent version of mplayer. VLC should work as of version 0.8.4.

cryptsetup-luks 1.0.2 out

A new version of cryptsetup-luks is out. Get 1.0.2 at http://luks.endorphin.org.

Saturday, February 18, 2006

New LUKS spec

http://luks.endorphin.org/spec has an update to the LUKS specification. Changes:

  • Added precise AFsplit specification.

  • Removed lrw-plain mode spec as the LRW standardization process is not about to be finished any time soon; will be reintroduced when a normative documentation is released by SISWG.

  • Extended introduction text.

Thanks to Sarah Dean for providing valuable feedback with respect to the AFsplit specification.

Thursday, February 16, 2006

Beautiful XEmacs

XEmacs becomes beautiful. Courtesy of Stephen J. Turnbull, we enjoy
beautiful subpixel rendered fonts in XEmacs. 21.5.24 is the
first release after the sjt-xft branch was merged MAIN.

I suggest to read the release notes to
get an idea how to enable Xft. It's not on per default. You can also
cut&paste my configure "line":

./configure \
'--with-cflags=-march=i686 -fno-strict-aliasing -O2' \
'--disable-error-checking' '--with-png' '--disable-debug' \
'--with-jpeg' '--with-tiff' '--without-gnome' '--with-xpm' \
'--with-xft=emacs,gauges,menubars' '--with-zlib' '--with-xface' \
'--with-athena=3d' '--enable-pdump' '--enable-dump-in-exec' \
'--enable-bignum=gmp' '--enable-menubars=lucid' \
'--enable-scrollbars=lucid' '--enable-dialogs=athena' \
'--enable-widgets=athena' '--without-gtk' '--enable-mule'

To get the same look as on the screenshot, drop that into your .xresources (and make sure they are "xrdb -merge"-ed).

XEmacs.modeline.attributeFont: Bitstream Charter-12
XEmacs.modeline.attributeBackground: gray
XEmacs.default.attributeFont: Bitstream Vera Sans Mono-12
XEmacs.default.attributeBackground: white

Wednesday, February 15, 2006

Screencasting for X11: an FFmpeg screen recorder

vnc2swf, vncrec, xvidcap. Either they can't record audio (vnc2swf,
vncrec) or they can't keep audio in sync (xvidcap). xvidcap is the most
advanced utility but it seem rather unmaintained and I also dislike
the internal code structure (amorphic functions that behaviours
strongly depend on semi-global state variables).

ffmpeg already comes with grabbing code, but only for V4L. The
requirements are not so different from X11 grabbing, so I decided to
hack a new X11 grabber into ffmpeg (after verifying that ffmpeg does
correct A/V syncing).

The result is a working mixture of videograb.c of ffmpeg
and capture.c/xtoffmpeg.c of xvidcap. I'm now able to do screencasts
from X11 where I'm able to comment the things I'm doing via

Here is the patch for ffmpeg-0.4.9-p20051216: ffmpeg-x11-screen-recorder.diff

Compile like:

./configure --enable-x11grab --enable-gpl

Run like:

./ffmpeg -vcodec mpeg4 -b 1000 -r 10 -g 300 -vd x11:0,0 -s 1280x1024 test.avi

The -vd option is required. The two values following the colon
describe the left upper coordinate of the grabbing region. The -s
option describes the grabbing size. I'm using a frame rate of 10fps
(-r 10) and a group size of 300 frames (so you have an intra frame
every 30 seconds).

Thursday, February 9, 2006

#cl-gardeners: a channel for Lisp newcomers!

#lisp on FreeNode is home for many experienced
CL wizard, and not primarily a place for asking trivial lisp newcomer
questions. Of course, not all of these questions are valid. Some of
those people joining #lisp simply want to get their homework done
(preferably by others). But sometimes there are people that seriously
want to learn Lisp. Every single one that is not sucked into the
Common Lisp community is a loss that might not be quantified. And
selfish as I am, I simply dislike the idea that there are any
obstacles for lisp newcomers to start writing lisp code that someday I
might be able to use :).

Now we have a channel, where newcomers can ask question and eventually
get answer by newcomers. It is #cl-gardeners. You don't have to
fortuneteller to predict that sometimes newbies can answer questions
by other newbies better than an experienced CL. And in most cases,
both parties gain knowledge. The unexperienced newbie by getting an
answer, the semi-experienced newbie by repeating his partially
acquired knowledge; you'll find that learning technique in every
serious "teachers handbook".

However, CL wizards that are in a mood for providing help to newcomers
are invited to join #cl-gardeners to share their experience. This
gives #lisp the opportunity to send help seekers to #cl-gardeners when
#lisp is busy with more important stuff or simply doesn't want to give
an answer. (This is also the reason why #cl-gardeners should be on the
same net as #lisp.)

So, if you are interested join #cl-gardeners on FreeNode. Lurking and
idling is totally ok, and actually desired. Please consider
#cl-gardeners as candidate for your autojoin list.

Monday, February 6, 2006

A Guided Tour of CLIM (draft)

is my update to A guided Tour of
, an article that was published in ACM's Lisp Pointers in
1991. This is a draft, so feedback is appreciated. The latex source of
this article is maintained in the McCLIM