About

I'm a metalworker by trade who taught himself to build software — years of evening school, one language at a time, every character typed by hand. Everything here was written in my private time, because a problem annoyed me too much to leave alone.

How it started

It began in 2011 with a single itch. I'd spent countless hours on my knees in front of machines, hunting for faults with patience and guesswork, and I wanted one tool that pulled the useful things together — something that could help me and my colleagues find a fault quickly instead of the long way round, every time. That became Connect.Support.

In 2013 I put a second head on the same body and pointed it at a bigger problem: turning a device's scattered internal data into something you could read, clean, merge and rebuild. That became CsGenesis. A “small tool” quietly turned into a workbench — and then into a whole family of them.

Built with more stubbornness than budget, and more love than either.

The fight to keep them alive

In 2022 a cyberattack took my notes — years of plans and written history. It did not take the code, and it did not take the reason I started. In 2025 the tools faced a different threat: compliance, the EU Cyber Resilience Act, by whose measure a pile of private, self-built applications with no formal process behind them was exactly the kind of thing that gets switched off. I understood the logic. It still hurt. But I was given a chance to defend them, and I wasn't going to walk away from that.

So I did what I always do when faced with something I don't understand: read, ask, test, until the fog turns into something I can act on. I moved everything onto modern .NET, broke the old “god-object” monoliths into a proper suite of focused tools, cut outside dependencies so each piece is mine end to end, and started keeping a living record of every change as it happens — so what an attack took by force can never be silently erased again.

How I try to build things

The hours behind all this are an estimate, not a bill — nobody is being invoiced. People laughed at the hours; the code doesn't. And this site is itself a small .NET application, built with the same tools it's here to talk about.

An unhandled error has occurred. Reload 🗙