A curated collection of resources covering everything from OS internals and browser engines to computer graphics and cybersecurity.
Table of Contents
- General & Curriculums
- Computer Science Fundamentals (Classics)
- Operating Systems & Low-Level
- Compilers & Programming Language Theory
- Browser Internals & Web Engines
- Networking & Protocols
- Graphics & Shaders
- Cybersecurity & Reverse Engineering
- AI, Machine Learning & Parallel Computing
- Software Architecture & Engineering Blogs
- Tools & Problem Solving
General & Curriculums
- OSSU: Computer Science – A complete self-taught education in Computer Science using online courses.
- The Missing Semester of Your CS Education – Essential tools (Shell, Vim, Git) they don't usually teach in school.
- Roadmap.sh – Step-by-step guides and paths to learning different technologies.
Computer Science Fundamentals (Classics)
- Structure and
Interpretation of Computer Programs (SICP) – The legendary "Wizard
Book" from MIT (6.001).
- Web Version – An excellent, searchable HTML edition.
- Original 1986 Lectures – Taught by authors Abelson and Sussman.
- 2004 Course Playlist – Taught by Prof. Eric Grimson.
- Computer
Systems: A Programmer's Perspective (CS:APP) – The definitive book
on how systems execute programs, store information, and communicate.
- CS:APP Student Site & Labs – Official labs (Data Lab, Bomb Lab, etc.) for the CMU course.
Operating Systems & Low-Level
- OSTEP: Operating Systems: Three Easy Pieces – A free, high-quality textbook on OS virtualization, concurrency, and persistence.
- Nand2Tetris – Build a modern computer system from the ground up (from logic gates to Tetris).
- CPU.land – A friendly guide to what happens when your computer starts up.
- xv6: A Simple Unix-like Teaching OS – Official book for the MIT xv6 operating system.
- OSDev Wiki – The primary resource for building your own operating system.
- Modern Operating Systems (PDF) – A modern OS textbook.
- Introduction to x86 Assembly – Tutorial for NASM.
- A Series on Linkers and Assembly – High-quality deep dives into assembly, linker scripts, and target triples.
- Memory Allocation Strategies – In-depth series on custom memory allocators.
- The Deadlock Empire – An interactive game to learn about concurrency and race conditions.
- The Little Book of Semaphores – A guide to multithreaded programming.
Compilers & Programming Language Theory
- Crafting Interpreters – A brilliant guide to building a complete language from scratch (tree-walk and VM-based).
- Build Your Own Lisp – Learn C and build a Lisp dialect at the same time.
Browser Internals & Web Engines
- Browser Engineering – Build a basic web browser from scratch.
- How Browsers Work (Web.dev) – Behind the scenes of modern web browsers.
- Life of a Pixel – Chrome’s rendering pipeline explained by Chromium engineers.
- Inside a Web Browser (Chrome Blog) – A 4-part series on the architecture of modern browsers.
- Life of a Script – How browsers execute JavaScript.
- Chromium University – Deep dives into Chromium's codebase and architecture.
- How Browsers Work (Old but relevant) – Detailed technical breakdown of rendering engines.
- How Web Works – High-level overview with extensive reading links.
- Toy Layout Engine – Building a basic browser engine in Rust.
Networking & Protocols
- Beej's Guide to Network Programming – The industry standard for learning socket programming.
- High Performance Browser Networking – A deep dive into TCP, UDP, TLS, and web protocols (PDF Mirror).
- HTTP/3 Explained & HTTP/2 Explained – Detailed guides from the creator of curl.
- WebSocket Protocol Guide – Understanding real-time web communication.
Graphics & Shaders
- Learn OpenGL – The best resource for starting with modern OpenGL.
- Scratchapixel – Learning computer graphics from the ground up using math and code.
- Shader Academy – A LeetCode-like platform for practicing shaders.
- Shader Tutorial – A beginner-friendly guide to shaders.
- The Book of Shaders – A gentle step-by-step guide through the abstract and complex universe of Shaders.
- Computer Graphics Resources (Legends2k) – A massive list of graphics links and notes.
- Stanford CS248A: Computer Graphics – Course materials from Stanford's graphics program.
- Graphics Programming Index – A massive list of freely available resources to study computer graphics programming.
Cybersecurity & Reverse Engineering
- Cybersecurity Base (MOOC) – University of Helsinki’s course on security.
- Linux Journey – Learn the Linux command line and internals.
- OverTheWire Wargames – Practice security concepts through fun, tiered challenges.
- Awesome Pentest – Curated list of penetration testing resources.
- Awesome Blue Team – Resources for defensive security and incident response.
- Chrome Sandbox Escape – An deep-dive technical blog on browser exploitation.
- Picosnitch – Monitor what your applications are doing on the network.
AI, Machine Learning & Parallel Computing
- Neural Networks and Deep Learning – A free online book about the math behind AI.
- The Illustrated Transformer – Visual guide to the architecture behind LLMs like GPT.
- nn.labml.ai – Annotated PyTorch implementations of complex neural network architectures.
- ML Engineering Online Book – A comprehensive guide to the engineering side of machine learning.
- Foundations of Computer Vision – MIT’s foundational textbook on computer vision.
- Zero to Mastery Learn PyTorch – An end-to-end curriculum for learning PyTorch for deep learning.
- Stanford CS 149: Parallel Computing – Course materials for high-performance parallel programming.
- GPU Engineering – A massive, curated collection of resources covering foundational books, frameworks (CUDA, ROCm, Triton), and multi-GPU systems.
- LeetGPU – Practice and master GPU kernel programming.
- Awesome GPU (Research) – A curated list of research papers and materials on GPU architecture and computing.
- CUDA C Programming Guide – Official NVIDIA guide for GPU programming.
- CUDA Programming Course (YouTube) – Video series on parallel computing.
- Programming Massively Parallel Processors (PDF) – Academic textbook for CUDA.
Software Architecture & Engineering Blogs
- The Architecture of Open Source Applications (AOSA) – Learn how major software projects (Git, Nginx, etc.) are structured.
- Ciechanowski’s Blog – Incredible interactive 3D visualizations of mechanical and engineering concepts.
- RFleury.com – Low-level systems programming and performance blog.
- Clay – A high-performance UI layout library in C.
Tools & Problem Solving
- Advent of Code – Annual programming puzzles released every December.
- Python Challenge – A riddle-based website where you solve puzzles using Python code.
- Grep.app – Search across half a million git repos.
- Codebrowser.dev – Browse large C/C++ projects (like the Linux kernel) with cross-references.
- Toffeeshare – Peer-to-peer file sharing via the browser.
- 0x0.st – A minimal, no-bullshit ephemeral file host and pastebin for the command line.
- 12ft Ladder – A tool to bypass simple web paywalls.