Blog.

Thoughts on AI agents, software development, and building in public.

Stack Overflow Built a Platform for AI Agents. Its Community Wants It Gone.

AI

Stack Overflow Built a Platform for AI Agents. Its Community Wants It Gone.

Stack Overflow launched an API-first knowledge exchange for AI agents. Its community downvoted it into the ground. The problem it solves is real. Whether Stack Overflow is the right entity to solve it is the open question.

Anthropic Built the Most Powerful Coding Model Ever. Then They Secretly Weakened It.

AI

Anthropic Built the Most Powerful Coding Model Ever. Then They Secretly Weakened It.

Claude Fable 5 can migrate 50 million lines of Ruby in a day. It can also silently decide you don't deserve its best answer β€” and not tell you. The story of the most capable public AI model ever shipped, and the transparency crisis it triggered within 48 hours.

AI Writes Most of Your Code Now. That's the Problem.

AI

AI Writes Most of Your Code Now. That's the Problem.

AI coding tools shipped 66% more epics per developer. They also tripled production incidents, spiked bugs by 54%, and buried senior engineers in review queues. The Faros AI Engineering Report 2026 reveals what the dashboards miss.

AI Writes 42% of Your Code. Why Haven't You Shipped 42% Faster?

AI

AI Writes 42% of Your Code. Why Haven't You Shipped 42% Faster?

AI writes 42% of committed code. Teams are not shipping 42% faster. The data explains why.

87% of Devs "Feel Faster." The Data Is a Mess.

AI

87% of Devs "Feel Faster." The Data Is a Mess.

The 55% faster statistic is everywhere. But the studies behind AI coding productivity tell a far messier story.

Composer 2.5 is the AI coding model most developers should actually use

AI

Composer 2.5 is the AI coding model most developers should actually use

At $20/month all three major AI coding tools cost the same. The difference is how far that budget goes. Composer 2.5 stretches your credits further than any competitor.

The $20 AI Coding Bet: Claude Code vs Codex CLI

AI

The $20 AI Coding Bet: Claude Code vs Codex CLI

Two terminal agents, one price point, wildly different economics. I've been running both Claude Code and Codex CLI on the $20 tier for the past month, and the r

Y

DeFi

YieldRadar: Building a DeFi Yield Intelligence Bot

How I built a multi-factor risk scoring system for 18K+ DeFi yield pools, from scratch to production Telegram bot.

Claude Code vs Cursor in 2026: The Token Efficiency Gap

AI

Claude Code vs Cursor in 2026: The Token Efficiency Gap

Why the cheapest option isn't always the one with the lowest sticker price.

From Vibe Coding to Deliberate Design: My First Week with Kiro IDE

AI

From Vibe Coding to Deliberate Design: My First Week with Kiro IDE

The AI coding landscape is finally growing up. Kiro's spec-oriented development turns chaotic AI coding into a predictable, accountable collaboration.

The Great AI Coding Shake-Up of 2025: Why I'm Breaking Up with Windsurf to Augment Code

AI

The Great AI Coding Shake-Up of 2025: Why I'm Breaking Up with Windsurf to Augment Code

A story from the trenches about breaking up with Windsurf, leaving Cursor behind, and finding a new AI co-pilot in Augment Code.

Beyond Slack Emojis: Mastering Empathetic Asynchronous Communication as a Developer

Career

Beyond Slack Emojis: Mastering Empathetic Asynchronous Communication as a Developer

