Mocking the native Node.js Test Runner

Last week, we discussed an overused but applicable pattern: in-memory bus. This time, we’ll continue with the leitmotif and talk about… | Continue reading


@event-driven.io | 10 days ago

How to build an in-memory Message Bus in TypeScript

I’m writing this article on Friday, and it’s about time to have some fun. As this is a programming blog, let’s have some fun coding. Let’s… | Continue reading


@event-driven.io | 14 days ago

Event modelling anti-patterns explained

Have you heard about Passive Aggressive Events or CRUD sourcing? Or maybe about the Clickbait event? If you don’t, you better check the talk… | Continue reading


@event-driven.io | 19 days ago

I'm no longer Marten maintainer

Folks, I’d like to inform you that I’m no longer a Marten maintainer. As you know, sometimes in the project’s lifetime, there’s a moment… | Continue reading


@event-driven.io | 28 days ago

Testing Event Sourcing, Emmett edition

I’ve been going pretty down the rabbit hole in the last few years. What am I searching for? A way to deliver better software. And that’s, of… | Continue reading


@event-driven.io | 1 month ago

Join my Event Sourcing workshops at Techorama and DDD Europe and speed up your journey!

Event Sourcing is a pattern that is quickly gaining popularity. Many companies see the advantages it brings, e.g. business focus and keeping… | Continue reading


@event-driven.io | 1 month ago

How to tackle compatibility issues in ECMA Script modules (and in general)

Do you recall moments when you’re sitting and closing dozens or more browser tabs? Most of them are Google, GitHub, Blogs, and others. You… | Continue reading


@event-driven.io | 1 month ago

Keeping our overachieving freak on a leash

Being busy is not something we strive for; it’s an axiom. Social media are not helping; our whole lives are on the plate. And we’re chefs… | Continue reading


@event-driven.io | 1 month ago

Should you always keep streams short?

In the last article and others I did my best explaining why keeping streams short is important in Event Sourcing. I also showed you how… | Continue reading


@event-driven.io | 2 months ago

Implementing Closing the Books pattern

No one knows who invented Event Sourcing. I overheard that Hammurabi did. Why? Because he standardised the first set of rules of accounting… | Continue reading


@event-driven.io | 2 months ago

Announcing Emmett! Take your event-driven applications back to the future!

Simple is not easy. Each person has its definition of it. For me, it means that when I look at the solution, I think: _“So simple. Why didn… | Continue reading


@event-driven.io | 2 months ago

Production-Grade Event Sourcing Workshop - Modelling, DevOps, Process

Putting the career bets is not easy; I made boring and pragmatic choices for most of my career. They took me far. Yet, I always felt that… | Continue reading


@event-driven.io | 2 months ago

How TypeScript can help in modelling business workflows

TypeScript is an intriguing language. Some say that its type system, by itself, is Turing Complete. Some take it to the extreme and even… | Continue reading


@event-driven.io | 2 months ago

Stream ids, event types prefixes and other event data you might not want to slice off

You’re reading much more code than you’re writing. Readability is a highly subjective term. That’s probably why some call what we’re doing… | Continue reading


@event-driven.io | 3 months ago

Should you record multiple events from business logic?

Asking people for feedback is an intriguing story. I like to get constructive criticism for my work, as that allows me to learn something… | Continue reading


@event-driven.io | 3 months ago

Not all issues are complex, some are complicated. Here's how to deal with them

Cynefin’s framework states that we have four types of decision-making contexts (or domains): clear, complicated, complex, and chaotic. They… | Continue reading


@event-driven.io | 3 months ago

What Dune can tell us about setting our goals

Dune series has a lot of great thoughts. They’re more than just sci-fi books. Let me share one with you: Moneo: For what do you hunger, Lord… | Continue reading


@event-driven.io | 3 months ago

Why I won't use .NET Aspire for now

When you’re angry, take a breath, take your time and then talk. So I did after I tested .NET Aspire yesteday. I hoped it could be a decent… | Continue reading


@event-driven.io | 4 months ago

Hitchhiker's Guide To Moving Relational Data To Events

Knock knock? Who’s there? It’s me, Oskar, the end is near, did you know that? Ah, you know it but don’t know how to proceed? Let’s talk… | Continue reading


@event-driven.io | 4 months ago

A few notes on migrating storage library

I’m feeling like a surgeon in recent days. Who knew that changing the connection management would be a delicate thing to do? I did, but it’s… | Continue reading


@event-driven.io | 4 months ago

Are you Marten or Wolverine user? Tell us more!

I’m always saying that the Marten community is one of the things that keeps me doing Open Source and staying in the .NET community. It’s… | Continue reading


@event-driven.io | 4 months ago

How to deal with privacy and GDPR in Event-Driven systems

The law to be forgotten and immutable data sounds like fire and water. How to remove data if you’re building an event-driven system based on… | Continue reading


@event-driven.io | 5 months ago

We introduced support plans for Marten

