I shouldn't have to convince adults that science is real.
Urs Enzler
@ursenzler.bsky.social
Software engineering, architecture and design stuff, mainly on .Net, F#, and Azure. Co-Host of .Net user group Central-Switzerland. Blog: www.planetgeek.ch #fsharp #dotnet #SoftwareArchitecture
I’ve been using Azure Service Bus since the Service Bus for Windows Server days. My new series covers Azure Service Bus lessons learned the hard way. First up: filter count. At scale, the number of rules can matter more than the filter type. www.planetgeek.ch/2026/08/02/a... #azure
Azure Service Bus: Count your filters
TL;DR: Azure Service Bus can publish one message to a topic and deliver it to multiple consumers. A topic is the shared destination, a subscription is a consumer-specific view, and a filter decides wh...
planetgeek.ch
F# Weekly #31 — MCP C# SDK v2.0, Unit-Test Agent, and MSBuild Binlog in VS Code #fsharp sergeytihon.com/2026/08/01/f...
F# Weekly #31 — MCP C# SDK v2.0, Unit-Test Agent, and MSBuild Binlog in VS Code
Welcome to F# Weekly, A roundup of F# content from this past week: News What’s new in 2.0 | Elmish Land Microsoft News Announcing v2.0 of the official MCP C# SDK From generated code to truste…
sergeytihon.com
Fixing bugs in Event Sourcing is hard, for real? www.architecture-weekly.com/p/fixing-bug...
Fixing bugs in Event Sourcing is hard, for real?
Every system ends up with bad data.
architecture-weekly.com
It is fascinating to see #csharp developers being so hyped about the next version of C# that brings discriminated unions to C#, or any other new FP-ish C# feature - and ignoring #fsharp completely, which has had them since 2005. 🤷♂️ Not saying everybody should switch to F#, but the ignorance is big.
Today was a typical Swiss work day. Most people start between 07:30 and 08:00, have lunch at precisely 12:00, and return around 13:00. After 17:00, most have left work. The graph shows the number of requests in our time tracking system from 06:00 to 18:00.
In part 13 of my event sourcing series, we take a look at how to undo bi-temporal events (why and how): www.planetgeek.ch/2026/07/14/e... After this post, there will be a summer break. #EventSourcing #fsharp
Event Sourcing: undo set-remove-based bi-temporal events – because we must
In part thirteen of this event sourcing series, we expand on set-remove-based bi-temporal events. In certain scenarios, we need to be able to undo events - typically because a user made a mistake.…
planetgeek.ch
Wenn du dein Denken und Entscheiden noch nicht an die KI ausgelagert hast, dann ist dieser Workshop etwas für dich. Wir haben im Workshop auch Zeit, über Cognitive-Offloading, AI Surrender, AI Brain Fry, AI Fatigue und Deskilling zu diskutieren. Also wann KI hilft und wann nicht. #WorkshopTage2026
This link will take you to a page that’s not on LinkedIn
lnkd.in
Today, Urs’ 2nd Couch Conference happened. 7 developers watched conference talks on YouTube, each followed by a discussion. A great way to shorten my Watch-Later playlist. 🙂 Looking forward to the next one, whenever I organise it.
Back to bi-temporal events in part 12 of my event sourcing series: www.planetgeek.ch/2026/07/07/e... This time, we look at set-and-remove-based bi-temporal events - the second variant of bi-temporal events in our system. See why they are needed, and the new problems. #EventSourcing #fsharp
Event Sourcing: set-and-remove-based bi-temporal events
We return to bi-temporal event sourcing in part twelve of my series on event sourcing. This time, we look at set-and-remove-based bi-temporal events - the second variant of bi-temporal events in our…
planetgeek.ch
At first glance, this sounds interesting and scary. And there is #fsharp code in it - big plus 😅
Short article on state-based Dynamic Consistency Boundaries in #EventSourcing via Multi-Stream Optimistic Concurrency Control. #fsharp #sharpino zenodo.org/records/2115...
A developer I know recently asked: "Since we can produce code so fast now, does the code actually matter that much? Assuming the code fulfills the requirement through actual user testing, who cares what the code looks like?" I have thoughts: ardalis.com/why-care-abo... #AI #code #programming
Why Care About Agent Authored Code Quality
If AI can write code a hundred times faster than humans, and AI is going to be maintaining the app too, why should we care about code quality as long as it works? The assembly language analogy is comp...
ardalis.com
🧩 Problem-Solving für Softwareentwickler Jeden Tag lösen wir als Entwickler unzählige kleine und grosse Probleme – von Architekturfragen über Designentscheidungen bis hin zu Technologie-Trade-offs. Doch bei komplexen Herausforderungen passiert oft dasselbe: #WorkshopTage2026
Ha ha, I asked an LLM about how I should use AI in software development. Surprisingly, I agree with it - or is it primed to my opinion already? Post the answer you get. Prompts: 1) How to use AI best in software development? 2) Create a sketchnote from your answer. Anyway, have a nice weekend.
I try to keep up with what is happening regarding AI in software development. And I see a wrong assumption showing up again and again.
In part 11 of my event sourcing series, I discuss consistency and why we don't use aggregates or dynamic consistency boundaries to solve it: www.planetgeek.ch/2026/06/23/e... #EventSourcing #dotnet #fsharp
Event Sourcing: Aggregates, Dynamic Consistency Boundaries, or what?
In part eleven of this series on event sourcing, we make a small detour to discuss consistency boundaries. I never thought much about this aspect until recently, when I watched a couple of conference…
planetgeek.ch
If you like my event sourcing series, or want to see some real-world production F# code, join me in tomorrow's online session of Coders-Only Software Craft Study Group (Wednesday, 24.06.2026 19:00 CEST): www.meetup.com/coders-only/... #dotnet #fsharp #FunctionalProgramming #FP 1/2
SCSG Special Edition: Walkthrough of a production F# Codebase feat. Urs Enzler, Wed, Jun 24, 2026, 7:00 PM | Meetup
Join our next session for a special edition of the Software Craft Study Group where Urs Enzler will present us a production level F# code base. This session was motivated b
meetup.com
F# Weekly #25, 2026 — Expecto 11.1 & Fable 5.3 #fsharp sergeytihon.com/2026/06/20/f...
F# Weekly #25, 2026 — Expecto 11.1 & Fable 5.3
Welcome to F# Weekly, A roundup of F# content from this past week: Microsoft News AI-Powered MSBuild Investigation with the Microsoft Binlog MCP Server .NET at Microsoft Build 2026: Must Watch Sess…
sergeytihon.com
C# developers use early return to avoid nesting. #fsharp doesn't have that — so guard logic keeps adding indentation levels. 📝 New article: how a tiny custom computation {} CE brings early exits back, without giving up functional style. 🔗 romain-deneau.hashnode.dev/a-real-world...
romain-deneau.hashnode.dev
Event sourcing is easy. Just store what happened to a thing as events, and when you need the thing's state, project the events. Unless it is not because there are misplaced or duplicated events in the event stream. #EventSourcing #dotnet #fsharp
Event Sourcing: temporally misplaced or duplicated events
Event sourcing is easy. Just store what happened to a thing as events, and when you need the thing's state, project the events. Unless it is not because there are misplaced or duplicated events in…
planetgeek.ch
The biggest red bar isn’t always the biggest problem. Profilers reveal costs. We set priorities. www.planetgeek.ch/2026/06/08/r... #dotnet #performance
Planning Poker —> Token Poker lmao youtu.be/m-bT5v5Tm7w
Unfortunately, I Was Right
YouTube video by The PrimeTime
youtu.be
Part nine in my event sourcing post series is about mixing bi-temporal and uni-temporal events in the same event stream. Why, how, and the trade-offs. www.planetgeek.ch/2026/06/09/e... #EventSourcing #dotnet #fsharp
Event sourcing: non-bi-temporal events in a bi-temporal stream
In part nine of my event sourcing series, we revisit something I showed in part eight but didn't explain: events in a bi-temporal event stream that modify the projected data independently of the…
planetgeek.ch
If you're following my ongoing blog post series on event sourcing and have any questions, feel free to ask here or in the post comments. Not just about event sourcing. I'm especially happy to answer questions about the F# samples. www.planetgeek.ch/tag/event-so... #EventSourcing #fsharp #dotnet