posted on 2 Comments on

Here is just one example of the total wrongness of something I tend to be automatically sure of: everything in my own immediate experience supports my deep belief that I am the absolute centre of the universe; the realest, most vivid and important person in existence. We rarely think about this sort of natural, basic… keep reading

Spark Joy with DHH

posted on 1 Comment on Spark Joy with DHH

David Heinemeier Hansson and Jason Fried are fans of Marie Kondo’s 2014 bestseller “The Life-Changing Magic of Tidying Up,” which is back in the cultural zeitgeist thanks to her new Netflix show. In this bonus episode of the Rework podcast, DHH talks about how he’s applied the KonMari framework to code, business decisions at Basecamp,… keep reading

Leaders, doing what you’re good at hurts your team.

posted on 3 Comments on Leaders, doing what you’re good at hurts your team.

Playing to your strengths as a leader doesn’t make you a good manager. Here’s why. Of all the tips to be a good manager, “leaning into your strengths” has got to be one of the most frequently cited. “Do what you’re good at. Focus on your strengths.” That’s the conventional advice we all receive. There’s… keep reading

The books I read in 2018

posted on 15 Comments on The books I read in 2018

Now a tradition in its third year (see 2016 and 2017). Here are all my extracted answers to our monthly Basecamp check-in question of What are you reading? Notes from UndergroundFyodor Dostoyevsky was one of those authors I had heard about in school but never really contemplated reading directly. He lived 1821-1881 and wrote such classics as Crime and… keep reading

Busy is the new stupid

posted on 5 Comments on Busy is the new stupid

Looks like I may be doing it right. This is exactly why we don’t have shared calendars at Basecamp. At Basecamp, everyone controls their own calendar, and no one can see anyone else’s schedule. You can’t claim time on anyone else’s calendar, either. Other people’s time isn’t for you — it’s for them. You can’t take it,… keep reading

Putting on some wait

posted on 24 Comments on Putting on some wait

I’m generally patient over the long term, but I can be impatient in the short term. But, really, what’s the rush? Why the hurry? I’ve been asking myself this question more and more lately. A new year is a good excuse to make a change, so in 2019 I’ve decided to put on some wait.… keep reading

Imagine a world without ads targeted by personal information

posted on 6 Comments on Imagine a world without ads targeted by personal information

Elephants wouldn’t be killed for their tusks if there wasn’t a demand for ivory. We can do all sorts of things to discourage poachers, but as long as the market is there, the killings will continue. Likewise, the flood of privacy scandals involving Facebook, ad exchanges, and other privacy poachers all tie back to the… keep reading

How to: Back-to-top button without scroll events

posted on 10 Comments on How to: Back-to-top button without scroll events

Web developers: here’s an alternative way to build UI features that rely on scroll position without actually observing scroll events. Using the Intersection Observer API we can know when an element enters or leaves the viewport and respond in a way that’s much more performant. It’s a very, very, bad idea to attach handlers to the… keep reading