Refactoring my homelab with GitHub Copilot

The Setup

Like many tech enthusiasts, I run a homelab. Here’s what I’m working with:

  • Proxmox server built from my old gaming PC, running a bunch of LXC containers and VMs (both Linux and Windows Server)
  • Raspberry Pi’s scattered around running various services - the legacy homelab, mostly retired now (RIP)
  • NGINX reverse proxy acting as the “front door”
  • Synology NAS for backups and media storage
  • Docker containers hosting some personal websites (both joke projects and professional ones)

After my positive experience using AI assistants for development work, I thought: “Why not use GitHub Copilot to help refactor some of my homelab stuff?” I’ve had several side project things I’ve been meaning to do for YEARS but never got around to it.

It ain’t much, but I’m proud of it slaps server rack.

Spoiler alert, I’ve burned A LOT of premium assistant credit chewing out the Agent after it ran a rm -rf on my NAS…

Read More

VibeCoding with Amazon Q - Practical AI Integration for Daily Development

Overview

There’s a certain irony in writing about cutting-edge AI tools in 2026. Much like my previous posts about VB6 (a language that’s mostly irrelevant today), there’s a good chance the specific tools and techniques I’m documenting here will be outdated in a few months with how fast this industry is moving. Amazon Q will evolve, new models will emerge, and today’s “best practices” will become tomorrow’s legacy workflows.

That’s exactly why it’s worth documenting now. Just as those VB6 posts might help someone debugging ancient code today, this captures a snapshot of how I actually worked with AI in early 2026.

Read More

VB6 Writing to a Log File

Overview

I’ve had to debug several VB6 DLL’s during development and found it’s invaluable to be able to write to a log to figure out where the processing is getting hung up.

This forum post gave me the code to do this

I’ll also copied the code below in case the website above goes away. Further more, I added a way to append to a file to have a rolling log. This isn’t meant to be used for long term since there is no logic to roll to a new file.

Read More

DLL Hell with a VB6 client

Overview

The app I admin is written in VB6 which uses a ton of ActiveX controls and COM+ DLL libraries. These libraries and controls are registered into the Windows registry which generates a GUID in HKEY_CLASSES_ROOT\CLSID along with entries of the filename and path, Company, etc.

To register the libraries/controls, you use regsvr32 with the file path. For my app’s case, it’s best to use the SysWow64 version of regsvr32 (which means you must run it from that directory) since most of our stuff is 32bit. Good news is that GUID will stay the same as long as Binary Compatibility is enabled for the VB6 project.

Read More

Code for this blog can be found here!