Praise for Let’s Encrypt — Free, automated SSL certificates

After a few weeks of not hacking one of my hobby projects, I decided to get back to it today, only to discover that the SSL certificate guarding it had expired. Being just a hobby project, it wasn’t important, but it was annoying. But before I went to buy another $9.99 SSL certificate for the …

Continue reading ‘Praise for Let’s Encrypt — Free, automated SSL certificates’ »


warn “Use of Perl has been deprecated.\n”;

It’s been just over a month now, since my last day as an employee of Which means it’s been just over a month now since I wrote my last line of professional Perl. This is worth celebrating! Now don’t get me wrong. It’s not that I hate Perl. In fact, I’ve really enjoyed using …

Continue reading ‘warn “Use of Perl has been deprecated.\n”;’ »


Question to fellow programmers: Do you like auto-complete?

I’ve always found auto-complete to be an insanity-inducing feature in my programming text editor. Inevitably, it causes me to type the wrong thing, or hit TAB too many times. Enter-complete I find to be even more infuriating. But auto-complete, especially in text editors designed for programmers, is often very a elaborate feature. It’s often context-sensitive, …

Continue reading ‘Question to fellow programmers: Do you like auto-complete?’ »


How I got go-spew to work with GopherJS

go-spew is a very handy library used for dumping arbitrarily complex data structures in a (roughly) human-readable format. This is immensely helpful when debugging or writing automated tests in programs. Coupled with a package like go-difflib, it can make comparing the expected and actual results of a test not only easy, but into something approaching …

Continue reading ‘How I got go-spew to work with GopherJS’ »


My new project:

I’m working on a new mini-project. It’s in large part inspired by… well, many things. Motivation The most immediate inspiration comes from Patrick McKenzie’s blog, which I just finished reading in its entirety earlier this week while I was in Paris (well, I skipped a few posts that didn’t matter to me). His blog basically …

Continue reading ‘My new project:’ »

One thing I miss about unit tests: Unit tests as Documentation

I wrote this post in October of 2015 as I was adjusting to life without unit tests at a new job. I recently stumbled upon it in my Drafts, and edited it down to a single point for publication. In October of last year I took a new job at a company with a large …

Continue reading ‘One thing I miss about unit tests: Unit tests as Documentation’ »

Getting Anki 2.0 to work with Debian stretch

Recent updates to Debian testing (aka stretch) have rendered Anki broken, with the following error message at startup: $ anki Traceback (most recent call last): File “/usr/bin/anki”, line 7, in import aqt File “/usr/share/anki/aqt/”, line 12, in from aqt.qt import * File “/usr/share/anki/aqt/”, line 22, in from PyQt4.QtWebKit import QWebPage, QWebView, QWebSettings ImportError: No module …

Continue reading ‘Getting Anki 2.0 to work with Debian stretch’ »

Configuring CouchDB for HTTPS only

Getting CouchDB to work via HTTPS is fairly well documented. Disabling HTTP turned out to be the harder part to figure out. Enabling HTTPS The official documentation (here is actually incomplete (or more likely, simply outdated). But it’s still a pretty straight forward process. Edit your local.ini to include the following: [daemons] httpsd = {couch_httpd, …

Continue reading ‘Configuring CouchDB for HTTPS only’ »