Please turn JavaScript on
header-image

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

This chapter might be the most freeing one in the book. If you’ve spent real time writing React tests, you know the ritual: mocks, cleanup, async wrappers, act() warnings. In Elm, testing is just calling pure functions and checking the output.

Believe it or not, the book is...


Read full story

Last time, I said Liskov Substitution would require “some even heftier reframing.” I was bracing myself – LSP is built around inheritance, and Elm doesn’t have inheritance. How do you reframe a principle about something that doesn’t exist?

Turns out I was w...


Read full story

In the last post, I promised that the Open-Closed Principle would get interesting when reframed through union types and pattern matching. I may have slightly oversold it. But only slightly.

Quick definition: OCP says software entities should be


Read full story