Boilerplate Compiler

I want to finish my boilerplate CPU, but the simulator and editing environment are way too slow to handle big machines. The simulator currently floodfills from every engine every tick, and I'm currently rendering using canvas. Both are fine answers for trivial machines, but my little macbook air gets about…

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…