[ Content | Sidebar ]

Archives for programming

List outgoing changesets in Git

I normally use Git for my personal projects but at work I use Mercurial. While I prefer Git overall, Mercurial has some nice commands that are missing from Git. One particularly useful one is hg out which prints the changesets in your local repository that are missing from the remote. Here is a simple script […]

Chicken SLIME describe and apropos

The latest version of swank-chicken.scm now supports describe (C-c C-d d) and apropos (C-c C-d a) commands using the chicken-doc egg. Here’s an example: This apropos window works too: hit C-c C-d a, type a regexp, and a popup window will list the matching symbols; hit enter on the one you’re interested in and you […]

Update to Chicken SWANK server

I’ve made some improvements to the Chicken Scheme SWANK server I posted previously. Thank you to all the people who emailed me about it! I’ve fixed several minor bugs and implemented some new features: The SLIME autodoc minor mode now works giving more detailed parameter hints. For example: Autodoc is not enabled by default so […]

Scheme on TV

Here’s a collection of interesting Scheme videos you can watch instead of the usual Christmas TV: http://programming-musings.org/2009/12/23/scheme-lectures-mostly The Guy Steele Designing by Accident talk on the history of Scheme is really good (download the slides first). Watch the Gerald Sussman one too (it’s short!). Also, who doesn’t want to know the value of ((call/cc call/cc) […]

Using SLIME with Chicken Scheme

Common Lisp programmers are blessed with the awesome SLIME development environment for Emacs; but sadly Schemers have nothing comparable. There are a few SLIME backends for various Schemes around, in varying states of completeness, but as far as I can tell none for my Scheme implementation of choice: Chicken Scheme. Therefore I present swank-chicken: a […]

Qemu resizing blurriness

Are you annoyed when Qemu randomly resizes its window causing all the text to be scaled and blurred? Maybe it’s just my window manager, but here is a trivial patch to disable that annoying feature: — sdl.c.old 2010-09-25 13:30:48.000000000 +0100 +++ sdl.c 2010-09-25 13:30:50.000000000 +0100 @@ -102,7 +102,7 @@ // printf(“resizing to %d %d\n”, w, […]

Cowshell

Blodgett just reminded me of another useful tool we made a few years ago: cowshell! Cowshell provides a more user-friendly interface to the Linux shell by wrapping the output in multi-coloured cows. Here is an example session: Cowshell is a Perl script that you can acquire here. You will need cowsay and maybe some Perl […]

My first WordPress plugin

I’ve written a WordPress plugin to generate a browser for all the NextGEN Gallery albums that you have. You can see it in action on my photos page. To install you must be using the NGG plugin (obviously) and then just place ngg-album-browse.php in your wp-content/plugins folder. Activate it, then you can use the following […]

Giraffify

A few years ago blodgett and I developed a useful tool for visualising what would happen if you grafted someone’s face onto a giraffe. We implemented this ground-breaking tool in GIMP script-fu and promptly forgot about it. I only rediscovered it recently when clearing out my home directory. Here is the program’s best guess at […]

Cute objcopy hack

I learned a useful trick today for embedding arbitrary data in an ELF executable. This is an easy way bundle RAM disks and other resources when you’re running on bare hardware. The first step is to turn our binary data into an ELF object file: echo yahyahyah > yah objcopy -I binary -O elf32-i386 -B […]