Sitemap
Every public page on the site, organized by section. The XML version is at /sitemap.xml for crawlers.
Top-level
The two pages most visitors land on.1 pages- /HomeHero, selected work, terminal, contact.
AI Playground
Hands-on AI / engineering experiments.4 pages- /projectsAI PlaygroundInteractive AI / engineering experiments.
- /projects/murmurMurmurPrivate, on-device voice-to-text desktop app built with Rust, Tauri, and Whisper.
- /projects/brand-generatorBrand GeneratorLLM pipeline for names, slogans, palettes, logos.
- /projects/code-challengesCode ChallengesPolyglot sandbox — JS / Python / Rust / TypeScript challenges.
Internals
Lab section — interactive demos of systems-engineering problems.7 pages- /internalsInternalsLab section — interactive demos of systems-engineering problems.
- /internals/raftRaft ConsensusInteractive 5-node Raft cluster — election, replication, partition handling.
- /internals/dashboardObservabilityLive P50/P95/P99 + per-request span Gantt for the site's own AI endpoints.
- /internals/rate-limitersRate-Limiter ShowdownToken Bucket vs Leaky Bucket vs Sliding Window vs GCRA — same input, four decisions.
- /internals/congestionCongestion ControlReno · CUBIC · BBR running over identical lossy links — three TCP sending strategies side-by-side.
- /internals/bloomBloom FilterInsert items, watch bits flip, watch the false-positive rate trace the theoretical curve.
- /internals/snmpSNMP Polling LabSimulated ISP topology with SNMP agents, alert engine, parent-down correlation.
Games
Real-time multiplayer demos — peer-to-peer over WebRTC.9 pages- /gamesGamesBrowser games — single-player AI and multiplayer rooms.
- /playPlay with a friendOne room, multiple games. Tic-Tac-Toe and Connect Four over Yjs + Firebase RTDB.
- /games/connect-fourConnect Four (vs AI)Alpha-beta minimax vs a human. Center-first move ordering, depth 2–6 across four levels.
- /play?game=escTerminal EscapeAsymmetric 2-player CTF — SecOps defends a sandboxed Unix box, Attacker tries to print a flag.
- /play?game=bgpBGP Routing HijackTwo ISPs on a simulated internet — announce prefixes, deploy RPKI, hijack sub-prefixes.
- /play?game=gossipGossip Protocol VirusPropagator vs Attacker — anti-entropy gossip race across a 10-node CRDT network.
- /play?game=msmMicroservice MeltdownSRE vs Chaos — circuit breakers, OOMs, load shedding on a live microservice DAG.
- /?game=snake#ai-gameSnakeArcade snake. Four speeds. Touch + keyboard controls.
- /?game=puzzle#ai-gamePuzzle SliderSliding-tile puzzle in three sizes. Move + time tracking, optional auto-solver.
Blog
Long-form notes — case studies, deep dives, the occasional joke.7 pages- /blogBlog index
- /blog/polyglot-sandboxPolyglot sandboxHow the JS / Python / Rust playground works.
- /blog/inside-ragInside the RAGHybrid retrieval — BM25 + vector + RRF fusion.
- /blog/redis-rate-limitingRedis rate limitingToken bucket vs sliding window vs GCRA.
- /blog/tests-with-artilleryTests with ArtilleryLoad testing the API surface honestly.
- /blog/typescript-generics-brain-breakTypeScript genericsNotes from the TS playground's type-check rewrite.
- /blog/developer-humorDeveloper humor
Meta
About this site itself.1 pages- /sitemapSitemapEvery page on the site, organized.