David Heinemeier Hansson

Made Basecamp and HEY for the underdogs as co-owner and CTO of 37signals. Created Ruby on Rails. Wrote REWORK, It Doesn't Have to Be Crazy at Work, and REMOTE. Won at Le Mans as a racing driver. Fought the big tech monopolies as an antitrust advocate. Invested in Danish startups.
December 16, 2024

The premise trap

The hardest part for me about collaborating with junior programmers, whether it's in open source or at work, is avoiding the premise trap. That's where the fundamental assumptions baked into the first draft of the code aren't questioned until you've already spent far too long improving the implementation. It's the same with AI. Because...
Read more
November 21, 2024

Jaguar is lost but Volvo knows the way

Jaguar's new rebrand is getting murdered online, and for good reason. The clichés are as thick as the diversity pandering is dated. CREATE EXUBERANT. LIVE VIVID. DELETE ORDINARY. You'd think these were slogans from a Will Ferrel bit about insufferable marketing trons, but nope, that's the 2024 campaign for a car maker that won't be sel...
Read more
November 20, 2024

Cold reading an ADHD affliction

I'm sure there are truly pathological cases of ADHD out there, and maybe taking amphetamines really is a magic pill for some folks. But there clearly is also an entire cottage industry cropping up around convincing perfectly normal people that they suffer from ADHD, and that this explains many unwanted aspects of the human condition. T...
Read more
November 19, 2024

Joining the Shopify board of directors

I've known Tobi for over twenty years now. Right from the earliest days of Ruby on Rails, when he was building Snowdevil, which eventually became Shopify, to sell snowboards online. Here's his first commit to Rails from 2004, which improved the ergonomics of controller testing. Just one out of the 131 commits he made to the framework f...
Read more
November 13, 2024

Obsessive problem solving followed by aimless wandering

I haven't felt any urge to tinker with my Linux setup in months. This after spending much of the spring and into summer furiously and obsessively trying every PC out there to find the perfect replacement for the Mac, diving deep with Ubuntu, and codifying my findings in the Omakub project. But now it's done, and I'm left enjoying the A...
Read more
November 12, 2024

House rules in Fortnite

We play a lot of Fortnite at our house. It's a great game for teaching kids cooperative discipline, and in a remarkably wholesome setting to boot (no blood, cartoon styling). I've had no qualms involving all three of our boys from an early age in the family squad, including our two youngest from around age four. Since we started playin...
Read more
November 11, 2024

Too much therapy at work

Many years ago, Jason and I hired a COO at 37signals, but ended up letting them go after just a year (many reasons, another story). This happened not long before one of our company meet-ups, so we thought it fitting to discuss the matter in-person. What a mistake. The session turned into a group therapy session lasting hours, with a fr...
Read more
November 6, 2024

The spells are spent

They just don't work any more, those baseless accusations that anyone we disagree with is a racist, misogynist, fascist. After being invoked en masse and in vain for the better part of the past decade, their power to shock and awe is finally gone. All that's left is a weak whimper. Good fucking riddance. The problem with accusations li...
Read more
November 5, 2024

What you know that just ain't so

The fun bit about business is in all the answers you don't have. Should we be priced higher or lower or leave it alone? Should we chase these customers over here or those customers over there? Should we add more features or polish the ones we have? There's endless variation in every one of those questions, and you can't reason your way...
Read more
October 17, 2024

Our cloud-exit savings will now top ten million over five years

We finished pulling seven cloud apps, including HEY, out of AWS and onto our own hardware last summer. But it took until the end of that year for all the long-term contract commitments to end, so 2024 has been the first clean year of savings, and we've been pleasantly surprised that they've been even better than originally estimated. F...
Read more
October 14, 2024

Capture less than you create

I beam with pride when I see companies like Shopify, GitHub, Gusto, Zendesk, Instacart, Procore, Doximity, Coinbase, and others claim billion-dollar valuations from work done with Rails. It's beyond satisfying to see this much value created with a web framework I've spent the last two decades evolving and maintaining. A beautiful prize...
Read more
October 13, 2024

To the crazy ones

In an earlier era, we'd all have been glued to the television to cheer SpaceX successfully catching Starship's returning booster rocket on the first try. I remember my father talking about seeing Apollo 11 make it to the moon. That was a lifelong memory for him. And I remember, as a six-year old boy, watching the fatal Challenger explo...
Read more
October 13, 2024

Open source royalty and mad kings

I'm solidly in favor of the Benevolent Dictator For Life (BDFL) model of open source stewardship. This is how projects from Linux to Python, from Laravel to Ruby, and yes, Rails, have kept their cohesion, decisiveness, and forward motion. It's a model with decades worth of achievements to its name. But it's not a mandate from heaven. I...
Read more
October 8, 2024

Automattic is doing open source dirty

Automattic demanding 8% of WP Engine's revenues because they're not "giving back enough" to WordPress is a wanton violation of general open source ideals and the specifics of the GPL license. Automattic is completely out of line, and the potential damage to the open source world extends far beyond the WordPress. Don't let the drama or ...
Read more
October 3, 2024

Kamal 2: Thou need not PaaS

