/ blog / archive — 8 entries
BLOG_
> cat /var/log/thoughts.log
Field notes from 35+ years in the trenches. Mostly C# / .NET / Avalonia,
some Rust, rants about OOP, retro emulation, and whatever weird thing has me up at 2am.
Showing8of 8 entries · filter:
evilgeniuslabs
> order by date DESC
2026 // current cycle
0x1B
2026.10.01
Two disciplines of code, and why AI splits them
Some developers write code to build applications. Others write code to master the craft of the language itself. AI looks like a gift to the first group and a threat to the second, and neither side is wrong. A senior developer's take on why there's room for both, and why the people who understand how applications are built aren't going anywhere.
7′
0x1A
2026.09.30
I set a pace I couldn't keep
The blog launched in April with twenty-one posts in seven weeks and a promise of a weekly roundup. Then it went quiet for three and a half months. This is me owning that, saying why it happened, and saying how the blog runs from here: less often, on topics I actually want to write about.
3′
0x19
2026.06.16
Thermalith: an open-source desktop label designer for NIIMBOT printers
I went quiet on the blog for a month because I was building this. Thermalith is an open-source desktop label designer and driver for NIIMBOT thermal printers: local-first, no account, no cloud, prints over USB or Bluetooth. Cross-platform on .NET 10 and Avalonia, with the reverse-engineered printer protocol pulled out into its own reusable GPL library.
4′
0x18
2026.06.16
Built in private, released in public: self-hosted GitLab to GitHub
The workshop is a self-hosted GitLab I own and run. The shop window is GitHub. Development happens in private with no metered CI bill and full control of the runners; when a release is ready, one GitLab CI job mirrors the source to GitHub and cuts a release with the built binaries. Here's the actual pipeline that does it, gotchas included.
6′
0x17
2026.06.16
A coffee button, and a home for the projects
Two reader-facing additions to the site this week. There is now a Donate page with Ko-fi and Interac e-Transfer, and a Projects section where each thing I build gets a real writeup instead of a line on a GitHub profile. Neither is clever. Both are things I kept meaning to do and finally did.
3′
0x11
2026.05.07
I added an apple-touch-icon by reading my own access logs
Stood up GoAccess on the production logs this morning. Noticed iOS clients 404'ing on /apple-touch-icon.png within minutes. Resized the admin avatar with PowerShell and System.Drawing, dropped the result at wwwroot/apple-touch-icon.png, deployed. Thirty minutes from 'huh, that's a lot of 404s' to live. The story is the loop, not the icon.
2′
0x0A
2026.05.04
I'm writing a history of Visual Basic, Chapter 1 is up
Starting a long-form history of Visual Basic on EvilGeniusLabs.ca. Chapter 1 covers the BASIC dynasty Microsoft had been running since 1975, the California developer Microsoft bought to put a face on it, and the launch pitch Bill Gates seeded in BYTE Magazine eighteen months before VB shipped. Six articles, focused on the parts of the story that don't get covered.
0′
0x09
2026.04.27
Mea culpa, I shipped a draft-book feature that hid every chapter inside it
M12 said draft books are public works-in-progress. I updated the book-level visibility filter and called it done. The article-level filter, which lived in seven other queries, was a separate code path. Anonymous visitors saw the book, saw the chapters, and every chapter rendered 'no published articles'. Here's what I missed and the fix.
3′