Writing
Notes on performance, reliability, and working with AI as it keeps changing.
- Two Agent Sessions Is What I Can Review
Agents write almost all my side-project code, and I review every plan and every build, so I run at most two sessions per repo.
- The Version That Looked Faster
A blurry preview layer filled Fractal's canvas 37% sooner, but it made the final detail late and cost more bytes and CPU, so it never shipped.
- A Snapshot Paired with the Wrong Log
Every file in Fractal's data directory was safe on its own, but a live backup could pair a snapshot with a log missing records it needs.
- What Unchanged Means
Coming back to a deep view on a slow link went from 757.4 to 48.8 ms once Fractal stopped resending strokes the browser already had.
- What an Eraser Erases
Four things erase could mean on Fractal's vector canvas, which one shipped as ordered masks, and why editable pieces were deferred.
- The Lock Was Fine
Fractal's overview took 8.9 seconds to build, while the lock was held for 5 ms. The time went to 45.9 GiB of allocation in mostly empty polygon scans.
- My Rate Limiter Caught Me First
The limits I built to keep abuse off my canvas slowed my own zooming and locked out my own stress tool. Then one of them quietly stopped working.
- A Sync Script Should Delete Only What It Wrote
agentsync used to empty its output folders on every sync, deleting anything else there. Now it keeps a list and deletes only what it wrote.
- The Old Laptop That Runs Our TV
An old Intel laptop became our Plex server. Apps that restart themselves and a daily backup of the one thing Plex can't rebuild made it easy to live with.
- One Payment, Two Rows
LedgerLift pairs the two statement rows that one card payment creates and leaves both out of income and expenses.