A break for advertising (and a bit of synchronicity)

(No Lisp content here, move along, planet.lisp reader…)

For a few months now, I’ve been heckling Mac DVD burning software authors to provide full DVD+RW support (as in, the ability to append files to a burned DVD+RW, the way growisofs and its amazing front-end, k3b do on Linux). To no avail. I got all sorts of lame excuses, from lack of hardware support to no interest.

To spite those lazy burning application authors, I decided to do it myself. Using the freshly ported growisofs (lack of hardware support, hah), I wrote a horribleproof-of-concept application that was able to add files to the file system of a DVD+RW medium. When I discovered that the author of BurnAgain (which did what I wanted, only for CDs) lives only a few streets away from me, I immediately pitched my idea to him. And he agreed! I gave him my proof of concept, and now he has delivered a complete product: Behold the shiny BurnAgain DVD!

If you have a Mac, and are interested in DVD creation, you really should buy it (or give it a try, it comes with 20 trial burns). No other product (not the Finder, not Toast and certainly not Disco) can do what it does: Incrementally add files to a DVD medium.

More Quicksilverification

Hacked on the SSH Plugin some more. Now it can do:

  • Connections to hosts that are not in the index. Type . (the period character) to enter Text mode, enter a host name and select the “Open SSH Connection” action.
  • Connections to hosts with non-default user names. Use the “Open SSH Connection as User…” action for that.
  • Oh, and there’s some documentation!

I’m declaring this feature-complete. If you installed the previous, pretest version, you will have to remove the “SSH Plugin” before installing the new one: Open Preferences, Plug-ins, select the SSH Plugin and use “Delete selected Plug-ins”.

Get the new version here: DMG. As always, there’s the source (MIT licenced) and git repository, too.

Hacking Objective C for fun and profit: An SSH plugin for Quicksilver

In a recent entry, I compared deskbar-applet with Quicksilver and introduced a plugin I had written. Well, I now own a macintosh, and so I wanted Quicksilver to gracefully handle SSH connections, too.

Of course, it’s possible to make a safari/mozilla/omniweb bookmark of the form ssh://some-host/ and have quicksilver add them to its index, but that gets old quickly. I want all hosts in my known_hosts file to be available, and I don’t want to type in all 23 of them - again. So I had to write my own SSH plugin, which turned out to be fun.

Quicksilver is pretty badly documented, but the kind people on #quicksilver were very helpful — thanks, ytrewq2! — and so I managed to create a working plugin.

Here’s a pretest version that reads in known_hosts (user and system-wide) and the ssh client config and makes them available as ssh URLs. I have some bigger plans with that, but for now this works well enough for me: updated DMG (see), source (MIT licenced), git repository

Incidentally, this was my first contact with Objective C. It feels like a nice language, and the development environment (Xcode) is pretty awesome. There’s very high-quality documentation for everything included — except Quicksilver internals, of course. (-:

A ssh plugin for deskbar-applet

(No Lisp content in this one, move along.)

I’ve started using Ubuntu GNU/Linux on my laptop, and I must say I rather like it. I was an ion user for a long time, and hadn’t thought I would so readily accept the gnome desktop. Well, it’s all working pretty smoothly, and with deskbar-applet bound to F4, it feels a bit like ion, except that by default, it doesn’t let you quickly open a terminal with a new ssh connection to a host.

Well, not anymore. Download the deskbar plugin ssh.py into your ~/.gnome2/deskbar-applet/handlers/ directory, put the ssh-to script into a directory on your PATH, select the “ssh” plugin in the deskbar preferences, and you’re ready to go.

The plugin searches through non-encrypted entries in your ~/.ssh/known_hosts and Host entries in ~/.ssh/config. To open a SSH connection to a host, activate deskbar, type in a host name (ssh://hostname is also accepted) and select the “SSH to [hostname]” option. A new terminal window that contains your ssh connection should pop up.

Hint for ex-ion users like me: I made the SSH the highest-priority plugin and set the deskbar activation key to F4, so I have to type just F4, the hostname, and return. (-:

Hacks

Here’s some stuff I’ve been working on:

Common Lisp

  • I do some administrative work for the SBCL project
  • I helped resurrect iterate from the CMU AI repository. Joerg Hoehle and Attila Lendvai are taking good care of it now.
  • I wrote a UBF encoder/decoder for Common Lisp when I was bored. (see)
  • I wrote Autobench to burn CPU cycles on this box.
  • A VT100 screen scraper I wrote during my time at SILVER SERVER Gmbh was released as Open Source software.

See also my blog’s category Lisp

Non-Lisp hacks

Watch history unfold at my blog’s category Hacks.