What Exactly Is “Experience”?

I’ve recently had a few experiences where I ignored my first instinct because I knew it would result in a dead end. In each case, I could later identify the underlying principle and some of the events that helped me understand it. But in the moment, I wasn’t consciously thinking “That instinct was wrong during […]

An Alternative to the Layer Model in C Project Design

Organizing a project’s architecture into layers is a common strategy. But I’ve noticed, over the course of my relatively short career, that a layered architecture becomes counter-productive when a project reaches a certain age or size (I’m not sure which). When the Layer Model Works The idea behind a layered approach is nice: any particular […]

How I Got Started with Haskell

Back in college, Haskell was just something I’d seen on mentioned Reddit and a few other places. I didn’t really have a good reason to look at it seriously — that is, until I needed a senior project topic. (If you’re still looking for a reason to learn Haskell, read Job’s recent post about how […]