Fadli Arsani
Press ESC to close

Good Stuff

Resources I like for C++, systems programming, and low-latency stuff.

Libraries

General Purpose

  • Abseil - Google’s C++ library. Abseil Tips are worth reading.
  • Folly - Facebook’s C++ library.
  • Boost - Many standard library features came from here.

Concurrency & Lock-Free

Benchmarking & Profiling

Serialization

Tools

References

Blogs & Authors

Books & Papers

C++ Foundations

  • Effective C++ - Scott Meyers
  • More Effective C++ - Scott Meyers
  • Effective Modern C++ - Scott Meyers
  • C++ Templates: The Complete Guide - David Vandevoorde, Nicolai Josuttis, Douglas Gregor
  • Programming: Principles and Practice Using C++ - Bjarne Stroustrup
  • Hands-On Design Patterns with C++ - Fedor Pikus
  • C++ Memory Management - Patrice Roy

Low-Latency & Concurrency

  • The Art of Writing Efficient Programs - Fedor Pikus
  • C++ High Performance - Bjorn Andrist, Viktor Sehr
  • C++ Concurrency in Action - Anthony Williams
  • The Art of Multiprocessor Programming - Maurice Herlihy, Nir Shavit
  • Is Parallel Programming Hard, And, If So, What Can You Do About It? - Paul McKenney

Systems

  • Computer Systems: A Programmer’s Perspective - Randal Bryant, David O’Hallaron
  • Computer Architecture: A Quantitative Approach - John Hennessy, David Patterson
  • Engineering a Compiler - Keith Cooper, Linda Torczon

Operating Systems

  • Operating Systems: Three Easy Pieces - Remzi Arpaci-Dusseau, Andrea Arpaci-Dusseau (free)
  • xv6: A Simple, Unix-like Teaching Operating System - Russ Cox, Frans Kaashoek, Robert Morris

Networking

  • TCP/IP Illustrated - W. Richard Stevens
  • Computer Networking: A Top-Down Approach - James Kurose, Keith Ross
  • Beej’s Guide to Network Programming (free)

Papers

  • What Every Programmer Should Know About Memory - Ulrich Drepper

Talks