I work as a Test Engineer, building and maintaining the software used in the production and testing of marine electronic devices. Most of my work currently lives in VB.NET, with an increasing share of C# and embedded C in the mix.
I also draw on my electronics background to design the physical machinery used in our build and test processes - a nice overlap between my professional and hobbyist sides. I've recently been diving into Blazor and ASP.NET Core, both at work and in my own time.
WinForms has a special place in my toolkit, but other GUI frameworks are well within reach.
My primary languages are C#, VB.NET, and Python, backed by enough cross-language experience to adapt comfortably when a project calls for something different. My strongest suit is troubleshooting - I genuinely enjoy working through a tricky problem and tracking it to its root cause. I pick up new systems and technologies quickly too, which means I can hit the ground running in unfamiliar territory and still deliver quality work.
Centipede is an automation tool I developed around 15 years ago on an internship, designed to let non-programmers automate repetitive tasks without touching a line of code. Written in C#, it relies heavily on Reflection and COM+ to drive its workflow engine. It's a project that stuck with me — there's something satisfying about making that kind of power genuinely accessible.
Fuzzface is a watch face I developed for the Pebble Smartwatch. It keeps things simple: the time, rounded to the nearest five minutes, in a clean and easy-to-read layout. Nothing more than it needs to be.
RoadieRichStateMachine is a state machine library for .NET 7.0 and above, and my first foray into publishing an open-source package. States can be defined using delegates or custom classes, with transitions driven by explicit conditions — keeping state management readable and predictable. Seeing it reach 1,000 downloads made the effort more than worthwhile.