The Curious Engineer

All blogs / Functional / PL theory

cekrem.github.io

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

  1. New Season Upgrades Vol 3: Split Keyboard Adventures!
  2. The Climb Was the Safety Feature
  3. New Season Upgrades Vol 2: New Newsletter Platform!
  4. `bun-plugin-elm`: import { Elm } from "./Main.elm" (Made by Hand, btw)
  5. Bun and Elm (: r)Are Friends
  6. My social preview images are Elm code now. Rendered by Go. Into an Svg 😵
  7. There Is Still No Silver Bullet
  8. New Season Upgrades Vol 1: from Gmail to Protonmail (again)
  9. The Light Flip: tempted to give it another go
  10. I'm so utterly screwed without Jesus
  11. A batch job, in The Elm Architecture
  12. Explaining Functional Programming to Non-Programmers (It's Just Excel)
  13. Native Elm (the real kind this time)
  14. codimg: code blocks -> syntax highlighted SVG
  15. Hejlsberg: 'Who's Going to Make the AI?'
  16. I made learnelm.dev
  17. The Tacit Dimension: Why Your Best Engineers Can't Tell You What They Know
  18. If You're Running Claude Code, PLEASE Run It in a Box
  19. GreenType: a beautifully coded terrible idea
  20. Canonicalise, Don't Remember — Smart Constructors in Kotlin
  21. Book Update: RC 2 Is Out
  22. Architecture by Autocomplete
  23. LLMs Corrupt Your Documents (and the Theory Dies Twice)
  24. git history: the best thing in Git 2.54
  25. The Draft Is Done. Now I Need Reviewers and Feedback!
  26. Effect Without Effect-TS: Algebraic Thinking in Plain TypeScript
  27. I Signed the 'No AI in Node.js Core' Petition
  28. ArkType: The Parse-Don't-Validate Sequel I Didn't Know I Needed
  29. Parse, Don't Validate — In a Language That Doesn't Want You To
  30. Book Update: Almost There
  31. The FP Article I Can't Seem to Finish
  32. SOLID in FP: Interface Segregation and Dependency Inversion, or The Finale Where Functions Steal the Show
  33. Why I Hope I Get to Write a Lot of F# in 2026
  34. An Elm Primer: Testing Strategies
  35. SOLID in FP: Liskov Substitution, or The Principle That Was Never About Inheritance
  36. An AI Attacked a Developer. Naturally, I Built My Own Bot. Because Terminator II!
  37. SOLID in FP: Open-Closed, or Why I Love When Code Won't Compile
  38. SOLID in FP: Single Responsibility, or How Pure Functions (Almost) Solved It Already
  39. elm-native – scaffold hybrid mobile apps with Elm, Vite, and Capacitor
  40. An Elm Primer: Declarative Dialogs with MutationObserver
  41. Vivaldi 7.8: A Browser That Actually Trusts You
  42. Ktor 3.4.0: HTML Fragments, HTMX, and Finally Proper SSE Cleanup
  43. Dønn Disippel – finally in English
  44. Programming as Theory Building, Part II: When Institutions Crumble
  45. Arrow's Either: The Kotlin Chapter of our Scary Words Saga
  46. Functors, Applicatives, and Monads: The Scary Words You Already Understand

2025 52

  1. Elm on the Backend with Node.js: An Experiment in Opaque Values
  2. TypeScript Goes Go: What Does This Mean for Us?
  3. How I Met Jesus
  4. Tailwind CSS: Targeting Child Elements (when you have to)
  5. cekrem/elm-form: Type-Safe Forms That Won't Let You Mess Up
  6. Organizing Files and Modules in Elm: Building an Advent Calendar
  7. An Elm Primer: The missing chapter on JavaScript interop
  8. I'm taking a three-week LLM fast!
  9. The Clipboard API: How Did We Get Here?
  10. Why TypeScript Won't Save You
  11. Chapter 2, Take 2: Why I Changed Course
  12. Why Elm is the Best Way for React Developers to Learn Real Functional Programming
  13. Why You Probably Shouldn't Use My Elm Land Fork
  14. Elm Land, Shared Subscriptions, and the Art of Workarounds
  15. My new project, and some of what's ahead
  16. Fighting for Brain, Heart and Sleep
  17. The Discipline of Constraints: What Elm Taught Me About React's useReducer
  18. HTML Helpers 2.0.0 for Elm: Stable conditionals and attributes
  19. The Subtle Art of Taming Flows and Coroutines in Kotlin, or 'How Not to DDoS Yourself with Server-Sent Events'
  20. Compiler-Driven Development: Building an Elm Playground That Compiles in the Browser
  21. Making Impossible States Impossible: Type-Safe Domain Modeling with Functional Dependency Injection
  22. Kotlin's Rich Errors: Native, Typed Errors Without Exceptions
  23. On the Value of Abstractions
  24. The Craftsman Mindset: Lessons from Four Weeks Offline
  25. Tailwind IntelliSense in Elm: A NeoVim Recipe
  26. Programming as Theory Building: Why Senior Developers Are More Valuable Than Ever
  27. Pragmatic Hacks: When 'Good Enough' is Actually Good Enough
  28. Claude Code: Game Changer or Just Hype?
  29. Starting Small with Elm: A Widget Approach
  30. Passion
  31. A Use Case for Port Boundaries in Frontend Development
  32. Dependency Inversion in React: Building Truly Testable Components
  33. The Psychology of Clean Code: Why We Write Messy React Components
  34. Introducing HTML Helpers for Elm
  35. Coding as Craft: Going Back to the Old Gym
  36. React Reconciliation: The Hidden Engine Behind Your Components
  37. React.memo Demystified: When It Helps and When It Hurts
  38. Introducing `content-visibility: auto` - A Hidden Performance Gem
  39. Building Better UI Components: Elm Ports with Web Components
  40. Feedback.one: A Refreshing Take on User Feedback Built with Elm and Rust
  41. Beyond React.memo: Smarter Ways to Optimize Performance
  42. Why I Hope I Get to Write a Lot of Elm Code in 2025
  43. Refactoring Towards Cleaner Boundaries: Lessons from Building a Markdown Blog Engine (Part 3)
  44. Double Loop TDD: Building My Blog Engine the Right Way (part 2)
  45. Making a Clean Architecture Blog Engine From Scratch pt 1
  46. Single Responsibility Principle in React: The Art of Component Focus
  47. A Use Case for `UseCase`s in Kotlin
  48. Open-Closed Principle in React: Building Extensible Components
  49. Liskov Substitution: The Real Meaning of Inheritance
  50. The One Book (Besides The Bible) I Want My Future Manager to Read
  51. Interface Segregation: Why Your Interfaces Should Be Small and Focused
  52. Clean Architecture: A Practical Example of Dependency Inversion in Go using Plugins

2024 6

  1. Books I Think Software Engineers Should Read
  2. I'm joining Ensō!
  3. Free at last – dumbing down my iPhone and disabling all evil!
  4. Math test for staying home with semi-sick kids
  5. I released an EP without recording a single track. No loops or midi either.
  6. Going back(end) to the old gym!

2023 4

  1. Exploring UIs in the terminal part 2: More ink!
  2. Exploring UIs in the terminal part 1: React/Ink
  3. The End of an Era!
  4. Development plan 2021-2023

2022 4

  1. Why I'm not using the Lightphone II (but my daughter is)
  2. ripnote – the fastest and fuzziest way for a developer to take notes
  3. Changing Jobs Without Leaving Your Company
  4. Reducing Android Build Times on Azure by 80% using a Virtual Machine Scale Set (VMSS)

2021 5

  1. React Advent Calendar – keto vegan, gluten free and no parabens or plastic wrapping
  2. Hire me: Your Chief Problem Solver
  3. create-elm-live-app – the smallest npm package ever?
  4. pretty-git-report – a CLI to give you daily commit metrics
  5. Thank you for subscribing