Blog
1 year of LLMs writing code for me
I have been an early adopter of AI coding tools since they became genuinely useful. Here is what that actually looks like day to day, and why experience matters more than ever.
Celebrity traitors UK: a masterclass in deception and TV magic [no spoilers]
A spoiler‑free reflection on why the BBC’s Celebrity Traitors UK shines: production, hosting, cast, and what it reveals about trust and deception.
The 5 worst bugs I've seen on production - #1 the N+1 problem
A tiny JOIN turned one request into ~100 queries—the graph looked like a heartbeat.
The 5 worst bugs I've seen on production - #2 the infinite crawler
A 'Back to start' button shared the Next selector, looping forever and flooding the DB.
The 5 worst bugs I've seen on production - #3 the €300,000 double refund
A refund path ran twice for 15 minutes, costing €300k before a sanity check caught it.
The 5 worst bugs I've seen on production - #4 the $60 otp ddos
An OTP endpoint was abused across many IPs; budget burned twice after no action items.
The 5 worst bugs I've seen on production - #5 the animation memory leak
Long sessions leaked ~2MB per animation; snapshots revealed unreleased lottie instances.
Microlearning is the new way to learn
How I use microlearning to keep up with fast-moving tech trends through short, daily doses of content across social media and YouTube.
Coding with Claude code and LLMs: What I've learned after 3 months
Reflections on working daily with Claude Code and LLMs for three months, the benefits of full repo context, and why experience still matters.
My experience with arrogant developers
A reflection on developer culture, code consistency, and the damage caused by ego-driven decisions in software teams.
