You’re reading Signal v. Noise, a publication about the web by Basecamp since 1999. Happy Saturday!

David

About David

Creator of Ruby on Rails, partner at 37signals, best-selling author, public speaker, race-car driver, hobbyist photographer, and family man.

Code statistics for Basecamp Next

David
David wrote this on 77 comments

When I did all the programming for the original version of Basecamp back in 2003, we ended up shipping with just about 2,000 lines of code. A lot has happened in those eight years and we’ve acquired a more delicate taste of just how beautiful we want the basics executed.

This means significantly more code. Here are the stats from running “rake stats” on the Rails project:

On top of that we have just over 5,000 lines of CoffeeScript — almost as much as Ruby! This CoffeeScript compiles to about twice the lines of JavaScript.

Basecamp Next is running Rails 3.2-stable and we’ve got a good splash of client-side MVC in the few areas where that makes sense through Backbone.js and various tailor-made setups.

Got any questions about our stack or code base? Post them in the comments and we’ll fill you in.

Basecamp Next's caching hardware

David
David wrote this on 69 comments

From the very start, we wanted Basecamp Next to be fast. Really, really fast. To do so we built a russian-doll architecture of nested caching that I’ll write up in detail soon. But for now I just wanted to share where all this caching is going to live as we just installed it at the hosting center.

It kinda reminds me of what pictures of a drug raid look like when they lay out all the coke and cash on the table, but this is what 864GB of RAM looks like:

Cost of the loot was $12,000.

Three years later, Mr. Moore is still letting us punt on database sharding

David
David wrote this on 30 comments

Three years ago, I wrote about how improvements in technology keep allowing us to punt on sharding the Basecamp database. This is still true, only more so now.

We’ve grown enormously over the last three years but RAM keeps getting cheaper and FusionIO SSD’s keep getting faster. If anything, it seems like recent advances in SSD technology are accelerating and it’s ever more unlikely that we’ll need to shard Basecamp.

Basecamp remains a perfect candidate for sharding. Isolated accounts, no sharing between them. Yet the cost in increased complexity is constant while the cost of throwing hardware at the problem keeps dropping.

It’s like how some old people have a hard time dealing with inflation and “they want how much for a gallon of milk these days?”. Technologists who grew up when RAM cost $1,000 per megabyte can have a hard time dealing with the luxury of RAM being virtually free (we just bought about a terabyte worth of RAM for a Basecamp Next caching system that cost just around $12,000).

The progress of technology is throwing an ever greater number of optimizations into the “premature evil” bucket never to be seen again.

REWORK passes 200,000 copies sold!

David
David wrote this on 22 comments

We just got our royalty statement from Crown and are pretty excited about the fact that we’ve sold over 200,000 copies of REWORK now. About three quarters of the sales have been hardcover books with audio and ebook splitting the remainder.

Thanks to everyone who helped us get here by buying and recommending the book. We are very grateful for your support in getting the word out.

Give me spark

David
David wrote this on 26 comments

Some of the best decisions and designs at 37signals have emerged from intensely contested debates. Not just between Jason and me, but from anyone in the company. When sparks fly, some truly great ideas come to light.

The catch is that the heat must arise around the decision itself. Debates go off track when personal biases or old grudges come into play. So long as each party sticks to the merits, adding some fire will only unearth new angles and concerns.

This energy is so important to how 37signals operates that I consider it every time we make a hire. Is this person willing to fight for what they believe in? Will they stand up to me, Jason, or anyone else in the company if they think we’re wrong?

Detecting this rebel streak requires looking at a person’s full persona: online debates, choice of technology, writing or work samples, often just the ability to debate or question the interviewer in person.

Sometimes it’s easier just to detect a negative. Someone who’s unlikely to ever question you or your ways. A “yes man” who has only wonderfully great things to say about everything we’ve ever done. That’s a red flag.

Regardless of how you do it, find people with enough spark to care, fight, and campaign for what they believe in. What pushes you and makes you question your beliefs will make your company that much better.

