Meddling Idiot Software is a one-person shop running on stubbornness, regulatory footnotes, and a congenital inability to leave a solved problem alone.
// some of these I've written from scratch more than once. on purpose. for fun.
Programming is the day job, the hobby, and — let's be honest — most of the personality. I write code because I genuinely enjoy it: the puzzle, the fight, the moment a hard problem finally gives.
I've been at it since 1989 — long enough to have shipped products that no longer run on hardware you can no longer buy. When the workday ends, I don't really stop; I just switch to the problems I want to be solving.
Case in point: in the 90s I built the Hours-of-Service rules engine for RapidLog, one of the first electronic logbooks for truck drivers. In the 2000s I built it again for Logbook.com. Then — recently, for nobody, for free — I built it a third time, because it was still bugging me.
That's the whole shtick: find a hard problem, solve it properly, then solve it again, better, long after any reasonable person would have stopped. The "Idiot" part is affectionate. Mostly.
Five rules. There's no one here to enforce them, which is exactly why they're written down.
The software should do the hard part so the person doesn't have to. If a user has to read a manual to do the obvious thing, the obvious thing was built wrong.
The clever solution and the simple solution are rarely the same one. I ship the simple one. The clever one I keep in a drawer to feel smug about.
Powerful tools earn a few minutes of your attention. I won't dumb it into uselessness — but you should be productive on day one, not week three.
Every fact lives in exactly one place in the code. Copy-paste is a loan against your future self, and the interest is brutal.
Small changes, shipped often, beat a big-bang release every single time. Done and improving beats perfect and theoretical — so the work is never really finished, and I wouldn't have it any other way.
Three projects, one stubborn developer, zero meetings about any of it.
Plan the trip and your hours before you start the engine.
Map a point-to-point route, mark your stops, then drag duty-status markers onto a visual timeline and watch violation bands appear the instant you cross the 11-hour, 14-hour, 8-hour, or 60/70-hour limits. Route overlay, fuel-stop search, sleeper-berth split detection — the works. This is the rules engine I've now written three times. It's the best of the three.
Author, print, scan, and grade paper assessments.
An assessment studio for teachers: design pixel-precise printable forms, generate PDFs and OCR/OMR templates, then batch-scan the completed sheets and grade them automatically. Powered by my own recognition toolkit, because of course it is.
The recognition engine, available on its own.
The OCR/OMR toolkit behind PixelProctor's scanning: template-driven form reading, registration-mark alignment, ICR text and OMR mark detection, batch folder automation. Pull it into your own .NET project and point it at a stack of scanned sheets.
// yes, there's a usage guide. nobody asked for that either.
One language does most of the work. Everything else earns its place.
The whole shop runs on it. One language, every platform, no apologies.
Where the code actually gets written. Refactors I trust, and it never nags me to log in.
Cross-platform desktop XAML. PixelProctor lives here.
Where the thinking happens before the code does. Plain Markdown, on my disk, mine forever.
Version control and the closest thing this one-person shop has to a coworker.
The brains behind the OCR/OMR recognition, without leaving C#.
How the mobile builds happen. (Yes, the "coming soon" ones.)
Hit a key, type three letters, open the thing. My hands rarely have to find the mouse.
A dual-pane file manager that treats power users like adults. Windows Explorer could never.
// notably absent: a cloud bill, a "platform team," and seventeen JavaScript frameworks.
Answered with the candor of a company that has no marketing department to object.
A bug report, a freelance inquiry, or a strong opinion about CFR Part 395 — I read everything myself, because there's no one else to read it.
// no contact forms. no newsletter. no "book a demo." just an inbox and a person.