Current, past, and future. List is in approximate reverse chronological order. Some texts are good enough to deserve a second reading, if so the text appears in the list twice with ‘(second reading)’ appended.

Current

Took the year (2023) off reading computer books to read The Economist, this year I am reading non-computer related books.

Past

Hands-On Data Structures and Algorithms with Rust - Claus Matzinger (second reading) (a,a)

Lecture Notes: Cryptographic Protocols - Berry Shchoenmakers (a,n)

Introduction to Modern Cryptography - Jonathan Katz, Yehuda Lindell (a,n)

Coders At Work Reflections on the craft of programming - Peter Seibel (m,-)

How to Solve it: A New Aspect of Mathematical Method - George Polya (a,s)

Geometry, relativity and the fourth dimension - Rudolf v. B. Rucker (a,n)

Flatland: A Romance of Many Dimensions - Edwin Abbott Abbott (a,-)

Applied Cryptography - Bruce Schneier (second reading) (a,-)

Agile Retrospectives Making Good Teams Great - Esther Derby, Diana Larsen (a,-)

Hands-On Data Structures and Algorithms with Rust - Claus Matzinger (a,a)

Mastering Rust - Rahul Sharma and Vesa Kaihlavirta (a,-)

Mastering Monero - SerHack (a,-)

Mastering Ethereum Building Smart Contracts and DApps - Andreas Antonopoulos, Gavin Wood (a,-)

Mastering Bitcoin Programming the Open Blockchain - Andreas M. Antonopoulos (a,-)

REST in Practice Hypermedia and Systems Architecture - Jim Webber, Savas Parastatidis, Ian Robbin (a,-)

Clean Code A Handbook of Agile Software Craftsmanship - Robert C. Martin (a,-) (second reading)

The Rust Programming Language - Steve Klabnik and Carol Nichols (a,a)

Understanding the Linux Virtual Memory Manager - nMel Gorman (a,-)

Computer Architecture A Quantitative Approach - John L. Hennessy, David A. Patterson (a,-)

Computer Organization and Design - David A. Patterson, John L. Hennessy (a,-) (second reading)

Linux Kernel Networking Implementation and Theory - Rami Rosen (a,-)

A Guide to Kernel Exploitation Attacking the Core - Enrica Perla, Massimiliano Oldani (a,-)

The Art of Linux Kernel Design Illustrating the Operating System Design Principle and Implementation - Lixiang Yang (a,-)

Mastering Regular Expressions - Jeffrey E.F. Friedl (a,-)

UNIX Filesystems Evolution, Design, and Implementation - Steve D. Pate (a,n)

Peopleware Productive Projects and Teams - Tom DeMarco and Timothy Lister (a,-)

Programming Pearls - Jon Bentley (a,s)

The Mythical Man-Month - Frederick P. Brooks, Jr. (a,-)

Code Complete - Steve McConnell (a,-)

802.11 Wireless Networks The Definitive Guide - Matthew S. Gast (m,-)

Linux Device Drivers 3rd Edition - Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman (a,-) (twice read)

Refactoring Improving the Design of Existing Code - Martin Fowler (a,-)

The Design of the Unix Operating System - Maurice J. Bach (a,-)

The Clean Coder A Code of Conduct for Professional Programmers - Robert C. Martin (a,-)

Modern Operating Systems - Andrew S. Tanenbaum (m,)

Essential Linux Device Drivers - Sreekrishnan Venkateswaran (a,-)

Linux Kernel Development - Robert Love (a,-)

Open Data Structures - Pat Morin (m,-)

The Go Programming Language (a,m) - Alan A. A. Donovan, Brian W. Kernighan

Pro Git - Scott Chacon (m,-)

Introduction to Algorithms - Thomas H. Cormen, Charles C. Leiserson, Ronald L. Rivest, Clifford Stein (m,-)

The Algorithm Design Manual - Steven S Skiena (a,n)

Apprenticeship Patterns Guidance for the Aspiring Software Craftsman - David H. Hoover and Adewale Oshineye (a,-)

Real World Haskell - Bryan O’Sullivan, John Goerzen and Don Stewart (s,s)

