Concurrency Through the Ages

June 01, 2017

How do I make my computer do lots of things fast (especially if the computer runs Linux and the things are being done in Python)?

Happing Ending Syndrome

May 16, 2017


When a story ends on a happy note for the sake of ending on a happy note in contrast to everything the plot had built up, cheapening everything that happened before.

StarCraft II: Wings of Mediocrity

May 15, 2017

The SC2 campaign was neutered and I am bitter about it.

iPhone Security

February 29, 2016

(This post has an update from August 4, 2016 at the bottom.)

OpenSSH 6.9 breaks PieTTY

September 17, 2015

I upgraded openssh-server to 6.9p1-1 and was no longer able to connect with PieTTY (and PuTTY). According to the changelog:

SQLite considered terrible

August 14, 2015

There are two things every web framework needs: a deceptively short "hello, world!" example and a todo list or blog app. Thus, when I set out to write pigwig, I needed to also write blogwig. Despite my obvious preference for statically generated blogs, this one needed to be dynamic and so needed a database. SQLite3 seemed like the popular choice, so away I went.

Counting Woes

October 18, 2013

In #learnprogramming on Freenode, someone came in with this question:

dunst (libnotify)

April 23, 2013

But notify-osd/notification-daemon!

They're dead. notify-osd has had no releases in over a year and notification-daemon is worse by 4. With the advent of Gnome 3, both have fallen by the wayside since the Gnome shell now handles notifications.

How I set up

March 29, 2013


GitHub doesn't let you host private repositories for free. (Also, their commit list view is silly.) GitLab's setup is ridiculous. Getting hosted on might be an option, but I haven't explored it thoroughly.


March 28, 2013

Linode has 2 forms of e-mail:

OfflineIMAP, mutt, PieTTY

November 22, 2012

This is just going to be a rundown of my e-mail set up. Prepare for some obscure software.

The Chromium + Windows Font Rendering Bug(s)

November 10, 2011


Font rendering is hard. Getting the fonts you want on the web is even harder because not everyone has the fonts you want to use installed. One solution is to render the fonts as images using canvas or a pre-rendered image.