
This week I have been doing a lot of writing for a class I start teaching next week — specifically, writing the first draft of a programming textbook for a client. It’s been good and also hard. Last week I wrote nearly 140 pages. Fortunately, the coming chapters should be much lighter.
Most of my reading, then, has been about specific language features.
But I’ve had the chance to do some other reading as well:
That Discomfort You’re Feeling is Grief
This HBR interview with David Kessler is good.
But whenever I talk about the stages of grief, I have to remind people that the stages aren’t linear and may not happen in this order. It’s not a map but it provides some scaffolding for this unknown world. There’s denial, which we say a lot of early on: This virus won’t affect us. There’s anger: You’re making me stay home and taking away my activities. There’s bargaining: Okay, if I social distance for two weeks everything will be better, right? There’s sadness: I don’t know when this will end. And finally there’s acceptance. This is happening; I have to figure out how to proceed.
Acceptance, as you might imagine, is where the power lies. We find control in acceptance. I can wash my hands. I can keep a safe distance. I can learn how to work virtually.
I’ve been very fortunate in that I already work from home in a job that is not meaningfully affected by COVID-19; many of my clients are seeing an uptick in business.
But it’s been hard on my family, albeit in ways that are small in the macro scale.
We’ve been fortunate to stay healthy so far, but this new normal is still pretty unusual.
Snow Science Against the Avalanche
This was an interesting essay by James Somers about attempts to understand snow and avalanches, and to then use that information to keep people safe.
The word “avalanche” is too graceful for the phenomenon it describes. On slopes shallow enough to accumulate snow but steep enough for it to be unstable—the sweet spot is said to be thirty-nine degrees—the layers will separate, and the slab will crack and slide. Churning violently, the snow reaches eighty miles per hour within a few seconds. A skier who avoids colliding with trees and rocks is likely to be pulled under, then pinned in place by thousands of pounds of snow that harden like concrete. Very few people can dig themselves out; most can’t even move their fingers. Within minutes, an ice mask forms around your face. You asphyxiate on your own exhaled carbon dioxide.
There were some pretty horrifying descriptions of what avalanches can do, and also some deep reverence for nature.
Let’s just ban meetings
DHH is no stranger to making provocative statements on the internet and then doubling down on them. I think he’s probably more right than not on this one, though. When I think about stretches of time where I spent all my time in meetings, I ended up accomplishing almost nothing actually productive, though it often felt productive.

Meetings are still sometimes useful, particularly ad hoc “Can you help me figure this out?” or “Hey, now that we have information, let’s make a decision” conversations. However, it’s been my experience that having more than a few people on a call or going more than 30-45 minutes is usually an indicator that not everyone needs to be there.
In a previous job, we a had a feature wherein a lot of people and a lot of time was spent making a very small decision. Looking at the effective hourly rates of everyone involved, we easily spent 10x what the actual decision would’ve cost to implement (even if it failed). It was frustrating.
On the plus side, the shift to working at home and doing lots of Zoom meetings has given us moments like this:

So far my kid has just enjoyed interrogating my coworkers and clients, and telling them about her cat. He’s a really good cat.

The Magic Tricks of Testing
Sandi Metz is an absolute gem, as is her 2013 talk from RailsConf about testing. She does a really apt job, I think, of categorizing the types of method calls we might make and prescribing test approaches for each. It’s a very practical application of Command/Query Responsibility Segregation, which I’ve found to be increasingly useful as I write software.
This is well worth reading if you are a software developer, and probably worth ignoring if you are not.
That’s all for this week. Happy Sunday, and please do wash your hands.