May 2026
-
13 May 2026🐥Anti-Corruption Layer in Elixir/Phoenix - Keep your domain clean
-
13 May 2026🔗SQLite features you didn’t know it had: JSON, text search, CTE, STRICT, generated columns, WAL
-
12 May 2026🔗Common CORS errors and how to fix them
-
11 May 2026🔗Shell tricks that actually make life easier (and save your sanity)
-
11 May 2026🔗Anti-frameworkism: Choosing native web APIs over frameworks
-
10 May 2026🔗Migrating from DigitalOcean to Hetzner: from $1,432 to $233/month with zero downtime
-
10 May 2026🔗pg_textsearch: How we built a BM25 search engine on Postgres pages
-
9 May 2026🐥Make your shell scripts' environment variables overridable
-
9 May 2026🔗Every layer of review makes you 10x slower
-
8 May 2026🔗EXPLAIN's other superpowers
-
8 May 2026🔗Most devs ignore git worktree. Here's why they're wrong
-
7 May 2026🐥Using generators for PHPUnit data providers
-
6 May 2026🔗Did contexts kill Phoenix?
-
6 May 2026🔗On knowing what code to throw away
-
6 May 2026🔗What I learned from nearly 1,000 interviews at Amazon
-
5 May 2026🐥Fixing the Ondrej Nginx PPA 403 error on Laravel Forge servers
-
5 May 2026🔗The two kinds of error
-
4 May 2026🔗The Git commands I run before reading any code
-
4 May 2026🔗Claude Code Handbook
-
3 May 2026🔗Scaling a monolith to 1M LOC: 113 pragmatic lessons from tech lead to CTO
-
2 May 2026🔗Growing Yggdrasil, the World Tree, with Ash
-
2 May 2026🔗The Problem of Reconnects in Phoenix LiveView
-
1 May 2026🔗Things I've realized about testing Elixir code