Latest Articles

Developer, not Coder

There’s a lot to developing software on a team that universities don’t traditionally teach you. If you’re already strong at theory and skills and you know you also need lots of practice, what else should you be doing to prepare?

Developing on a team requires a lot of people skills. Junior software...

What is Rack?: A Primer

If you do Ruby web programming, you’ll often hear about “Rack.” You might hear about it from a Ruby dev you respect, and that you won’t get better at Ruby web stuff until you know what’s underneath.

Or you might have to write a config.ru to use Heroku and you’re thinking, “what’s config.ru?”. It...

Starting Rails programming

I tutored Rails at CMU West for a bit. They asked me for recommendations for what the students should be doing to prepare for Rails programming.

You know, that’s advice I can share with anybody. Here’s what I wrote:


Sure, I can help a bit with this.

Michael Hartl has an excellent free tutorial...

Your App Is Written From Your Point of View

Programming is writing for a computer. But more importantly, it is writing for a human.

That function you just wrote tells a little story. It has a point of view.

Some functions are written to tell how a web request flows through them. They are clear, easy to read, and tend to do badly if something...

Subscribe to get free ebook chapters and an emailed coding class now, plus videos and articles a few times a month.

Why this specific newsletter? You want to be an expert. Expertise comes from learning the fundamentals, deeply. And that comes from the best kind of practice. I write with that in mind. I won't waste your time.

(Yes, I also sell things. They're good, but I'm fine if you don't buy them.)