Learn You a Haskell For Great Good - Miran Lipovaca (m,m)

Structure and Interpretation of Computer Programs - Harold Abelson, Gerald Jay Sussman, Julie Sussman (m,m)

The Scheme Programming Language - R. Kent Dybvig (m,m)

The Little Schemer - Daniel P. Friedman, Matthias Felleisen (a,a)

ARM Assembly Language - William Hohl (a,m)

The Linux Programming Interface - Michael Kerrisk (m,m)

Programming the World Wide Web - Rebert W. Sebesta (a,-)

Applied Cryptography - Bruce Schneier (a,-)

Python Essential Reference - David M. Beazley (m,-)

Clean Code A Handbook of Agile Software Craftsmanship - Robert C. Martin (a,-)

Python the Hard Way - Zed A. Shaw (a,a)

UNIX Network Programming - W. Richard Stevens, Bill Fenner, Andrew M. Rudoff (a,a)

Advanced Programming in the UNIX Environment - W. Richard Stevens, Stephen A. Rago (a,a)

UNIX Systems Programming - Kay A. Robbins, Steven Robbins (a,m)

Intermediate Perl - Randal L. Schwartz, brian d foy, Tom Phoenix (a,a)

Learning Perl - Randal L. Schwartz, brian d foy, Tom Phoenix (a,a)

Beginning Linux Programming - Neil Matthew, Richard Stones (a,-)

Version Control with Git - Jon Loeliger, Matthew McCullough (a,-)

The Pragmatic Programmer - Andrew Hunt, David Thomas (a,-)

The Art of UNIX Programming - Eric S. Raymond (a,-)

Expert C Programming Deep C Secrets - Peter Van Der Linden (a,-)

The Practice of Programming - Brian W. Kernighan, Rob Pike (a,-)

How Linux Works - Brian Ward (a,-)

Learning GNU Emacs - Debra Cameron, James Elliott, Marc Loy, Eric Raymond, Bill Rosenblatt (a,-)

The Art of Computer Programming (volume 2) Seminumerical Algorithms - Donald E. Knuth (m,-)

The Art of Computer Programming (volume 1) Fundamental Algorithms - Donald E. Knuth (a,-) -

Command Line Kung Foo - Jason Cannon (a,-)

Linux Shell Scripting with Bash - Ken O. Burtch (a,-)

From Bash to Z Shell Conquering the Command - Oliver Kiddle, Jerry Peek, Peter Stephenson (a,-)

Computer Networks A Systems Approach - Larry L. Peterson, Bruce S. Davie (a,-)

A Concise Introduction to Pure Mathematics - Martin Liebeck (m,m)

Computer Organization and Design - David A. Patterson, John L. Hennessy (a,-)

Operating System Concepts - Abraham Silberschatz, Peter Baer Galvin, Greg Cagne (a,-)

The C Programming Language - Brian W. Kernighan, Dennis Ritchie (a,a)

Future (maybes)

Random computer books (potentially interesting topics)

Artificial Intelligence A modern Approach - Stuart Russell and Peter Norvig

Compilers Principles, Techniques, and Tools - Aho Lam, Sethi Ullman

Math books (probably won’t get to all these)

Concrete Mathematics A foundation for computer science - Graham, Knuth, Patashnik

Modern Cryptography and Elliptic Curves: A Beginner’s Guid - Thomas R. Shemanske

Discrete and Combinatorial Mathematics - Ralph P. Grimaldi

Calculus - Michael Spivak

Linear Algebra And its Applications - Gilbert Strang

A Computational Introduction to Number Theory and Algebra - Victor Shoup

An Introduction to Mathematical Cryptography - Joffrey Hoffstein, Jill Pipher, Joseph H. Silverman

Algorithms

The Art of Computer Programming (4 volumes) - Donald E. Knuth

Algorithms in C (5 parts) - Robert Sedgewick

Hackers Delight - Henry S. Warren, Jr.


Key:

<Title> - <author> (<text read>, <exercises completed>)

  • a : all
  • m : most
  • s : some
  • n : none
  • ‘-’ - no exercises in text