A Random Melody

Writing music with random melodies and the joy of building small programs.

I’m playing indie games again

I found a purpose for my Nintendo Switch: catching up on all the great indie games I’d skip on other platforms.

Minimalism and music

Not all complexity is incidental. In music, it takes a trained ear to appreciate the loss.

A look at Elm 0.19

A compilation of some notes I took while working on the maze generator in February.

My Iptables trick

A single line of iptables config that makes me unreasonably happy.

Programmable Dictionaries

I set out to build a program that generates flashcards from dictionary pages, but ended up learning a lot about vocabulary gatekeepers and ultimately questioning the service economy.

A look at Uncharted 4

I’m taking a break from obscure programming insights for an angry review on Uncharted 4.

The language of programming

Coding as a non-English speaker, or what Excel, Illustrator, and functional programming can teach us about names.

Virtualized IDEs or Linux as an app

I spent a year doing all my work in a virtual machine. It made me appreciate the flexibility of Linux and question the difference between an app and a VM.

Haskell at work

As a part of my quest to find a place for Haskell at work, I’ve built a specialized CLI client for the Postmark API.

Standardizing on Capistrano

What makes deployments similar to database transactions, and why Capistrano is a good default choice to run your deployments.

Atomic symlinks

Filesystems are difficult. In order to interact with them, programmers often rely on lossy abstractions. Sometimes this harmless habit backfires.

DeployBot ChatOps guide →

Another DeployBot guide of my authorship. This time I talk about implementing ChatOps with DeployBot.


I barely survived Bloodborne, but still can’t believe how good it is.

DeployBot API →

How I designed an API that doesn’t get in user’s way.

Beanstalk webhooks revamped →

Along with hyperlinks, webhooks are the primary means of integration on the web. The new Beanstalk webhooks Eugene and I built are a breeze to use.