Kamal was our ticket out of the cloud. A simple tool for deploying containerized applications onto our own hardware, without the need for the complexity of something like Kubernetes. Kamal 2 is a huge leap forward for that tool, and it has just shipped. Now you can deploy multiple applications to the same server, and you can have SSL c...
Read more
September 30, 2024

Wonderful Rails World Vibes

I totally understand how programming conferences end up being held in a drab Sheraton hotel somewhere to save money. It's expensive to outfit a cool venue with the gear and operations needed to pull off a great experience for speakers, sponsors, and attendees. And while the cost of doing something more inspiring than a carpet-clad conf...
Read more
September 19, 2024

Ears rarely open until a rapport is established

It's hard to open cold with a controversial take to a bunch of strangers. And the room is always cold on X or in a one-off blog post. Just like comedy, half the battle of winning over the audience comes from a solid introduction, good timing, and a broad smile to warm the room. You can have great material, but if the vibe is off, good ...
Read more
September 17, 2024

Wonderful vi

The speed of change in technology often appears to be the industry's defining characteristic. Nothing highlights that perception more than the recent and relentless march of AI advancements. But for as much as some things in technology change, many other things stay the same. Like vi! vi is a programming text editor that was created by...
Read more
September 10, 2024

Back in the market (Sonos Edition)

I've been a Sonos megafan for years. Owned probably two dozen devices for different homes. Mainly amps for in-ceiling speakers, but also some Ones, 3s, 5s. All of it. Because it Just Worked when it came to multi-room music. Now it doesn't, and it hasn't for a long time, so I've been back in the market. I'm not exactly sure what the pro...
Read more
September 9, 2024

Passwords have problems, but passkeys have more

We had originally planned to go all-in on passkeys for ONCE/Campfire, and we built the early authentication system entirely around that. It was not a simple setup! Handling passkeys properly is surprisingly complicated on the backend, but we got it done. Unfortunately, the user experience kinda sucked, so we ended up ripping it all out...
Read more
September 6, 2024

Optimize for bio cores first, silicon cores second

A big part of the reason that companies are going ga-ga over AI right now is the promise that it might materially lower their payroll for programmers. If a company currently needs 10 programmers to do a job, each have a cost of $200,000/year, then that's a $2m/year problem. If AI could even cut off 1/4 of that, they would have saved ha...
Read more
September 2, 2024

Why don't more people use Linux?

A couple of weeks ago, I saw a tweet asking: "If Linux is so good, why aren't more people using it?" And it's a fair question! It intuitively rings true until you give it a moment's consideration. Linux is even free, so what's stopping mass adoption, if it's actually better? My response: “If exercising is so healthy, why don't more peo...
Read more
September 1, 2024

Free speech isn't guaranteed to be forever

History is full of long stretches of dominance by noble ideas and despots, times of prosperity and of dark ages. Each of which must have seemed like they would never end to the people who lived through them. If you were a citizen of the Ottoman empire 1452, you probably didn't imagining life any other way. Ditto the height of the Roman...
Read more
August 31, 2024

For what it'll make of you

I've always had an ambivalent relationship with goals. I don't like goals that feel like checkpoints on a treadmill. They make you reach for a million dollars in revenue, celebrate for a second, and then turn the chase to five million the minute after. No thanks. But specific, material goals aren't the only kind you can set. Here's a g...
Read more
August 30, 2024

We once more have no full-time managers at 37signals

After experimenting with a number of management roles over the last few years, 37signals is back to its original configuration: None. We once more have no full-time managers whose sole function is to organize or direct the work of others. Everyone doing management here does so on the side, next to their primary work as an individual co...
Read more
August 27, 2024

Children of You

The birth rate is dropping all over the world. In some places, like South Korea (0.72), it is so low people are starting to worry about a national extinction. In other places, including all of Europe (average 1.5, Spain 1.29), it's merely bad and alarming. And nobody seems to know exactly why. Even in Denmark, it's now so low (1.5) tha...
Read more
August 24, 2024

Merchants of complexity

It's hard to sell simple, because simple looks easy, and who wants to pay for that? Of course, everyone says they want something simple, but the way they buy reveals that they usually don't. This is the secret that the merchants of complexity have long since figured out. That clever and sophisticated beats basic and straightforward mos...
Read more
August 19, 2024

Software estimates have never worked and never will

Since the dawn of computing, humans have sought to estimate how long it takes to build software, and for just as long, they've consistently failed. Estimating even medium-sized projects is devilishly difficult, and estimating large projects is virtually impossible. Yet the industry keeps insisting that the method that hasn't worked for...
Read more
August 18, 2024

Where at least I know I'm free

I used to find the American self-image of being this uniquely freedom-loving, freedom-having people delusional. Sure, I'd think, you're not North Korea or Venezuela, but is that really a standard worth celebration? Shouldn't America compare itself to higher alternatives, like Europe or even the rest of the Anglosphere? Turns out I just...
Read more
August 14, 2024

The Framework 13 has a new high-res screen!

The first laptop I ordered back when my Linux journey began was the Framework 13. I immediately liked a lot about it. The keyboard is a big step up over the MacBook Pro, primarily because of the 50% longer key travel. And I love the matte screen and 3:2 aspect ratio. Both feel way nicer for programming. But running a 2256x1504 resoluti...
Read more

See more posts »