A Catalog of Notes on Software and Computer ScienceDevin Z·Follow3 min read·Dec 31, 2022--ListenShareA recap at the end of 2022.Golden Gate Park, November 27, 2022Storage Systems[Paper Notes] The Google File System (GFS)The predecessor of Colossus and archetype of HDFS.devinz1993.medium.com[Paper Notes] Bigtable: A Distributed Storage System for Structured DataA classical distributed NoSQL data system design.devinz1993.medium.com[Paper Notes] Dynamo: Amazon’s Highly Available Key-value StoreEventual consistency in practice.devinz1993.medium.com[Paper Notes] Spanner: Google’s Globally-Distributed DatabaseCross-datacenter multi-object transactions in industry.devinz1993.medium.com[Paper Notes] F1: A Distributed SQL Database That ScalesA pioneer in HTAP (hybrid transactional/analytical processing).devinz1993.medium.com[Paper Notes] Spanner: Becoming a SQL SystemThe database aspects of Google Spanner.devinz1993.medium.comCaching[Paper Notes] Scaling Memcache at FacebookA distributed cache with best-effort eventual consistency.devinz1993.medium.com[Paper Notes] TAO: Facebook’s Distributed Data Store for the Social GraphA look-through cache that powers a social network.devinz1993.medium.comData Processing[Paper Notes] Resilient Distributed Datasets (Spark)A fault tolerance mechanism reminiscent of optimistic locking.devinz1993.medium.com[Paper Notes] Storm @TwitterA distributed stream processing system.devinz1993.medium.com[Paper Notes] The Dataflow ModelBalancing correctness, latency and cost for stream processing.devinz1993.medium.comCoordinator[Paper Notes] ZooKeeper: Wait-free coordination for Internet-scale systemsA service for leader election and configuration management.devinz1993.medium.comMessage Broker[Paper Notes] Kafka: a Distributed Messaging System for Log ProcessingA log-based event streaming platform.devinz1993.medium.comDatacenter Management[Paper Notes] Large-scale cluster management at Google with BorgThe operating system for data centers.devinz1993.medium.comMonitoring[Paper Notes] Monarch: Google’s Planet-Scale In-Memory Time Series DatabaseIns and outs of a globally-distributed monitoring system.devinz1993.medium.comTail Latency[Paper Notes] The Tail at ScaleLatency tail-tolerance for large-scale Web services.devinz1993.medium.comBasics in Computer ScienceBasics of Operating SystemsCurated learning notes on computer science topics (4/4).devinz1993.medium.comBasics of Computer NetworksCurated learning notes on computer science topics (3/4).devinz1993.medium.comBasics of Database SystemsCurated learning notes on computer science topics (2/4).devinz1993.medium.comBasics of Distributed SystemsCurated learning notes on computer science topics (1/4).devinz1993.medium.comNotes on Software SecurityMy takeaways from a Coursera course.devinz1993.medium.comDatabase Systems[Lecture Notes] Query SchedulingLecture 7 of CMU 15–721 Advanced Databases (Spring 2023).devinz1993.medium.com[Lecture Notes] Query Execution & ProcessingLecture 6 of CMU 15–721 Advanced Databases (Spring 2023).devinz1993.medium.com[Lecture Notes] Vectorization and CompilationLecture 8–10 of CMU 15–721 Advanced Databases (Spring 2023).devinz1993.medium.com[Lecture Notes] Join AlgorithmsLecture 11–13 of CMU 15–721 Advanced Databases (Spring 2023).devinz1993.medium.com[Lecture Notes] Query OptimizationLecture 16–18 of CMU 15–721 Advanced Databases (Spring 2023).devinz1993.medium.com[Lecture Notes] Dremel, Photon and SnowflakeLecture 19–21 of CMU 15–721 Advanced Databases (Spring 2023).devinz1993.medium.comVector Database[Paper Notes] Milvus: A Purpose-Built Vector Data Management SystemUnstructured data management for the AI era.devinz1993.medium.comSystem Design Interviews[Book Notes] System Design Interview — An Insider’s Guide (Volume 2)A must-read when jobs in tech are at risk.devinz1993.medium.com[Book Notes] System Design Interview — An Insider’s Guide (Volume 1)The precursor of a more recent best-seller.devinz1993.medium.comSoftware Engineering[Book Notes] Software Engineering at GoogleScale programming to reduce the amortized cost.devinz1993.medium.comSoftware Complexity[Book Notes] What makes code hard to read and change?Understanding software complexity from two books.devinz1993.medium.comC++ ProgrammingNuts and Bolts of C++ (1/2)A curated list of C++ programming basics.devinz1993.medium.comNuts and Bolts of C++ (2/2)A curated list of C++ programming basics..devinz1993.medium.com[Book Notes] C++ Templates: The Complete GuideA feast of facts and tricks that only experienced programmers know.devinz1993.medium.com[Book Notes] C++ Concurrency in ActionA refresher on multithreading in modern C++.devinz1993.medium.comCategory Theory[Book Notes] Category Theory for Programmers“Embarrassingly simple but amazingly powerful ideas.”devinz1993.medium.com