Resources.
Over time, I have compiled and distilled a list of lists of useful resources.
If you have any feedback please don't hesitate to send it my way.
If you want to buy me a gift, a book from my technical book
wishlist
would be awesome! There is also my non-technical book
wishlist.
Database Systems and Reliability Engineering
- High Performance MySQL, by Baron Schwartz, Peter Zaitsev & Vadim Tkachenko.
- Introduction to Databases, by Stanford.
- CMU 15-721 Advanced Database Systems, by Carnegie Mellon University.
Linux Internals and Systems Programming
- Understanding the Linux Kernel, 3rd Edition, by Daniel P. Bovet, and Marco Cesati.
- Advanced Linux Programming, by Mark Mitchell.
- Linux Kernel Development, by Robert Love.
- The Origins of Linux by Linus Torvalds at the Computer History Museum.
- Linux Performance Tools by Brendan Gregg at Velocity.
- Give me 15 minutes & I'll change your view of GDB by Greg Law at CppCon 2015.
- An Introduction to Linux IPC Facilities by Michael Kerrisk at Linux Conference Australia 2013.
- Beginners Guide to Containers Technology and how it actually works, by James Bottomley.
- CS162: Operating Systems, by Berkley.
- Namespaces in Operation (LWN Series)
- Control Groups (LWN Series)
Distributed Systems
- Designing Data-Intensive Applications, by Martin Kleppmann.
- Cloud Computing Concepts Part 1, and Part 2, part of the Cloud Computing Scpecialization, on Coursera, Illinois. * Probably should be called Introduction to Distributed Programming
- 6.824: Distributed Systems, by MIT.
- Distributed Systems Lecture
Series, by Martin
Kleppmann.
- CS436: Distributed Computer Systems, by University of Waterloo.
- The TLA+ Video Course, by Leslie Lamport.
- Distributed Systems Reading Group
Programming
- Data Structures and Algorithms in Python, by Michael T. Goodrich, Roberto Tamassia, and Michael H. Goldwasser.
- The Go Programming Language, by Alan A. A. Donovan, and Brian Kernighan.
- CS107: Programming Paradigms, by Stanford Center for Professional Development.
- 6.00.1x: Introduction to Computer Science and Programming Using Python, by MIT, on edx.org.
- Basics of Software Architecture & Design Patterns in Java [Not free], By Holczer Balazs, on Udemy.
- 6.004: Computation Structures, by Chris Terman from MIT.
- Computer Architecture, by Carnegie Mellon.
- Python Path [Not free], from PluralSight.
- You Look at it till a Solution Occurs by Brandon Rhodes at PyCon 2017.
- Python Epiphanies by Stuart Williams.
- Modern Dictionaries by Raymond Hettinger.
- Transforming Code into Beautiful, Idiomatic Python by Raymond Hettinger at Next Day Video.
- Go development with vim-go by Fatih Arslan at DigitalOcean NYC Meetup.
Production Engineering and SRE
- Systems Performance: Enterprise and the Cloud, by Brendann Gregg.
- Site Reliability Engineering, edited by Betsy Beyer, Chris Jones, Jennifer Petoff, and Niall Richard Murphy.
- 6.172: Performance Engineering of Software Systems, from MIT.
- Notes from Production Engineering by Pedro Canahuati at SREcon15.
- Production Engineering at Facebook [Arabic] by Ahmed Soliman at FB Developer Circles & Egyptian Geeks Meetup.
- Getting Started with SRE by Stephen Thorne at DevOps Enterprise Summit.
- Building a Bank with Kubernetes by Oliver Beattie at Kubecon.
- Cloud Capacity Planning by Andrew Park at SouthBay SRE.
- Getting Started with SRE by Stephen Thorne, from Google.
- Scaling Instagram Infrastructure by Lisa Guo at QCon 2017.
- A/B Testing by Stuart Frisby, principal designer at Booking.com
- The RED Method How To Instrument Your Services by Tom Wilkie.
- Cloud Performance Root Cause Analysis at Netflix by Brendan Gregg.
Computer Networking
- Computer Networking: A Top-Down Approach
- CMU 15-445/645 Intro to Database Systems, by Carnegie Mellon University.
- TCP Tuning for the Web by Jason Cook at Linux Conference Australia 2014.
Misc Computer Science
- 6.042J: Mathematics for Computer Science, by Tom Leighton from MIT.
- 6.858 Computer Systems Security, from MIT.
- Secret History of Silicon Valley by Steve Blank.
Interview Prep
- Cracking The Coding Interview, by Gayle Laakman.
- Grokking the System Design Interview [Not free], by Educative.
- Intro to Architecture and Systems Design Interviews by Jackson Gabbard.
Other Books I Like
- The Art of Strategy, by Avinash K. Dixit, and Barry J. Nalebuff.
- The Tipping Point, by Malcolm Gladwell.
- Outliers, by Malcolm Gladwell.
- The Everything Store, by Brad Stone.
- The Pixar Touch, by David A. Price.
- The Start-up of You, by Reid Hoffman, and Ben Casnocha.
- The Hacker's Diet, by John Walker.
- Marathon: The Ultimate Training Guide, by Hal Higdon.
Cycling Resources
- Hills Are NOT Harder Than Cycling On The Flat (Says Science)
- Hill Climb Science: How to Correctly Pace Long Hill Climbs using a Power Meter
Misc
Over time, I have compiled and distilled a list of lists of useful resources.
If you have any feedback please don't hesitate to send it my way.
If you want to buy me a gift, a book from my technical book wishlist would be awesome! There is also my non-technical book wishlist.
Database Systems and Reliability Engineering
- High Performance MySQL, by Baron Schwartz, Peter Zaitsev & Vadim Tkachenko.
- Introduction to Databases, by Stanford.
- CMU 15-721 Advanced Database Systems, by Carnegie Mellon University.
Linux Internals and Systems Programming
- Understanding the Linux Kernel, 3rd Edition, by Daniel P. Bovet, and Marco Cesati.
- Advanced Linux Programming, by Mark Mitchell.
- Linux Kernel Development, by Robert Love.
- The Origins of Linux by Linus Torvalds at the Computer History Museum.
- Linux Performance Tools by Brendan Gregg at Velocity.
- Give me 15 minutes & I'll change your view of GDB by Greg Law at CppCon 2015.
- An Introduction to Linux IPC Facilities by Michael Kerrisk at Linux Conference Australia 2013.
- Beginners Guide to Containers Technology and how it actually works, by James Bottomley.
- CS162: Operating Systems, by Berkley.
- Namespaces in Operation (LWN Series)
- Control Groups (LWN Series)
Distributed Systems
- Designing Data-Intensive Applications, by Martin Kleppmann.
- Cloud Computing Concepts Part 1, and Part 2, part of the Cloud Computing Scpecialization, on Coursera, Illinois. * Probably should be called Introduction to Distributed Programming
- 6.824: Distributed Systems, by MIT.
- Distributed Systems Lecture Series, by Martin Kleppmann.
- CS436: Distributed Computer Systems, by University of Waterloo.
- The TLA+ Video Course, by Leslie Lamport.
- Distributed Systems Reading Group
Programming
- Data Structures and Algorithms in Python, by Michael T. Goodrich, Roberto Tamassia, and Michael H. Goldwasser.
- The Go Programming Language, by Alan A. A. Donovan, and Brian Kernighan.
- CS107: Programming Paradigms, by Stanford Center for Professional Development.
- 6.00.1x: Introduction to Computer Science and Programming Using Python, by MIT, on edx.org.
- Basics of Software Architecture & Design Patterns in Java [Not free], By Holczer Balazs, on Udemy.
- 6.004: Computation Structures, by Chris Terman from MIT.
- Computer Architecture, by Carnegie Mellon.
- Python Path [Not free], from PluralSight.
- You Look at it till a Solution Occurs by Brandon Rhodes at PyCon 2017.
- Python Epiphanies by Stuart Williams.
- Modern Dictionaries by Raymond Hettinger.
- Transforming Code into Beautiful, Idiomatic Python by Raymond Hettinger at Next Day Video.
- Go development with vim-go by Fatih Arslan at DigitalOcean NYC Meetup.
Production Engineering and SRE
- Systems Performance: Enterprise and the Cloud, by Brendann Gregg.
- Site Reliability Engineering, edited by Betsy Beyer, Chris Jones, Jennifer Petoff, and Niall Richard Murphy.
- 6.172: Performance Engineering of Software Systems, from MIT.
- Notes from Production Engineering by Pedro Canahuati at SREcon15.
- Production Engineering at Facebook [Arabic] by Ahmed Soliman at FB Developer Circles & Egyptian Geeks Meetup.
- Getting Started with SRE by Stephen Thorne at DevOps Enterprise Summit.
- Building a Bank with Kubernetes by Oliver Beattie at Kubecon.
- Cloud Capacity Planning by Andrew Park at SouthBay SRE.
- Getting Started with SRE by Stephen Thorne, from Google.
- Scaling Instagram Infrastructure by Lisa Guo at QCon 2017.
- A/B Testing by Stuart Frisby, principal designer at Booking.com
- The RED Method How To Instrument Your Services by Tom Wilkie.
- Cloud Performance Root Cause Analysis at Netflix by Brendan Gregg.
Computer Networking
- Computer Networking: A Top-Down Approach
- CMU 15-445/645 Intro to Database Systems, by Carnegie Mellon University.
- TCP Tuning for the Web by Jason Cook at Linux Conference Australia 2014.
Misc Computer Science
- 6.042J: Mathematics for Computer Science, by Tom Leighton from MIT.
- 6.858 Computer Systems Security, from MIT.
- Secret History of Silicon Valley by Steve Blank.
Interview Prep
- Cracking The Coding Interview, by Gayle Laakman.
- Grokking the System Design Interview [Not free], by Educative.
- Intro to Architecture and Systems Design Interviews by Jackson Gabbard.
Other Books I Like
- The Art of Strategy, by Avinash K. Dixit, and Barry J. Nalebuff.
- The Tipping Point, by Malcolm Gladwell.
- Outliers, by Malcolm Gladwell.
- The Everything Store, by Brad Stone.
- The Pixar Touch, by David A. Price.
- The Start-up of You, by Reid Hoffman, and Ben Casnocha.
- The Hacker's Diet, by John Walker.
- Marathon: The Ultimate Training Guide, by Hal Higdon.
Cycling Resources
- Hills Are NOT Harder Than Cycling On The Flat (Says Science)
- Hill Climb Science: How to Correctly Pace Long Hill Climbs using a Power Meter