Blog

Wins, mistakes and ideas

[One sentence about the blog: what you write here and why you also record the mistakes.]

2026

WINbackend
Tinstar: the rules in AGENTS.md, turned into checks that run without an LLMAGENTS.md tells an AI agent the rules, but nothing checks they were followed, and every rule costs tokens in every conversation. Tinstar compiles each rule once into a small check that runs in the terminal, the editor, CI and the agent loop. How the laws are drafted, why each one is tested before anyone sees it, and the noise check that caught a law firing 15,000 times.
8 min
WINgames
A car in C++ with an engine, clutch and gearbox: the start of a parking simulatorHow I built a car's physics in C++23 with raylib, commit by commit: the chain from pedal to wheel, a clutch that slips, Pacejka tires, load transfer and the two bugs the screenshots revealed.
9 min
WINmobile
A phone that obeys the Mac but never traps you: Foco and Foco GuardA Mac app for focus sessions and an Android app that blocks distractions without root. How they talk through a signed local protocol, why unlocking never depends on the Mac, and what I did when the blocking engine could not be trusted.
7 min
WINgames
Saint Seiya: The Hades port, one week on: faster fights, a crash that was not what I thoughtWhat changed in the native port after widescreen: VU1 programs compiled ahead of time, 15,000 draws merged into 500, the rare crash that was an interrupt stack in the wrong place, SPU2 reverb, the opening video and a training mode.
19 min
WINembedded
Simulator and relay: what I learned testing hardware that isn't on the benchWhat it was like to build simulators and relays to validate embedded systems without relying on physical equipment, and what that experience taught me about protocols, testing and compatibility.
7 min
WINgames
Saint Seiya: The Hades in 16:9 without stretching anythingHow I added real widescreen to the native port of a PS2 game: finding the camera in the MIPS code, widening the field of view, keeping the HUD and menus in 4:3 and filling full-screen artwork.
6 min
WINgames
Black Site: one day of building my own Vulkan engineWhat Black Site is, the game I am building in C++ with Vulkan, and everything that came together in a single day: materials, shadows, ECS, physics, JSON scenes, UI and a character that walks.
6 min
LIFEall
About me: from a freezing netbook to low-level systemsHow I went from graphic design to leading cloud migrations, coding in C++, and exploring game engines.
6 min