Library

A curated collection of books, articles, and resources that have shaped my thinking or are currently on my radar. Knowledge worth sharing.

In Progress

Currently Reading

Designing Data-Intensive Applications cover
Book Reading

Designing Data-Intensive Applications

by Martin Kleppmann

I have heard lots of praise for this book and it has lived up to the hype. Even though, it is a bit dense at times, the insights on distributed systems and data architecture are invaluable. I have read nearly 15-20% of the book often skimming through the chapters.

Website Reading

Algorithms for Modern Hardware

by Sergey Slotin

This is an upcoming book on high performance computing. I would recommend it anyone interested in Computers because it forms a pretty solid foundation for understanding how modern hardware works and how to write efficient code. I have read the first few chapters and it has been a great introduction to the topic.

Article Reading

Communicating Sequential Processes (CSP)

by Tony Hoare

CSP is a foundational paper in concurrent programming. It introduces the concept of processes communicating through message passing, which has influenced many modern concurrency models. I was introduced to this paper when I watching the talk by Rob Pike on Concurrency and Parallelism: https://youtu.be/oV9rvDllKEg.

Completed

Finished

Website Finished

Performance Hints

by Jeff Dean & Sanjay Ghemawat

A collection of performance optimization techniques and best practices from Google. The section on memory management and cache optimization is particularly useful for writing high-performance code.

Website Finished

Bloom Filters

by Sam Rose

Solid introduction to Bloom Filters, a probabilistic data structure used for membership testing. The article explains the concept clearly and provides practical examples of how Bloom Filters can be used in real-world applications.

Pro Git cover
Website Finished

Pro Git

by Scott Chacon & Ben Straub

A comprehensive guide to Git, the distributed version control system. This book covers everything from basic concepts to advanced techniques, making it an essential resource for both beginners and experienced developers.

Whitepaper Finished

The Google File System

by Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung

A must read for anyone interested in distributed systems. It was written at a time when distributed systems were rarely implemented on scale. Given how computers were expensive back it the day, it became essential to be efficient with hardware and make the best use of whatever was present.