Reading List

The most recent articles from a list of feeds I subscribe to.

Technical Debt

How does technical debt accrue? Most people would say bad engineering. What is bad engineering? Inflexibility? Is one system engineered correctly to do one thing trying to do something else considered bad engineering?

Locking and Contention

The lock mechanism is an integral part of any modern system. In software applications, locks are used to ensure that multiple users do not simultaneously access and modify the same resource.

Capture the Flag

Join the Architecture Notes CTF and test your system design skills against participants from around the world. Solve challenges in distributed systems, web security, and more. Open to all skill levels.

Circuit Breakers

Circuit breakers are a vital component of any distributed system, helping to improve reliability and resilience by preventing failures from cascading and causing widespread damage.

Database Sharding Explained

More features, active users, and data are collected daily. Your database is slowing your application. Many people don't understand database sharding, which could solve their difficulties. This article explains database sharding, its benefits, including how to use it and when not to.