I'm Not Dead Yet

June 26, 2015

Just about a year and a half ago I decided it was time for a change, so I started looking around for something new. Not just a new job, but something that would take me way out of my comfort zone as a developer.

This was partly because I had spent the previous few years working with some good friends of mine who were old farts like me, and I'd started noticing something...disturbing: a tendency to be very rigid in how we all were approaching development, the tools we used, and how we thought about the problems. I've started


Hobgoblins and Data Stores

May 29, 2014

“A foolish consistency is the hobgoblin of little minds, adored by little statesmen and philosophers and divines." - Emerson

Continuing with my ideas from the other day, I wanted to move from the abstract to the more concrete, which is to say that I wanted to talk about what such a system would look like.

To begin with, let's assume that this system is a fairly large-scale distributed system, so that, were we to design it the way such things are typically designed these days, we would probably have some sort of cache between our business logic and the


QR Codes for Storing Private Keys

May 27, 2014

So, storage of private keys is a problem.

Just storing it on your computer isn't such a big problem - hopefully, you're storing it encrypted using software whose encryption you trust.

However, backing them up - that's another issue. Do you trust storing them in the cloud? I don't. Do you keep them on a backup disk or USB dongle? What if they fail?

After looking over the options, I found this post at the ever-excellent StackExchange. Basically, the idea is that you convert the ASCII exported private key to a QR code, print that, note the key ID on


A Foolish Consistency...

May 27, 2014

How do you scale a computer system?

It seems like such a simple question. Of course, to a certain extent, it is - if you've designed the system properly up front. By this I mean that, if you've broken the overall system down into components which are a) decoupled as much as possible, and b) as internally cohesive as possible.

However, when it comes to distributed computer systems - ones with, say, a UI, a bunch of business logic, and a database - it somehow becomes much more complicated. We know how to scale the UI and business layers, but


The Ghost in the Machine

May 02, 2014

So, I've moved my blog over to Ghost from Octopress. I did this for a few reasons.

My main reason for wanting to move away from Octopress was that updating my blog was getting to be a huge pain. You have to run a rake task to create the markdown page, edit it in a markdown editor (which never looked right because of the metadata that it insists on putting at the top of the file), and then run another rake task to generate the site, run another task to preview it, and then run yet another task to deploy