Latest Articles

The Programmer's Secret Weapon for Code Spelunking

A lot of the time, it’s hard to find where Ruby has defined something. When you want to know, “what code did that?”, some languages have debugger watchpoints, Java has Eclipse, Ruby has…? What?

Ruby isn’t terribly friendly to IDEs. Dynamic method definition, highly configurable inheritance, libraries...

Digging Into the Rails Source

You’ve made it mostway through your free Ruby on Rails Internals class. Today we’ll be poking around the Rails source code. If you have money but not time, Rebuilding Rails lets you find a lot quickly… But in case you have more time, we’ll see where in the Rails source you can learn the same things...

Web Servers and Application Servers

A reader recently asked me why Ruby web app deploys usually have a web server (NGinX, Apache) and an application server (Unicorn, Thin, Puma, Racer, Mongrel, Passenger, Jakarta, TorqueBox or whatever I’ve forgotten this week).

Actually, he asked, “why do I need to run NGinX and Unicorn?” It’s a fair...

Understanding the Structure of Rails

Ruby on Rails is divided into several separate pieces. If you know what they are and what they do, you can use them individually. You can also look up documentation more easily, and you’ll know where to look for source code to a particular method, and which of several similarly-named methods does...

You Need Your Vespene

I often think of stuff in my life as like a game of Warcraft (or Starcraft, or…). That may be all you need to know about me ;-)

It looks like those games have two resources to balance – sometimes gold and lumber, sometimes minerals and gas. But actually they have lots of resources to balance and...

Mutual Hero-Worship Societies

I went to a great college, and so I was far from the smartest guy there. In particular, there were three of us in my freshman class of computer programmers that were smart and hung out constantly.

Tom could come up with a way to do anything, programming-wise. A lot of what he did was silly, but he...

In Praise of Deep Distrust

My wife and I both started out with a searing, bone-deep distrust of our own instincts. We get along well that way.

It takes us awhile to get to “average” at a lot of things other people are good at. Some things require you to trust yourself… At least, the way most people learn them.

But when we...

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.)