All projects
Systems Programming · C/C++

Systems Playground

Systems projects built from the ground up: a configurable cache simulator, a full CLI chess engine, a PPM image tool, and a head to head comparison of C against hand-written x86 assembly.

→ 5 standalone systems projects
C++Cx86 AssemblyCMake

// THE STORY

A collection of the low-level work I keep coming back to, where the whole point is that nothing is abstracted away for you.

The cache simulator is configurable across associativity, block size, and eviction policy, so you can watch hit rates move as you change the geometry instead of reading about it. The chess engine enforces the complete rule set, including the awkward ones people skip like en passant and castling rights, because partial rule enforcement is where chess engines quietly become wrong.

The piece I learned the most from is the C versus x86 assembly comparison. Hand-writing assembly for the same routine and then measuring it against what the compiler produced is the fastest way to stop guessing about performance and start believing the compiler.

// WHAT STANDS OUT

Configurable cache simulator

Associativity, block size, and eviction policy are all parameters.

Chess engine, complete rules

Full rule enforcement, including the edge cases most engines skip.

C against hand-written assembly

The same routine written both ways, then measured.