January 2026
-
12 Jan 2026πTo spawn, or not to spawn?
-
12 Jan 2026π5 engineering dogmas it's time to retire
-
12 Jan 2026πEmbedding-based tool selection for AI agents
-
11 Jan 2026πUsing React components in Phoenix LiveView
-
11 Jan 2026πBuilding embeddable widgets with Phoenix Channels
-
11 Jan 2026πBuilding a double-entry payment system in Elixir
-
10 Jan 2026πItβs hard to justify Tahoe icons
-
10 Jan 2026πExposed EPMD: a hidden security risk for RabbitMQ and the BEAM ecosystem
-
10 Jan 2026πSQLite as an application file format
-
9 Jan 2026πUse 'git mv' to record filename case changes in Git
-
9 Jan 2026πHow startups lose their edge
-
9 Jan 2026πWhy (senior) engineers struggle to build AI agents
-
8 Jan 2026πA modern guide to SQL JOINs
-
8 Jan 2026π"Secure by default" β how Phoenix keeps you safe for free
-
7 Jan 2026πYou should never build a CMS
-
7 Jan 2026πAI can write your code. it canβt do your job
-
7 Jan 2026πWhat I look for in AI-assisted PRs
-
6 Jan 2026πHow to review AI-generated PRs
-
6 Jan 2026πWhat I learned building a vector database on object storage
-
5 Jan 2026πLLM APIs are a synchronization problem
-
5 Jan 2026πBuilding a MCP server in Elixir
-
4 Jan 2026πTuning TCP ports for your Elixir app
-
4 Jan 2026πAvoiding recompilation hell in Elixir with mix xref
-
4 Jan 2026πPDF data extraction and OCR: the ultimate guide
-
3 Jan 2026πAdding Google OAuth to Phoenix