Advertisement · 728 × 90

Posts by Urs Enzler

Preview
Event Sourcing: A simple trick to get around read models This is the second post in my series on event sourcing. Last time, we saw a simple implementation based only on projections. While simple, it can only be queried by the event stream ID. In this post,…

The second post in my event sourcing series is about how to enable better query capabilities to find the needed event streams while still holding back on read models. Of course, with the reasoning why this is a good idea in the right context.
www.planetgeek.ch/2026/04/21/e...

4 hours ago 3 1 0 0
Preview
F# Weekly #16, 2026 – .NET 11 Preview 3 & SwaggerProvider 4.0 beta Welcome to F# Weekly, A roundup of F# content from this past week: News .NET 11 Preview 3 is now available! TypeFighter Replace Queue with mutable doubly-linked EventList by nojaf · Pull Request #3…

F# Weekly #16, 2026 - .NET 11 Preview 3 & SwaggerProvider 4.0 beta #fsharp sergeytihon.com/2026/04/19/f...

2 days ago 12 3 0 0

Sorting the events.

5 days ago 0 0 0 0

Two taughts:
- comparing uuids is a bit more expensive
- we sometimes change the “application” (our version number) to fix data. That wouldn’t be possible with uuids

Otherwise, I think it would work.

6 days ago 0 0 1 0

cool stuff. I'll play a bit and give you feedback.

1 week ago 1 0 0 0

How long does it take for the agent to react to a new issue? Or do I have to trigger it somehow?

1 week ago 0 0 1 0
Post image

The start of my new blog post series about Event Sourcing. The first post starts with a simple projection-only approach: www.planetgeek.ch/2026/04/14/e...
You'll see why we don't use event numbers for ordering, but timestamps, and why this is our default approach.

#EventSourcing #dotnet #fsharp

1 week ago 13 0 1 0
Post image

Obviously, I spent some time on my #eMTB in the last 12 months (and the 12 before as well) 🙈

1 week ago 0 0 0 0
Advertisement
Video

The Mega Drive game I believe has aged the worst.

2 weeks ago 290 61 10 3

I love that FSharp.Data is being worked on again #fsharp github.com/fsprojects/F...

2 weeks ago 14 2 1 0

I‘ll let it run as everyday and see whether I spot wrong colours. Thx

1 week ago 1 0 0 0

And there are also changes where the automated tests already cover everything, like computation changes in business logic with no different behaviour in the UI (except for numbers that change).

2 weeks ago 0 0 0 0

We have a different approach to limiting exploratory testing needs:
Our system is heavily modularised. More or less, every view and every action is its own slice. So when making changes to one slice, most or all others stay the same and don't need (re)testing.

2 weeks ago 2 0 1 0

Interesting. Do you know what the agent tests?

I still prefer a human to do exploratory testing because only a human tester sees the app as a human user would (contrast, overlap, etc.).

2 weeks ago 0 0 1 0

I would never ship a feature without first running an exploratory testing session. So many things can go wrong that we can't specify explicitly; only exploratory testing finds these.

And I want a dry run on difficult data migrations, too.

2/2

2 weeks ago 1 0 1 0
Post image

Lately, I see a lot of posts saying we need a robust suite of automated tests to ensure AI agents produce high-quality results.

Please keep in mind that one cannot test quality into a software product. Automated tests are a necessity, but they are by far not sufficient as a sole approach.

1/2

2 weeks ago 4 1 1 0

@schlenkr.bsky.social regarding @PXLclock: is the currently running Random Colour Wheel still the F# version, or the C# one?
I'm asking because there are some colour errors from time to time.

2 weeks ago 1 0 1 0
Advertisement
Video

Grab the #pxlclock VS Code extension ("PXL Clock), code your own pixogram in #csharp, and ping me here: I'll record it on the real hardware and post the video.

Who makes the coolest one?

VS Code: marketplace.visualstudio.com/items?itemName=pxlclock.pxl-clock

#pxlclock #csharp #fsharp

