Recent Blog Posts

Syncing Required Packages in Emacs

December 30, 2013

I use Emacs on several different computers. To keep my configuration consistent across all of them, I do what many people do and made the ~/.emacs.d directory a git repository. I don’t like to keep copies of all of the Elisp extensions that I use, such as paredit and geiser, in this repository. Instead, I prefer to use package.el (introduced in Emacs 24) with the MELPA repository. This saves me from having to manually keep all of the extensions I use up-to-date, but requires another method to keep useful packages in sync between computers.

read more →

Jump to Jasmine Specs with Rinari

December 17, 2013

I use the rinari Emacs mode to assist me when working on rails projects. One of rinari’s most useful features is the ability to quickly jump from one file to another related file. I use this feature almost exclusively for jumping between a ruby class file and its associated rspec file, but lately I’ve been spending most of my time writing javascript. At VHL, we use jasmine for our unit testing framework and the jasmine ruby gem to integrate it with our rails projects. Rinari doesn’t have any built-in jump settings for jasmine test files, so I wrote this quick hack to make it work:

read more →

First GNU Guile Patch and More Guix Packages

November 22, 2013

I have spent some of the last month working on contributing to GNU Guile and now I can finally say that I have contributed code to the project. Guile has several hash table implementations: a Guile native one, SRFI-69, and R6RS. SRFI-69 contains a handy procedure, alist->hash-table, which allows for a sort of hash literal-like syntax:

read more →

My First GNU Guix Patch

October 16, 2013

Over the weekend, I decided to try out GNU Guix: A fully functional package manager based on Nix and a distribution of the GNU system. I’m a big proponent of GNU Guile, thus I was excited to see a DSL for package management written with Guile.

read more →

GNU 30th Anniversary Hackathon

September 30, 2013

I spent my weekend at MIT at the GNU 30th anniversary hackathon. I had never participated in a hackathon before and was excited to see what it was like. Developers from many GNU and non-GNU projects were there to hack and help others get involved, and RMS was there to give the keynote speech.

read more →

Guile-2D 0.1 Release

September 27, 2013

To celebrate the GNU Project’s 30th anniversary, I have decided to make the very first release of my 2D game development framework for GNU Guile. GNU Guile is a Scheme implementation, and has the honor of being the official extension language of the GNU project. Guile-2D is a layer above SDL, OpenGL, FreeImage, and FTGL that provides abstractions for common 2D game programming requirements such as sprites, tilesets, animations, scripting, and collision detection.

read more →

Liberating a Thinkpad X220

September 22, 2013

I had been looking for a suitable replacement to my old, slow Compaq laptop that I purchased during my freshman year of college when I had very little money. What I liked about my old laptop was that it played well with free software. I had no trouble getting all of my hardware to work out-of-the-box with fully free GNU/Linux distributions such as Trisquel, and I wanted any future laptops of mine to play nicely, too.

read more →

Font Rendering in OpenGL with Pango and Cairo

August 17, 2013

I am working towards a 0.1 release of my game development framework for GNU Guile, guile-2d. One of the few remaining blockers on my to-do list is font rendering. A reddit user, Madsy9, pointed me in the right direction with this comment. There are two libraries needed to perform nice font rendering with proper internationalization support: Pango, “a library for laying out and rendering of text, with an emphasis on internationalization,” and Cairo, “a 2D graphics library with support for multiple output devices.”

read more →

The Little Schemer

August 11, 2013

Yesterday, I took a trip to the MIT Press Bookstore and picked up a copy of The Little Schemer. I’ve only spent a few hours reading and coding along with it, but I’ve had a lot of fun. The following is a mini-review based on my experience thus far.

read more →

AngularJS Post-mortem

August 08, 2013

AngularJS is the new popular client-side Javascript application framework developed by Google. We have recently adopted it at Vista Higher Learning for building our latest features that require a lot client-side logic. Now that I have a few applications under my belt, it’s time to talk about my experience.

read more →
← NewerOlder →