A pragmatist pretending at idealism; reassessing common knowledge and prescribed wisdom. The fact that it works is not the same as a good outcome.

Joined March 2008
555 Photos and videos
Pinned Tweet
Event Sourcery, the video course that I built as an introduction to domain modeling, cqrs, and event sourcing, is now publicly available on YouTube. youtube.com/channel/UCa_BK9B… I wrote and recorded the series over the course of a year and I hope that people will find it helpful.
4
19
73
Shawn McCool retweeted
Was just DM'ed with an Event Sourcing question. Always happy to help and, as much as I'd love to plug my own stuffs, I mostly redirect folks to Event Sourcery from @ShawnMcCool youtube.com/@EventSourcery/v…
3
9
744
Shawn McCool retweeted
You can rebuild state from events. But you can't rebuild events from state. Think about football. If you see 2-1 on a scoreboard, you know the current score, but not how it got there. That's the problem Event Sourcing solves: youtube.com/watch?v=xPmQxYIi…
2
6
16
1,612
Shawn McCool retweeted
You've heard me advocating for Erlang/Elixir for some years now. I've put together a short presentation about some of the practical reasons why I chose to pursue this tech. Practical Arguments for Erlang / Elixir
3
13
88
9,001
Shawn McCool retweeted
We just shipped Distributed Python on top of the Erlang distribution, with full Elixir and Livebook integration: dashbit.co/blog/distributed-… And much more: intellisense, zero-copy Apache Arrow, and more. Read the article for all the details. A huge thank you to NLnet Foundation for sponsoring our work. They are always looking for new ideas and you have until April 1st to join the next batch: nlnet.nl
15
66
346
20,705
Shawn McCool retweeted
Chat-like interfaces replacing traditional UI are gradually exposing that *events* are the fundamental source of truth for state management
23
12
285
22,636
Shawn McCool retweeted
More #Elixir for #PHP devs fun! 🍷 — One of my favorite things about Elixir, don't sleep on multi-clause functions 😎 (link in replies) 👇
2
1
5
1,038
Shawn McCool retweeted
Saying "isolated processes for fault tolerance are not relevant because they were pushed to orchestration layer" is like saying "we don't need threads, because we will just run one pod per core anyway". The difference in reacting and responding to "my connection pool crashed" by restarting the pool locally vs restarting the whole pod is going to be massive, similar to the differences in latency when coordinating across threads vs across pods. Yes, other programming languages have threads, and they raise a signal when they fail, but that's missing the point. What matters it not the signal but the guarantees. If you have global mutable state and a thread crashes, can you guarantee it did not corrupt the global state? If you can't, the safest option is to restart the whole node anyway, because it is best to have a dead node than running a corrupted one. PS: somewhat related 6-years-old post: dashbit.co/blog/kubernetes-a…

This is why I’m unimpressed by Erlang/Elixir: every major language runtime has VERY high-quality M:N work-stealing “thread” schedulers with good APIs (structured concurrency), and the “isolated processes” and “RPC” got pushed up to an orchestration layer (DC/OS, Nomad, k8s…)
9
48
369
45,696
Especially in an era of agentic coding.. it no longer makes any sense to me to continue using languages like PHP which offer zero novel value. I don't stand to gain anything from saying this, but now is the time to start with Elixir. Have faith and rip off that band-aid.
14
4
69
8,718
Shawn McCool retweeted
Vendors are trying to emulate the BEAM, but there's truly nothing like it. Here's a walkthrough of what makes it special: processes, messaging, registries, ETS, distribution, and its ecosystem. Elixir was made for the current moment, and for what's to come. #MyElixirStatus
6
47
359
64,233
Shawn McCool retweeted
Most people treat the static vs dynamic debate as a foregone conclusion, but in practice type systems restrict the expressive power of programming languages in ways that leak complexity to developers. New article: Type systems are leaky abstractions — the case of Map.take!/2
12
26
199
15,213
I came across this Super Nintendo game that I've never heard of before. Warriors - Legend of the Blue Dragon It's a turn based side scrolling battle game that is strange from top to bottom. A true hidden gem. bit.ly/4rmLu69

1
257
Hey all, I don't want to bug you with this kind of thing often. But I'd love to connect to you on bsky as I'm a lot less active here than there. I won't post this again for a while, I'm not interested in spamming. =) bsky.app/profile/shawnmc.coo…

