The Inner Workings of Software
The Machinery
of Software
How the tools we use every day actually work
The book in seven parts
I
Data Structures
6 chapters
II
Storage Engines
2 chapters
III
Algorithms
4 chapters
IV
Networks and Security
3 chapters
V
Languages and Theory
3 chapters
VI
Tools and Systems
3 chapters
VII
Machine Learning
language models
Vijay Mathew
Open Contents
The Machinery of Software — front cover
Browse From the Cover
Full contents
Part One
Data Structures
Think in Arrays, Not in Loops
Ropes and Piece Tables
Filesystems and B-Trees
The Balanced Bookshelf
The Casino Data Structure
Good Enough Answers
Part Two
Storage Engines
The Write-Heavy Problem
Transaction Control from First Principles
Part Three
Algorithms
The Practical Champion
Sorting Bigger Than RAM
The Compression Game
How JPEG Works
Part Four
Networks and Security
The Reliable Network
The Two-Key Trick
How TLS Secures the Internet
Part Five
Languages and Theory
What Can Be Computed at All?
How a Compiler Compiles Itself
Two Languages That Broke the Rules
Part Six
Tools and Systems
How Git Stores History
The Great GUI Ideas
The Raft Consensus Algorithm
Part Seven
Machine Learning
LLMs from First Principles