Please turn JavaScript on
cekrem.github.io – a surprisingly delightful dev blog banner
cekrem.github.io – a surprisingly delightful dev blog icon

cekrem.github.io – a surprisingly delightful dev blog

Subscribe for posts about software engineering, architecture, and functional programming.

I write about code that works and the craft of building maintainable systems. Expect technical deep dives, pragmatic reflections, and the occasional observation about web development's absurdities.

Get updates via RSS or email. Unsubscribe anytime (no hard feelings).

Message History

Quick disclaimer up front: the bug below is real, the domain and the details aren’t. I swapped the original (a private codebase I can’t paste from) for a shopping cart, because the shape of the lesson is identical and a cart is a kinder example to read. So when I say “I went to look at the diff” further down, that part’s real. The cart is a stand-in. Indulge me.


Read full story

RC 2 of the book is out.

When I asked for readers a few weeks ago, I half expected polite “looks great!” replies. I got that, but also the opposite...


Read full story

There’s a specific code smell that shows up in AI-generated code, and once you see it you can’t un-see it: primitive obsession all the way down to the domain core. string for emails. string for IDs. Map<string, any> whenever the situation gets hairy. Working code, passing tests, ships fine. And yet a developer who’d actually thought about the domain would not have writt...


Read full story

Last week a friend sent me a paper with a title that made me laugh out loud: “LLMs Corrupt Your Documents When You Delegate.” By Philippe Laban, Tobias Schnabel, and Jennifer Neville at Microsoft Research. Not “LLMs might corrupt” or “LLMs occasionally introduce err...


Read full story

Git 2.54 dropped yesterday. 137 contributors, 66 of them first-timers. But the thing I keep thinking about is a small experimental command called git history.

It does two things. git history reword <commit> lets you fix a commit message and rewrites everything downstream. git history split <commit> lets you chop a commit into pieces with the same hunk-picke...


Read full story