1
287
Shawn McCool retweeted
Here is my take on why Elixir is the best language for AI: immutability, documentation, stability, and tooling for coding agents. It builds on the recent study in which Elixir had the highest completion rate across models among 20 different languages. Link in the thread below.
17
98
398
33,894
Shawn McCool retweeted
Fantastic discussion between @ShawnMcCool and @edd_mann on Event Sourcing and related topics such as Domain-Driven Design, CQRS, Event-Driven Architecture, etc. Great to listen to a conversation that goes deep and discusses the complex stuff, not just the surface entry level.
really excited to finally get this episode published 🎉 Ep. 17: Event Sourcing with Shawn McCool @ShawnMcCool shares how event sourcing fundamentally changed the way he thinks about modeling software systems. if you've ever felt stuck in the "way we've always done it" mindset, this one's for you 👇 🎧 compiledconversations.com/17… we trace shawn's journey from discovering domain events while working on laravel.io back in 2012, through creating Event Sourcery, to now building payment processing systems. what started as curiosity about DDD turned into a completely different approach to building software. the core insight: events aren't just for messaging or streaming - they become the actual source of your model state. we dig into how this differs from event-driven architectures and why capturing intent matters more than capturing data changes. shawn shares a practical pattern that eliminates entire classes of versioning and data retention headaches: design your aggregates to exhaust quickly. at his current company, event streams naturally terminate within 30 minutes. no long-lived aggregates means no painful migrations, no GDPR nightmares. we also explore the relationship between event sourcing and CQRS, testing strategies, and why DDD isn't really a methodology - it's a pursuit of understanding your domain. full episode: 🎧 compiledconversations.com/17…
1
1
6
621
I had the please to speak with @edd_mann about event sourcing lessons learned from 10 years of production and a bunch of related patterns and concerns that have surrounded this architectural choice. I'm glad that we were able to cover a lot of non-introductory material here.
really excited to finally get this episode published 🎉 Ep. 17: Event Sourcing with Shawn McCool @ShawnMcCool shares how event sourcing fundamentally changed the way he thinks about modeling software systems. if you've ever felt stuck in the "way we've always done it" mindset, this one's for you 👇 🎧 compiledconversations.com/17… we trace shawn's journey from discovering domain events while working on laravel.io back in 2012, through creating Event Sourcery, to now building payment processing systems. what started as curiosity about DDD turned into a completely different approach to building software. the core insight: events aren't just for messaging or streaming - they become the actual source of your model state. we dig into how this differs from event-driven architectures and why capturing intent matters more than capturing data changes. shawn shares a practical pattern that eliminates entire classes of versioning and data retention headaches: design your aggregates to exhaust quickly. at his current company, event streams naturally terminate within 30 minutes. no long-lived aggregates means no painful migrations, no GDPR nightmares. we also explore the relationship between event sourcing and CQRS, testing strategies, and why DDD isn't really a methodology - it's a pursuit of understanding your domain. full episode: 🎧 compiledconversations.com/17…
2
3
6
736
Shawn McCool retweeted
To all my fellow Europeans looking to do the sensible thing and boycott everything US made, here's a platform with European alternatives to US digital services and products: european-alternatives.eu/
127
2,431
6,487
156,386
Shawn McCool retweeted
really excited to finally get this episode published 🎉 Ep. 17: Event Sourcing with Shawn McCool @ShawnMcCool shares how event sourcing fundamentally changed the way he thinks about modeling software systems. if you've ever felt stuck in the "way we've always done it" mindset, this one's for you 👇 🎧 compiledconversations.com/17… we trace shawn's journey from discovering domain events while working on laravel.io back in 2012, through creating Event Sourcery, to now building payment processing systems. what started as curiosity about DDD turned into a completely different approach to building software. the core insight: events aren't just for messaging or streaming - they become the actual source of your model state. we dig into how this differs from event-driven architectures and why capturing intent matters more than capturing data changes. shawn shares a practical pattern that eliminates entire classes of versioning and data retention headaches: design your aggregates to exhaust quickly. at his current company, event streams naturally terminate within 30 minutes. no long-lived aggregates means no painful migrations, no GDPR nightmares. we also explore the relationship between event sourcing and CQRS, testing strategies, and why DDD isn't really a methodology - it's a pursuit of understanding your domain. full episode: 🎧 compiledconversations.com/17…
2
4
1,720
Shawn McCool retweeted
Today we celebrate 15 years since Elixir's first commit. To mark the occasion, we shipped an early release candidate for Elixir v1.20 which has TYPE INFERENCE FOR ALL CONSTRUCTS.🎉 In the latest article, I break down the next ~15 weeks and the challenges for the next ~15 months.
26
112
575
33,740
If you're watching short-form video content, you're an addict. If you're watching short-form video content in a cafe, you're a junkie.
347
What research do you know about that's being done on software development efficacy and approaches?
1
1
429