41554 blogs · [ { "id": "01a087df-6a64-73d4-9c03-53034de46443", "title": "Compiled Conversations Podcast Interview about Event Sourcing", "url": "https://shawnmc.cool/compiled-conversations-about-event-sourcing", "published_at": "2026-01-16T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-53034e26fff0", "title": "Compiled Conversations Podcast Interview about Elixir / Erlang", "url": "https://shawnmc.cool/compiled-conversations-about-elixir-erlang", "published_at": "2025-12-02T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-53034e735d7f", "title": "Elixir / Erlang Learning Resources", "url": "https://shawnmc.cool/elixir-erlang-learning-resources", "published_at": "2025-03-07T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-53034f56d479", "title": "Recent Media Appearances", "url": "https://shawnmc.cool/recent-media-appearances", "published_at": "2024-11-29T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-53034ffa7b57", "title": "Project Structure: A Real-world Example", "url": "https://shawnmc.cool/project-structure-a-real-world-example", "published_at": "2024-10-18T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-530350ae0589", "title": "PHP Roundtable Podcast ep 92 - Event Sourcing", "url": "https://shawnmc.cool/php-roundtable-ep-92-event-sourcing", "published_at": "2024-08-15T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-530350fe197b", "title": "Delivering Working Software is not Enough", "url": "https://shawnmc.cool/delivering-working-software-is-not-enough", "published_at": "2024-06-11T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-530351770740", "title": "Do Androids Dream of Microsoft Excel?", "url": "https://shawnmc.cool/do-androids-dream-of-microsoft-excel", "published_at": "2023-11-09T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-530352090aea", "title": "Practical Techniques to Reduce the Harm of Active Record", "url": "https://shawnmc.cool/practical-techniques-to-reduce-the-harm-of-active-record", "published_at": "2023-10-28T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-530352727e8e", "title": "Aggregates for Those Familiar with ActiveRecord", "url": "https://shawnmc.cool/aggregates-for-those-familiar-with-activerecord", "published_at": "2023-05-11T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-530352b480ae", "title": "Simplifying Test Development", "url": "https://shawnmc.cool/simplifying-test-development", "published_at": "2023-03-18T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-5303535ce2e1", "title": "Active Record: How We Got Persistence Perfectly Wrong", "url": "https://shawnmc.cool/active-record-how-we-got-persistence-perfectly-wrong", "published_at": "2023-02-13T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-530353d48a4d", "title": "Testing is Part of the Production System", "url": "https://shawnmc.cool/testing-is-part-of-the-production-system", "published_at": "2022-12-13T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-5303547507cc", "title": "Card-based Simulation Engine", "url": "https://shawnmc.cool/card-based-simulation-engine", "published_at": "2022-09-03T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-53035507ec5e", "title": "Test Code is Application Code", "url": "https://shawnmc.cool/test-code-is-application-code", "published_at": "2022-07-04T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-530355cdf486", "title": "Testing at Boundaries with Test Doubles and Fixtures", "url": "https://shawnmc.cool/testing-at-boundaries-with-test-doubles-and-fixtures", "published_at": "2022-05-17T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-530356036f88", "title": "Adding Real Capabilities to Systems Through Naming", "url": "https://shawnmc.cool/adding-real-capabilities-to-systems-through-naming", "published_at": "2022-01-31T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-530356f928ff", "title": "Some Game Projects", "url": "https://shawnmc.cool/some-game-projects", "published_at": "2020-06-06T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-530357097ec9", "title": "Avoiding Unified Data Models Talk", "url": "https://shawnmc.cool/avoiding-unified-data-models-talk", "published_at": "2018-08-13T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-530357118ae9", "title": "More Relaxed Typing with Dvorak", "url": "https://shawnmc.cool/more-relaxed-typing-with-dvorak", "published_at": "2016-08-05T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-530357c6fd95", "title": "Event Sourcery", "url": "https://shawnmc.cool/event-sourcery", "published_at": "2016-07-20T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-530358a933be", "title": "What is Domain Modeling", "url": "https://shawnmc.cool/what-is-domain-modeling", "published_at": "2016-02-22T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-530359687940", "title": "What is Active Record", "url": "https://shawnmc.cool/what-is-active-record", "published_at": "2016-02-22T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-5303598f39d4", "title": "Designing A Model Architecture Talk", "url": "https://shawnmc.cool/designing-a-model-architecture-talk", "published_at": "2015-06-28T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-53035a8d23aa", "title": "A Talk About Naming Things Talk", "url": "https://shawnmc.cool/a-talk-about-naming-things-talk", "published_at": "2015-06-28T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-53035b430100", "title": "Dev Discussions Podcast", "url": "https://shawnmc.cool/dev-discussions-podcast", "published_at": "2015-04-02T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-53035ba244f5", "title": "What is a Repository", "url": "https://shawnmc.cool/what-is-a-repository", "published_at": "2015-01-08T13:00:00+00:00" }, { "id": "01a087df-6a64-73d4-9c03-53035c9b6ea5", "title": "Command Bus", "url": "https://shawnmc.cool/command-bus", "published_at": "2014-12-26T13:00:00+00:00" } ] posts Claim your blog
Back to shawnmc.cool
Blog · corpus.blog/blogs/shawnmc.cool/posts

shawnmc.cool

shawnmc.cool

2026

2025

2024

2023

2022

2020

2018

2016

2015

2014