Technical notes
Intro
Computer architecture
What is a computer?
Binary addition
Overflow
Two’s complement
A Tour of Computer Systems
Transistors
Flip-flops
Synchronous systems
Assembly
C memory management
Computer chip
Floating point
Flynn’s taxonomy
Operating systems
Introduction to operating systems
Concurrency
Multithreading
OSTEP: Concurrency and Threads
OSTEP: Locks
OSTEP: Condition Variables
OSTEP: Semaphores
OSTEP: Locked data structures
OSTEP: Common Concurrency Problems
Data structures and algorithms
Basic comparison sorting
Non-comparison sorting
Merge sort
Quicksort
Dynamic programming
Heap
Trie
Backtracking
Sliding window
0-1 Knapsack
Correctness proof
Machine learning
What is machine learning?
Bias-Variance trade-off
Naive bayes
Linear discriminant analysis
K-means clustering
Support vector machines
Kernel trick
Deep learning
Gradient descent
Automatic differentiation
Attention
Graph neural networks
Data parallelism
T5-style model parallelism
Pipeline parallelism
ZeRO-Offload
Mixture of Experts
Linear algebra
3Blue1Brown’s Linear Algebra series
Eigendecomposition
Singular value decomposition
Moore-Penrose pseudoinverse
PCA
Optimization
Critical points
Overflow and Underflow
Miscellaneous
Broadcasting
How to solve it
Modular exponentiation
James-Stein estimation
Entropy
.md
.pdf
repository
open issue
Operating systems
¶
previous
Flynn’s taxonomy
next
Introduction to operating systems