Watching Apple win the world

David
David wrote this on 145 comments

Apple’s last quarter was the second most profitable quarter of any company ever in US history. Only ExxonMobile topped them slightly in 2008 when oil was at an all-time high. That’s an astounding and awe-inspiring accomplishment.

But that’s not why some of us are so proud of what Apple’s been able to do; it’s much more personal.

When I switched to Apple back in 2002 after the introduction of OS X, it felt like a renegade position. The world was running Windows and anyone bothering with a Mac was by definition an outsider.

We had to deal with incompatibilities of all kind. There was the ridicule of overpriced shiny white plastic. We were somewhere in between the “first they ignore you” and the “then they laugh at you” state of adoption. But for those of us who endured it, the result was not disillusion but a hardening of the resolve.

Macs were (and are) just better. Not just because they were better built or put together, but because Apple was a better company. A braver company. A company that stood for higher ideals. When compared to the empire of Microsoft and the Dells, Sonys of the time, it simply felt like they were more right.

When I looked at that, it seemed like an injustice that Macs and Apple were the odd ones out. Like quality was being held back and barred a chance to shine just because the dominant gorillas in the room had so much power and inertia going for them.

I campaigned tirelessly to enlighten my fellow classmates at Copenhagen Business School about this injustice, about why they should get a Mac. I managed to convert my entire study group and a fair number of other people too. It was invigorating to be able to convince people of the fundamentals.

This battle is not that old. There are plenty of veterans who remember how it used to feel to evangelize the company and its products as an outsider. I still do it by habit even though we’ve long since moved into the “and then you win” phase of adoption.

Still, financial results of the likes Apple delivered yesterday serve as an affirmation of all that energy spent telling their story. Believing in the underdog. Like your favorite home team who couldn’t get into premier league while growing up just won the Superbowl, the Stanley Cup, and the World Series all together for the 10th time in a row — and you were the only one to believe in them. It’s an immensely satisfying feeling.

Nowadays we have to deal with the fact that Apple is the gorilla not just in the room but in most of the houses on the block. That’s a scary proposition in its own right. Far too many resistance movements turned drunk with power once they beat the incumbents and ended up being just as bad (or worse) than those they displaced.

While Apple has certainly shown that at times they’ve let their power corrupt, they’re still guided by the fundamental principle we fell in love with: Superior products through superior design.

There are, however, lots of people who make great products with great design. There aren’t lots of Apples who can spread that luxury to the masses and convince them of the benefits like this company has done. When you hear regular people talk about how much they love their iPhone or iPad, it really hammers home what Apple has done not just for themselves but for anyone trying to create better products and hoping to win markets because of them.

I’m well aware that this level of gushing is somewhat unbefitting in public, and I normally wouldn’t indulge the impulse. I’m just so proud of Apple that I’m willing to look foolish saying so.

No other company has inspired me more when it comes to marketing, design, focus, and even capitalism than Apple. Make the best damn product out there, charge a profitable price, and win the world.

Refusing administrative minutiae

David
David wrote this on 41 comments

When I worked with clients on a time and materials basis, I hated logging hours. I hated having the stop watch’s tick tock over me, being forced to account for every increment of time. Or, as it often happened, trying to remember after the fact where the hours went. I never met another developer who liked it either.

So, when 37signals launched the 37express idea, I thought about how cool it was (this was before I joined the company). Turning consulting into a product and charging a fixed price for it. No time-tracking, no tick tock, just clear expectations of what the client was going to get. It really opened my eyes to “you can refuse to do the shit you don’t want to do” way of running a business.

Other judo solutions to avoid time-tracking I’ve seen from consultants have been simply day or, preferably, week rates. You have my attention for this amount of time. Whatever we get done, we get done. I’m not going to break it down into 15-minute increments. Love it.

Similarly, I have almost equal wrath for the expense report. I’ve always felt that if you hire and pay me a good wage, why on earth would you want to always be checking in on me, forcing me to justify a $200 software purchase, or a plane ticket to a conference, or whatever else I might need to do my job well. Keeping paper receipts around and dutifully marking them down. Fuck that.