We just introduced support plans for Marten, and here’s why. We’re really committed to providing tools that are accessible, safe and bug… | Continue reading


@event-driven.io | 5 months ago

GDPR for busy developers

This year, we had the fifth anniversary of the Developers’ Doomsday. In 2018, on the 25th of May, the European General Data Protection… | Continue reading


@event-driven.io | 5 months ago

Anti-patterns in event modelling - Clickbait event

Doctors Hate Her! Discover the Simple Trick to Lose Weight Overnight! This One Weird Trick Can Save You Hundreds on Your Energy Bills! The… | Continue reading


@event-driven.io | 5 months ago

Women in IT

**I used to play football. I wasn’t talented, but still, I loved it. Football is a team sport, and playing is not the only essential part of… | Continue reading


@event-driven.io | 6 months ago

In the defence of Object-Relational Mappers

I’m happy I didn’t have to use Object-Relational Mapping tools in the last few years. They’re solutions to some set of problems, but those… | Continue reading


@event-driven.io | 6 months ago

Internal and private events, or how to design event-driven API

One of the things that we’re learning too late in the Event-Driven approach is that we should have been splitting events into internal and… | Continue reading


@event-driven.io | 6 months ago

How to design software architecture pragmatically

I’ve run numerous workshops in recent years. It’s intriguing to see different ways people solve the same problem. Some start from general… | Continue reading


@event-driven.io | 6 months ago

Is the Strategy Pattern an ultimate solution for low coupling?

Having a single source of truth and data point is a sweet spot for running business logic. We check the data from one place and update it… | Continue reading


@event-driven.io | 6 months ago

Oops I did it again, or how to update past data in Event Sourcing

One team win is a loss for the other. For some people, money loss is a gain for others. In the same way, the challenging parts of Event… | Continue reading


@event-driven.io | 7 months ago

Architecture Weekly became the Substack Bestseller!

Boom, I got this week such a nice picture from the Substack. My Architecture Weekly newsletter appears to have become the Substack… | Continue reading


@event-driven.io | 7 months ago

My journey from Aggregates to Functional Composition

I was recently asked what drove me to mostly use immutable data and methods rather than the Aggregate Pattern in my samples and videos. I… | Continue reading


@event-driven.io | 7 months ago

Event transformations, a tool to keep our processes loosely coupled

One of the biggest pains in traditional software design is accidental complexity. We want to understand and reflect on the business process… | Continue reading


@event-driven.io | 8 months ago

Prototyping, an underestimated design skill

Coding is an underestimated part of the design. When we think about the design, we immediately fall to whiteboard diagrams, sticky notes, or… | Continue reading


@event-driven.io | 8 months ago

Behaviour-Driven Design is more than tests

Why did I name the testing library Ogooreck? Between my friends, I’m well known for my lame jokes. Ogooreck is one of them. Ogooreck is a… | Continue reading


@event-driven.io | 8 months ago

Could you help me by filling a short survey about an online course?

I realised that I could do more to help you and other folks. I’ve been sharing online content for free in the last few years on this blog… | Continue reading


@event-driven.io | 8 months ago

A simple way to configure integration tests pipeline

Continuing an effort to explain DevOps scenarios, today I’d like to show you a simple way to set up integration tests that I’m using in my… | Continue reading


@event-driven.io | 8 months ago

How to scale out Marten

If you’re not a new reader of this blog, you probably know already that I’m not so fond of the Will it scale? question. I believe that, too… | Continue reading


@event-driven.io | 9 months ago

How to set global setting for XUnit tests

XUnit is not my favourite testing tool; I already mentioned that in How to set up a test matrix in XUnit?. To be fair, none of the .NET test… | Continue reading


@event-driven.io | 9 months ago

How to create Docker image for Marten application

Containerisation is something that pushed our industry much further. Generating immutable artefacts is a foundational aspect of the DevOps… | Continue reading


@event-driven.io | 9 months ago

Vertical Slices in practice

I’m a preacher for the CQRS, Vertical Slices, and Feature Folders. I won’t hide that, and I won’t even try. I believe that structuring code… | Continue reading


@event-driven.io | 9 months ago

Vertical Slices in practice

I’m a preacher for the CQRS, Vertical Slices, and Feature Folders. I won’t hide that, and I won’t even try. I believe that structuring code… | Continue reading


@event-driven.io | 9 months ago

Follow the money to get a better design

I noticed that we, developers, struggle to follow the money. And that’s impacting our design in the wrong way. Of course, we’re pretty good… | Continue reading


@event-driven.io | 10 months ago

Removability over Maintainability

A diverse system with multiple pathways and redundancies is more stable and less vulnerable to external shock than a uniform system with… | Continue reading


@event-driven.io | 10 months ago

Relation from Event Sourcing Live 2023

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


@event-driven.io | 10 months ago

A few words on communication

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


@event-driven.io | 10 months ago

The Holy Graal syndrome

_ 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


@event-driven.io | 11 months ago