library
Books, courses, and learning resources by topic
Systems & Architecture
- Designing Data-Intensive Applications - Martin Kleppmann — notes
- Software Architecture: The Hard Parts - Neal Ford & Mark Richards
- Database Internals - Alex Petrov
- Computer Networking: A Top-Down Approach - Kurose & Ross
Artificial Intelligence
Foundations & Theory
- Convex Optimization - Lieven Vandenberghe and Stephen P. Boyd — notes
- Elements of Information Theory - Joy A. Thomas and Thomas M. Cover — notes
- Interpretable Machine Learning - Christoph Molnar
Deep Learning
- Berkeley CS182: Deep Learning — notes
- Stanford CS231n: Deep Learning for Computer Vision — notes
- Build a Large Language Model (From Scratch) - Sebastian Raschka
- Build a Reasoning Model (From Scratch) - Sebastian Raschka
Agentic Systems & Engineering
- Agentic Design Patterns - Antonio Gullí
- (deeplearning.ai) Design, Develop, and Deploy Multi-Agent Systems with CrewAI
- (deeplearning.ai) Retrieval Augmented Generation
- (deeplearning.ai) AI Agents in LangGraph
Java Performance
- Java Concurrency in Practice - Brian Goetz
- Optimizing Java - Benjamin J. Evans
Software Craft
- Refactoring - Martin Fowler
- Dependency Injection Principles - Mark Seemann, Stevan van Deursen
Languages
- Functional Programming In Scala - Paul Chiusano & Rúnar Bjarnason
Math
- PDEs II (Math 222B)
- Probability Theory (Math 218A)
- Complex Analysis (Math 205)
- Algebraic Topology (Math 215)
- Generating Functions
Quant
- Options, Futures, and Other Derivatives - John C. Hull — notes