Udi Dahan
udidahan.com
Udi Dahan
@udidahan.com
1.8K followers 160 following 34 posts
Posts about Software Development, Design, and Architecture. Founder and CEO of NServiceBus. He/Him. https://udidahan.com/ https://twitter.com/UdiDahan https://hachyderm.io/@udidahan
Posts Media Videos Starter Packs
Reposted by Udi Dahan
Old but seems still relevant udidahan.com/2010/08/31/r.... Crazy how quickly everything changes in software :P
Race Conditions Don’t Exist
udidahan.com
Reposted by Udi Dahan
Reposted by Udi Dahan
We can fall into a trap, believing things happen synchronously in a predefined order. They don't–at least not in scalable systems, and certainly not at Starbucks. "What Starbucks can teach you about (software) scalability" on our blog:
What Starbucks can teach us about software scalability
In 2004, Gregor Hohpe published his brilliant post “Starbucks Does Not Use Two-Phase Commit.” When I read it, my time working at Starbucks during my college years suddenly became relevant. Over the…
particular.net
Reposted by Udi Dahan
When you're trying to set culture, you need to prioritize high-trust environments and the delivery of feedback. You cannot let yourself be "casually cruel in the name of being honest" even just a little bit or trust and culture will degrade. - @rstephens.me @ #monktoberfest
Reposted by Udi Dahan
Schemas are a great way to make versioning event-driven systems easier, and @ApacheAvro has the best schema evolution capabilities out there. And, you can use Avro with @NServiceBus too! Check out the samples:
https://docs.particular.net/shape-the-future/avro
#avro #schemaevolution #eda #serdes
NServiceBus and Apache Avro • NServiceBus
Using NServiceBus and Apache Avro.
docs.particular.net
Reposted by Udi Dahan
And I draw on Mary Parker Follett’s work; it’s from ~100 years ago, but not only deserves a place in the formative history of the system design (and leadership) field, but in the discourse that helps shape our understanding and approaches today.
Reposted by Udi Dahan
Schemas are a great way to make versioning event-driven systems easier, and ApacheAvro has the best schema evolution capabilities out there. And, you can use Avro with NServiceBus too! Check out the samples:
https://docs.particular.net/shape-the-future/avro
#avro #schemaevolution #eda #serdes
NServiceBus and Apache Avro • NServiceBus
Using NServiceBus and Apache Avro.
docs.particular.net
Reposted by Udi Dahan
Learn how message-based communication patterns can serve as a stealthy foundation for modernization. Hazel Bohon shows how to architect for scale while preserving operational continuity. Join in W06 on Wed, Sept 10 at 9:30AM at #VSLive https://vslive.com/events/san-diego-2025/home.aspx
Attention Required! | Cloudflare
vslive.com
Reposted by Udi Dahan
"We are the Borg. Your messages have failed and will be assimilated. Resistance is futile."

For Star Trek day this year, learn how to use the Borg's resiliency as an advantage using ServicePulse to manage when messages fail. particular.net/blog/resista...
Resistance is futile...unless you have ServicePulse
We are the Borg. Your messages have failed and will be assimilated. Resistance is futile. Distributed systems are a lot like Star Trek’s infamous Borg Collective: massively parallel, highly…
particular.net
Reposted by Udi Dahan
Reposted by Udi Dahan
Are you using AsyncAPISpec in your event-driven system? We've built samples to show how AsyncAPI can work with NServiceBus! 🚀
Check them out all let us know what other use cases we should explore:
https://docs.particular.net/shape-the-future/asyncapi
#EventDriven #AsyncAPI #NServiceBus #DotNet
NServiceBus and AsyncAPI • NServiceBus
Using NServiceBus with AsyncAPI.
docs.particular.net
Reposted by Udi Dahan
Likewise for me, a huge improvement for me was shifting from “I want to deliver impact by being right and building correct solutions” to “I want to deliver impact by helping us reach mutual understanding, healthy communication, and building the right environment”

It makes a huge difference
My self-concept really changed as a social scientist when I decided my core strength was being a creative and strategic compassion instead of [insert elitist idea of being technical here] and I really recommend it
Reposted by Udi Dahan
Networks hiccup, databases time out, and that AI agent you’ve been using seems to hallucinate more each day 🤖.

Kyle write about how you can use NServiceBus' features to recover from messaging failures. ⬇️

https://blog.nimblepros.com/blogs/recoverability-with-nservicebus/

#NServiceBus
Are you referring to ServiceInsight?
particular.net/serviceinsight

We've recently ported its functionality over to the webapp ServicePulse, for example:

* Sequence diagrams: docs.particular.net/servicepulse...
* Saga diagrams:
docs.particular.net/servicepulse...

Or is it something else?
Reposted by Udi Dahan
.NET Aspire isn't just for C# resources!

In our NServiceBus webinar, we mentioned that we had a Python script listening to RabbitMQ.

We'll show how to set something like this up on 8/26:
https://www.youtube.com/live/EllD0cqtLhE?si=S0Jk5HonFI0rrPLA

#dotnet #dotnetAspire
Reposted by Udi Dahan
Microservices gone wrong? Oh, we’ve seen it. 😏

@williambza.bsky.social shares his Top 5 disaster-techniques for microservices — so you can avoid them.

📅 27th August – Don’t miss it!

www.meetup.com/net-usergrou...

#TechTalk #Microservices
Reposted by Udi Dahan
A key difference here is that while either can be incorrect, the structure of Wikipedia *creates context* and the structure of LLMs *destroys context*

Wikipedia has linked sources and an edit history showing where information came from and who added it when

An LLM just generates text
Some of the anti-AI stuff feels a bit like when people would say "don't use Wikipedia as a source." It's just like anything else, a piece of information that you weigh against multiple sources and your own understanding of its likely failure modes
Reposted by Udi Dahan
(1) methodologically, if you try to derive the “secret formula” by only studying iconic successes, then you’re doing social science wrong.

It’s called selecting on the dependent variable. You have to also examine the failures if you want to identify differences.
Reposted by Udi Dahan
Saving this for every study of software development practices based on "best in breed" companies.
(1) methodologically, if you try to derive the “secret formula” by only studying iconic successes, then you’re doing social science wrong.

It’s called selecting on the dependent variable. You have to also examine the failures if you want to identify differences.
Reposted by Udi Dahan
Microsoft’s commitment to backwards compatibility is something else.

Created this Windows 8 app 13 years ago (2012). Last updated 11 years ago (2014). Lost the source code soon after so couldn’t update since even if I wanted.

And it still works on Windows 10 & 11. Just wow
Reposted by Udi Dahan
Wondering how messages navigate distributed systems? Come chat with us ( Adam Wright, poornimanayar and Hazel Bohon) at the Particular Software booth, where messaging patterns meet real-world impact. We’ve got the answers (and some freebies too) #KCDC2025 https://www.kcdc.info/
KCDC 2025
www.kcdc.info