







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.

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.

When benchmarks go bad - what I learned from measuring performance wrong - Holly Cummins
The world of performance analysis is littered with flawed claims, cognitive biases, dangerous intuitions, and beguiling fallacies. Sadly…

Software Engineering Productivity Research - Home
The Science of High Performance
Research shows that knowing what you want to accomplish is more important than performance at the start. But once you know where you're going, you can accelerate your progress by considering and implementing these steps.

Slow Software
What it means for software to be fast, and why most software is not.

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
Speed Comparison - Programming Languages
Benchmarks run on GitHub Actions. Results may vary based on runner hardware.
Composure
On yet another foray into the list of opinions I have that I’m sure are making me progressively more unemployable by the day, I asked some people on the internet: who is doing interesting work on software composability these days and where do I find them?
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.
Towards a Better GUI Programming Benchmark | HackerNoon
GUI <a href="https://hackernoon.com/tagged/programming" target="_blank">programming</a> is <a href="https://medium.com/@eugenkiss/challenges-in-gui-programming-65d360466e3f" target="_blank">challenging</a>. We strive to find better ways to program GUIs and we do make progress. The fact that countless GUI toolkits with different ways to develop GUIs exist indicates that the road ahead is still long. If only there was a benchmark to compare GUI programs with one another. Then identifying good ideas would become much easier.

The 10 Best Practices for Remote Software Engineering
At face value, when we think of developer productivity we might think of effectiveness in time management, communication, and task completion.14 Although we are drawn to personal workflow or time management tools, and learning secrets to improving our productivity, ironically this quest for the holy grail can sometimes take us off course and be a detriment to our productivity. The problem is that accomplishing tasks or having a filled up schedule does not necessarily equate to productivity. Creating a formulaic working strategy, as was common in the last century, does not either.a,8,13 Productivity is less a quality that can be easily measured,b controlled, or improved directly with tools, but instead is a human element that manifests from developer happiness.

Improving My Hardware Workflow With CI and Nix
One thing you might notice if you read my blog is that I do a lot of hardware projects. Generally, these include a board, some software, and possibly some extraneous components (like CAD design, such as a case). Software tooling is quite mature, but I find that hardware had traditionally lagged quite a bit behind. For a while, I just lived with this, but over the last few months I've put in a bunch of effort to improve my workflow.

🐌 Slow Software for a Burning World 🔥
In a world of “move fast and break things,” we’ve chosen a different tempo — one rooted in care, deep listening, and collective stewardship. Slow software means building for long-term resilience and meaningful participation, rather than chasing novelty, speed, or scale.
everything is a ralph loop
I’ve been thinking about how I build software is so very very different how I used to do it three years ago. No, I’m not talking about acceleration through usage of AI but instead at a more fundamental level of approach, techniques and best practices. Standard software practices
