Recent Blog Posts

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 ➔

Reproducible Development Environments with GNU Guix

November 08, 2014

If you’re a software developer, then you probably know very well that setting up a project’s development environment for the first time can be a real pain. Installing all of the necessary dependencies using your system’s package manager can be very tedious. To "solve" this problem, we have resorted to inventing new package managers and dependency bundlers for pretty much every programming language. Ruby has rubygems and bundler, Python has pip and virtualenv, PHP has composer, node.js has npm, and so on. Wouldn’t it be nice to instead have a single package manager that can handle it all? Enter GNU Guix, a purely functional package manager and GNU/Linux distribution. Using Guix, you can easily create a development environment for any software project using the guix environment tool.

read more ➔

Guile-2D is now named “Sly”

August 11, 2014

Guile-2D has been the working title for my game engine written in Guile Scheme for over a year now. The name has become limiting since I realized that it wouldn’t be much extra work to support 3D graphics. After much indecision, I’ve finally decided on an official name: Sly. I think it’s a great name. It’s short, easy to type, and slyness is one of the definitions of “guile”.

read more ➔
🡐 NewerOlder 🡒