March 2026
February 2026
-
28 Feb 2026πHow Markdown took over the world
-
26 Feb 2026πGoodbye Java, hello Go!
-
25 Feb 2026πIntroducing Spatie guidelines for Laravel Boost
-
25 Feb 2026πClaude: Speed up responses with fast mode
-
24 Feb 2026πQuality is a hard sell in big tech
-
23 Feb 2026πWhy Elixir is the best language for AI
-
23 Feb 2026πReview taste
-
22 Feb 2026πProcess-based concurrency: Why BEAM and OTP keep being right
-
21 Feb 2026πMy AI development environment
-
18 Feb 2026πMy position on AI and software development
-
12 Feb 2026π150,000 lines of Vibe coded Elixir: the good, the bad, and the ugly
-
9 Feb 2026πMoving my website from Next.js to Phoenix
-
7 Feb 2026πA guide to Claude Code 2.0 and getting better at using coding agents
-
3 Feb 2026πAI coding tip 001 - Commit before prompt
January 2026
-
26 Jan 2026πAI won't eat your job, but it will eat your salary
-
25 Jan 2026πHow I reverse engineered a billion-dollar legal AI tool and found 100k+ confidential files
-
23 Jan 2026πBuilding a RAG server with PostgreSQL - part 1: loading your content
-
20 Jan 2026πBuilding effective agents
-
19 Jan 2026πAsynchronous tasks and streaming UIs in Phoenix LiveView
-
18 Jan 2026πOptimizing Claude code: skills, plugins, and the art of teaching your AI to code like you
-
17 Jan 2026πAWS CEO explains 3 reasons AI canβt replace junior devs
-
16 Jan 2026πMy LLM coding workflow going into 2026
-
15 Jan 2026π4 Claude code tools we can't live without
-
15 Jan 2026πYour job is to deliver code you have proven to work