







A set of improvements on top of Eg-walker that make it faster to merge and reopen documents while using less memory and disk. Most of the gains come from faster text operations, taking the cheap path more often, and skipping work that is already done or not yet needed.
Software Acceleration and Desynchronization
A look at the ever-present drive to make software delivery faster and how it might break down various activity loops in organizations.

There's no reason for software to be slow anymore
The other day, I saw a viral tweet saying that people talking about how LLMs are causing slow, bloated, code are going to eat crow once they re-write everything in super-optimized assembly. We're not quite at the point where we want to write everything in assembly, but some variant of what Nolan Lawson said about testing, you can choose how many bugs you want now, which I less eloquently noted here, is becoming more true for performance.
Automerge 3.0
A new major version of Automerge, which cuts down memory usage by more than 10x while preserving backwards compatability.


There continue to be reasons for software to be slow
A discussion on the various reasons why performance is slow, and which ones are unlikely to be affected by LLMs. Originally written as a counter-point to Dan Luu
Yoink for Mac - Simplify and Improve Drag and Drop
Simplify and improve drag and drop on your Mac and speed up your daily workflow.
Slow Software
What it means for software to be fast, and why most software is not.

The best read-it-later service – The Sweet Setup
The world of software occasionally produces fruitful rivalries between applications that try to solve the same problem with different approaches: Omnifocus vs. Things, Alfred Vs. Launchbar, Rdio vs. Spotify, etc. These rivalries are great for consumers because each application is forced to hone its own approach and polish its unique features. In the read-it-later space, […]

The Software We Haven’t Invented Yet, discussion and dinner hosted by Boxd and BlueYard · Luma
If this is such a big moment for software, why are we mostly imagining faster versions of what we already do? Better coding tools are the obvious part. The…

We're making Tailscale faster
Tailscale performance updates reduce memory use, increase throughput, and speed startup with multi-queue, writev, and netmap caching.

Why I’m skeptical of rewriting JavaScript tools in “faster” languages
I’ve written a lot of JavaScript. I like JavaScript. And more importantly, I’ve built up a set of skills in understanding, optimizing, and debugging JavaScript…

Reflections on software performance
At this point in my career, I’ve worked on at least three projects where performance was a defining characteristic: Livegrep, Taktician, and Sorbet (I discussed sorbet in particular last time, and livegrep in an earlier post). I’ve also done a lot of other performance work on the tools I use, some of which ended up on my other blog, Accidentally Quadratic. In this post, I want to reflect on some of the lessons I’ve learned while writing performant software, and working with rather a lot more not-so-performant software.
My productivity app is a never-ending .txt file
The biggest transition for me when I started college was learning to get organized. There was a point when I couldn't just remember everything in my head. And having to constantly keep track of things was distracting me from whatever task I was doing at the moment.