How to Make the Best Cup of Coffee at Home

I am a huge fan of coffee and over the years I have tried a lot of different means of preparing it. I currently own a french press, a drip maker, and a stovetop espresso pot. All of these make good coffee, with each having its own set of pros and cons. Last year, however, I discovered the best method for brewing coffee: Aeropress. It makes delicious coffee, takes up almost no space in your kitchen, and cleanup is easy.

The Aeropress works kind of like an espresso maker, though at a much lower pressure. The coffee it produces is espresso strength. This means you can drink it like an espresso or use it to create espresso-based drinks like Cafe Au Lait or Capuccino. I add hot water to mine to make an Americano.

Since getting the Aeropress, it’s been the only method I’ve used to brew coffee. It’s replaced the drip machine in our kitchen. It takes up almost no space, travels well, and produces consistently great coffee. Perhaps the greatest feature is the one I haven’t mentioned yet: price. It will set you back a little more than \$20, much lower than a decent home espresso machine or even a drip coffee maker. It’s great for traveling or camping. Any place you can make hot water, you can make coffee with the Aeropress.

One caveat: you will need a coffee grinder, or a place to buy beans that will grind them for you. Coffee ground for a drip coffee maker won’t work (which rules out pretty much all pre-ground coffee you would get at the store). You need grounds that are somewhere between espresso and drip. You’re really going to want a conical burr grinder, similar to this one: I suspect if you’ve read this far than you either have one or are willing to buy one.

In summary: If you enjoy great coffee, you need an Aeropress.

To get an even better idea of how it works, check out this short video:

Steve Jobs

Like Marco Arment I’m not qualified to eulogize Steve Jobs, but I owe a lot to him so I need to say something.

My first computer was an Apple //c. 1985. I spent a lot of time on that computer. A lot. Probably an unhealthy amount.

I was a nerdy kid to begin with, and I instantly fell in love with it. I spent endless hours on that computer. Playing games, writing programs in BASIC, and generally just exploring the new world that it opened up for me. Those hours spent in front of the computer paid off. I went on, years later, to write code professionally. It’s not an exaggeration to say that owning that Apple //c shaped who I became.

I’ve admired Steve Jobs since I was old enough to know who he was. When he founded NEXT, I desperately wanted one of those beautiful (and expensive) systems. I’ve seen every movie Pixar has put out. I’ve been inspired by his business sense, his design savvy, and his drive. He’s accomplished more in his abbreviated lifetime than most people could accomplish in ten. His Stanford commencement speech stands as one of the most inspiring things I’ve heard.

My latest computer is a MacBook Air. I spend a lot of time on that computer. A lot. Probably an unhealthy amount.

Godspeed, Steve Jobs.

The Two Kinds of Programmers


Photo courtesy of Roby72

In my time as a developer, and now managing a team of developers, I have come to realize that there are two kinds of programmers: the Journeyman and the Craftsman. These terms aren’t mine - I’ve seen them used other places - but they describe the developers I’ve worked with pretty well.

The Journeyman

…knows one programming language.

…knows one operating system.

…can’t be bothered to learn something on their own.

…doesn’t know anything about the operating system or hardware their applications run on: “Someone else takes care of that”.

…never masters his tools. “I know my way around my IDE, that’s good enough”

…doesn’t refactor: “It’s ugly, but it works. Leave it alone!”

…only learns about the part of the system they are working on. No need to learn the rest of the system: “That’s not my job”.

…doesn’t want to take on an unfamiliar technology: “I haven’t had any training on x”.

The Craftsman

…knows a handful of programming languages, and is always on the lookout for the next one he should learn. He knows that learning any new language will stretch his mind and make him a better programmer in the language he uses day to day.

…devotes time to learning about new technologies, and helps to make others aware of them.

…understands the platform and operating system his applications run on, because he knows that’s the only way to diagnose many problems.

…masters his tools. He can perform magic in his chosen editor, and is always looking for ways to make himself more efficient.

…rarely passes up an opportunity to broaden his knowledge of the system he is working on.

…is always willing to take on something he’s unfamiliar with. He can pick up most things pretty easily, and enjoys the challenge of learning something new.

One craftsman is worth three or four journeymen. Easily.

It’s the journeymen whose jobs often end up moving overseas (and rightfully so, they add little, if any, value).

The longer I manage development projects, the more I value the craftsmen I have around me.