Writing
Things I wrote
And what the fix actually was. Mostly Laravel, TypeScript and the tooling around them.
Featured
Moving from Vercel to Hetzner with Coolify: the guides are quoting dead prices
Almost every "move from Vercel to Hetzner with Coolify" guide was written in 2025. Hetzner raised cloud prices twice in 2026, and the exact server those guides name now costs 144% more. Here are the real numbers and the plan to pick instead.
6 Aug 2026 · Docker · 10 min read
Filter by topic 61
AI made writing code cheap. Review is still expensive
Teams merged 98% more PRs this year and review time went up 91%. The bottleneck moved from writing code to approving it, and most teams haven't noticed.
I replaced Spotlight with Raycast, then replaced Raycast with look
I moved from Spotlight to Raycast to fix app launching, then moved to look because Raycast's file search kept getting in my way. Here is the honest trade.
Homebrew 6.0 tap trust: what breaks and how to fix it
Homebrew 6.0 stops running third-party tap code until you trust it. Here is what actually fails, the commands that fix it, and the two changes nobody is talking about.
Dataview vs Datacore vs Bases: what I actually use in 2026
A year after the hype, here's how Dataview, Datacore, and Obsidian Bases actually compare, and how I use Bases to run my whole vault.
The jscrambler npm hack drops a stealer that hunts your AI tool keys
jscrambler 8.14.0 shipped a preinstall hook that runs a Rust infostealer during npm install. It goes after AWS, wallets, and your Claude/Cursor/MCP config. What to do.
C# REPL: an interactive shell for .NET, like Node and Python
C# REPL gives you a real interactive shell for C# with autocomplete, NuGet support, and instant results. Test snippets without spinning up a project.
Claude Code permission modes: approval, auto-accept, and plan mode
The three ways Claude Code handles permission (approval, auto-accept, plan mode), how to cycle them with Shift+Tab, and when to use each.
Dia is my main browser on Mac. Now I just want Windows
I use Dia as my daily browser on my MacBook. Here's what the new Reports feature actually does, and why I'm stuck waiting for the Windows version.
MinIO is archived: the self-hosted S3 alternatives worth using
MinIO's community repo is read-only as of April 2026. Here's an honest look at RustFS, SeaweedFS, and Garage, and which one fits your setup.
Is "dumb HTML" really killing React? The honest case for HTMX
HTMX is 16KB that lets HTML talk to the server and swap in the reply. One company cut 67% of their React code with it. Here's when it wins and when it burns you.
The HTTP QUERY method is real now (RFC 10008), and it fixes the GET vs POST mess
RFC 10008 gives HTTP a real QUERY method. Safe and idempotent like GET, body-carried like POST. Here's how it works, with curl, fetch, Laravel, and .NET examples.
You probably don't need a database per tenant
Database-per-tenant is the default people reach for in multitenancy, and it's usually the wrong one. Here's the full spectrum from separate instances down to a discriminator column, what each one costs you per tenant forever, and why Postgres plus row-level security is enough for most apps.
One email when the next one lands
No sequence, no course, no webinar. Leave from any email.