Replicate your database to the client

Every time I read about the CAP theorum, I feel like we're missing something. We've gone to an awful lot of effort to make our database cluster consistent and reliable. We have proofs around how we expect it to behave, and we test the crap out of any claims our…

Stories from our software past

I'm leaving my job late this year. I'd love to do an honest retrospective, but its super hard to do that publically without pissing anybody off. Its not that I don't have great things to say (I do). I just hate the faded, corporate approved google blog posts which seem…

Deploying with private NPM and Docker

When you want to deploy your nodejs webapp to a production environment, it can still be a right pain to handle dependencies! Let NPM handle it The simplest way to manage dependencies is to run npm install on your production server when you deploy. There's a bunch of problems with…

Why I'm leaving America

Last night I was riding my bike to a roleplaying game with friends. I was in a bike lane, doing all the right things. A white ute (truck) drove past me with three black guys in their late 20s, and one of them threw a mostly empty drink container at…

What I tell all new programmers

I've been programming for over 20 years, and I've run about half a dozen introductory programming courses now. I've spent a total of around 1000 hours teaching programming. In no particular order, this is an assorted set of wisdom I say to all of my students at least once. Welcome…

So pretty

You may have noticed - I've moved my blog to ghost - which is a new opensource nodejs-based blogging engine. I've ported all the old content across from my old blog site, but some of the dates are still wrong. I think this is really pretty - and it'll make…