InfoQ claims that it’s in the late majority adoption phase. That means that if you haven’t started to use it, you better start doing it, as… | Continue reading
cover I got a surprising question during my workshop this week: It seems that communication with the business is critical to make Event… | Continue reading
_ Our industry is harmed by the disease of “There has to be something more!” also called “The Holy Graal syndrome”.** Instead of trying to… | Continue reading
Programming origins are in mathematics. Scientists like John Von Neumann and Alan Turing built the foundations for today’s computers. That… | Continue reading
Usually, one of the main drivers for Event Sourcing is the audit log capability. Indeed event stores are append-only logs, theoretically, we… | Continue reading
cover Usually, one of the main drivers for Event Sourcing is the audit log capability. Indeed event stores are append-only logs… | Continue reading
A few notes on running the open source project after the Marten v6 release. Last week we released the next major Marten release, and I’d… | Continue reading
Projections in an event-driven world are a way to interpret registered events. We can take a sequence of events and build from them read… | Continue reading
Integrations have different names, shades and colours, but only one adjective: challenging. Trying to glue systems together requires… | Continue reading
Look! Up in the sky! It’s a bird! It’s a plane! It’s Superman!. I have such a thought quite often while working with Postgres. Why? Let’s… | Continue reading
Event stores are the foundational building block of Event Sourcing. They’re also one of the biggest sources of confusion. They are databases… | Continue reading
I started my career when StackOverflow didn’t exist. That’s how I quite often introduce myself. I’m that old. That’s, of course, nothing… | Continue reading
Unique constraint validation is one of those things that looks simple but is not always easy. I explained already that, in Event Sourcing… | Continue reading
I told you already that Projections are an Event Sourcing killer feature, and today I’d like to repeat that. In Marten, we embraced that and… | Continue reading
Let’s say that we’re starting a new project. It’s a small tool for internal needs, maybe even some sort of shadow IT project. It may also be… | Continue reading
JSON serialisation is so much fun. We can make jokes and curse, but we must live with it. Surprisingly, that’s not getting simpler if we use… | Continue reading
I see a lot of new terms like Command-Event, Event-Based Compute, etc., presented around Event-Driven Architecture. Let me clear that up… | Continue reading
If I had to select the Distributed Systems Song, I’d choose Land of Confusion. This is the world we live in. And these are the hands we’re… | Continue reading
Projections are a neverending story. One does not simply write a single guide. One needs to write more examples of more advanced cases. That… | Continue reading
Validation is a thriving concept. It enables incredible creativity in developers implementing it in various ways. I explained my general… | Continue reading
We, developers, are searching for Holy Grail, one pattern to rule them all. There’s no such. In his excellent book “Atomic Habits”, James… | Continue reading
If I had to choose the killer feature of Event Sourcing, I’d select projections. Why? I’ll explain that in detail in this article. Events… | Continue reading
cover Fox Mulder used to say: “trust no one”. I’m claiming that each software developer should define their level of paranoia. The thing… | Continue reading
**Last year, I completed two items from my speaker bucket list NDC Oslo and Domain-Driven Design Europe. I’m proud and happy, as those… | Continue reading
There is a cult of workaholism in our industry. Just like the guys from the gym brag about how much they pulled on the chest or did in the… | Continue reading
Events serialisation is an intriguing topic. On the one hand, it’s part of the campfire spooky tales, so (in)famous events versioning. On… | Continue reading
The magic is that there is no magic. Many patterns perceived as complicated appear to be simple or even simplistic under the cover. Take… | Continue reading
Event Sourcing is a concept that helps to build the bridge between business and technical implementation. It’s a storage pattern that takes… | Continue reading
Let’s say that you have an event-driven application. It has an event bus that listens for events from asynchronous processes (e.g. Kafka… | Continue reading
Events are an essential block of Event-Driven Architecture. They represent business facts that happened in our system. We can use them to… | Continue reading
Events are an essential block of Event-Driven Architecture. They represent business facts that happened in our system. We can use them to… | Continue reading
cover In an earlier article, I described Push-based Outbox Pattern with Postgres Logical Replication. The idea is to store the outgoing… | Continue reading
In my last few articles, I showed the power of functional composition. That’s a foundation for effective modelling of your business logic… | Continue reading
Relational databases are not losing data. They’re robust, consistent and secure! Are they? Too often, we mix technical and logical concepts… | Continue reading
I’m not a HackerNews or Reddit type of guy. I don’t have enough time to waste on them. That said, I cannot deny that they’re powerful… | Continue reading
In CQRS, it’s common to define interfaces for the handlers to enforce the unified code structure. Such an approach is used, e.g. by MediatR… | Continue reading
I’ll continue today a topic of handling eventual consistency that I started in the previous article. This time let’s learn the trick called… | Continue reading
.NET and CQRS are well known for the high ceremony and enterprise feeling. You should treat that as superstition. Let me tell you why. CQRS… | Continue reading
Events (schema) versioning is a boogeyman for people learning Event Sourcing. They’re a spooky tale told at the campfire. There’s a truth in… | Continue reading
“No, it can never happen!”. Have you heard this sentence before? For example, a user with the same e-mail address may not register, or the… | Continue reading
In Event Sourcing, events are the source of truth. We save them in the event store to have a permanent history of facts about business… | Continue reading
Getting the state from events is a basic but controversial topic in Event Sourcing. I wrote on it longer in other article. To recap… | Continue reading
Let’s say that you have the following class definition: Now you can create instance using: So far, so good. What if we accidentally mixed… | Continue reading
Each of us has at least a dose of creativity. I have always liked drawing. I wanted to make effective plays in football. Today, I play the… | Continue reading
Working with a legacy monolith is not easy. For years we learned how to tame that beast gently. We nurtured it and tried not to break it. We… | Continue reading
Testing on production usually appears in ridiculous stories. They may be only annoyances like getting questions from customers why they see… | Continue reading
Idempotency is a word worth watching out for. It’s easy to miss a few letters and bang, and we have a problem. It is also a general problem… | Continue reading
War. War never changes… In IT, we’re living in a bubble. Compared to others we have good working conditions. We learned to complain about… | Continue reading