All blogs / Functional / PL theory
cekrem.github.io
A surprisingly delightful dev blog!
Functional / PL theoryFrontend / CSS / browsersSoftware / engineering practiceAI / ML
- Posts
- 117 from 7 Jul 2021 to 19 Oct 2026
- Posting
- weekly (57 in the last year)
- Kind
- personal blog
- Feed
- https://cekrem.github.io/index.xml
2026 46
- New Season Upgrades Vol 3: Split Keyboard Adventures!
- The Climb Was the Safety Feature
- New Season Upgrades Vol 2: New Newsletter Platform!
- `bun-plugin-elm`: import { Elm } from "./Main.elm" (Made by Hand, btw)
- Bun and Elm (: r)Are Friends
- My social preview images are Elm code now. Rendered by Go. Into an Svg 😵
- There Is Still No Silver Bullet
- New Season Upgrades Vol 1: from Gmail to Protonmail (again)
- The Light Flip: tempted to give it another go
- I'm so utterly screwed without Jesus
- A batch job, in The Elm Architecture
- Explaining Functional Programming to Non-Programmers (It's Just Excel)
- Native Elm (the real kind this time)
- codimg: code blocks -> syntax highlighted SVG
- Hejlsberg: 'Who's Going to Make the AI?'
- I made learnelm.dev
- The Tacit Dimension: Why Your Best Engineers Can't Tell You What They Know
- If You're Running Claude Code, PLEASE Run It in a Box
- GreenType: a beautifully coded terrible idea
- Canonicalise, Don't Remember — Smart Constructors in Kotlin
- Book Update: RC 2 Is Out
- Architecture by Autocomplete
- LLMs Corrupt Your Documents (and the Theory Dies Twice)
- git history: the best thing in Git 2.54
- The Draft Is Done. Now I Need Reviewers and Feedback!
- Effect Without Effect-TS: Algebraic Thinking in Plain TypeScript
- I Signed the 'No AI in Node.js Core' Petition
- ArkType: The Parse-Don't-Validate Sequel I Didn't Know I Needed
- Parse, Don't Validate — In a Language That Doesn't Want You To
- Book Update: Almost There
- The FP Article I Can't Seem to Finish
- SOLID in FP: Interface Segregation and Dependency Inversion, or The Finale Where Functions Steal the Show
- Why I Hope I Get to Write a Lot of F# in 2026
- An Elm Primer: Testing Strategies
- SOLID in FP: Liskov Substitution, or The Principle That Was Never About Inheritance
- An AI Attacked a Developer. Naturally, I Built My Own Bot. Because Terminator II!
- SOLID in FP: Open-Closed, or Why I Love When Code Won't Compile
- SOLID in FP: Single Responsibility, or How Pure Functions (Almost) Solved It Already
- elm-native – scaffold hybrid mobile apps with Elm, Vite, and Capacitor
- An Elm Primer: Declarative Dialogs with MutationObserver
- Vivaldi 7.8: A Browser That Actually Trusts You
- Ktor 3.4.0: HTML Fragments, HTMX, and Finally Proper SSE Cleanup
- Dønn Disippel – finally in English
- Programming as Theory Building, Part II: When Institutions Crumble
- Arrow's Either: The Kotlin Chapter of our Scary Words Saga
- Functors, Applicatives, and Monads: The Scary Words You Already Understand
2025 52
- Elm on the Backend with Node.js: An Experiment in Opaque Values
- TypeScript Goes Go: What Does This Mean for Us?
- How I Met Jesus
- Tailwind CSS: Targeting Child Elements (when you have to)
- cekrem/elm-form: Type-Safe Forms That Won't Let You Mess Up
- Organizing Files and Modules in Elm: Building an Advent Calendar
- An Elm Primer: The missing chapter on JavaScript interop
- I'm taking a three-week LLM fast!
- The Clipboard API: How Did We Get Here?
- Why TypeScript Won't Save You
- Chapter 2, Take 2: Why I Changed Course
- Why Elm is the Best Way for React Developers to Learn Real Functional Programming
- Why You Probably Shouldn't Use My Elm Land Fork
- Elm Land, Shared Subscriptions, and the Art of Workarounds
- My new project, and some of what's ahead
- Fighting for Brain, Heart and Sleep
- The Discipline of Constraints: What Elm Taught Me About React's useReducer
- HTML Helpers 2.0.0 for Elm: Stable conditionals and attributes
- The Subtle Art of Taming Flows and Coroutines in Kotlin, or 'How Not to DDoS Yourself with Server-Sent Events'
- Compiler-Driven Development: Building an Elm Playground That Compiles in the Browser
- Making Impossible States Impossible: Type-Safe Domain Modeling with Functional Dependency Injection
- Kotlin's Rich Errors: Native, Typed Errors Without Exceptions
- On the Value of Abstractions
- The Craftsman Mindset: Lessons from Four Weeks Offline
- Tailwind IntelliSense in Elm: A NeoVim Recipe
- Programming as Theory Building: Why Senior Developers Are More Valuable Than Ever
- Pragmatic Hacks: When 'Good Enough' is Actually Good Enough
- Claude Code: Game Changer or Just Hype?
- Starting Small with Elm: A Widget Approach
- Passion
- A Use Case for Port Boundaries in Frontend Development
- Dependency Inversion in React: Building Truly Testable Components
- The Psychology of Clean Code: Why We Write Messy React Components
- Introducing HTML Helpers for Elm
- Coding as Craft: Going Back to the Old Gym
- React Reconciliation: The Hidden Engine Behind Your Components
- React.memo Demystified: When It Helps and When It Hurts
- Introducing `content-visibility: auto` - A Hidden Performance Gem
- Building Better UI Components: Elm Ports with Web Components
- Feedback.one: A Refreshing Take on User Feedback Built with Elm and Rust
- Beyond React.memo: Smarter Ways to Optimize Performance
- Why I Hope I Get to Write a Lot of Elm Code in 2025
- Refactoring Towards Cleaner Boundaries: Lessons from Building a Markdown Blog Engine (Part 3)
- Double Loop TDD: Building My Blog Engine the Right Way (part 2)
- Making a Clean Architecture Blog Engine From Scratch pt 1
- Single Responsibility Principle in React: The Art of Component Focus
- A Use Case for `UseCase`s in Kotlin
- Open-Closed Principle in React: Building Extensible Components
- Liskov Substitution: The Real Meaning of Inheritance
- The One Book (Besides The Bible) I Want My Future Manager to Read
- Interface Segregation: Why Your Interfaces Should Be Small and Focused
- Clean Architecture: A Practical Example of Dependency Inversion in Go using Plugins