Things I Read: 30 Apr – 14 Jul 2026 - Beach Reads Edition
I got behind a little in my reading and a lot in my posting because of the onrush of the end of school, the beginning of summer and holiday season, and needing to give two talks. This catch-up post is a bit longer than most, but that’s partly because it represents some binge reading I did while on the beach on vacation. I accidentally gave myself a digital detox because I took my Kindle loaded with 300 unread items from Instapaper and a bunch of books and wound up using it way more than I used my phone. The winnowed down results are here and I hope you enjoy them.
Disclaimer: I work at Microsoft on upstream Linux in Azure. These are my personal notes and opinions.
AI & the future of software work
-
The bottleneck has moved: redesigning the SDLC for AI
I’ve always been bothered by the admonishment that you must “read every line of code” generated by an LLM. This article argues that LLMs are useful only if they boost the throughput of the whole system. That boost comes from the same place it always has: features of acceptable quality that move the codebase further toward its goals.
Since humans aren’t going to read every line of code, and never have, what do you do instead? You formalize the gating humans have traditionally used.
Risk-based change classification is one example. Not all work requires the same level of scrutiny. Some changes are routine, well-understood, and low risk. Others carry architectural, security, or product risk that demands deeper review. Classifying work by risk profile allows scarce human judgment to be applied where it matters most, instead of spread thinly across everything.
I found this opening comment about Agile insightful because it made me think about what its rituals should do, rather than what we built an industry to do.
Agile wasn’t primarily about being nimble or responding to change. That’s the story we told about it. Agile was the industry’s answer, mostly unconscious, to a single problem: how to manage a scarce, expensive development bottleneck.
-
Writing code not being the hardest or most critical part of building software isn’t controversial, except among those for whom writing code is pleasurable. I believe most people want to focus on the harder parts, not grinding out code. One goal of LLM coding tools is to allow anyone, experienced or not, to produce code that achieves their goal.
It seems to be widely agreed among advocates of LLM coding that it’s a skill which requires significant understanding, practice, and experience before one is able to produce consistent useful results … strong prior knowledge of how to design and build good software is also generally recommended or assumed.
I believe I can do this, but I’ve been a developer. The real question is whether someone can learn to do this without ever having been a developer. More and more, I believe the answer is yes, we just haven’t looked at the problem long enough in isolation. Accounting, piloting, and other professions have seen core elements of their work automated away and retooled their education systems to account for this. I believe software development can too.
-
“maybe later” was a feature - arnorhs.dev
This article provides the corollary risk. Our backlogs are filled with work that would require enough effort that we should seriously question the value of doing it. Unchecked LLM use as a way to grind through it is as bad as anything else done unchecked.
The rule of product management is to keep builders so busy they don’t have time to invent things to deliver. If LLMs accelerate development, product has to accelerate too. A company has to organize to use its people wisely, otherwise garbage from the backlog gets built.
Forking
-
Reviving an Abandoned Open-Source Project: 6 Years of Atomic Calendar Revive
-
Together, these three articles poked at a thought that has been in my mind for a while. We need more forks. Not the “soft fork” or “friendly fork” variety, but also not “hard forks,” which, to me at least, carry a connotation of anger or social breakdown. We need forks where someone carries the patch they wrote or generated. We need forks where others can review the patches “on offer” and discuss or debate them. We need well-maintained forks that keep up with their upstream. That is inherently required if you care about your patch and the project, and it lets long-term maintenance and use signal to other forks and the upstream that your patches may be worth carrying. All of this will require an infrastructure that can surface forks usefully, something GitHub and their clones haven’t figured out yet.
A common complaint is that we are drowning in PRs with no more review capacity. Carrying your own patch in your own fork moves us toward that.
A fork isn’t “I fixed it for me.” It’s “I’m now responsible for fixing it for everyone.” That’s a much bigger sentence than it looks. – “Reviving an Abandoned Open-Source Project: 6 Years of Atomic Calendar Revive”
The last article really drives this home: a patch not submitted may be the best solution for some things.
Open Source Sustainability
-
The Quiet Renovation at Bitwarden - ByteHaven - Where I ramble about bytes
Apparently “always free” is back at Bitwarden. But this author isn’t happy about that. They’ve already “moved on” to a free clone. This attitude is what really bothers me.
The “all for me, none for thee” mentality: “I am shocked that the company that creates the thing I refuse to pay for hasn’t found a market to sustain itself from other people who, because they aren’t me, should pay. Now it is forced to figure out a profit strategy that includes cutting costs for users like me. Instead of becoming a supporter of the thing I need, want, and claim to care about, I’ll begin using an open source project that spends most of its time either repackaging the company’s code or blindly reimplementing its features with little to no innovation. That’ll show them!”
It’s like the argument about LLM resource usage. In aggregate, it is huge, and because that is bad, we should save some of our torches and pitchforks for use on the users, even though at a personal level it is very little. Here we see the opposite: people think code development and web hosting should be free because one free-rider user costs little, even though those costs are real in aggregate.
-
In discussing Gentoo, the use of tools like GitHub and Codeberg is touched on:
Sure, abandoning them would be inconvenient for us, but we can do that if need arises.
Many make these kinds of statements and then get angry when Big Corp (tm) uses a project and doesn’t contribute back. Hint: this is the exact same thought that your favorite noncontributor is having. Changing projects will be an inconvenience, but it is a calculable risk. It is the difference between “Mr./Mrs. Right” and “Mr./Mrs. Right Now.”
As a bonus, I love that they mention OpenPGP being used for the one thing it is actually good at. Shout out to The PGP problem.
Growing older and longevity
As someone rapidly becoming a man of a “certain age,” and who has begun attracting the non-terminal health problems associated with that age, this roundup of articles stuck with me.
Even if you are not yet of a certain age, you should read this stuff. The challenges are coming for you too.
-
Even a Little Alcohol Can Harm Your Health
The idea that a low dose of alcohol was heart healthy likely arose from the fact that people who drink small amounts tend to have other healthy habits, such as exercising, eating plenty of fruits and vegetables and not smoking. In observational studies, the heart benefits of those behaviors might have been erroneously attributed to alcohol, Dr. Piano said.
-
Are You Aging Well? Try These Simple Tests to Find Out.
As the old saw goes, “that which is measured is managed.” These tests will help you know where you are so you can decide what to do. The goal isn’t to ace the test, it is to live healthier.
Social connection & talking to strangers
-
Intentionally scheduling no-agenda calls with friends you can “water cooler” talk with is critical for your mental health. Professionally, it can be a bit self-reinforcing if you don’t grow your network. Therefore, you should talk to strangers, as the next articles suggest.
-
The stranger secret: how to talk to anyone – and why you should
study by the University of Virginia (Talking with strangers is surprisingly informative) … “People tend to underestimate how much they’ll enjoy the conversation, feel connected to their conversation partner and be liked by their conversation partner.”
You are just saying, “It’s cold today, isn’t it?” You are not asking someone to join you on a quest for world peace.
-
Why saying hello to strangers can be good for you
reported on studies showing that simply chatting with strangers has a lasting impact: It can make participants happy.
-
The World: Aging well as an introvert
Considering all the research around socializing and longevity, some introverts can be forgiven for feeling worried.
I’ve never felt like I’ve had a lot of friends. This article focused on the kinds of people you know and should have in your network, even if you’re someone who doesn’t want or need a lot of people around. The categories really resonated with me.
Note: This link is to a Newsletter I receive and I’ve been unable to find a link to it as a published article.
Economics
-
Why Japanese companies do so many different things
With the rise of LLMs, companies spend all of their time talking about how they can cut staff. In contrast, here are Japanese firms awash in labor, diversifying and growing.
-
AI Agents Have Already Chosen Their Money: Bitcoin
The Bitcoin Policy Institute found that AI agents choose Bitcoin, which is shocking(!) The prompts profess a need to be neutral about policy and then describe situations where Bitcoin is theoretically best. It is a first-class example of results seeking.
Evil is done by failures
-
Hitler Was Incompetent and Lazy—and His Government an Absolute Clown Show
There are no evil geniuses. There are charismatic fuck ups who find minions to do the dirty work (see the next article). Just because you can’t find the intelligence behind the boot on your neck doesn’t mean you should stop worrying about removing it.
-
Actually, Democracy Dies in H.R.
Over 20 years ago, I remember having a conversation with a friend. We were both unhappy at work and he was debating changing professions entirely. He said he was seriously thinking about joining the US Border Patrol. When I questioned this, he explained that it was known as a fast path to better government jobs and higher level positions in other agencies.
Reading this article and looking back at 20 years of US border and immigration policy, I believe I now understand this on a whole new level.
Recently Finished Books
I’ve been tracking my book reading on my blog, but those notes never get surfaced anywhere. I’ve decided to start including links here. Head to my reading page to find detailed notes or reactions for each book, similar in style to this post.
And finally
-
I Sold Out for $20 a Month and All I Got Was This Perfectly Generated Terraform
This one has some real banger quotes, but also hits on the core issue of code as craftsmanship. In a departure from the norm, I’ll let quotes drive this.
Who was going to hire this band of Eastern European programmers who chain smoke during calls and whose motto is basically “we never miss a deadline”. As it turns out, a lot of people.
How pleasant and well-organized that code is to work with is not really a thing that matters in the long term.
It’s $7000 a year for the servers, with two behind a load balancer. That’s absolutely nothing when compared with the costs of what having a team of engineers tune it would cost
Visual imagery aside, when you buy for a deadline, you are not buying for beauty. Keep that in mind.
I delight in craftsmanship when I encounter it in almost any discipline. I love it when you walk into an old house and see all the hand crafted details everywhere that don’t make economic sense but still look beautiful. I adore when someone has carefully selected the perfect font to match something.
“well great doesn’t matter at all” effectively boils down to “don’t take pride in your work” which is probably the better economic argument but feels super bad to me. In a world full of cheap crap, it feels bad to make more of it and then stick my name on it.
So now I’m paying $20 a month to a company that scraped the collective knowledge of humanity without asking so that I can avoid writing Kubernetes YAML.
“You know what the difference is between you and me? I know I’m a mercenary. You thought you were an artist. We’re both guys who type for money.”
The companies paying for the creation of open source aren’t hiring craftspeople or artists. They aren’t the Medicis handing out money to support the creation of great works of art. They are hiring bands of mercenaries. The key is that most of them have used the cult of open source and the identity of developers as craftspeople and artists to avoid having to pay for quality and instead get it for free. You got hired to mulch the flower beds. You trimmed the bushes, edged the lawn, and planted more flowers for free. Maybe you did it for “the users” which is great when they are real people who really exist. However, a lot of the code we work on for commercial open source companies is being consumed by other commercial entities, not humans. They didn’t care about the flowers either.