Writing
I write about work, judgment, technology, and what it means to stay human as work changes.
Some of this becomes books. Some becomes essays. Some is thinking out loud.
Featured writing
How I made Tailscale and NordVPN coexist: the Linux exit node pattern
A practical pattern for running Tailscale and NordVPN together, plus the larger question it exposed: private networks need explicit exit profiles, not one vague VPN toggle.
The agent-shaped org chart
Every real org has the same topology: principal, role-holder, specialists. Staff AI maps onto it, node for node, and the cost collapse shows up in the deliverables that were always just human-handoff overhead.
AI as staff, not software
Two frames for what AI is doing to work. The tool frame makes tools smarter. The staff frame makes roles unnecessary. Those aren't the same product, the same company, or the same industry.
Books
The Work of Being (available now)
A Philosopher's Guide to Becoming Human in the AI Era
The Practice of Work (in progress)
Practical essays on how work actually gets done.
Recent writing
Memory is (almost) solved. time is next.
AI can't tell if a memory is two minutes or two weeks old. The fix isn't making models feel time — it's cache invalidation: an as-of stamp on every fact, a clock in the context, and a freshness window for anything volatile.
Did the state change? A simple test for whether work actually happened
Either something exists now that did not exist before, or it does not. A simple test for whether work actually happened, and what changes when you build your systems so they can't record anything else.
How to manage content for multiple clients without flattening their voices
How to manage content for multiple clients without their voices blurring into one house style: a workspace and a voice profile per client, batchable stages, and approval buffers.