
The 10 Go Error Handling Commandments
Thou shalt handle errors with care: ten tips for wrapping, translating, and returning them without turning every failure into noise.
Writing is a big part of my life. This is a collection of the essays and long-form post I have throughout the years.

Thou shalt handle errors with care: ten tips for wrapping, translating, and returning them without turning every failure into noise.
AI can’t tell you what to build. It will build whatever you describe, brilliantly, whether it’s a good idea or not. It’s the most agreeable colleague you’ve ever had — and that’s a problem. A good senior dev says “that’s a bad idea.” AI says “sure, here’s the code.”

A tech founder who hasn't written code in years built a production app with 25,000 stadiums and 1M+ matches — using only AI. No designers, no developers, no QA.

A love letter to films that still trust the viewer to think.
You don’t have to be an amateur, just because you use AI tooling.
You can use Claude Code, and be a great programmer.
You may not use Claude Code, and still remain a terrible programmer.
I knew people who never used code completion on principle. They didn’t get far.
Also knew people who used all kinds of tools, and didn’t get far, either.
It’s all relative.
Use whatever moves you forward.
The friction of building personal apps has always been so high that as users we accepted the ads, the trackers, the dark patterns, and the constant upsells.
The friction is just not there anymore. You can build a personal app that has the exact subset of features you want, that is clean, fast, and respects your privacy, in a matter of hours.

The app store model is broken, and it's only going to get worse with AI.
The [AI] models are already powerful enough to produce publishable results under competent supervision. That’s not the bottleneck. The bottleneck is the supervision. Stronger models won’t eliminate the need for a human who understands the physics; they’ll just broaden the range of problems that a supervised agent can tackle. The supervisor still needs to know what the answer should look like, still needs to know which checks to demand, still needs to have the instinct that something is off before they can articulate why. That instinct doesn’t come from a subscription. It comes from years of failing at exactly the kind of work that people keep calling grunt work. Making the models smarter doesn’t solve the problem. It makes the problem harder to see.
On AI agents, grunt work, and the part of science that isn't replaceable.
The way a smart assistant works is, it processes information ahead of you, trims it down, and presents you with a couple of options to decide on.
The way most people now use AI tools is the exact opposite. They’d gather all the information, throw it at the AI tool, and ask it to choose an option for them.
Who is, then, the assistant?

On competing without feature wars. When identity, trust, and story matter more than what’s on your roadmap.

A proof that small niche tools can make impact.
Just go pointer-first. It’s fine.

A quick guide to disabling VS Code’s terminal autocomplete suggestions and restoring your preferred CLI tools like fzf.

Grab a fresh build straight off the Github pipeline.
A frank update on gomjml’s journey to full MJML compliance

My go-to film simulation recipes for the XE-1: Classic Chrome alternative, faux Acros, and tweaked Astia
No results found.
Type to search...
Stay connected — pick your platform: