Learning Notes
2022
- Roblox Return to Service 2021
- A Foolish Consistency - Consul at Fly.io
- Towards Language Support for Distributed Systems
- MOOCMIT 6.824 Distributed Systems
- MOOCMIT 6.828 - Operating System Engineering
- Containers from Scratch
- Linux Memory Management at Scale
- How Not to Measure Latency
- BookOperating Systems - Three Easy Pieces
- BookLinux Kernel Development
- Linux Performance Tools
- How fast are Linux pipes anyway?
- Linux Page Cache Mini Book
- That’s ‘Billion’ with a ‘B’ Scaling to the Next Level at WhatsApp
- BookTCPIP Illustrated, Vol 1
- PaperSWIM — Scalable Weakly-consistent Infection-style Process Group Membership Protocol
- PaperSpanner — Google’s Globally-Distributed Database
- PaperConsistent hashing and random trees
- PaperChord — A Scalable Peer-to-peer Lookup Service for Internet
- BookA Tour of C++
2021
- PaperThe Tail at Scale
- PaperRaft - In Search of an Understandable Consensus Algorithm
- PaperMapReduce
- BookDesigning Data-Intensive Applications
- PaperThe Google File System
- PaperThe Design of a Practical System for Fault-Tolerant Virtual Machines
- PaperZookeeper
- In defence of swap - common misconceptions
- What Every Programmer Should Know About SSDs
- Pat Helland - Corecursive Podcast
- The 5-hour CDN
- Stuff The Internet Says On Scalability For April 30th, 2021
- Patching until the COWs come home (part 1)
- The future of the page cache
- Time, Clocks, and the Ordering of Events in a Distributed System
- The effect of switching to TCMalloc on RocksDB memory use
- The Discovery of Apache ZooKeeper’s Poison Packet
- Linux Kernel Development, Greg Kroah-Hartman - Git Merge 2016
- Amazon DynamoDB Under the Hood
- aphyr-distsys-class
- A Graphical Introduction to Dynamic Programming
- Hastening process cleanup with process_mrelease()
- From Stolen Laptop to Inside The Company Network
- Descriptorless files for io_uring
- The Magical Rebalance Protocol of Apache Kafka
- Uptime 15,364 days - The Computers of Voyager
- eBPF is awesome
- How I cut GTA Online loading times by 70%
- Java’s new Z Garbage Collector (ZGC) is very exciting
2020
December
- How We Built Scalable Spatial Data & Spatial Indexing in CockroachDB
- Kafka’s New Architecture
- Don’t use Protobuf for Telemetry
November
- Russ Cox - On the Path to Go 2
- ninja - a simple way to do builds
- You Suck at Excel
- Undeleting a file overwritten with mv
October
- 40 milliseconds of latency that just would not go away
- Ring Buffer - A Data Structure Behind Disruptor
- Stuff The Internet Says On Scalability For Sep 18th, 2020
- A First Taste of InvokeDynamic (2008)
August
July
- Advancements in the Objective-C runtime
- Aeron - Open-source high-performance messaging
- Notes on Distributed Systems for Young Bloods
- A journey to searching Have I Been Pwned database in 49μs
June
- An Interplanetary Internet
- Rust at speed — building a fast concurrent database
- Scaling Instagram
- Using Rust to Scale Elixir for 11 Million Concurrent Users
- The Soul of Erlang and Elixir - Sasa Juric
April
- Things I Wished More Developers Knew About Databases
- Prefer associative ontologies to hierarchical taxonomies
- Cloak and Dagger - From Two Permissions to Complete Control of the UI Feedback Loop
- What Color is Your Function?
- Crafting “Crafting Interpreters”
- Jepsen 9 - A Fsyncing Feeling
- Stuff The Internet Says On Scalability For March 13th, 2020
- Jepsen - Redis
- Why the Sorbet typechecker is fast
- The Case of the Veeerrry Slow Logons
March
- Modern Compiler Construction
- 68 Bits of Unsolicited Advice
- Commandos, Infantry, and Police
- The Great CoffeeScript to Typescript Migration of 2017
- Floating Point Visually Explained
- Jane and the Compiler
- My favorite bug - segfaults in Java
- Apache Kafka Needs No Keeper - Removing the Apache ZooKeeper Dependency
- When a Microsecond Is an Eternity - High Performance Trading Systems in C++
- Old box, dumb code, few thousand connections, no big deal