
Software engineering, explained.
A technical knowledge base for architecture, distributed systems, databases, and the ideas behind reliable software.
Search
Find concepts, patterns, and trade-offs across the knowledge base.
Featured articles
Start with ideas that show up again and again in production systems.
- Read
architecture patterns
Modular Monolith
Design a single deployable application as well-bounded modules with clear ownership, dependencies, and a path to extract services later.
- Read
scalability
Consistent Hashing
Place keys on a hash ring so adding or removing nodes remaps only a small fraction of data—essential for caches, shards, and distributed stores.
- Read
architecture patterns
Hexagonal Architecture
Isolate domain logic behind ports and adapters so infrastructure can change without rewriting business rules.
- Read
databases
Database Sharding
Split a dataset across shards with a deliberate key, routing layer, and remapping strategy so storage and write throughput can grow horizontally.
Topics
Navigate by subject. The filesystem hierarchy is the information architecture.
Algorithms and Data structures
Foundations for efficient, correct software.
Networking And The Internet
Protocols, routing, and how requests reach servers.
Programming
Design, object-oriented design, and refactoring.
Architecture Patterns
Modular monoliths, microservices, event-driven systems, and more.
Distributed Systems
Coordination, consistency, and failure across machines.
Scalability
Growing throughput without collapsing design.
Databases
SQL, NoSQL, locking, sharding, and distributed data.
System Design
Requirements, capacity, and classic design problems.
Backend Engineering
APIs, auth, middleware, and server-side craft.
Concurrency
Threads, locks, async programming, and actors.
Infrastructure
Containers, Kubernetes, Terraform, and cloud ops.
Observability
Logs, metrics, traces, and production visibility.
Recently updated
Articles currently in the knowledge base.
- Event-Driven Architecture/architecture-patterns/event-driven-systems
- Hexagonal Architecture/architecture-patterns/hexagonal-architecture
- Modular Monolith/architecture-patterns/modular-monoliths
- Async/Await/concurrency/async-programming
- Pessimistic vs Optimistic Locking/databases/locking
- DNS/networking-and-the-internet/dns
Interactive showcase
Add and remove nodes on a hash ring. Watch which keys remapped — and which stayed put.
Last change
No remapping yet
Ideal remapping ≈ 1/3 of keys when membership changes by one.
Nodes
- node-a
- node-b
- node-c
Assignments
- user:42→ node-b
- session:9→ node-b
- order:100→ node-b
- cache:home→ node-c
- img:banner→ node-c
Dive deeper in Consistent Hashing.