Testcontainers and Podman

Spent way too much time trying to get Testcontainers to work with Podman, to find out I just needed to set a flag 馃檭.

November 2, 2024 路 4 min 路 689 words 路 Jo茫o Antunes

Transactional outbox pattern meets distributed tracing and OpenTelemetry

Transactional outbox pattern and distributed tracing doesn鈥檛 seem like having much in common, right? This post describes how they intersect and a possible approach to get them working together nicely.

June 17, 2024 路 7 min 路 1423 words 路 Jo茫o Antunes

Where are my traces? (weird .NET meets OpenTelemetry gotcha)

Quick post about a weird gotcha I found when using distributed tracing with OpenTelemetry .NET, in a system where not all services have otel setup

May 13, 2024 路 6 min 路 1106 words 路 Jo茫o Antunes

Primitive vs strongly typed dictionary keys (feat. frozen collections and BenchmarkDotNet)

Quick post comparing the usage of different types as dictionary keys, including using custom types instead of only primitive types.

April 13, 2024 路 8 min 路 1557 words 路 Jo茫o Antunes

A .NET parallel Kafka consumer proof of concept (feat. Akka.NET and the actor model)

For some time now, I鈥檝e been thinking about implementing a parallel Kafka consumer proof of concept in C#. I finally got around to it, and this post describes the process.

January 8, 2024 路 19 min 路 3954 words 路 Jo茫o Antunes

Byte array as a dictionary key? Trying out some options

Using arrays as a dictionary key is not really something very common, but I had the need for it, so did some investigation to try and figure out a good way to do it.

December 6, 2023 路 15 min 路 3189 words 路 Jo茫o Antunes

Observing .NET microservices with OpenTelemetry - logs, traces and metrics

Observability has been one of the hot topics, with the increasing complexity of knowing what is going on in our applications. Fortunately, .NET has been investing in making things easier with OpenTelemetry.

September 5, 2023 路 27 min 路 5619 words 路 Jo茫o Antunes

"Parse, don't validate" and other type safety driven shenanigans (plus a C# wishlist)

Making use of the type system is something I feel should be important when working in a strongly typed language like C#. However, I don鈥檛 feel like that鈥檚 the case, and I would love for the language to push folks in the direction of creating more robust programs, where the compiler provides more help in proving the correctness of the code.

August 17, 2023 路 15 min 路 3111 words 路 Jo茫o Antunes

Enforce conventions (but don't go overboard) with architecture tests

I鈥檝e been trying to flee the over-engineered C# solution structures, with multiple projects, with related code scattered around. Even if an imperfect solution, I鈥檝e turned to NetArchTest to help in guide on following some conventions in a simplified solution structure.

July 28, 2023 路 7 min 路 1394 words 路 Jo茫o Antunes

From domain events to infrastructure - thinking out loud about possible approaches I don鈥檛 hate

On the topics of domain-driven design and event-driven architecture, something that鈥檚 been on my mind for quite some time, is the process of handling domain events, as well as potentially translating them into integration events.

May 16, 2023 路 16 min 路 3237 words 路 Jo茫o Antunes