Learning Vault
Explore a curated, ever-growing collection of books, articles, and resources that I'm currently learning from or have found valuable for my growth as a developer and lifelong learner.
16 strategies for getting unblocked at work
Evan Wondrasekmust-studyRabbitMQ’s Common Issues & Misconceptions: A Support Perspective
Johan Rhodinrabbitmqmessage-passingNetflix’s Distributed Counter Abstraction
Netflixmust-studydistributedMonoid
must-studymonadSemigroup Action
must-studymonadGreg Young answers your Event Sourcing questions!
Greg Young, Derek Comartinmust-studyDesigning for change with Vertical Slice Architecture
Chris Saintycouplingcohesionsoftware-architectureIntegrated Tests Are A Scam
J. B. Rainsbergertestingintegration-testTrench Talk: Evolving a Model
Yves Reynhoutpatientschedulingevent-sourcingThe Hidden Complexity of Scaling WebSockets
Atul Jalanwebsocketmessage-passingDon’t Delete – Just Don’t
Udi DahanCollaborative Editing in ProseMirror
Marijn HaverbekeKeep your streams short! Temporal modeling for fast reads and optimal data retention
Oskar Dudyczevent-sourcingcqrsevent-drivenThe Well-Balanced Programmer
J. B. RainsbergerSQL queries don't start with SELECT
Julian Evanssqlmust-studySystem Thinking and Event Driven Architecture
Arjan Noordhoekevent-drivenEvent Driven Architecture EXPLAINED in 15 Minutes
Continuous Deliveryevent-drivenIt’s always TCP_NODELAY. Every damn time
Marc BrookertcpnetworkingdistributedRetrieval-Augmented Generation for Large Language Models: A Survey
aiFive Levels of Chunking Strategies in RAG| Notes from Greg’s Video
Anurag Mishraaiai-chunkingai-ragA Cheat Sheet and Some Recipes For Building Advanced RAG
aiai-ragA deep dive into the world's smartest email AI
Hiranya Jayathilakaaiai-ragDissecting, Designing, and Optimizing LSM-based Data Stores
must-studyLinearizability versus Serializability
Peter Bailismust-studydatabasescomputer-sciencePutting the “You” in CPU
must-studycomputer-scienceCurrent Software Engineers have no Deep Knowledge
Jonathan Blowmust-studyStudy of std::io::Error
Alex KladovrustlangSystems Thinking, Learning, and Problem Solving
Russell L. Ackoffmust-studysystem-designsoftware-architectureDropBox Engineering Evening on RocksDB
Dhruba BorthakurdatabasesEvent-Driven Architecture lost its way
Derek Comartinmust-studyevent-drivenThe pendulum swings! Microservices to Monoliths
Derek Comartinmust-studyevent-drivenservice-oriented-architectureArchitecture Without an End State
Michael Nygardsoftware-architecturemust-studyGarbage data in, garbage models out
Jodie Burchelldomain-designdata-integrityLet's
Joe Armstrong, Carl Hewitt, Sir Tony Hoaremust-studyTransforming Healthcare with Distributed Actors
Bryan HuntererlangdistributedThe Grug Brained Developer
must-studyThe Workflow Pattern
Yves Reynhoutevent-sourcingworkflowErlang concurrency
Robert VirdingerlangconcurrencyBeyond Continuous Improvement
must-studySystem Thinking and Event-Driven Architecture
Arjan Noordhoekevent-drivenbusinesssoftware-architecturemust-studyWhy Programming Languages Matter
Andrew Blackcomputer-scienceStop Writing Dead Programs
Jack Rushercomputer-scienceChoose Postgres queue technology
Adriano CaloiaropostgresqldatabasesHow Developers Stop Learning: Rise of the Expert Beginner
Erik Dietrichpeoplemust-studyDon’t Disrupt Agile. Drop it!
Jeff DoolittleagileOrchestration vs Choreography, a Guide to Composing Your Monolith
Ian Thomasevent-drivenorchestrationchoreographymust-studyEvent Sourcing and Post/Pre Dated Transactions
Greg Youngevent-sourcingThe React Ecosystem in 2023
CodevolutionreactjsfrontenduiRuby Conf 12 - Boundaries
Gary Bernhardtoopfunctional-programmingEssential features of an Event Store for Event Sourcing
Anton Stöcklevent-sourcingThe impossibility of exactly-once delivery
Savvas Kleanthousmessage-passingExactly-once or not, atomic broadcast is still impossible in Kafka - or anywhere
message-passingWhy you probably do not need OAuth2 / OpenID Connect
Aeneas RekkasoauthiamErlang 103 - Collaborating State Machines (In Erlang and Biological Systems)
ElixirZoneerlangEvent Modeling
Adam Dymitrukevent-modelingevent-sourcingevent-drivenprocess-managersThe Secret Sauce Behind NoSQL: LSM Tree
ByteByteGolsm-treememtabledatabasesThe Future of Programming
Bret VictorHow dumb do you want your pipes
Gerard Klijssoftware-architecturemessage-passingservice-oriented-architecturekafkaAs time goes by
Thomas Pierrainevent-sourcingKafka: a map of traps for the enlightened dev and op
Emmanuel Bernard, Clement EscoffierkafkaKeep your streams short! Temporal modeling for fast reads and optimal data retention
Oskar Dudyczevent-sourcingevent-drivensoftware-architectureThe art of destroying software
Greg Youngsoftware-architectureErlang in Anger
Fred Heberterlangelixir-langRedis Explained
Mahdi YusufredisFunctional Event Sourcing Decider
Jeremie Chassaingevent-sourcingevent-drivenfunctional-programmingmust-studyLearn You Some Erlang for Great Good!
Fred Hebertelixir-langerlangReplicated Data Consistency Explained Through Baseball
Doug TerryconsistencydatabasesRPC over RabbitMQ (with Elixir)
Andrea Leopardirabbitmqelixir-langmessage-passingdistributedHow Airbnb designs for trust
Joe GebbiapeopleleadershipCreating a Data-Driven Organization: Practical Advice from the Trenches
Carl AndersonpeopleleadershipHow we designed Dropbox ATF: an async task framework
job-processingMessaging Patterns: Ephemeral Events
Mathias Verraesevent-drivenEvent Sourcing Projections Patterns: Deduplication Strategies
Kacper Guniaevent-sourcingThe history of the Erlang virtual machine
Joe Armstrong, Robert Virdingelixir-langStop Using Loading Spinner, There’s Something Better
designuser-experienceParse, don’t validate
Alexis KingfpvalidationDomain Modeling Made Functional
Scott WlaschindddfpfsharpACH File Details
bankingClean Architecture and Design
Robert C. Martinsoftware-architectureDistributed transaction patterns for microservices compared
Bilgin Ibryamdistributedevent-sourcingevent-drivenfencing-tokensFrom the Field: Escaping Appland
software-architectureIf (domain logic) then CQRS, or Saga?
Udi Dahancqrsevent-sourcingdddevent-drivenWhich Kinds of Tests Should I Write?
J. B. RainsbergertestingThe Magic Tricks of Testing
Sandi MetztestingTransaction Script
Martin FowlercqrsEvent sourcing and external service integration
Martin Krasserevent-sourcingEvent Streaming is not Event Sourcing!
Oskar Dudyczevent-sourcingevent-drivenevent-streamingSaga and Process Manager - distributed processes in practice
Oskar Dudyczsagasprocess-managersGraceful shutdown in Elixir - Try not to drop the ball
Pawel Szafranelixir-langgraceful-shutdownkubernetesShould You Put Several Event Types in the Same Kafka Topic?
Martin Kleppmannkafkaevent-drivenevent-streamingData Mesh: The Answer to the Data Warehouse Hypocrisy
Daniel Abadievent-drivenWhat I wish I knew when I started designing systems years ago
Jakub Nabrdaliksoftware-architectureWhy Isn't Functional Programming the Norm?
Richard FeldmanfpElixirZone: Erlang 103 - Collaborating State Machines (In Erlang and Biological Systems)
ElixirZoneelixir-langbiologyProjections Explained
Yves Reynhoutevent-sourcingevent-drivenprojectionsCorrelation id and causation id in evented systems
Robert Pankoweckievent-drivenevent-sourcingUX Movement
designuser-experienceThe Fastest Navigation Layout for a Three-Level Menu
designdesign-layoutEventSourcing.NetCore
Oskar Dudyczcqrsevent-sourcingevent-drivenc#Functional Design Patterns
Scott WlaschinfpDepending on Functions
Rory Robertscomputer-scienceoopFunctional Core, Imperative Shell
computer-sciencePrinciples for designing and deploying scalable applications on Kubernetes
k8sdeploymentTwo-phase commit and beyond
Murat Demirbasdistributedtwo-phase-commitCoaching vs Mentoring - What's the Difference? by Dan Hardiker, Heather Wilde
peopleFencing tokens
distributedfencing-tokensHow to do distributed locking
Martin KleppmannlockingdistributedKnow the Flow! Events, Commands & Long-Running Services
Martin Schimakcqrsevent-drivenevent-sourcingworkflowmust-studyHow to Use Macros in Elixir
Jia Hao Wooelixir-langmacrosSRE Books
sredevopsReliable event dispatching using a transactional outbox
event-drivenoutbox-patternFilling the gaps in CQRS and Event Sourced systems: taxonomy of system components
Andriy Drozdyukcqrsevent-sourcingdddevent-drivenDDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together
Herberto GraçaPatterns for Decoupling in Distributed Systems: Passage of Time Event
Mathias VerraesTackling Complex Event Flows
Martin SchimakAll our aggregates are wrong
Mauro ServientiSOLID
Optimistic concurrency for pessimistic times
Oskar DudyczRepository
Edward Hieatt, Rob MeeTalk Session: Know the Flow! Events, Commands & Long-Running Services
Martin SchimakRabbitMQ vs Kafka
Jack VanlightlyJOTB19 - The Bizarre Mating Ritual Of The Whipnose Seadevil
Greg YoungMediator
Event Sourcing: Traceability, Consistency, Correctness - Thomas Bøgh Fangel - DDD Europe 2020
Thomas Bøgh FangeDesign the infrastructure persistence layer
Functional architecture - The pits of success
Mark Seemannmust-studyPattern: Transactional outbox
Chris RichardsonDDD Aggregates: Consistency Boundary
James HickeyHighly COHESIVE Software Design to tame Complexity
Derek ComartinReplicated Data Consistency Explained Through Baseball
Doug TerryAn event-driven approach to building Elixir applications | Code Elixir LDN 19
Ben SmithDesign the infrastructure persistence layer
Snapshotting Strategies
Oskar DudyczClasses vs. Data Structures
Robert C. MartinBuilding a Request Pipeline for Separating Concerns with Pipes & Filters
Derek ComartinPrimitive Obsession Code Smell
Optimistic Concurrency in an HTTP API with ETags & Hypermedia
Derek ComartinThe Ugly of Event Sourcing - Projection Schema Changes
Dennis DoomenTestDouble
Martin FowlerMy TOP Patterns for Event Driven Architecture
Derek ComartinOutbox, Inbox patterns and delivery guarantees explained
Oskar DudyczMediator Design Pattern
Domain-Driven Design: Tackling Complexity in the Heart of Software by Evans Eric
Vernon Vaughncqrsevent-sourcingdddevent-drivenTell-Dont-Ask
Martin FowlerEvent Sourcing for the Cloud Developer
Chris CondronIntegrated Tests Are A Scam
J. B. RainsbergerThirteen ways of looking at a Turtle
Scott WlaschinAkka.NET: The Future of Distributed Programming in .NET
Aaron Stannard3 Reasons to Model Identity as a Value Object
Implementing Domain-Driven Design by Vernon Vaughn
Evans EricKeynote: 8 Lines of Code
Greg YoungDecomposing CRUD to a Task Based UI
Derek ComartinEvent-Driven Architecture and the Outbox Pattern
Rod ShokrianWhat is event modeling
Adam Dymitruk