October 27, 2023
X celebrates 60% savings from cloud exit
Musk has taken a cleaver to the costs and complexity at X. It hasn't always been pretty, but it sure has been effective, and in the process, he's proven his detractors wrong time and again. Not only has the site stayed up, despite hysteric proclamations that it would crater soon after his personnel changes, but X has been able to incre...
Read more
Read more
October 20, 2023
Buying the seller
We've just moved the 37signals podcast to Buzzsprout. Podcast hosting is to some extent a commodity market, so this was less about pining for a specific feature or even working to reduce the bill. This was about buying from Tom Rossi, the technical cofounder of HigherPixels (who make Buzzsprout), and his team, because we'd just prefer ...
Read more
Read more
October 19, 2023
The open source gift exchange
I love writing and sharing code as open source, but it's not an abstract act of pure altruism. The first recipients of these programming gifts are almost always myself and my company. It's an intentionally selfish drive first, then a broader benefit second. But, ironically, this is what's made my participation in the gift exchange of o...
Read more
Read more
October 16, 2023
The price of managed cloud services
One of the common objections to our cloud exit has been that we shouldn't have expected good outcomes from a lift'n'shift operation. That the real value of the cloud is in managed services and new architectures, not just running the same software on rented cloud instances. It's basically the "you're holding it wrong" argument for the c...
Read more
Read more
October 13, 2023
We tried that, didn’t work
In our quest for making programming simpler, faster, and prettier, no logical fallacy provides as much of an obstacle as “we tried that, didn’t work”. The fallacy that past failed attempts dictates the scope of what's possible. That just because someone, somewhere, one time attempted something similar and failed, nobody else should try...
Read more
Read more
October 11, 2023
You can't get faster than No Build
For the first time since the 2000s, I'm working on a new Rails application without using any form of real build steps on the front-end. We're making it using vanilla ES6 with import maps for Hotwire, and vanilla CSS with nesting and variables for styling. All running on a delightfully new simple asset pipeline called Propshaft. It's al...
Read more
Read more
October 7, 2023
One happy Rails World
Celebrating twenty years of Ruby on Rails with more than 700 happy developers packed into the coolest conference venue possible in Amsterdam was epic. Safe to say, Rails World was a roaring success. Which is deeply satisfying to conclude, because it really wasn't a given outcome when I started working on The Rails Foundation last year....
Read more
Read more
September 25, 2023
The Musk Algorithm
Walter Isaacson's new book about Elon Musk is a fine biography, but a better business book. And like all the best business books, it's not merely an instruction manual, but an inspirational guide too. Not since reading Ricardo Semler's Maverick in the early 2000s have I been this impressed with the foresight, fortitude, and ferocity of...
Read more
Read more
September 20, 2023
Finishing Hotwire with the introduction of Strada
When we announced Hotwire a few years back, it was always meant as a triptych. The center piece is Turbo. That's the drop-in level-up that makes multi-page web apps feel like single-page web apps – without giving up any of the development advantages to server-side programming. Then Stimulus brought order and structure to JavaScript spr...
Read more
Read more
September 19, 2023
Kamal 1.0
I count my lucky stars that SUSE's pricing for Rancher and Harvester was so ridiculous over the top for our situation. If they hadn't reached for those million-dollar contracts, we'd probably be stuck in enterprise vendor hell forever, buying over-priced consulting services for Kubernetes and VM tooling. That would have sucked. Now tha...
Read more
Read more
September 15, 2023
Our cloud exit has already yielded $1m/year in savings
Getting our applications out of the cloud provided the main celebration for our exit, but seeing the actual spend tumble is the prize. See, the only way to get pricing in the cloud down from obscene to merely offensive is through reserved instances. This is where you sign up for a year or more in advance on a certain level of spend. Th...
Read more
Read more
September 11, 2023
Tesla wins
When we first got our Tesla Model X four years ago, I wasn't the biggest fan. Build quality was spotty, brakes didn't match the performance, and handling was at best so-so. But it could carry seven, including luggage, was electric, and the dual-motor acceleration was a hoot. So it stayed in the garage, pending competition on these crit...
Read more
Read more
September 7, 2023
Open source hooliganism and the TypeScript meltdown
I've seen a lot of true believers argue for virtues of their favorite paradigms and methods over the decades working in software. And mostly, I look at people with a passionate preference and smile. Isn't it great that people care so much about their craft that they volunteer to extol the benefits of their favorite tools! Yes it is, bu...
Read more
Read more
September 6, 2023
Turbo 8 is dropping TypeScript
By all accounts, TypeScript has been a big success for Microsoft. I've seen loads of people sparkle with joy from dousing JavaScript with explicit types that can be checked by a compiler. But I've never been a fan. Not after giving it five minutes, not after giving it five years. So it's with great pleasure that I can announce we're dr...
Read more
Read more
September 1, 2023
You can't fix core competency with a stern conversation
When things aren't going well with a new hire, the problem usually falls into one of two categories: competency or engagement. If it's a problem with engagement – their style of collaboration, their communication, their approach – there's a good chance you can fix it with some clear feedback. But if the problem is with core competency ...
Read more
Read more
August 11, 2023
Learning to accept defeat against reality
A great many smart people terminably hamper their ability to better understand the world by refusing to accept defeat when reality proves them wrong. Armed with an intellect that's at once both too proud to recognize it's own failings and cunningly capable of producing sophisticated excuses, they're adapt at spotting this failing in ot...
Read more
Read more
August 10, 2023
Turns out nobody cared about panel gaps
One of the most fascinating aspects of Tesla's rise to dominance has been how they discarded many of the traditional values of car making. While the rest of the industry was stuck competing on the size of their panel gaps, and other aspects of precision and quality assembly, Tesla didn't even show up to participate. Their cars are lege...
Read more
Read more
August 8, 2023
The curing value of creation
It's hard not to see your spirits lifted when you're part of bringing something to life. Be that a product, an organization, or a community, or all three at once. Like exercise, it's one of those rare avenues of human endeavor that almost invariably will make anyone feel better. And, also like exercise, the hard part is getting started...
Read more
Read more
August 7, 2023
Et tu, Zoom?
The corporate cause for return-to-office just claimed its perhaps most ironic victim: Zoom! The company that literally lives to sell us all on the wonders of remote collaboration wants its own people back into the office again. Which I guess is just a regression to the mean of productivity tool makers failing to believe their own marke...
Read more
Read more
August 4, 2023
Not everyone can be the best
Many software developers seem to have a uniquely hard time accepting that not everyone who just tries real hard will become so good as to be among the best in this field. That there really is a discrepancy of talent that leads to a discrepancy of competence. That not everyone can or will become equally good at this job. In contrast, no...
Read more
Read more
July 27, 2023
X marks the motivated reasoning
I’ve lost track of all the things that Musk has done to Twitter that ought to have brought it down by now. Scarcely a month goes by without some action triggering the incessant bells of doom, ringing from the bellies of bloviating ding dongs. And the ringing seemingly never stops long enough to allow for some basic contemplation or cor...
Read more
Read more
July 26, 2023
Working remotely is a competitive hiring advantage again
As more and more companies, especially large ones, have started demanding remote workers return to the office, the competitive hiring advantage for remote-first companies is back. And it's even bigger than before the pandemic, now that so many workers have had a taste of what life can be like when you don't have to commute to the offic...
Read more
Read more
July 25, 2023
Pick promise over proof
After hiring people for twenty years, I've come to accept that it's impossible to know up front what someone is truly capable of. Sure, we try our best to make good, educated guesses during the hiring process, and this is why asking finalists to do sample work projects is so crucial. But it still remains just guessing, and the truth do...
Read more
Read more
July 24, 2023
Clear the barnacles
The easiest way to squander your focus is by paying attention to a million inconsequential things at once. These little mental barnacles add up in imperceptible ways until you suddenly feel like you're getting nowhere, no matter how hard you push. You must keep scrubbing your mind clear of such attention-sapping colonies to remain capa...
Read more
Read more
July 20, 2023
Don't lose your unreasonable sense of urgency
Getting anything new off the ground usually requires a tremendous amount of urgency. It's hard to launch something from nothing into reality without being incredibly impatient for progress. Thus most founders begin 🎶Their Journey🎶 sprinting from one pressing problem to the next in rapid succession to achieve their lift off. But reachin...
Read more
Read more
July 19, 2023
There's no rebound in sight for unprofitable SaaS
Anyone reviewing their S&P 500 retirement fund these days will do so with a broader smile than last year. The market as a whole is up, and if you're in the whole market, you're benefitting. But all of that upside, basically, belongs to just a handful of mega tech companies. This is not a general turn-around, and it's barely a turn-arou...
Read more
Read more
June 30, 2023
The law of the land
Affirmative action is right up there with abortion and gun control among the highest-profile, longest-running social fissures in America. So of course the recent ruling from the Supreme Court making its use in college admissions illegal was going to light a political fire. The surprising thing is just how contained the burn has been wi...
Read more
Read more
June 29, 2023
Design for the web without Figma
By all accounts, Figma has been an amazing tool for designers. We've used it extensively at 37signals, and I'm sure most every other software shop has too. Adobe didn't pay $20 billion for nothing. But we don't do the bulk of our design work with or in Figma when developing Basecamp or HEY for the web. That's all done directly in HTML ...
Read more
Read more
June 27, 2023
Staying in the arena
One of the things that can seem difficult to understand for people who merely tolerate having a job is why anyone would continue working if they didn't have to. You often see a version of this incredulity when the peanut gallery weighs in on the choices of billionaires. Why do these Very Rich People continue to do things – especially t...
Read more
Read more
June 26, 2023
Wisdom is not what you know
The hallmark of great wisdom is not what you know, but what you know and can put to use. The globe is full of learned idiots, unable or incapable of following the wisdom they have accumulated. There's no prize for a closet full of axioms or insights, if you leave it all in there, and venture philosophically naked into the world. Ironic...
Read more
Read more
See more posts »