Weave Bucket Female Tote Handbag Women Hobos Beach Casual Knitting Durable Coffee Bags Feminine Rattan Bag Straw Dark SS0294 Bags Shoulder XqYqIw

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

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.

Cross Bag Shoulder Body Shoulder Crossbody Paymenow Bag Messenger Leather Beige Handle Little Leisure Bag 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.

Bag Crossbody Bag Bag Body Leisure Leather Messenger Paymenow Shoulder Beige Cross Handle Shoulder Little 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 Messenger Bag Leather Bag Paymenow Little Shoulder Body Bag Handle Crossbody Beige Leisure Cross
Shoulder Leisure Shoulder Bag Beige Bag Little Leather Crossbody Handle Paymenow Messenger Body Cross Bag
Bag Beige Shoulder Crossbody Bag Leather Handle Cross Bag Shoulder Leisure Body Little Paymenow Messenger
Black Vintage Leather Pu Hobo Donalworld Women Shoulder Style Doctor Bag Ox5qnnz