The 48-Book Audit
The 48-book audit behind my roadmap
I did not want the roadmap to become a list of every technical book I had collected. I audited all 48 relevant candidates in my Calibre library and gave each one a job, an optional place, or a reason to stay outside the route.
The result
- Calibre library root:
~/Documents/pkm/02_Areas/Calibre Library - Calibre database:
~/Documents/pkm/02_Areas/Calibre Library/metadata.db - Books and manuals audited: 48
- Selected for the default route: 36
- Optional reads: 1
- Not selected: 11
These counts describe fit. They are not ratings of the books.
How I made the choices
I considered the goal, the prerequisite order, the teaching style, the book's unique value, its overlap with the rest of the route, and whether I was likely to finish it and use what it taught.
The rules that keep this roadmap mine protect the choices that matter most.
What the labels mean
- Default, Stage N: I selected it for a specific stage in the roadmap.
- Default, reference or light: I selected it, but I will not treat it as a full technical textbook.
- Optional read: I may read it, but it cannot block the next stage.
- Not selected: It remains in Calibre but is outside the default route.
The complete inventory
| Book | Author | My decision | Why | Formats | Calibre record directory |
|---|---|---|---|---|---|
| AI Systems Performance Engineering | Chris Fregly | Default, Stage 12 | I will use it as the full-stack performance capstone after ML, C++, and CUDA | EPUB | Chris Fregly/AI Systems Performance Engineering (361) |
| Algorithmic Thinking, 2nd Edition | Daniel Zingaro | Optional after Stage 2 | I may use it for extra C problem practice, but its selective structure does not replace my Python DSA route | EPUB | Daniel Zingaro/Algorithmic Thinking, 2nd Edition (330) |
| Algorithms, 4th Edition | Robert Sedgewick and Kevin Wayne | Not selected | It is a strong book, but the Java approach overlaps with the Python DSA sequence I prefer | Robert Sedgewick, Kevin Wayne/Algorithms, 4th Edition (332) |
|
| Asynchronous Programming with C++ | Javier Reguera-Salgado and Juan Antonio Rufes | Default, Stage 7 | I need practical work with concurrency, futures, promises, coroutines, and asynchronous systems | EPUB | Javier Reguera-Salgado, Juan Antonio Rufes/Asynchronous Programming with C__ (360) |
| Bare-Metal Embedded C Programming | Israel Gbati | Default, Stage 6 | It gives me practical hardware-near C through registers, startup code, interrupts, and peripherals | EPUB | Israel Gbati/Bare-Metal Embedded C Programming (366) |
| Build a Large Language Model (From Scratch) | Sebastian Raschka | Default, Stage 10 | I will implement the tokenizer, attention, transformer, training, and fine-tuning path myself | EPUB | Sebastian Raschka/Build a Large Language Model (From Scratch) (327) |
| Build a Reasoning Model (From Scratch) | Sebastian Raschka | Default, Stage 13 | It gives the roadmap an applied endpoint in evaluation, inference-time scaling, RL, and distillation | Sebastian Raschka/Build a Reasoning Model (From Scratch) (328) |
|
| C Programming: A Modern Approach, 2nd Edition | K. N. King | Default, Stage 1 | This is my main C foundation and the clearest example of the teaching style that works for me | K. N. King/C Programming (Second Edition) (323) |
|
| C++ Memory Management | Patrice Roy | Default, Stage 6 | I want a deeper treatment of lifetime, ownership, allocation, RAII, arenas, and allocators | EPUB | Patrice Roy/C__ Memory Management (367) |
| C++ Software Design | Klaus Iglberger | Default, Stage 7 | I will use its design ideas after I have real C++ projects to apply them to | EPUB | Klaus Iglberger/C__ Software Design (365) |
| Computer Systems: A Programmer's Perspective, 3rd Edition | Randal E. Bryant and David R. O'Hallaron | Not selected | I dislike its textbook style, so I will not turn it into a mandatory Stage 3 gate | Randal E. Bryant/Computer Systems_ A Programmer's Perspective (331) |
|
| CUDA Programming Guide, Release 13.3 | NVIDIA Corporation | Default, Stage 11 | I need the authoritative CUDA programming model and a reference I can return to while profiling | NVIDIA Corporation/CUDA Programming Guide (329) |
|
| Data Structures and Algorithms in Python | Michael T. Goodrich, Roberto Tamassia, and Michael H. Goldwasser | Not selected | It is broad but more textbook-like than I want, and it repeats the role of the Wengrow sequence | Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser/Data Structures and Algorithms in Python (333) |
|
| Domain-Specific Small Language Models | Guglielmo Iozzia | Not selected | It is a narrow later specialisation, and the local record appears to be a personalised or prerelease copy | EPUB | Guglielmo Iozzia/Domain-Specific Small Language Models (for Catie Robert) (398) |
| Grokking Relational Database Design | Qiang Hao and Michail Tsikerdekis | Not selected | Database design is useful, but it sits outside the goal of this roadmap | EPUB | Qiang Hao, Michail Tsikerdekis/Grokking Relational Database Design (400) |
| Hacking and Security: The Comprehensive Guide to Penetration Testing and Cybersecurity | Michael Kofler and collaborators | Not selected | I chose focused Kali and Linux-hardening books instead of another broad security reference | EPUB, PDF | Michael Kofler, Klaus Gebeshuber, Peter Kloep, Frank Neugebauer, Andre Zingsheim, Thomas Hackne/Hacking and Security_ The Comprehensive Guide to Penetration Testing and Cybersecurity (349) |
| Hands-On Machine Learning with C++, 2nd Edition | Kirill Kolodiazhnyi | Default, Stage 11, selective | I will use it as a native C++ bridge after Python ML, with attention on runtime and deployment boundaries | EPUB | Kirill Kolodiazhnyi/Hands-On Machine Learning with C__ (363) |
| How Linux Works, 3rd Edition | Brian Ward | Default, Stage 3 | This is the readable Linux-internals book at the centre of Stage 3 | EPUB, PDF | Brian Ward/How Linux Works, 3rd Edition (353) |
| Introducing C++ | Frances Buontempo | Default, Stage 4 | It is a current modern C++ introduction and the bridge I need before CUDA and runtime work | EPUB | Frances Buontempo/Introducing C__ (356) |
| Just Use Postgres!: All the Database You Need | Denis Magda | Not selected | Database specialisation is outside the present goal | Denis Magda/Just Use Postgres!_ All the Database You Need (401) |
|
| Learn C++ by Example | Frances Buontempo | Default, Stage 5 | I want guided project practice after the C++ introduction | EPUB | Frances Buontempo/Learn C__ by Example (362) |
| Learning Kali Linux, 2nd Edition | Ric Messier | Default, Stage 5 | It adds testing methodology, analysis, vulnerability work, evidence, and reporting | EPUB | Ric Messier/Learning Kali Linux (357) |
| Linux Basics for Hackers, 2nd Edition | OccupyTheWeb | Default, Stage 4 | It gives me a beginner-friendly transition from ordinary Linux into security-oriented Linux and Kali | EPUB, PDF | OccupyTheWeb/Linux Basics for Hackers, 2nd Edition_ Getting Started with Networking, Scripting, and Security (348) |
| Linux Kernel Programming, 2nd Edition | Kaiwan N. Billimoria | Default, Stage 6 | I want practical work with kernel builds, modules, tasks, memory, scheduling, and synchronisation | Kaiwan N. Billimoria/Linux Kernel Programming, Second Edition (359) |
|
| Linux Pocket Guide, 4th Edition | Daniel J. Barrett | Default, Stage 3 reference | I will use it for a structured command survey and keep it as a permanent lookup resource | Daniel J. Barrett/Linux Pocket Guide (358) |
|
| Linux System Programming, 2nd Edition | Robert Love | Default, Stage 4 | It gives me a concise first tutorial before I take on the deeper TLPI treatment | EPUB | Robert Love/Linux System Programming, 2nd Edition (354) |
| Linux: The Comprehensive Guide | Michael Kofler | Not selected | It overlaps heavily with Shotts, Ward, Love, TLPI, shell scripting, and the selected security books | EPUB, PDF | Michael Kofler/Linux_ The Comprehensive Guide (336) |
| Machine Learning with PyTorch and Scikit-Learn | Sebastian Raschka, Yuxi Liu, and Vahid Mirjalili | Default, Stage 9 | This is my main practical ML foundation in the ecosystem I will later use for LLM and inference work | EPUB, PDF, TXT | Sebastian Raschka, Yuxi (Hayden) Liu, Dr. Vahid Mirjalili/Machine Learning with PyTorch and Scikit-Learn (283) |
| Mastering Linux Security and Hardening, 3rd Edition | Donald A. Tevault | Default, Stage 8 | This is my main defensive Linux security and hardening text | EPUB, PDF | Donald A. Tevault/Mastering Linux Security and Hardening, Third Edition_ A Practical Guide to Protecting Your Lin (347) |
| Mathematical Foundations of Reinforcement Learning | Shiyu Zhao | Default, Stage 13 support | I need the relevant formal RL foundation before reasoning and post-training work | Shiyu Zhao/Mathematical Foundations of Reinforcement Learning (337) |
|
| Modern C++ Programming Cookbook, 3rd Edition | Marius Bancila | Not selected | The recipe format overlaps with the structured C++ books already in the route | EPUB | Marius Bancila/Modern C__ Programming Cookbook, Third Edition (364) |
| Modern C, 3rd Edition | Jens Gustedt | Default, Stage 3 | It updates King's foundation through C23, modern memory, threads, and atomics | EPUB | Jens Gustedt/Modern C, Third Edition (320) |
| Reinforcement Learning from Human Feedback | Nathan Lambert | Default, Stage 13 | I want post-training and RLHF depth after the LLM and RL foundations | EPUB | Nathan Lambert/Reinforcement Learning from Human Feedback (338) |
| Rust Web Programming, 3rd Edition | Maxwell Flitton | Not selected | Rust and web specialisation would split my attention from the systems, security, and AI route I chose | Maxwell Flitton/Rust Web Programming_ Third Edition (403) |
|
| Statistics Every Programmer Needs | Gary Sutton | Default, Stage 9 support | It gives me practical statistics for sound ML evaluation and experimentation | Gary Sutton/Statistics Every Programmer Needs_ Practical Python Implementations and Quantitative Methods (402) |
|
| The Linux Command Line, 3rd Edition | William Shotts | Default, Stage 1 | This is my main shell, command-line, and Bash foundation | EPUB | William Shotts/The Linux Command Line_ A Complete Introduction, 3rd Edition (339) |
| The Linux Programming Interface | Michael Kerrisk | Default, Stage 5 deep reference | I will use it as the authoritative userspace Linux and Unix API treatment after Robert Love | EPUB, PDF | Michael Kerrisk/The Linux Programming Interface_ A Linux and UNIX System Programming Handbook (352) |
| The Little Book of Deep Learning | Francois Fleuret | Default, Stage 9 reference | I want a compact conceptual reference beside the practical and full theory books | Francois Fleuret/The Little Book of Deep Learning (340) |
|
| The Rust Programming Language, 3rd Edition | Steve Klabnik, Carol Nichols, and Chris Krycho | Not selected | It is a good language book, but Rust is outside my current route | EPUB | Steve Klabnik, Carol Nichols, Chris Krycho/The Rust Programming Language, 3rd Edition (399) |
| The Ultimate Kali Linux Book, 3rd Edition | Glen D. Singh | Default, Stage 8 | It gives me the main practical offensive-security lab progression | EPUB | Glen D. Singh/The Ultimate Kali Linux Book, Third Edition_ Harness Nmap, Metasploit, Aircrack-ng, and Empire (344) |
| The Ultimate Linux Shell Scripting Guide | Donald A. Tevault | Default, Stage 2 | It extends Shotts into practical scripting, text processing, interfaces, and debugging | EPUB | Donald A. Tevault/The Ultimate Linux Shell Scripting Guide (355) |
| Tiny C Projects | Dan Gookin | Default, Stage 2 | It turns C syntax and exercises into repeated finished programmes | EPUB | Dan Gookin/Tiny C Projects (319) |
| Understanding Deep Learning | Simon J. D. Prince | Default, Stage 9 | This is my main rigorous deep-learning theory foundation | Simon J.D. Prince/Understanding Deep Learning (341) |
|
| Understanding Latency Hiding on GPUs | Vasily Volkov | Default, Stage 11 advanced | I will use it for deeper latency, occupancy, and GPU-performance reasoning after practical profiling | Vasily Volkov/Understanding Latency Hiding on GPUs (342) |
|
| UNIX: A History and a Memoir | Brian W. Kernighan | Default, Stage 1 light | I want the history connecting Unix, C, tools, shells, and the culture around them | EPUB, PDF | Brian W. Kernighan/Unix_ A History and a Memoir (368) |
| Why Machines Learn: The Elegant Math Behind Modern AI | Anil Ananthaswamy | Default, Stage 9 light | It gives me a readable intuition companion for the mathematics behind ML | EPUB | Anil Ananthaswamy/Why Machines Learn_ The Elegant Math Behind Modern AI (343) |
| A Common-Sense Guide to Data Structures and Algorithms in Python, Volume 1 | Jay Wengrow | Default, Stage 1 | This is the approachable DSA foundation that fits my preferred language and teaching style | EPUB | Jay Wengrow/A Common-Sense Guide to Data Structures and Algorithms in Python, Volume 1_ Level Up Your Core (351) |
| A Common-Sense Guide to Data Structures and Algorithms in Python, Volume 2 | Jay Wengrow | Default, Stage 2 | It continues the Python DSA route and leads into LeetCode 75 | EPUB | Jay Wengrow/A Common-Sense Guide to Data Structures and Algorithms in Python, Volume 2_ Level Up Your Core (350) |
Edition checks
- My King PDF is the 2nd edition and predates C11. Modern C, 3rd Edition supplies the C23 update later.
- My copy of The Linux Command Line is the 3rd edition dated 2026.
- My Linux Pocket Guide is the 4th edition.
- My Introducing C++ is the March 2026 O'Reilly edition.
- My Hands-On Machine Learning with C++ is the 2nd edition with 2025 material.
- My CUDA guide is Release 13.3, dated 27 May 2026.
- My Build a Reasoning Model PDF contains 2026 material.
Decisions I want to preserve
- Python remains my main DSA and LeetCode language.
- Algorithmic Thinking remains optional.
- CS:APP remains unselected because its teaching style does not fit me.
- Security and reasoning-model work remain in the default route.
- The C++ cookbook and broad Hacking and Security book remain outside the route.
- Content-production planning remains outside the curriculum repository.
Keeping the library intact
The Calibre library is read-only during curriculum work. I will open and manage books through Calibre rather than rename, move, or edit its record directories by hand.