A database of learning material about software & computers
- David Barrett-Lennard - Cedanet - The Data-Centric Principle
- David Barrett-Lennard - Cedanet - Logical independence
- David Barrett-Lennard - Cedanet - The lattice of database states
- David Barrett-Lennard - Cedanet - Anti-patterns
- David Barrett-Lennard - Cedanet - Anti-pattern - Advanced messaging systems
- David Barrett-Lennard - Cedanet - Anti-pattern - Object relational mapping
- David Barrett-Lennard - Cedanet - Anti-pattern - Excessive frameworks
- David Barrett-Lennard - Cedanet - Anti-pattern - Location transparency
- David Barrett-Lennard - Cedanet - Anti-pattern - Excessive loose coupling
- David Barrett-Lennard - Cedanet - Anti-pattern - Inadequate Persistence System
- David Barrett-Lennard - Cedanet - Anti-pattern - Orthogonal persistence
- David Barrett-Lennard - Cedanet - Anti-pattern - Interleaving computation and I/O
- David Barrett-Lennard - Cedanet - Anti-pattern - More is less
- David Barrett-Lennard - Cedanet - Anti-pattern - SOA
- David Barrett-Lennard - Cedanet - Anti-pattern - Kafka
- David Barrett-Lennard - Cedanet - Anti-pattern - Service statelessness principle
- David Barrett-Lennard - Cedanet - Anti-pattern - Persist state machines
- David Barrett-Lennard - Cedanet - Anti-pattern - State machine instead of data-type
- David Barrett-Lennard - Cedanet - Anti-pattern - SOA/Microservices
- David Barrett-Lennard - Cedanet - Not materialising the persistent queue
- David Barrett-Lennard - Cedanet - Producer/consumer with persistent queue
- David Barrett-Lennard - Cedanet - Messaging done right
- David Barrett-Lennard - Cedanet - Dependency Graph System (DGS)
- David Barrett-Lennard - Cedanet - Persistent object trees
- David Barrett-Lennard - Cedanet - Sitemap
- David Barrett-Lennard - Cedanet - Multiplexing
- David Barrett-Lennard - Cedanet - Anti-pattern - Unnecessary persistence
- David Barrett-Lennard - Cedanet - Multiple producer and consumer generalisation of a persistent queue
- David Barrett-Lennard - Cedanet - Implementation of a Long running transaction
- David Barrett-Lennard - Cedanet - Approaches for high performance distributed workloads in CEDA
- David Barrett-Lennard - Cedanet - Log Structured Store (LSS)
- David Barrett-Lennard - Cedanet - Log structured store versus Write ahead logging
- David Barrett-Lennard - Cedanet - LSS API
- David Barrett-Lennard - Cedanet - CEDA LSS versus Oracle BerkeleyDB
- David Barrett-Lennard - Cedanet - Driving variables through a complicated space
- David Barrett-Lennard - Cedanet - Non-canonical representations
- David Barrett-Lennard - Cedanet - CSpace
- David Barrett-Lennard - Cedanet - PSpace
- David Barrett-Lennard - Cedanet - PersistStore
- David Barrett-Lennard - Cedanet - Working Set
- David Barrett-Lennard - Cedanet - Site Identifiers
- David Barrett-Lennard - Cedanet - Mapped values
- David Barrett-Lennard - Cedanet - The database proposition
- David Barrett-Lennard - Cedanet - The relvar proposition
- David Barrett-Lennard - Cedanet - Incremental computing on the derived variables
- David Barrett-Lennard - Cedanet - Codd's theorem
- David Barrett-Lennard - Cedanet - Selective undo (Shuffle sort)
- David Barrett-Lennard - Cedanet - Nested relational database
- David Barrett-Lennard - Cedanet - Unique prime cartesian factorisation of a relation
- David Barrett-Lennard - Cedanet - Relational model applications methodology
- David Barrett-Lennard - Cedanet - Operational Transformation
- David Barrett-Lennard - Cedanet -Operational Transform Control Algorithms
- David Barrett-Lennard - Cedanet -Objects in two rooms example
- David Barrett-Lennard - Cedanet - Which variables to materialise?
- Data-Centric Manifesto - Data-Centric Manifesto
- Debasish Ghosh - Managing Effects in Domain Models - The Algebraic Way
- GitHub - Node worker_threads mmap fix
- Notion.so - Herding elephants: Lessons learned from sharding Postgres at Notion
- Notion.so - The Great Re-shard: adding Postgres capacity (again) with zero downtime
- Flink - Stateful Functions
- Akka Lightbend - Replicated Event Sourcing / CRDT command handler modeling
- Chris Date - Relational Theory for Computer Professionals
- Edgar F. Codd - Codd's 12 rules
- Edgar F. Codd - A Relational Model of Data for Large Shared Data Banks
- Tigerbeetle - LSM
- Tigerbeetle - Data File
- αλεx π - Disk IO - O_DIRECT
- Wikipedia - End-to-end principle
- Anton Churyumov - Byteball - A Decentralized System for Storage and Transfer of Value (DAG + Skip list)
- Materialize - Incremental Computation in the Database
- Tef - How do you cut a monolith in half
- Wikipedia - Directed Acyclic Graph
- Wikipedia - Hasse diagram
- Fsyncgate - Postgres/WAL with fsync reliance
- Pat Helland - Life beyond Distributed Transactions
- John Pradeep Vincent - Log Structured Merge Trees
- Greg Young - How an EventStore actually works
- Yale University - Calvin - Fast Distributed Transactions for Partitioned Database Systems
- Fauna - Global ACID Transactions with Calvin
- Fauna - SQL to FQL translation
- Fauna - E-commerce example
- Dmitry Dvoinikov - Database Fragmentation (billion+ row tables)
- Nord Fjord - SQL Event Store
- Kai Sassnowski - Database Indexing
- Vladimir Khorikov - Should you Abstract the Database
- Martin Thompson - Event Log Architectures: when quality matters
- Martin Thompson - High performance alternative to bounded queues for exchanging data between concurrent threads
- Computerphile - Endianness Explained With an Egg
- Ronald Chen - JavaScript Mutex
- Armon Dadgar - Radix Trees, Transactions, and MemDB
- Hashicorp - Consul Consensus Protocol
- Cburch - B+Tree
- ScaleOutSoftware - The Foundation: In-Memory Data Grids
- Yves Lorphelin - Requirements for the storage of events
- Martin Kleppman - Martin Kleppmann — Event Sourcing and Stream Processing at Scale (Netflix/LinkedIn volumes)
- TimescaleDB - Hierarchical continuous aggregates
- Ink and switch - Local-first software You own your data, in spite of the cloud
- Postgres - TOAST (tuples to span multiple pages)
- InstaCart - RDS Postgres Blue Green Deployments
- InstaCart - RDS Postgres Sharding
- Andrew Dunstan - Managing Freezing in PostgreSQL
- Aaron Brashears - How Twitch uses PostgreSQL
- Greg Smith - Inside the PostgreSQL Shared Buffer Cache
- Laurenz Albe - Optimizing PostgreSQL Autovacuum
- Laurenz Albe - Join Strategies and Performance in PostgreSQL
- Joe Wilm - Lessons Learned From 5 Years of Scaling PostgreSQL
- Keith Fiske - Managing Transaction ID Exhaustion (Wraparound) in PostgreSQL
- Hans-Jürgen Schönig - Autovacuum Wraparound Protection in PostgreSQL
- Kaarel Moppel - PostgreSQL major version upgrade without downtime
- PostgreSQL - Tuning max_connections to avoid thrashing
- Frits Hoogland - How to enable SSL for pgbouncer
- Quinn Weaver - Change autovacuum_freeze_max_age without a restart
- Andrew Dunstan - Partitioning a large table without a long running lock
- Percona - Find the WAL Count Between Two Segments in PostgreSQL
- CloudFlare - Durable Objects
- Wikipedia - Anycast IP Protocol
- AWS - Global Accelerator
- Hadean - Rewriting the laws of cloud computing (removing middleware)
- Hadean - HadeanOS & Aether Engine
- Hadean - Simulate
- Hadean - Muxer
- Nick Fishman - Node.js HTTP requests with gzip/deflate compression
- StormIT - Amazon Route 53: Health Checks and DNS Failover
- Endre Synnes - AWS Route53 - Domain and SSL Certificate using Hosted Zones and ACM
- David Fowler - Cloud Data Management
- DataBricks - Lambda Architecture
- Uber - Kappa/Lambda Architecture
- Uber - DBEvents Ingestion Framework
- Aljoscha Krettek - Stream Processing with Flink - Session Windowing
- Spark by Examples - Spark by Examples
- DevelopPaper - Lambda/Kappa+ Architecture
- Roshan Naik - Moving from Lambda and Kappa Architectures to Kappa+ at Uber
- Google - The Dataflow Model - Out of Order Data Processing
- Rockset - Aggregator Leaf Tailer Architecture
- Martin Kleppman - Making Sense of Stream Processing
- Jesse Anderson - Managing Real time Data Teams
- Jesse Anderson - Why I Recommend My Clients NOT Use KSQL and Kafka Streams
- Flink - Stream Operators
- Aris Koliopoulos - Drivetribe’s Kappa Architecture With Apache Flink
- AWS - The Unique Architecture behind Amazon Games’ Seamless MMO New World
- AWS - What is a Data Center?
- AWS - Amazon Route 53 Application Recovery Controller
- Ithare - Gradual OLTP DB Development – from Zero to 10 Billion Transactions per Year and Beyond
- Star Citizen - Dynamic Server Meshing & Persistent Streaming
- Debasish Ghosh - Functional and Reactive Domain Modeling
- Eric Elliott - The Secret of Simple Code
- Eric Elliott - Composing Software
- Eric Elliott - Mocking is a Code Smell
- Eric Elliott - Encapsulation in JavaScript
- Eric Elliott - The Secret of Simple Code
- Eric Elliott - The Missing Introduction to React
- Eric Elliott - Event Sourcing vs. Redux
- Eric Elliott - JavaScript Monads Made Simple
- Eric Elliott - 10 Tips for Better Redux Architecture
- Debasish Ghosh - DSLs in Action
- Brian Lonsdorf - Frontend Masters - Hardcore Functional Architecture
- Brian Lonsdorf - Free Monad Example
- Ian Hofmann-Hicks - State Monad
- Julien Demangeon - Elixir GenServer Explained to Redux Developers
- Naveen Negi - Elixir GenServer Explained in DDD Concepts
- Sebastian Gebski - Immutable Code
- William Heslam - Modelling Side Effects via Extensible Effects (Free Monad)
- David I. Spivak - Category Theory for Scientists
- Magnus Tovslid - IO Monad
- Dr. Axel Rauschmayer - Continuation Passing Style
- Yuriy Bogomolov - Building eDSLs in functional TypeScript (English version)
- Gary Bernhardt - Functional Core, Imperative Shell
- Scott Wlaschin - Railway Oriented Programming
- Scott Wlaschin - Elevated world, functor, applicative, monad explanation
- Ian Hofmann-Hicks - Algebraic JavaScript
- Brandon Dail - Algebraic effects, Fibers, Coroutines Oh my!
- Effekt Lang - Effekt Lang
- Jakub Kozłowski - Algebraic effects and handlers in the Effekt language
- Maciej Piróg - Effect Handlers: A New Approach to Computational Effects - Lambda Days 2020
- Sergey Ignatchenko - Deterministic Components for Interactive Distributed Systems – with Transcript
- Sergey Ignatchenko - Facebook/Uber/Netflix 500B single box
- Sergey Ignatchenko - CppCon 2017: Sergey Ignatchenko “Ways to Handle Non-blocking Returns in Message-passing Programs...”
- TrinityCore - OO Callback style CPS (Take 3 of above)
- Dan Abramov - Algebraic Effects for the Rest of Us
- Ithare - Client-Side. Client Architecture Diagram, Threads, and Game Loop
- Fabio Lavella - Programs as values
- UnisonLang - UnisonLang
- Daniel Westheide - Lambda World 2018 - The Complexity Trap: Think Before You Leap
- Wikipedia - Effect Algebra
- Eric Evans - Domain Driven Design
- Adam Dymitruk - Event Modeling Organization
- Adam Dymitruk - Event Modeling Talk
- Adam Dymitruk - Modeling Cross-Entity Invariants
- Vaughn Vernon - oDDs and enDDs
- Vaughn Vernon - Rethinking Legacy and Monolithic Systems
- Vaughn Vernon - Implementing Domain Driven Design
- Martin Fowler - Anemic Domain Model
- Martin Fowler - Transaction Script
- Martin Fowler - DDD Aggregate
- Martin Fowler - Bounded Context
- Martin Fowler - Monolith First
- Martin Fowler - Microservice Premium
- Martin Fowler - CQRS
- Martin Fowler - Event Sourcing
- Martin Fowler - Microservices and the First Law of Distributed Objects
- Vaughn Vernon - DDD Integration Patterns - XOOM Schemata
- Jimmy Bogard - Vertical Slice Architecture Talk
- Jimmy Bogard - Vertical Slice Architecture Blog
- Jimmy Bogard - Limiting your abstractions
- Jimmy Bogard - Busting some CQRS myths
- Jimmy Bogard - Ditch the Repository Pattern Already
- Jimmy Bogard - CQRS/MediatR implementation patterns
- Jimmy Bogard - Avoid In-Memory Databases for Tests
- Jimmy Bogard - Effective Microservice Communication and Conversation Patterns
- Vladimir Khorikov - When to Mock
- Vladimir Khorikov - Immutable Architecture
- Vladimir Khorikov - DDD in Legacy Projects
- Vladimir Khorikov - Refactoring from Anemic Domain Model
- Vladimir Khorikov - Applying Functional Principles in C#
- Vladimir Khorikov - Unit Testing Principles
- Vladimir Khorikov - Partially initialized entities anti-pattern
- Vladik Khononov - Untangling Microservices
- Vladik Khononov - Tackling Complexity in CQRS
- Vladik Khononov - Bounded Contexts vs Microservices
- Vladik Khononov - The Dark Side of Events
- Vladik Khoronov - Revisiting the Basics of DDD
- Khalil Stemmler - DDD Forum
- Khalil Stemmler - Solid Book
- Allard Buijze - Event-Driven Microservices
- Frans van Buul - The Big Friendly Monolith
- Frans van Buul - Some CQRS and Event Sourcing Pitfalls
- Nakul Mishra - Axon Casino
- Nakul Mishra - CQRS and Event Sourcing with Spring & Axon
- Scott Wlaschin - Domain Modeling Made Functional
- CasinoFriday Flows - Demo
- Jérémie Chassaing - Event Sourcing vs Command Sourcing
- Jérémie Chassaing - Functional Event Sourcing
- Vadim Samokhin - Example of Service Boundaries Identification
- Vadim Samokhin - Wrong Ways of Defining Service Boundaries
- Greg Young - Versioning in an Event Sourced System
- Greg Young - A Decade of DDD, CQRS, Event Sourcing
- Greg Young - EventStore - Projections (Bidding Application)
- Matt Ho - Serverless Event Sourcing with Go
- Michiel Overeem - The Dark Side of Event Sourcing
- Joris Kuipers - Day 2 problems in CQRS and Event Sourcing
- Dennis Doomen - The Ugly of Event Sourcing–Real-world Production Issues
- Dennis Doomen - An Event Sourcing Retrospective - The Good, The Bad and the Ugly
- David Schmitz - Event Sourcing - You are doing it wrong
- Dino Esposito - Modern Software Architecture: Domain Models, CQRS, and Event Sourcing
- Kamil Grzybek - Modular Monolith with DDD
- Kamil Grzybek - Modular Monolith Integration Styles
- Kamil Grzybek - The Outbox Pattern
- Robert Pankowecki - Correlation id and causation id in evented systems
- Alex Lawrence - Implementing DDD CQRS and Event Sourcing
- Scott Bellware - Evented Autonomous Services
- Jef Claes - Evil by Design - Stateful Aggregates
- Martin Schimak - Fact-Driven Journey
- Lightbend - Akka - Replicated Event Sourcing
- Lightbend - Akka - Replicated Event Sourcing - Architecture
- Lightbend - Akka - Replicated Event Sourcing - Modeling
- Lightbend - Akka Serverless JavaScript
- Vaughn Vernon - The Language of Actors
- Vaughn Vernon - Reactive Messaging Patterns with the Actor Model
- Alexey Zimarev - DDD, Event Sourcing and Actors
- Mathias Verraes - Patterns for Decoupling in Distributed Systems: Passage of Time Event
- Luke Gee - Representing The Passage Of Time In An Event Driven System
- Debby Nirwan - Designing AI Agents’ Behaviors with Behavior Trees
- Debby Nirwan - Behavior Trees with Automated Planning Capability
- Emad Butt - Hierarchical Task Network in an RTS game (microRTS)
- Wikipedia - Stanford Research Institute Problem Solver
- GameAIPro - Exploring HTN Planners through Example
- Chris Conway - Goal-Oriented Action Planning: Ten Years of AI Programming
- AI and Games - The AI of Horizon Zero Dawn | Part 1: Rise of the Machines
- AI and Games - The AI of Horizon Zero Dawn | Part 2: Metal Militia | AI and Games
- Eric Elliott - SudoLang: A Powerful Pseudocode Programming Language for LLMs
- CloudPosse - Geodesic
- CloudPosse - Terraform Open Source
- Gruntwork.io - How to deploy a production-grade VPC on AWS
- Gruntwork.io - How to configure a production-grade AWS account structure
- Paul Hammant - Cookie Cutter Scaling
- AWS - Working with multicast
- Xem - WebGL Tutorial - Part 1
- Xem - WebGL Tutorial - Part 2
- Luka Jacobowitz - Building a Tagless Final DSL for WebGL in Scala
- Martin Fowler - Patterns of Enterprise Application Architecture
- Enterprise Integration Patterns - Enterprise Integration Patterns
- Enterprise Integration Patterns - Routing Slip
- Enterprise Integration Patterns - Process Manager
- Enterprise Integration Patterns - Competing Consumers
- Enterprise Integration Patterns - Correlation Identifier
- Code Smells - Feature Envy
- Code Smells - Inappropriate Intimacy
- Code Smells - Middle Man
- Code Smells - Primitive Obsession
- Derek Comartin - CodeOpinion Videos
- Sebastian Gebski - State pattern, tech debt fertilizer
- Kailash Nadh - Scaling with common sense
- Kailash Nadh - Scaling with common sense #2
- Udi Dahan - The Fallacy of Reuse
- Mark Seeman - Service Locator is an Anti-Pattern
- Architecture Patterns - Stage Driven Event Architecture
- Alon Pe'er - Consumer Driven Contract Testing
- Lin Clark - WebAssembly
- Lin Clark - Standardizing WASI: A system interface to run WebAssembly outside the web
- Lin Clark - A crash course in memory management
- Lin Clark - A cartoon intro to ArrayBuffers and SharedArrayBuffers
- Lin Clark - Avoiding race conditions in SharedArrayBuffers with Atomics
- Node.js - WebAssembly System Interface
- Render - How to Build an Anycast Network
- Mozilla - JavaScript Structured Clone (multithreading woes)
- ASCCI Conversion Table - ASCII Conversion Chart
- Vladimir Khorikov - Styles of unit testing
- XDA - PCI Express 5 (PCIe 5.0)
- StreamGeeks - What is Bandwidth?
- Personal rig - WD 850X 1TB Read/Write performance