About
A working notebook, published in public.
Almost everything I know about building software I learned because somebody else took the time to write down what they had worked out, usually while it was still inconvenient to do so. This blog is my share of that.
So the rule here is simple: nothing gets published unless I have actually done it, and the awkward parts stay in. That means the dead ends, the trade-off I regretted, and the number of attempts it really took. Advice without the cost attached is just encouragement.

- Posts published
- 11
- Subjects
- 05
The mission
Leave a written trail that saves somebody else a week.
Every post here is meant to be the page I wanted to find when I was stuck: specific, honest about the cost, and finished with something you can use the same afternoon.
What that looks like in practice
- One idea per post, argued properly, with the counter-argument included rather than hidden.
- Examples from work that actually shipped, in the plainest form I can write them.
- Corrections in the open. When a post turns out to be wrong, it gets updated and the change is noted.
- No sponsored posts, no affiliate links, nothing recommended that I do not use.
What you will not find
- Framework announcements rewritten from the release notes.
- Productivity systems I have used for less than six months.
- Anything I have not actually run in production.
- Predictions about what the industry will look like in five years.
What the blog covers
Five running threads
Each one is a subject I keep returning to because the work keeps returning to it. Pick a thread to read everything filed under it.
- EngineeringNotes from building and maintaining software that other people depend on.03 posts
- DesignLayout, type and interface decisions, with the reasoning left in.02 posts
- ToolingThe editors, terminals and small scripts that earn their place on my machine.02 posts
- WritingDocumentation, newsletters and the craft of writing for other developers.02 posts
- CareerPace, focus and the working decisions nobody puts in a job description.02 posts
Meet the writer
Who is behind this
Ari Bennett
Software engineer and writer
I build web software for a living and write about the parts that are hard to search for: the trade-offs, the dead ends, and the small habits that make a codebase pleasant to come back to a year later. A decade in, I still keep a paper notebook next to the keyboard.
I write here in the evenings, mostly to work out what I think. If a post reads like it was argued with somebody, it probably was: the best ones start as a reply to a question from a colleague and grow from there.
- Writes about
- Shipping small, boring tools, interface detail, documentation.
- Working on
- This blog, and a side project that ships on Thursdays.
- Reply time
- Two working days, usually less.