Now if you have multiple, concurrent clients, and you’re making them pay for your individual expenses, fine. You’re going to have to assign who paid for what steaks and who paid for what strippers.

But the legitimate moaning I’m hearing from people over expenses reports is when they’re being forced to do them purely for internal bookkeeping. This seems like a complete relic from the days when people would pay businesses expenses in cash. Nowadays your credit card company keeps all this on file. What was paid, who it was paid to, who charged it, even categorized. All the data is there. Asking people to fill that in again by hand just seems insulting.

Optimizing your business for happiness is about a lot of things, but taking out all the needless administrative minutiae seems like one of the easiest. Why aren’t you?

Flipping the day

David
David wrote this on 39 comments

Working US hours from Europe has flipped my day. Mornings are now for leisure and evenings for working. This completely changes what that leisure time is spent on.

Most days I work from 1pm to 9pm here in Spain, which translates to 6am to 2pm Chicago time. That gives me all the time before lunch to enjoy the light of day and all the activities that encourages. I find myself more interested in working out, more eager to read books, and generally infused with more energy for both physical and mental activities.

It also gives me a couple of quiet hours of working time before the programmers and designers on US time checkin from somewhere around 8:30am to 10am. Completely uninterrupted periods where both Campfire, IM, and email is quiet.

Compared to working a regular 9-5 US schedule, the difference is stark. On that schedule, I spend more of my evenings consuming passive media like shows or movies and there’s much less energy available for physical activity.

While I’m sure biorhythms and productive hours differ vastly from person to person, I’d be surprised if there weren’t plenty of people just like me who’d benefit from flipping the day. Working US hours from Europe seems to be the easiest way to make that happen.

Rekindle my love of reading

David
David wrote this on 71 comments

When the iPad first came out, I somehow convinced myself that the Kindle was dead. Apple had managed to create something where you could not only read books, but also do everything else. Why on earth would anyone still cling to a single-purpose device like the Kindle? Surely this would be like carrying an iPod in one pocket and an iPhone in the other — pointless!

Ha! What really happened, of course, was much more subtle. Instead of killing the Kindle, the iPad just killed my desire to read books. From the time I got the first iPad until I rediscovered the Kindle this Christmas, I don’t think I finished a single book.

It’s so easy to get wrapped up in the technology story template of “Kindle killer”. A new product is usually always, and lazily, described in not so much what it does, but what it KILLS! If it bleeds, it leads.

Thankfully that delusion has now worn off and I’m back in love with e-ink and have finished four books since Christmas.

I still don’t understand why I can read blogs, news, and code on a screen all day with nary a complaint, but I can’t finish a book on the iPad. But I’m not going to argue, I’m just glad that I’m reading books again.

Trust is fragile

David
David wrote this on 98 comments

Taylor’s post about our growth in 2011 included a bunch of numbers showing how the pistons inside the 37signals engine are pounding faster, but it all got swept away by what seemed like an innocent side-note: The 100 millionth file was called cat.jpg.

Being as it is that the internet is constantly accused of being just an elaborate way of sharing pictures of cats, sharing pictures of cats, we thought that was funny. But it wasn’t. We shouldn’t make jokes about anything even remotely related to people’s data.

Because the natural train of thought from there goes: Hey, if they saw the file name cat.jpg and shared it with the world, what’s to prevent them from sharing other data? Actual sensitive data, like Downsizing-Plans-2012.pdf? Hell, what if they’re actually looking at my secret new logo and leak it to the press?

That’s a completely legitimate train of thought to ride and it was our mistake to get it on track. So let’s start with first things first: We’re sorry. We made a mistake. We should have thought it through and remembered that storing your data with someone else in the cloud hinges on a fragile layer of trust. We poked that trust in the eye and it was wrong. We shouldn’t have checked the log files to see the name of the 100 millionth file.

So what’s a business to do from here?

Continued…