February 2026
-
13 Feb 2026πFixing my biggest SPA pet peeve in Phoenix
-
13 Feb 2026πKeeping feature creep at bay
-
13 Feb 2026πCorex - Accessible and unstyled UI Phoenix components
-
12 Feb 2026π150,000 lines of Vibe coded Elixir: the good, the bad, and the ugly
-
12 Feb 2026πLogging sucks β your logs are lying to you
-
12 Feb 2026πExplainer: Tree-sitter vs. LSP
-
11 Feb 2026πMaking Elixir recompile when external files change
-
11 Feb 2026πThe hidden cost of PostgreSQL arrays
-
11 Feb 2026πUsing Phoenix with React and Inertia
-
10 Feb 2026πImprove your LiveView testing with test-specific attributes
-
10 Feb 2026πTBM 399: 10 prioritization traps
-
10 Feb 2026πSoftware engineers should be a little bit cynical
-
9 Feb 2026πMoving my website from Next.js to Phoenix
-
9 Feb 2026πHow to optimize slow aggregate queries on +1M row tables in Ash Framework
-
9 Feb 2026πCross-app communication with RPC in Elixir
-
8 Feb 2026π₯Checking whether an IP address is internal
-
8 Feb 2026πOnce again processing 11 million rows, now in seconds
-
8 Feb 2026πProcessing 11 million rows in minutes instead of hours
-
7 Feb 2026πA guide to Claude Code 2.0 and getting better at using coding agents
-
7 Feb 2026πMy top 10 Claude code tips from 11 months of intense usage
-
7 Feb 2026πThe Greenfield
-
6 Feb 2026πVanilla CSS is all you need
-
6 Feb 2026πGoogle Sans: evolving Googleβs typeface
-
6 Feb 2026πInteractive fluid typography
-
5 Feb 2026π7 Slack hacks for engineers and managers