(Because 'LGTM πŸ‘' Doesn't Always Cut It) β€” Mastering empathetic async comms isn't just fluff; it's a core skill for saving time, reducing friction, and building awesome software together.

Ditch the AI Glue Code: Meet MCP, the Universal Connector to Your Dev Workflow Needs

AI

Ditch the AI Glue Code: Meet MCP, the Universal Connector to Your Dev Workflow Needs

An open standard called Model Context Protocol (MCP) is the 'USB-C port for AI' β€” letting models seamlessly talk to databases, APIs, and developer tools.

Confessions of an AI Whisperer: Dodging Pitfalls and Mastering the Art of the Prompt

AI

Confessions of an AI Whisperer: Dodging Pitfalls and Mastering the Art of the Prompt

A developer's field guide to prompting β€” common blunders, practical mastery techniques, and why the human element still matters most when working with AI.

Copilot vs. Cursor vs. Windsurf: Which AI Coding IDE is Right for You?

AI

Copilot vs. Cursor vs. Windsurf: Which AI Coding IDE is Right for You?

A three-way showdown between GitHub Copilot, Cursor AI, and Windsurf IDE β€” comparing strengths, weaknesses, pricing, and the best use case for each.

Decoding the Magic: A Deep Dive into AI Agents

AI

Decoding the Magic: A Deep Dive into AI Agents

AI agents are the superheroes of the AI universe β€” autonomous, adaptable mini-masterminds that can think, act, and learn on their own.

Beyond the Code: Why Being a "Jack of All Trades" (and Master of One) Makes You a Tech Unicorn

Career

Beyond the Code: Why Being a "Jack of All Trades" (and Master of One) Makes You a Tech Unicorn

Becoming a T-shaped professional β€” deep expertise in one area plus broad knowledge across the tech landscape β€” is the key to a thriving, future-proof career.

Lessons From the Tech Trenches: 5 Things I Wish I Knew When I Started

Career

Lessons From the Tech Trenches: 5 Things I Wish I Knew When I Started

Five hard-won lessons from 5+ years in the tech jungle β€” consistency over scattered brilliance, embracing the struggle, and knowing when to jump ship.

Coding Commandments: 10 Clean Code Rules Even Your Rubber Duck Will Approve Of

TypeScript

Coding Commandments: 10 Clean Code Rules Even Your Rubber Duck Will Approve Of

Ten practical clean code commandments inspired by Uncle Bob Martin β€” naming, dead code, tests, refactoring, and keeping it simple.

How to Sleep Like a Baby (Even When You're Debugging Code Nightmares) β€” A Developer's Guide to Catching Z's

Career

How to Sleep Like a Baby (Even When You're Debugging Code Nightmares) β€” A Developer's Guide to Catching Z's

A developer's guide to prioritizing sleep β€” daytime prep, pre-bedtime rituals, and nighttime ninja moves for when sleep resists capture.

10 Ways to Stay Motivated as a Remote Worker (a.k.a. How to Avoid Becoming a Hermit in Your Pyjamas)

Career

10 Ways to Stay Motivated as a Remote Worker (a.k.a. How to Avoid Becoming a Hermit in Your Pyjamas)

A survival guide packed with tips for staying motivated while working remotely β€” from creating a Batcave to embracing the virtual water cooler.

TypeScript: Rise of the Phoenix β€” Node.js Embraces the Uncompiled Future (and SWC Joins the Party!)

TypeScript

TypeScript: Rise of the Phoenix β€” Node.js Embraces the Uncompiled Future (and SWC Joins the Party!)

Node.js adds experimental native TypeScript support via type stripping and SWC integration β€” eliminating the compile step and unifying the JS/TS ecosystem.

Feedback Loops and Rubber Duckies: A Dev's Guide to Not Taking it Personally (and Actually Improving)

Career

Feedback Loops and Rubber Duckies: A Dev's Guide to Not Taking it Personally (and Actually Improving)

How to give and receive feedback without taking it personally β€” practical tips for code reviews, swallowing your pride, and turning critique into growth.

Authentication Showdown: Session Cookies vs. JWT vs. PASETO β€” Which One Reigns Supreme?

TypeScript

Authentication Showdown: Session Cookies vs. JWT vs. PASETO β€” Which One Reigns Supreme?

Comparing three popular authentication methods β€” session cookies, JWT, and PASETO β€” across security, scalability, and developer experience.

Why Your Soft Skills Matter More Than You Think (And It's Not Just About Being Nice)

Career

Why Your Soft Skills Matter More Than You Think (And It's Not Just About Being Nice)

Soft skills are the social glue that holds teams together. Communication, collaboration, and emotional intelligence can make or break your developer career.

Code Comments: Your Secret Weapon for a Happier Dev Life (and a Healthier Codebase)

TypeScript

Code Comments: Your Secret Weapon for a Happier Dev Life (and a Healthier Codebase)

How to write code comments that actually help β€” TODOs, FIXMEs, inline explanations, and the anti-patterns to avoid in your codebase.

Branded Types in TypeScript: Stronger Type Safety for Your Codebase

TypeScript

Branded Types in TypeScript: Stronger Type Safety for Your Codebase

TypeScript is fantastic for catching type-related errors at compile time. However, there are scenarios where its structural type system falls short. This is where branded types step in.

The Remote Work Revolution: Embracing Flexibility and Work-Life Balance

Career

The Remote Work Revolution: Embracing Flexibility and Work-Life Balance

Remote work offers flexibility and work-life balance that traditional offices can't match β€” especially valuable for developers juggling career and family.

Promises in JavaScript: When to Reconsider Promise.all()

TypeScript

Promises in JavaScript: When to Reconsider Promise.all()

JavaScript's Promise.all() offers a tempting way to handle multiple asynchronous tasks at once. However, it's crucial to recognize its potential shortcomings in real-world development scenarios.

PNPM: The Smarter, More Efficient Node.js Package Manager

TypeScript

PNPM: The Smarter, More Efficient Node.js Package Manager

NPM has ruled the Node.js dependency management landscape for years. But as projects grow complex, NPM's limitations become increasingly apparent. Enter PNPM.