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.
Rust’s most complicated features explained
Let's Get Rustymust-studyPatterns of Event Driven Architecture
Mark Richardsevent-drivenevent-streamingmessage-passingThe Many Meanings of Event-Driven Architecture
Martin Fowlerevent-drivenmust-studyThe Actor Model
Carl Hewittmust-studyactor-modelDesign Microservice Architectures the Right Way
Michael Bryzekmicroserviceservice-oriented-architectureHow Convex Works
Sujay Jayakardatabasesevent-sourcingSmall Is Beautiful
Kevlin Henneymust-studysoftware-architectureNew Shared-Log Abstractions for Modern Applications
Ram AlagappandistributeddatabasesGood engineers are right, a lot
Sean GoedeckeleadershipConsistency Models
Jepsenmust-studyThe Big OOPs: Anatomy of a Thirty-five-year Mistake
Casey Muratorioopprogramming-historyWant don't You consistency no stinking
Greg Youngevent-sourcingHow to Think Like an Architect
Mark Richards16 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 Huntererlangdistributedelixir-langmust-studyThe 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 Kleppmannlockingdistributedmust-studyKnow 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-drivenReplicated Data Consistency Explained Through Baseball
Doug TerryFunctional architecture - The pits of success
Mark Seemannmust-studyAll our aggregates are wrong
Mauro ServientiDecomposing CRUD to a Task Based UI
Derek ComartinTalk Session: Know the Flow! Events, Commands & Long-Running Services
Martin SchimakThirteen ways of looking at a Turtle
Scott WlaschinEvent Sourcing: Traceability, Consistency, Correctness - Thomas Bøgh Fangel - DDD Europe 2020
Thomas Bøgh FangeEvent Sourcing for the Cloud Developer
Chris CondronHighly COHESIVE Software Design to tame Complexity
Derek ComartinTackling Complex Event Flows
Martin SchimakRabbitMQ vs Kafka
Jack VanlightlyAn event-driven approach to building Elixir applications | Code Elixir LDN 19
Ben SmithAkka.NET: The Future of Distributed Programming in .NET
Aaron StannardJOTB19 - The Bizarre Mating Ritual Of The Whipnose Seadevil
Greg YoungBuilding a Request Pipeline for Separating Concerns with Pipes & Filters
Derek ComartinMy TOP Patterns for Event Driven Architecture
Derek ComartinOptimistic Concurrency in an HTTP API with ETags & Hypermedia
Derek ComartinKeynote: 8 Lines of Code
Greg YoungSOLID
DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together
Herberto Graça3 Reasons to Model Identity as a Value Object
Classes vs. Data Structures
Robert C. MartinPrimitive Obsession Code Smell
Tell-Dont-Ask
Martin FowlerMediator Design Pattern
Optimistic concurrency for pessimistic times
Oskar DudyczPattern: Transactional outbox
Chris RichardsonOutbox, Inbox patterns and delivery guarantees explained
Oskar DudyczSnapshotting Strategies
Oskar DudyczDesign the infrastructure persistence layer
The Ugly of Event Sourcing - Projection Schema Changes
Dennis DoomenDDD Aggregates: Consistency Boundary
James HickeyTestDouble
Martin FowlerIntegrated Tests Are A Scam
J. B. RainsbergerMediator
What is event modeling
Adam DymitrukPatterns for Decoupling in Distributed Systems: Passage of Time Event
Mathias VerraesRepository
Edward Hieatt, Rob MeeDesign the infrastructure persistence layer
Event-Driven Architecture and the Outbox Pattern
Rod ShokrianImplementing Domain-Driven Design by Vernon Vaughn
Evans EricDomain-Driven Design: Tackling Complexity in the Heart of Software by Evans Eric
Vernon Vaughncqrsevent-sourcingdddevent-driven