2 weeks ago 0 1 0 0
Preview
F# Weekly #14, 2026 – Serde.FS Brings Compile-Time RPC to F# Welcome to F# Weekly, A roundup of F# content from this past week: News Serde.FS alpha.9 — Compile-time RPC for F# with no reflection, no controllers Florian Verdonck: Fantomas — exploring new appr…

F# Weekly #14, 2026 - Serde.FS Brings Compile-Time RPC to F# #fsharp sergeytihon.com/2026/04/05/f...

2 weeks ago 16 4 0 0
Preview
a man in a suit and tie walking in a hallway ALT: a man in a suit and tie walking in a hallway

Happy 83rd birthday to Christopher Walken.

2 weeks ago 4249 475 115 30
Preview
The Problem with Secondary Domain Events in Event Sourcing We started using event sourcing over ten years ago. One of the hardest lessons was that there is a kind of events that is not obvious at first but have a big impact on your system design. I call this…

We started using event sourcing over ten years ago. One of the hardest lessons was that there is a kind of events that is not obvious at first but have a big impact on your system design. I call this kind secondary domain events.
www.planetgeek.ch/2026/04/01/t...

#EventSourcing

2 weeks ago 3 0 0 0
Preview
F# Weekly #13, 2026 – Deedle 4.0 is out! Welcome to F# Weekly, A roundup of F# content from this past week: News Addendum: Pattern Variations | Safe Clean Architecture Microsoft News Ten Months with Copilot Coding Agent in dotnet/runtime …

F# Weekly #13, 2026 - Deedle 4.0 is out! #fsharp sergeytihon.com/2026/03/29/f...

3 weeks ago 17 6 1 0

I would favour more efficient solutions, but none are in sight to me. Maybe once, when we have to pay for the real costs of training and running these agent farms, a correction will happen.

The picture Gen-AI created is, however, quite funny. 😄

3/3

3 weeks ago 4 0 1 0

From single LLM via single agent (repeat until succeeded) to multi-agent setups (giving themselves feedback to iterate on) - burning tokens like there is no tomorrow (or no token limit, if you care more about your money than the planet 😅 ).

2/3

3 weeks ago 2 0 1 0
Post image

I'm not a fan of "let's throw more resources at the problem" solutions. What currently happens in the AI-assisted software development community is, however, exactly this:

1/3

3 weeks ago 2 0 1 0
Video

From sourcecode to step-by-step tutorial: I wanted to advertise the #pxlclock using programming tutorials. So I built this:

- AI breaks the #csharp code into steps; thanks @ursenzler.bsky.social
- Renders animations
- Writes tutorial
- Remotion makes the reel

Want a video about how I did that?

4 weeks ago 0 1 1 0
Advertisement
Preview
To test, or not to Test? Part 5 – Final words I wrote code without tests that ran in production without defects, and I wrote buggy code with TDD (Test Driven Development). Time to look back at 35 years of coding and when tests help, and when…

The 5th and final part of my post series about "to test, or not to test" takes a look at why the shown concepts help with LLMs and concludes the series.
www.planetgeek.ch/2026/03/24/t...

Do you like these longer topics, or do you prefer short single posts?

4 weeks ago 3 0 1 0

🎉 Deedle 4.0.1 is out! The F# data frame library just got a massive update - new packages, new operations, better stats, performance wins, and many long-standing bugs squashed. A huge amount of community-originated requests in one release. Full notes 👇

github.com/fslaborg/Dee...

#fsharp #dotnet

4 weeks ago 10 3 1 0

Yes, about 10 years 😀

Still, having everything in a single process (and synchronised) makes debugging much easier.

1 month ago 0 0 0 0
Preview
To test, or not to Test? Part 4 – Make it easy to test locally I wrote code without tests that ran in production without defects, and I wrote buggy code with TDD (Test Driven Development). Time to look back at 35 years of coding and when tests help, and when…

Part 4 of my blog post series about "to test, or not to test" is about making manual testing easy, and why it matters: www.planetgeek.ch/2026/03/19/t....

Can you run your system locally and/ or test things quickly, or do you have to wait for a test environment?

1 month ago 3 0 1 0