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

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

About a year ago I wrote a whole series on SOLID. It was fun. Some people on Reddit were less than thrilled. But I learned a lot, and it sent me down a rabbit hole of software architecture that I’m still happily stuck in.

Since then I’ve sp...


Read full story
Have you ever Link to heading Wanted to write mobile apps in Elm? Spent an evening getting Elm, Vite, and Capacitor to play nice together, only to realize you’ll forget all the steps by next week? Thought “there’s gotta be a one-liner for this”? ...

Read full story