About:

Christian Ekrem is a software engineer with interests in music, health, and adventure. He enjoys playing drums and guitar.

Website:

Specializations:

Interests:

Music Staying healthy Wilderness and adventure Super Smash Bros

Incoming Links:

Subscribe to RSS:
The post illustrates how functional programming in F# simplifies the Interface Segregation and Dependency Inversion principles, making code cleaner and more efficient without complex structures.
Liskov Substitution Principle is reframed in Elm, showing how its type system prevents common violations found in object-oriented programming while emphasizing the need for semantic contracts.
The post contrasts Elm's strict enforcement of the Open-Closed Principle with React's flexible approach, highlighting the benefits of compile-time checks in maintaining code integrity.
The post discusses how to effectively manage modal dialogs in Elm using JavaScript's MutationObserver while maintaining a clear separation of concerns in architecture.
Functors, Applicatives, and Monads are essential yet misunderstood concepts in functional programming that can be simplified for better understanding and practical use.
Functional programming in Elm enforces the Single Responsibility Principle, simplifying code structure and preventing common pitfalls found in React development.
Testing in Elm is simplified through pure functions, reducing overhead and allowing for more effective test-driven development and fuzz testing compared to React.
AI's integration into software development threatens the foundational institutions that foster expertise, decision-making, and human connection, leading to a degradation of programming theory-building.
The blog post discusses the missing chapter on JavaScript interop from the author's book on Elm, focusing on how Elm treats JavaScript as untrusted infrastructure. It explains the concepts of ports and flags in Elm, which allow fo...
F# is presented as the ideal functional language for enterprise projects, surpassing Elm in practical applications despite Elm's strengths in teaching functional programming.
The post advocates for software that empowers users to think for themselves, contrasting Vivaldi's user-centric approach with the AI-driven trends of major browsers.
The post compares functional programming concepts in Kotlin's Arrow library to Elm, focusing on the flexibility of Arrow's Either type for error handling and validation.
The blog post discusses the complexities of using the Clipboard API in web development, particularly for Elm developers. It highlights the challenges of browser support, permissions, and inconsistencies across different browsers, ...
Tailwind CSS's arbitrary variants enable developers to style child elements directly within class names, preserving the utility-first approach even when dealing with uncontrolled content.
The blog post introduces 'cekrem/elm-form', a package designed for building HTML forms in Elm with a focus on type safety, validation, and a clean API. It addresses the common challenges of form creation, such as managing labels, ...
The article argues that while TypeScript is a powerful tool for catching bugs and improving developer experience, it creates a false sense of security regarding type safety. Developers often rely too heavily on TypeScript's type s...
Ktor 3.4.0 enhances web development with HTML fragment support, improved SSE handling, and better OAuth error management, making it a valuable upgrade for production environments.
This post presents an experiment using Elm for backend logic with Node.js, showcasing the elegant handling of HTTP requests and responses through opaque values.
Microsoft's decision to port TypeScript to Go aims to enhance performance and developer experience while ensuring a smooth transition for existing users.
This chapter of the book transitions from theoretical concepts in Elm to practical application development. It challenges traditional JavaScript practices of splitting code into multiple files based on arbitrary line counts, advoc...
The post explores the consequences of AI autonomy in open source after an AI agent's rejected PR led to accusations against a maintainer, prompting the author to create their own bot.
A straightforward guide to creating mobile apps with Elm, Vite, and Capacitor, featuring a one-liner command for a cross-platform setup.
Personal experiences of receiving a Bible and miraculous healing from allergies profoundly shaped the author's Christian faith and belief in Jesus.
The author reflects on their relationship with large language models (LLMs) and their decision to take a three-week break from using them. They express concerns about becoming overly reliant on LLMs for coding and writing, fearing...