Practical DSA
Data Structures & Algorithms
An introduction to data structures and algorithms from a practical, hardware-first perspective. Learn how the physical layout of your data in memory impacts performance.
Practical DSA
Locks and Atomics
Learn how mutexes and atomics prevent race conditions, and why hardware contention can make multithreaded code slower than single-threaded code.
Practical DSA
Cache Coherency and False Sharing
Explore the performance cost of synchronization, how to mitigate it, and how to avoid it entirely with better algorithm design.
Intro to C++ Programming
Types and Literals
Explore how C++ programs store and manage numbers in computer memory, including integer and floating-point types, memory allocation, and overflow handling.
Practical DSA
Memory Fragmentation
Why do long-running programs inevitably degrade and crash? Discover the hardware reality of memory fragmentation and TLB thrashing.
Practical DSA
Linear and Arena Allocators
Bypass the OS and the global allocator. Build a custom linear arena allocator to implement fast memory allocation with zero fragmentation.
Practical DSA
Object Pools and Free Lists
Solve the problem of dynamic entity lifespans. Build a zero-allocation object pool using an implicit free list hidden inside dead memory.
Intro to C++ Programming
Booleans - true and false values
An overview of the fundamental true or false data type, how we can create them, and how we can combine them.
Intro to C++ Programming
Conditional Logic
Use booleans and if statements to make our functions and programs more dynamic, choosing different execution paths.
Intro to C++ Programming
Switch Statements
Learn an alternative way to write conditionals, which is often used when we want to take different paths based on a specific value