Google recently published a piece titled " Why Go is an ideal language for AI-assisted software engineering. " I recommend giving it a read. It makes a compelling, practical point that anyone building production systems with LLMs eventually collides with: when machines write code, the primary bottleneck shifts from
I've been blogging recently about the principles and philosophy behind our agentic AI system called MOTHER. The whole thing started from a handful of design constraints necessary for our agentic system to be an organic piece of our wider architecture: purely serverless with no long-running processes, event-
I've written about MOTHER's philosophy and its mechanics . This post is about what I realized after I had some time to step back and reflect on the system once it was in place. MOTHER is a metaprogramming system. Literally. It synthesizes programs and executes them immediately
It’s F# Advent season again . This year, when I sat down to consider what my contribution might be, I realized many of the posts will rightfully be impressive technical demonstrations - the kind that showcase how much the language can do in the hands of skilled engineers. I’
In my previous post, “ Agentic AI, Built on Functional and Reactive Principles ,” I outlined the philosophy behind our MOTHER architecture - the why behind choosing functional programming and reactive, event-driven design as our foundation. Now, let’s explore the what - how those ideas look in a live
“Vibe coding” is having its moment. Andrej Karpathy of OpenAI coined the term in February 2025 for AI-assisted programming where you “forget that the code even exists”. Y Combinator reports 25% of their latest batch built 95% of their codebase with AI. The narrative is
Our team has been building reactive systems grounded in functional principles for years now. A system that is event-sourced, event-driven, non-blocking, resilient, and elastic can feel esoteric at first - daunting to imagine and harder still to commit to. But by front-loading that complexity at
AI has been a part of our lives for longer than many realize. Any iPhone user who appreciates the quality of their photos can thank AI for enhancements like on-device image processing. For over a decade, tools like the Photos app and Google Photos have allowed us to search
💡 This post is part of F# Advent Calendar 2024. Having worked extensively with both C# (including Entity Framework) and F#, I've found that F# allows us to elegantly model the business domain while seamlessly bridging the gap between code and database. In this post, I'll
In software development, the mantra “You Aren’t Gonna Need It” (YAGNI) serves to keep projects lean, avoiding features or complexity until absolutely necessary. But over my 16 years in development, I’ve noticed that when it comes to architecture, this mindset often backfires. Certain patterns
Modeling a domain with algebraic data types (ADTs) is a powerful, expressive way to design code that is both concise and readable. Too often, code that does too little with too many lines negatively impacts readability and maintainability. ADTs, when supported by a language, provide a way to do more
Through the skilled use of literary devices such as juxtaposition, haiku can convey more in 17 syllables or less than an entire paragraph of prose. The writer can encapsulate a moment's entire scene, allowing the reader to unpack it with vast interpretation - all within the confines of the
A few stacks that come to mind for that next web app project. Full stack Rust with WASM Full stack F# with Fable and a typical JS library on front-end Elixir with Pheonix Gleam with Pheonix Full stack F# with Bolero (F# WASM) Any of the above backends with
Sometimes, languages we are unfamiliar with end up being delightful. At one point, I opted to compile F# to Dart for a Flutter project rather than use Dart directly because certain tasks were more verbose than I desired. While F# compiled to Dart quite flawlessly and impressively, I later decided
Enrich Skilled trades should enrich lives indiscriminately. Hone your character as you hone your skills. Avoid exploiting, polarizing, or alienating. Embrace humility, uplift others, and foster community and inclusion. Protect the dignity of all. Genuine success is rooted in desiring others to succeed. Elevate There is nothing profound or praiseworthy
It’s a common misconception that choosing between Object-Oriented Programming (OOP) and Functional Programming (FP) is a false dilemma, suggesting that practitioners can seamlessly integrate both paradigms. But this is like saying that stick-built homes and steel-built homes are compatible because they both end up looking