Enjoying the wins, accepting the losses

When our code isn’t clicking, negativity can quickly overshadow all the positive. That’s when we need to remember our victories!

  Aug 9, 2022 (rev. Oct 10, 2025) ·  2 min

ESI: Building Apps with Azure DevOps - Manage Dependencies

Continuing with Microsoft’s ESI lessons, I learned about Azure Artifacts and the benefits of package managers. They’re good. Use them. ;)

  Jul 30, 2022 (rev. Oct 11, 2025) ·  4 min

ESI: Building Apps with Azure DevOps - Implement a Workflow

Continuing with Microsoft’s ESI, I spent some time this week learning about workflows, reusable elements, and protecting and monitoring the code.

  Jul 16, 2022 (rev. Oct 11, 2025) ·  5 min

Host a simple webpage in WinForms with CefSharp

WinForms and the web. Like oil and water, they don’t mix well. But with CEFSharp, they mix a LOT better. Let’s check it out.

  Jun 28, 2022 (rev. Oct 11, 2025) ·  10 min

What is Manifest V3 and why is Google pestering me about it?

If you’ve ever dug into the underpinnings of a browser extension, or maybe even created one yourself, you’ve seen the manifest.json file that acts as a sort of usage guide for an extension. Not the kind of usage guide most people would want to read, but it’s vital for browsers. The manifest file tells them what name and version to display, who the author is, what permissions to request access to, which icons to display, what css and js files to load and when. It’s important, but once you get the hang of it, pretty simple to implement. You create it and move on, only ever reopening it to bump the version when you’ve got something new to publish, and maybe requesting a new permission. ...

  Jun 6, 2022 (rev. Oct 11, 2025) ·  12 min

Beware the bite of the refactor bug

Refactoring code is part of the dev life, and can even help keep the code healthy, but going too far can do more harm than good. Ever after a decade of writing code, I still have to remind myself from time to time!

  Jan 22, 2022 (rev. Oct 11, 2025) ·  3 min

Mocking MessageBox (or any static class) in WinForms

Unit testing a WinForms app is an uphill battle in the best of times, before you add in classes like MessageBox. Let’s make the best of it.

  Jan 7, 2022 (rev. Oct 11, 2025) ·  4 min

Using nameof to avoid magic strings in C#

There’s a lot of ways to make our code work for us. Let’s check out using the nameof operator to avoid magic strings.

  Dec 30, 2021 (rev. Nov 27, 2025) ·  6 min

Sunk costs, timeboxing, and asking for help

One of the biggest struggles I have with programming is knowing when to ask for help. A little struggle is necessary for growth, but when am I just wasting time when I could be learning from others?

  Dec 20, 2021 (rev. Oct 10, 2025) ·  2 min

A more helpful exception box for WinForms apps

If you’re in a legacy codebase with a centralized “message box” form, why not add some features that make it work for you? 😏

  Dec 7, 2021 (rev. Oct 11, 2025) ·  3 min