Oskar Dudycz's Avatar

Oskar Dudycz

@oskardudycz

⚑ Event Sourcerer ✍️ Blogger at http://event-driven.io πŸ‘¨β€πŸ’» Open Sourcing at https://github.com/oskardudycz πŸ“§ Newsletter: http://architecture-weekly.com

1,389
Followers
564
Following
1,117
Posts
12.07.2023
Joined
Posts Following

Latest posts by Oskar Dudycz @oskardudycz

Change Is Inevitable: Versioning Event-Driven Systems β€” Laila Bougria
Change Is Inevitable: Versioning Event-Driven Systems β€” Laila Bougria YouTube video by JetBrains

This talk is a must-watch for people in the Event-Driven space. I saw @noctovis.bsky.social giving it live at this year's DDDEU, and I truly believe that she nailed the versioning topic πŸ‘‡πŸ™‚

www.youtube.com/watch?v=6TCb...

07.11.2025 07:39 πŸ‘ 31 πŸ” 13 πŸ’¬ 2 πŸ“Œ 0
Preview
Handling Events Coming in an Unknown Order - Event-Driven.io Event-Driven by Oskar Dudycz

Read more in my latest article event-driven.io/en/strict_or...

And drop me a feedback or follow up questions πŸ™‚

4/4

04.11.2025 08:16 πŸ‘ 1 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
Handling Events Coming in an Unknown Order - Event-Driven.io Event-Driven by Oskar Dudycz

That’s a good question, and good questions usually require more depth to give a precise answer. That’s what we’re here for!

I followed up and discussed how to determine whether we have complete information for our events.

I showed how record revisions from optimistic locking can help with that
3/

04.11.2025 08:16 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

...For example, you get an ItemRemovedFromCart event, but the item doesn’t exist in your view of the current state of the cart. Is it an invalid event? Or is there an ItemAddedToCart event that hasn’t come through yet?"

πŸ€”

2/

04.11.2025 08:15 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

After the last article on Race Conditions in EDA, I got such a question from Ben:

"You described the scenario where you know what events you should receive, just not the order. But what if you don’t know that?

...

1/

04.11.2025 08:15 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Thanks, could you tell me what were your thumb rules between choosing one over another?

29.10.2025 09:13 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Thanks for the extended follow-up. How do you typically integrate two disconnected processes (e.g. between different deployments)? Avoiding async-processes can be a good choice, but sometimes we need to have some orchestration.

29.10.2025 09:13 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Out of curiosity, could you expand on why? Lack of tooling or "other reasons"? πŸ™‚

29.10.2025 09:10 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Out of curiosity, could you expand on why? Lack of tooling or "other reasons"? πŸ™‚

29.10.2025 09:10 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
a man in a black suit says do it in white letters ALT: a man in a black suit says do it in white letters

@raimeyuu.bsky.social

28.10.2025 11:09 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
The ambiguity of naming Why naming is hard, and can even be dangerous?

Hence deferring strategy to name "things" might be really desirable, as "naming is framing" - then "models" (of thinking) then are constrainted just by the act of "naming".

I tried to express some thoughts on that topic too talesfrom.dev/blog/the-amb...

28.10.2025 09:19 πŸ‘ 5 πŸ” 2 πŸ’¬ 2 πŸ“Œ 0

I read it as "Models are models but that's ok" :-)

28.10.2025 08:22 πŸ‘ 1 πŸ” 1 πŸ’¬ 2 πŸ“Œ 0

The quote "All models are wrong but some are useful" should not be read as an excuse to stick with your model. It's a call to actively search for more useful models.

27.10.2025 19:28 πŸ‘ 22 πŸ” 9 πŸ’¬ 4 πŸ“Œ 2

#Java and #JVM folks, are you using the Outbox Pattern? If yes, then which tool are you using? It's a genuine question; I'd like to see if my anecdotal observations are real πŸ™‚

