Things I’ve built to understand how they work, from GPU and CPU renderers to firmware and boot code. All source code is on GitHub.
Graphics and rendering
vlkn — Vulkan rendering engine
2024
A C++20 Vulkan renderer with a quaternion 6-DOF camera, an 8-texture sampler array with anisotropic filtering, Blinn-Phong lighting with 16 animated point lights, a fixed 512 Hz simulation loop and an ImGui debug overlay, built on swap-chain recreation (MAILBOX with FIFO fallback), two frames in flight synchronized with fences and semaphores, staging-buffer uploads, depth buffering, descriptor sets and push constants.
Source: vlkn — Vulkan rendering engine
coneng — software 3D rasterizer
2024
A CPU rasterizer with no graphics API: its own matrix math, near-plane and screen-edge triangle clipping, back-face culling, perspective-correct texture mapping and a depth buffer, rendering OBJ models.
Source: coneng — software 3D rasterizer
Embedded and microcontrollers
Systems and tools
GOS — x86 boot chain
2024
A two-stage x86 boot chain: a 512-byte NASM boot sector walks a FAT12 filesystem to load a 16-bit C second stage with its own small libc and FAT12 driver, using BIOS disk services with retries. Debugged in QEMU and Bochs.
Source: GOS — x86 boot chain
terminal_animation — video to ASCII
2024–2025
Plays video, GIFs and images as 24-bit color ASCII art in the terminal. A producer–consumer pipeline runs decoding, rendering and the UI on separate threads; builds on Linux and Windows.
Source: terminal_animation — video to ASCII
Live demo
A small simulation compiled to WebAssembly that runs directly in the browser.
Open-source contributions
-
Intel Cryptography Primitives Library · PR #95
Fixed a multithreaded cache-thrashing bug in SHA-1/SHA-2 hash dispatch, where a shared function pointer was rewritten on every call, and measured it with perf: −48% instructions, −32% cache references and −10% CPU time in a 12-thread SHA-256 benchmark. Intel shipped a fix for the issue in v1.4.0.
-
FTXUI · PR #938
Added slider change callbacks (SliderOption::on_change) to this 10k-star C++ terminal UI library, shipped in v6.0. My terminal_animation app is listed in the project’s showcase.