Practical DSA
Composition, Zipping, and Indicies
Iterate multiple containers simultaneously with zip, handle indices with enumerate, and skip elements with drop and stride.
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.
Practical DSA
The std::atomic API and Data Tearing
Understand the physical reality of moving data between RAM and registers. Learn why explicit loads and stores are required to prevent data tearing in complex structs.
Practical DSA
SIMD and Automatic Vectorization
Learn how SIMD registers allow you to process multiple data points in a single instruction, unlocking the full power of each CPU core.
Game Development with SDL3
Creating an SDL3 Project
Learn how to create a complete, cross-platform SDL3 project using CMake.
Game Development with SDL3
Creating a Window
Learn how to create and customize windows using SDL3, covering initialization, window management, and handling properties.
Game Development with SDL3
SDL3 Surfaces and Colors
Explore SDL3 surfaces, the canvases for drawing, understand pixel formats, colors, and set your window's background.
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.
Practical DSA
The Mechanics of Linked Lists
An introduction to node-based data structures. The physical reality of std::list, pointer swapping, fast insertions, and why pointer chasing destroys performance.