Digests » 172

programming

Building fast.com

This blog will give a high-level overview of how we handled some of the challenges inherent with measuring internet speeds and the technology behind fast.com.

Why do CPUs have multiple cache levels?

The short version is that the various cache levels have very large variations in how they are designed; they are subject to different constraints and fulfill different purposes.

Why I'm not a big fan of Scrum

Scrum is now the default agile software development methodology. This management framework, which is "simple to understand but difficult to master", is used by 66% of all agile companies. After two extensive workshops, more than five years, and a couple hundreds of sprints working in Scrum, I have some points of criticism about it.

Notes on Distributed Systems for Young Bloods

New systems engineers will find the Fallacies of Distributed Computing and the CAP theorem as part of their self-education. But these are abstract pieces without the direct, actionable advice the inexperienced engineer needs to start moving. It’s surprising how little context new engineers are given when they start out.

Generating fantasy maps

I wanted to make maps that look like something you'd find at the back of one of the cheap paperback fantasy novels of my youth. I always had a fascination with these imagined worlds, which were often much more interesting than whatever luke-warm sub-Tolkien tale they were attached to.