Homebrewed? Debezium? Spring Modulith, other? πŸ€”

28.10.2025 08:04 πŸ‘ 3 πŸ” 3 πŸ’¬ 4 πŸ“Œ 0

Yeah, time to add a new ADR to apply the NIH principle!

25.10.2025 07:37 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
elmo says take me lucifer while standing in front of flames ALT: elmo says take me lucifer while standing in front of flames

Packages' peer dependency issues are something that makes me hate the world sometimes 😫

24.10.2025 18:02 πŸ‘ 3 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

But I hope you're aware that Temporal (and likes) is actually a message-driven tool?πŸ˜‰

My personal take on Temporal is different. Imho most people just need outbox, cron and retry policy when they choose Temporal, and IMHO, there are lighter and less vendor-locking tools in the space to achieve that

22.10.2025 18:14 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Race Conditions Don’t Exist

Old but seems still relevant udidahan.com/2010/08/31/r.... Crazy how quickly everything changes in software :P

22.10.2025 10:31 πŸ‘ 2 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0

Yup, I like this article and getting back to it from time to time πŸ™‚

22.10.2025 14:00 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Could you expand on your definition of the workflow engine?

22.10.2025 14:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

So, were you happy with the plot twist in the end? πŸ˜…

22.10.2025 13:59 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Dealing with Race Conditions in Event-Driven Architecture with Read Models - Event-Driven.io Event-Driven by Oskar Dudycz

Recurring questions during my consultancy are:
- How to deal with race conditions?
- I'm getting events out of order from other services.

I wrote an article today about the technique that should take you far enough explaining how read models can help you in that.

event-driven.io/en/dealing_w...

20.10.2025 16:10 πŸ‘ 7 πŸ” 4 πŸ’¬ 3 πŸ“Œ 0
Dealing with Race Conditions in Event-Driven Architecture with Read Models - Event-Driven.io Event-Driven by Oskar Dudycz

Recurring questions during my consultancy are:
- How to deal with race conditions?
- I'm getting events out of order from other services.

I wrote an article today about the technique that should take you far enough explaining how read models can help you in that.

event-driven.io/en/dealing_w...

20.10.2025 16:10 πŸ‘ 7 πŸ” 4 πŸ’¬ 3 πŸ“Œ 0

PoP OS, so Ubuntu-based.

20.10.2025 16:05 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

It happens everywhere, the mouse scroll "jumps" back and forth sometimes. Increasing speed helped a bit, but it's kinda annoying. I saw others also had that case. It's not a blocker, but really annoying papercut.

20.10.2025 16:05 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Well, I had to change it through terminal, finding which number represents my USB dongle, and then crafting shell script. I'm capable to do it, but I'm incapable to understand how Linux community accepts that as good UX πŸ˜‰

Most stuff is fine, but after years I still find surprises like that.

20.10.2025 12:41 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

Define "all modern Linux" ;)

This is how it looks on my PoP OS (ubuntu-based).

Nevertheless. Linux is fine, I'm using it for a few years as my main OS, but it surprises me every now and then how advice to "just add startup script" is an generally accepted way to do good UX.

20.10.2025 12:39 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

For developers it is, for outside world, probably not so much πŸ˜… For reasons.

20.10.2025 12:37 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

If you believe that The Year of Linux on Desktop is close, or even here, then google "how to change mouse scroll speed on Linux".

20.10.2025 06:54 πŸ‘ 4 πŸ” 0 πŸ’¬ 5 πŸ“Œ 0
Victoria Beckham meme
- We need monorepo
- Be honest
- I am honest
- You want to just update multiple modules instead of working on their boundaries?
- How did you know?
- Thank you

Victoria Beckham meme - We need monorepo - Be honest - I am honest - You want to just update multiple modules instead of working on their boundaries? - How did you know? - Thank you

Inspired by @ducin.dev

16.10.2025 13:24 πŸ‘ 5 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0