Unusual Emacs keybindings

I recently ran into a strange problem with running emacs. A few days ago, my delete, page up, and page down keys stopped working, but only when emacs…

TAGS for Haskell

I periodically try to use TAGS to navigate round my code in emacs. When it works, it is very convenient. I have not been using them lately, partly be…

Arrays in Haskell

Relative to many other languages, the humble array is underrepresented in Haskell. That may follow from the difficulty of fitting arrays into pure co…

Using travis-ci

For quite some time, I have been meaning to set up travis-ci for some of my github projects. To get the ball rolling, I chose my projects with the si…

Down with Type 3 Fonts

I recently found myself needing to excise all of the type 3 fonts from a TeX document. I believe that type 3 fonts are actually just embedded postscr…

Linux Video Drivers

Today I ended up reading one of many articles decrying the current state of OpenGL. I don't remember which one. I will be interested to see where Op…

Releasing datalog-0.2.0.2

I just released version 0.2.0.2 of my datalog library to hackage. Datalog is a declarative query language similar in spirit to Prolog, though less exp…

Taffybar 0.4.3

Recently, I cut a long overdue release of Taffybar, my desktop bar for xmonad (or any window manager, really). The changes are in the changelog. A f…

A Change of OS

I have been running Debian unstable on my machines for years reasonably happy. Living on the bleeding edge is slightly exciting. Having maximally up…