Aurora Badgley Badgley Bag Mischka Mischka Aurora Black Mischka Badgley Aurora Black Bag waqxHUW71

Cross Bag Bag Beige Bag Paymenow Leather Crossbody Shoulder Handle Little Body Shoulder Messenger Leisure

Cross Little Leisure Leather Messenger Beige Shoulder Paymenow Bag Handle Bag Crossbody Bag Body Shoulder C08qHSwwnx

I’ve begun a new YouTube series called On Writing Software Well where I explore the real Basecamp codebase in search of interesting programming topics. It’s less “here’s how to do it” and more “here’s what I was thinking when we made this choice or took this direction”. And it’s intimately grounded in real, production code that’s been used by millions of people.

Handle Leather Bag Bag Beige Shoulder Paymenow Leisure Crossbody Shoulder Bag Body Messenger Cross Little It’s partly a reaction to the endless debates we tend involve ourselves in as software writers without looking at real code. When you debate without code, you’re likely to get sucked into illusions of disagreement. You argue from your experiences with codebase A, I argue from my experiences with codebase B, and we clash because A isn’t B. That’s just silly.

Leather Handle Cross Beige Crossbody Little Leisure Paymenow Bag Messenger Shoulder Bag Bag Body Shoulder Yet somehow arguments grounded in production code are rare. Few people seem willing to lift the curtain on such codebases, which is a damn shame. Because that’s where the real wisdom is buried. That’s where people have been forced to make actual trade-offs between competing patterns and practices. It’s those trade-offs and the circumstances around them that are valuable.

Programming arguments based in example code is most often stylized and idealized. It’s Platonic shadows on the cave wall. So easy to dig in and defend a technique when you don’t actually have to worry about guarding the flanks, setting up camp, and getting your supply lines in order. You know, like in real life.

So that’s my mission: To take you into the trenches and have you fight by my side in the battle against complexity and in the search for beautiful code.

Yes, the code is all Ruby and Rails, but the principles should travel reasonably well. So even if you don’t do Ruby on Rails, I’d be surprised if there wasn’t something to in there to pique your interest and rattle your convinctions.

Here are the first five episodes:

Shoulder Handle Leisure Leather Messenger Bag Cross Body Bag Little Shoulder Bag Paymenow Crossbody Beige
Leather Crossbody Body Handle Bag Beige Shoulder Paymenow Shoulder Messenger Leisure Little Bag Bag Cross
Leather Sling Daphne Crossbody Messenger Canvas Purse Vintage handbag Hobo Work Trims by Shoulder Travel Trendy Design gaI1xEwq