Everyone's installing local LLMs. I bought a rack.
While everyone chases local LLMs, I did the unfashionable thing and rebuilt my homelab's foundation: a rack, a €25 switch and a €35 router. The plumbing is where the real engineering lives.
My name is tom
While everyone chases local LLMs, I did the unfashionable thing and rebuilt my homelab's foundation: a rack, a €25 switch and a €35 router. The plumbing is where the real engineering lives.
This week I added a GM menu, a template validation tool, a dotnet new plugin template, deeper ModernUO import tooling, a cleaner AI runtime, and much better city guards.
This week I added combat, corpses, loot chests, scripted NPC dialogue, OpenAI-backed NPC behavior, scheduled events, plugin infrastructure, and a major persistence cleanup to Moongate.
This week I shipped a player portal, better world visibility tools, writable books, and lost two days to a .NET bug that turned out not to be mine.
Three hard production issues in Moongate v2: MemoryPack+AOT crashes, doors shifting when toggled, and single-thread bottlenecks under load.
How I fixed the bootstrap, added source generators, and scripted items with Lua in Moongate v2 -- a modern Ultima Online server built with .NET 10.
A personal story about nostalgia, a terrible job, and rewriting an Ultima Online server emulator from scratch with .NET 10 and NativeAOT.
Sometimes the only way to understand constraint-driven design is to ignore constraints entirely, realize you're drowning, and start over. That's the story of Dark Lilly and LillyQuest. Part 1: The Ambitious Mistake In November 2026, I started Dark Lilly. A DOOM-like engine. 3D. OpenGL 4.1. Sector-based geometry with portal rendering. Room-over-room architecture. Full BSP tree implementation. A…
First entry of a personal series about the real, human side of being a CTO.
I'm building (Dark) Lilly Engine, a 3D DOOM-inspired engine in C# with OpenGL. Not to clone DOOM. Not to romanticize the past. But because rebuilding foundational ideas until they're yours is the only way to truly understand them. Sometimes the only way to understand a system is to rebuild it. Not copy it. Not romanticize it. Just rebuild the ideas until they're yours. I'm not building a DOOM…