Recent Blog Posts

Haunt 0.2.3 released

November 25, 2018

I am pleased to announce the release of Haunt version 0.2.3. This release adds support for podcasting. The existing Atom feed support was extended to render “enclosures”, the construct for linking to external files, such as an OGG file containing a podcast episode. Additionally, Christopher Lemmer Webber (you may know them from their work with GNU MediaGoblin and the ActivityPub federated social media specification) contributed RSS feed support, which will allow podcasts that use Haunt to work with podcasting applications that do not understand Atom.

read more ➔

Guile-SDL2 0.3.1 released

October 16, 2018

I'm happy to announce that Guile-SDL2 0.3.1 has been released! This is a simple maintenance release that adds support for the upcoming Guile 3.0 featuring JIT compilation. However, one new SDL2 binding has snuck in. Thanks to Eero Leno for wrapping the SDL_SetRenderDrawColor function!

read more ➔

Chickadee 0.3.0 released

October 16, 2018

I'm happy to announce that Chickadee 0.3.0 has been released! It has been more than a year and a half since the last release so I figured it was about time!

read more ➔

I will be presenting about GNU Guix at LibrePlanet 2018

March 10, 2018

If you're in the Cambridge, MA area or already planning to attend the LibrePlanet 2018 free software conference, come learn about functional package management at my talk: Practical, verifiable software freedom with GuixSD.

read more ➔

Haunt 0.2.2 released

March 10, 2018

I am pleased to announce the release of Haunt version 0.2.2. This release contains bug fixes accumulated over the past year.

read more ➔

Haunt 0.2.1 released

January 23, 2017

I am pleased to announce the release of Haunt version 0.2.1. This release features a new reader for the Markdown format via guile-commonmark as well as small improvements to the Atom feed generator and documentation.

read more ➔

Haunt 0.2 released

April 24, 2016

I am pleased to announce the release of Haunt version 0.2. This release features new readers for the Texinfo and Skribe markup formats, an Info manual, small improvements to the Atom and blog builders, and bug fixes.

read more ➔

Ruby on Guix

August 30, 2015

I’ve been working with Ruby professionally for over 3 years now and I’ve grown frustrated with two of its most popular development tools: RVM and Bundler. For those that may not know, RVM is the Ruby version manager and it allows unprivileged users to download, compile, install, and manage many versions of Ruby instead of being stuck with the one that is installed globally by your distro’s package manager. Bundler is the tool that allows developers to keep a version controlled “Gemfile” that specifies all of the project’s dependencies and provides utilities to install and update those gems. These tools are crucial because Ruby developers often work with many applications that use different versions of Ruby and/or different versions of gems such as Rails. Traditional GNU/Linux distributions install packages to the global /usr directory, limiting users to a single version of Ruby and associated gems, if they are packaged at all. Traditional package management fails to meet the needs of a lot of users, so many niche package managers have been developed to supplement them.

read more ➔

Introducing Haunt

August 08, 2015

I am pleased to announce the first alpha release of Haunt, yet another static site generator. Does the world really need another one of those? No, but Haunt is special because it is written in Guile Scheme, a clean and elegant Lisp dialect, which allows users to compose their websites using functional programming techniques. Using a general-purpose, extensible programming language to build websites allows Haunt users to view their website as not just mere data, but a program. Haunt empowers the user to build the abstractions they need to make a great static website without getting in the way.

read more ➔

Rendering HTML with SXML and GNU Guile

April 10, 2015

GNU Guile provides modules for working with XML documents called SXML. SXML provides an elegant way of writing XML documents as s-expressions that can be easily manipulated in Scheme. Here’s an example:

read more ➔
🡐 NewerOlder 🡒