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.