Immutable Value Objects are simpler and more useful than you think!

I love proper typing. But what does that even mean? I could say that this is a types’ structure defined in a self-explanatory way. But that… | Continue reading


@event-driven.io | 1 year ago

Introduction to Event Sourcing - Self Paced Kit

For many developers, Event Sourcing is like a Nessie, most of them have heard of it, but not many saw it. I was one of them. I started my… | Continue reading


@event-driven.io | 1 year ago

How to ensure uniqueness in Event Sourcing

“How do I ensure uniqueness? For example, a unique username or an invoice number.” That’s usually one of the first questions I hear from… | Continue reading


@event-driven.io | 1 year ago

Small rant about the Software Design

Some time ago, I listened to an enlightening episode of Scott Hanselman’s podcast on how to teach computer science. The guest was Maria… | Continue reading


@event-driven.io | 1 year ago

The risk of ignoring risks

Do you like playing poker? I used to play Texas Holdem with my friends regularly. We took it easy; each person put 5 PLN into the pool, and… | Continue reading


@event-driven.io | 1 year ago

Twelve things I learned about Java during my last code review

As I have mentioned to you many times, I like to test different approaches, technologies and solutions. I may not have told you yet that I… | Continue reading


@event-driven.io | 1 year ago

Persistent vs catch-up, EventStoreDB subscriptions in action

Events can be a great facilitator and glue for business workflows. Subscriptions are an essential block of the event-driven system. They… | Continue reading


@event-driven.io | 1 year ago

How to build a simple event pipeline

Today we will deal with event consumption. I’ll also explain how I wrote the new version of the MediatR library. Curious? We’ll get to that… | Continue reading


@event-driven.io | 1 year ago

Are Temporal Tables an alternative to Event Sourcing?

I’ve been asked recently at least a few times about Temporal Tables and how they relate to Event Sourcing. Beware, and don’t confuse it with… | Continue reading


@event-driven.io | 1 year ago

What onion has to do with Clean Code?

I quite often make fun of Clean Code and Clean Architecture. I’m calling it an Onion Architecture. Not least because it has layers but also… | Continue reading


@event-driven.io | 1 year ago

A few tricks on how to set up related Docker images with docker-compose

In the last few days, I have been working on guidance on piping EventStoreDB logs into Elasticsearch. ELK stack (so Elasticsearch, Logstash… | Continue reading


@event-driven.io | 1 year ago

Should you throw an exception when rebuilding the state from events?

Event Sourcing is not a difficult pattern to understand. Event stores are not conceptually complicated databases (although implementation… | Continue reading


@event-driven.io | 1 year ago

Why I'm leaving Event Store and getting ready for the next episode

I’ve got some news today. Here comes the boom: I’m leaving the Event Store, which means I just became unemployed! How come? I am a pragmatic… | Continue reading


@event-driven.io | 1 year ago

Power of ignorance, or how to write simple code

I was asked to compile various statistics from our Event Store GitHub community some time ago. We wanted to analyze our public repositories… | Continue reading


@event-driven.io | 1 year ago

Ogooreck, a sneaky testing library in BDD style

Some time ago, I saw an excellent presentation of Dylan’s Beattie presentation - The Art of Code. It reminds us of what we are here for. By… | Continue reading


@event-driven.io | 1 year ago

Event-driven distributed processes by example

Some time ago, I wrote the general rules on processing the event-driven services. check my article Saga and Process Manager - distributed… | Continue reading


@event-driven.io | 1 year ago

Should you generate the client code from the API?

I’m often told that dull, repetitive tasks should be automated. However, there are times when it is better not to do this. I regularly see… | Continue reading


@event-driven.io | 1 year ago

Straightforward Event Sourcing with TypeScript and NodeJS

In the last two articles, I explained how to organise your business logic effectively, showing how proper typing and composition can help to… | Continue reading


@event-driven.io | 1 year ago

Union types in C#

In the article “How to effectively compose your business logic”, I explained how explicit types definition can help in making our codebase… | Continue reading


@event-driven.io | 1 year ago

How to effectively compose your business logic

Let’s say that we’d like to implement Shopping Cart. We have the following requirements: The customer may only add a product to the shopping… | Continue reading


@event-driven.io | 1 year ago

How playing on guitar can help you to be a better developer?

The first time I did not become a musician was when my grandma tried to sign me to music school. During rehearsal, I stubbornly said I would… | Continue reading


@event-driven.io | 1 year ago

What do the British writer and his fence have to do with Software Architecture?

Gilbert Keith Chesterton was a British writer from the turn of the 19th and 20th centuries. As for his times, we would call him an… | Continue reading


@event-driven.io | 1 year ago

Slim your aggregates with Event Sourcing!

In the traditional approach, what we get is what we store. Our write model is too often used directly as our read model, because the typical… | Continue reading


@event-driven.io | 1 year ago

It doesn't have to be toxic at work

We work in an industry that’s full of passionate people. Doing what you like and getting paid for it is a privilege and a curse. We’re… | Continue reading


@event-driven.io | 1 year ago

Event Versioning with Marten

War never changes; migrations are always complex. It’s always a mind gymnastics and searching for risks and what may go wrong. Sometimes we… | Continue reading


@event-driven.io | 1 year ago

Testing business logic in Event Sourcing, and beyond!

I’ve heard a few times that Event Sourcing is hard to test. I’m not sure where this myth comes from; maybe from mixing it with event… | Continue reading


@event-driven.io | 1 year ago

Dive a bit deeper, look a bit wider

We live in a time of information overload. We are constantly stimulated. Our focus skills are similar to a goldfish. Seemingly our life is… | Continue reading


@event-driven.io | 1 year ago

On the importance of setting boundaries in team management

Paweł Janas is a significant figure in Polish football history. He was a decent defender on his own, then coaching our best clubs and… | Continue reading


@event-driven.io | 1 year ago

How Postgres sequences issues can impact your messaging guarantees

Big picture descriptions and overall explanations are great. They help us to understand the foundations of new ideas and then find the place… | Continue reading


@event-driven.io | 1 year ago

Writing and testing business logic in F#

My road to functional programming was pretty long. I started with structural programming in C++ and then rebranded into an Object-Oriented… | Continue reading


@event-driven.io | 1 year ago

Push-Based Outbox Pattern with Postgres Logical Replication

Event-Driven by Oskar Dudycz | Continue reading


@event-driven.io | 1 year ago

Agile vs. Introverts

Event-Driven by Oskar Dudycz | Continue reading


@event-driven.io | 1 year ago

Why are we afraid of our decisions?

Event-Driven by Oskar Dudycz | Continue reading


@event-driven.io | 1 year ago

Is keeping dates in UTC the best solution?

Event-Driven by Oskar Dudycz | Continue reading


@event-driven.io | 1 year ago

Unobvious things you need to know about key-value stores

Event-Driven by Oskar Dudycz | Continue reading


@event-driven.io | 1 year ago

Can command return a value in CQRS?

Event-Driven by Oskar Dudycz | Continue reading


@event-driven.io | 3 years ago

CQRS Facts and Myths Explained

Event-Driven by Oskar Dudycz | Continue reading


@event-driven.io | 3 years ago

Why Partial is an extremely useful TypeScript feature?

Event-Driven by Oskar Dudycz | Continue reading


@event-driven.io | 3 years ago