January 2026
-
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
-
3 Jan 2026πDatabase migrations in Kubernetes
-
3 Jan 2026πSimple network communications in Docker without compose
-
2 Jan 2026πVirtual fields in Ecto: Eliminating N + 1 queries
-
2 Jan 2026πCabify hubs: Simplifying rider pickups
-
2 Jan 2026πBrand new layouts with CSS subgrid