š¦ thundersnap 0.01: an undo button for everything - apenwarr
@apenwarr.ca@rss-parrot-test.softwaregardening.org
I'm an automated parrot! I relay a website's RSS feed to the Fediverse. Every time a new post appears in the feed, I toot about it. Follow me to get all new posts in your Mastodon timeline!
Brought to you by rss-kakapo.
---
Happy July 4th! For those of us around the world contemplating independence, it's a good day to think about how we came to rely on expensiv...
Your feed and you don't want it here? Contact the operator of rss-parrot-test.softwaregardening.org.
thundersnap 0.01: an undo button for everything
https://apenwarr.ca/log/20260704
Published: July 4, 2026 04:24
Happy July 4th! For those of us around the world contemplating independence, it's a good day to think about how we came to rely on expensive cloud infrastructure for our fundamental computing needs.
With that in mind, here is my latest toy project: an openā¦
The software industry: annealing, but wrong
https://apenwarr.ca/log/20260531
Published: May 31, 2026 20:24
In recent months I've heard of several teams with an interesting policy: each pull request should be no more than a few files, and no more than a certain number of lines (say 500). And do just one thing and do it well. And be easy for a human to review.ā¦
Web Summit Vancouver 2026: AI and the next generation of engineers
https://apenwarr.ca/log/20260526/ai-killing-next-generation-engineers
Published: May 26, 2026 00:00
AI isnāt killing engineering. It's making it less meditative.
Thereās a lot of talk about AI killing engineering jobs. Some jobs will change, and some will disappear. But weāve been automating engineering work for decades, and somehow we keep finding moreā¦
Web Summit Vancouver 2026: open source in the agentic era
https://apenwarr.ca/log/20260521/open-source-in-the-agentic-era
Published: May 21, 2026 00:00
AI is the cause of, and solution to, slop problems. Have AIs filter your PRs so humans get back to deciding what they want to exist.
AI was built on open source. Now itās starting to return the favour: finding bugs, writing fixes, and optimizing codeā¦
Web Summit Vancouver 2026: AI needs an Android-like ecosystem
https://apenwarr.ca/log/20260520/is-open-source-ai-rewriting-the-rules
Published: May 20, 2026 00:00
AI needs an open āAndroidā to balance the vertically locked-in āiPhoneā of trillion-dollar AI companies.
Open-source AI is closing the gap with closed systems faster than many people expected. That changes the economics, the security model, and theā¦
Web Summit Vancouver 2026: the modern tech stack
https://apenwarr.ca/log/20260519/consolidating-the-modern-tech-stack
Published: May 19, 2026 00:00
AI is the universal translator that finally connects all your tools... into a hairball.
Most companies donāt have a tool shortage. They have too many tools, too many handoffs, and too many places where context gets lost.
I joined a panel at Web Summit toā¦
Every layer of review makes you 10x slower
https://apenwarr.ca/log/20260316
Published: March 17, 2026 02:54
Weāve all heard of those network effect laws: the value of a network goes up with the square of the number of members. Or the cost of communication goes up with the square of the number of members, or maybe it was n log n, or something like that, dependingā¦
Systems design 3: LLMs and the semantic revolution
https://apenwarr.ca/log/20251120
Published: November 20, 2025 14:19
Long ago in the 1990s when I was in high school, my chemistry+physics teacher pulled me aside. "Avery, you know how the Internet works, right? I have a question."
I now know the correct response to that was, "Does anyone really know how the Internetā¦
Billionaire math
https://apenwarr.ca/log/20250711
Published: July 11, 2025 16:18
I have a friend who exited his startup a few years ago and is now rich. How rich is unclear. One day, we were discussing ways to expedite the delivery of his superyacht and I suggested paying extra. His response, as to so many of my suggestions, was,ā¦
The evasive evitability of enshittification
https://apenwarr.ca/log/20250530
Published: June 15, 2025 02:52
Our company recently announced a fundraise. We were grateful for all the community support, but the Internet also raised a few of its collective eyebrows, wondering whether this meant the dreaded āenshittificationā was coming next.
That word describes aā¦
Web Summit Vancouver 2025: securing AI, with Ivan Zhang
https://apenwarr.ca/log/20250529/securing-ais-future
Published: May 29, 2025 00:00
Treat AI agents like a naive, high-energy intern.
As AI takes off, itās bringing new security challengesāespecially around how models are built and accessed. In this talk, I sat with Cohere Co-founder Ivan Zhang dig into the often-overlooked networkingā¦
Accel SpotLight S3E4: building a better Internet
https://apenwarr.ca/log/20250304/building-a-better-internet
Published: March 4, 2025 00:00
The Internetās been broken since IPv6 stalled; Tailscale fixes it at the IP layer.
Before I knew exactly what Tailscale would become, I knew how I wanted to build it: keep the product simple, sell to developers, win small markets before expanding, andā¦
What do executives do, anyway?
https://apenwarr.ca/log/20190926
Published: March 15, 2024 04:27
An executive with 8,000 indirect reports and 2000 hours of work in a year can afford to spend, at most, 15 minutes per year per person in their reporting hierarchy... even if they work on nothing else. That job seems impossible. How can anyone make anyā¦
NPS, the good parts
https://apenwarr.ca/log/20231204
Published: December 5, 2023 05:01
The Net Promoter Score (NPS) is a statistically questionable way to turn a set of 10-point ratings into a single number you can compare with other NPSes. That's not the good part.
Humans
To understand the good parts, first we have to start with humans.ā¦
Interesting
https://apenwarr.ca/log/20231006
Published: October 6, 2023 20:59
A few conversations last week made me realize I use the word āinterestingā in an unusual way.
I rely heavily on mental models. Of course, everyone relies on mental models. But I do it intentionally and I push it extra hard.
What I mean by that is, when Iāmā¦
Systems design 2: What we hope we know
https://apenwarr.ca/log/20230415
Published: July 11, 2023 03:12
Someone asked if I could write about the rise of AI and Large Language Models (LLMs) and what I think that means for the future of people, technology, society, and so on. Although that's a fun topic, it left me with two problems: I know approximatelyā¦
Tech debt metaphor maximalism
https://apenwarr.ca/log/20230605
Published: July 11, 2023 03:12
I really like the "tech debt" metaphor. A lot of people don't, but I think that's because they either don't extend the metaphor far enough, or because they don't properly understand financial debt.
So let's talk about debt!
Consumer debt vs capitalā¦
The Curse of Unreasonably Sized Networks
https://apenwarr.ca/log/20201028
Published: November 20, 2022 02:04
I just did a presentation at SREcon Conversations (which I call SREconcon) EMEA, called the "Curse of Unreasonably Sized Networks." I talked about the series of Dunbar's numbers and how they relate to different kinds of human social networks, andā¦
The Gift of It's Your Problem Now
https://apenwarr.ca/log/20211229
Published: January 1, 2022 13:32
Recently a security hole in a certain open source Java library resulted in a worldwide emergency kerfuffle as, say, 40% of the possibly hundreds of millions of worldwide deployments of this library needed to be updated in a hurry. (The other 60% alsoā¦
100 years of whatever this will be
https://apenwarr.ca/log/20211201
Published: December 2, 2021 12:38
What if all these weird tech trends actually add up to something?
Last time, we explored why various bits of trendy technology are, in my opinion, simply never going to be able to achieve their goals. But we ended on a hopeful(?) note: maybe that doesn'tā¦
Absolute scale corrupts absolutely
https://apenwarr.ca/log/20190819
Published: November 17, 2021 22:49
The Internet has gotten too big.
Growing up, I, like many computery people of my generation, was an idealist. I believed that better, faster communication would be an unmitigated improvement to society. "World peace through better communication," I said toā¦
The log/event processing pipeline you can't have
https://apenwarr.ca/log/20190216
Published: November 17, 2021 22:49
Let me tell you about the still-not-defunct real-time log processing pipeline we built at my now-defunct last job. It handled logs from a large number of embedded devices that our ISP operated on behalf of residential customers. (I wrote and presentedā¦
SimSWE 4: Wants, needs, and chasm-crossing
https://apenwarr.ca/log/20211024
Published: November 17, 2021 22:38
Let's talk about bug/feature tradeoffs.
Anyone who knows me has probably already heard me rant about Crossing the Chasm, my most favourite business book of all time. I love its simple explanation of market segmentation and why the life cycle of a techā¦
10 years of... whatever this has been
https://apenwarr.ca/log/20211117
Published: November 17, 2021 22:38
I guess I know something about train wrecks.
One night when I was 10 years old, me and my mom were driving home. We came to a train crossing outside of town. There was another car stopped right on the tracks, stalled. A lady was inside, trying to get herā¦
Thoughts you mightn't'a thunk about remote meetings
https://apenwarr.ca/log/20201123
Published: July 21, 2021 19:34
Welcome to this week's edition of "building a startup in 2020," in which all your meetings are suddenly remote, and you probably weren't prepared for it.
I know I wasn't. We started a "fully remote" company back in 2019, but that was supposed to mean weā¦
Several grumpy opinions about remote work at Tailscale
https://apenwarr.ca/log/20200309
Published: June 21, 2021 17:05
As a "fully remote work" company, we had to make some choices about the technologies we use to work together and stay in touch.
We decided early on - about the time we realized all three cofounders live in different cities - that we were going to go all-inā¦
Systems design explains the world: volume 1
https://apenwarr.ca/log/20201227
Published: December 29, 2020 03:45
"Systems design" is a branch of study that tries to find universal architectural patterns that are valid across disciplines.
You might think that's not a possibility. Back in university, students used to tease the Systems Design Engineers, calling itā¦
Can I work for a bad company and still be a good person?
https://apenwarr.ca/log/20201121
Published: November 23, 2020 10:14
No.
IPv4, IPv6, and a sudden change in attitude
https://apenwarr.ca/log/20200708
Published: July 22, 2020 18:13
A few years ago I wrote The World in Which IPv6 was a Good Design. I'm still proud of that article, but I thought I should update it a bit.
No, I'm not switching sides. IPv6 is just as far away from universal adoption, or being a "good design" for ourā¦
git-subtrac: all your git submodules in one place
https://apenwarr.ca/log/20191109
Published: November 24, 2019 19:04
Long ago, I wrote git-subtree to work around some of my annoyances with git submodules. I've learned a lot since then, and the development ecosystem has improved a lot (shell scripts are no longer the best way to manipulate git repos? Whoa!).
Thus, I bringā¦
Programmer migration patterns
https://apenwarr.ca/log/20190318
Published: March 18, 2019 17:21
I made a little flow chart of mainstream programming languages and how programmers seem to move from one to another.
There's a more common kind of chart, which shows how the languages themselves evolved. I didn't want to show the point of view of languageā¦
Quotes from 1992
https://apenwarr.ca/log/20190207
Published: March 8, 2019 23:19
I was recently recommended to read the book Accidental Empires by Robert X. Cringely, first published in 1992 (or was it 1991?) and apparently no longer in print and also not in e-book format. To my surprise, it turns out archive.org has a solution forā¦
Factors in authentication
https://apenwarr.ca/log/20190114
Published: March 1, 2019 02:16
Multi-factor authentication remains hard-to-use, hard-to-secure, and error-prone. I've been studying authentication lately to see if it might be possible to adapt some security practices, especially phishing prevention, from big companies to smallā¦
Forget privacy: you're terrible at targeting anyway
https://apenwarr.ca/log/20190201
Published: February 9, 2019 02:09
I don't mind letting your programs see my private data as long as I get something useful in exchange. But that's not what happens.
A former co-worker told me once: "Everyone loves collecting data, but nobody loves analyzing it later." This claim is almostā¦
XML, blockchains, and the strange shapes of progress
https://apenwarr.ca/log/20180914
Published: January 31, 2019 23:09
Back in the early 2000s, XML was all the rage. An unusual evolution from HTML, which itself was an evolution (devolution?) from SGML, XML was supposed to be a backlash against complexity.
SGML originally grew from the publishing industry (for example, theā¦
Misadventures in process containment
https://apenwarr.ca/log/20190111
Published: January 14, 2019 04:49
I've been working on a series of tutorials using redo for various use cases. (One of the most common user requests is more examples of how to solve real-world problems with redo. The problem with extremely flexible tools is that it can be hard for peopleā¦
Honourable Governance
https://apenwarr.ca/log/20181208
Published: December 9, 2018 12:46
From a book I've been reading:
Power is certainly important, particularly in dictatorships, in places where constitutions, laws, unwritten rules, traditions and understandings don't count. But in a healthy democracy, power is a surprisingly limitedā¦
Don't delegate the most important thing
https://apenwarr.ca/log/20181202
Published: December 5, 2018 02:49
A while ago I was discussing hiring plans with a co-founder of a recently-funded startup. Their story was something like this:
"The company is growing very fast and we now have about a dozen people. We have tight deadlines, and none of the founders hasā¦
An epic treatise on scheduling, bug tracking, and triage
https://apenwarr.ca/log/20171213
Published: November 30, 2018 21:20
[Note 2017-12-29: the news.ycombinator.com discussion of this post is unusually useful. You may want to read it first.]
[Note 2018-09-01: I presented an updated and shortened version of this talk at SREcon EMEA 2018. There's a recording and some slidesā¦
Xnest, Xephyr, ChromeOS, synergy, and syncing some clipboards
https://apenwarr.ca/log/20181125
Published: November 24, 2018 13:56
I recently decided to switch my laptop from a Macbook to a Chromebook, partly because Apple's keyboards are so terrible lately, and partly because ChromeOS is suddenly useful now that they invented Crostini.
(Some people ask why I, a person who actuallyā¦
mtime comparison considered harmful
https://apenwarr.ca/log/20181113
Published: November 17, 2018 06:08
tl;dr: Rebuilding a target because its mtime is older than the mtimes of its dependencies, like make does, is very error prone. redo does it better, and so can you.
A recent twitter discussion (pro tip: never do those) led me to realize that I have studiedā¦
The good feeling from bad feedback
https://apenwarr.ca/log/20181117
Published: November 17, 2018 04:36
I'm working on (statistically speaking) my least interesting work in years.
Previously I spent time doing wifi drivers, boot scripts, logfile processors, payment systems, and project estimation, so one might reasonably have assumed I can't get much moreā¦
redo, buildroot, and serializing parallel logs
https://apenwarr.ca/log/20181106
Published: November 6, 2018 04:45
Lately I've been getting back to hacking on my djb redo implementation. We've fixed some problems with file attribute handling on NFS, obscure locking, and MacOS/FreeBSD portability. If you haven't tried redo in a while, you might want to give it anotherā¦
I simulated California housing and learned... about simulators
https://apenwarr.ca/log/20180918
Published: September 17, 2018 21:44
Here's a post I've been thinking about for a while. I shared it privately with a few people last year, but wanted to find a way to present it that wouldn't be wildly misconstrued. No luck so far.
Summary: Inspired by some conversations at work, I made aā¦
SimSWE part 2: The perils of multitasking
https://apenwarr.ca/log/20170928
Published: September 15, 2018 18:34
I updated my SWE simulator[1] from a few weeks ago. This time, instead of PMs changing their minds about features, we have PMs and execs who choose not to make up their minds at all, letting launch requirements get bloated.
These four charts have the sameā¦
A little bump in the wire that makes your Internet faster
https://apenwarr.ca/log/20180808
Published: September 15, 2018 18:34
My parents live in a rural area, where the usual monopolist Internet service provider provides the usual monopolist Internet service: DSL, really far from the exchange point, very very asymmetric, and with insanely oversized buffers (ie. bufferbloat),ā¦
Books that explain (parts of) how the world really works
https://apenwarr.ca/log/20180724
Published: August 8, 2018 10:04
I spend a lot of time answering various people's tech-business questions. Occasionally, I will say something that sounds brilliant, and an unlucky listener will exclaim, "Avery, how do you know so much stuff?"
Answer: I read it in a book. Now, I don'tā¦
Event horizon
https://apenwarr.ca/log/20171015
Published: October 15, 2017 20:47
One of the dangers of working at a big company that does a little bit of everything, even if that big company has a pretty open culture, is it's really hard to remember which things are still secret and which have been released. Since I started working forā¦
People keep telling me I should write a book with all this stuff I
https://apenwarr.ca/log/20171005
Published: October 15, 2017 20:24
keep posting about. But my deep dark secret is... I mostly got it from reading books in the first place.
git basically gives you superpowers. However, like any new superhero
https://apenwarr.ca/log/20171006
Published: October 15, 2017 20:24
, you will need to go through a montage of embarrassing and destructive mistakes as you learn to use those superpowers.