I’m Matthew Hunter, a programmer, sysadmin, and CISSP security officer. I’ve been building software and tinkering with Linux since the late 90s. This site is home to my projects, writings, and occasional musings on gaming, technology, and life.
Ubiquiti G4 Doorbell
The Ubiquiti G4 Doorbell
is a mixed experience. It integrates seamlessly into UniFi Protect with good picture quality, handles existing doorbell wiring better than the Ring and Skybell it replaced, and—critically—requires no monthly subscription for cloud storage since recordings go to your local Protect storage. But persistent software limitations undermine the hardware. Protect treats it like a camera rather than a dedicated doorbell, so you must stay actively signed into the app to receive notifications—and the app will sign you out. Cold weather kills reliability below freezing, WiFi signal through exterior walls is a constant struggle, and the optional chimes are disappointingly quiet. My advice: treat it as a camera that happens to be mounted at your front door, not as a reliable communication device.
Ubiquiti Mini Rack
The Ubiquiti Mini Rack is a 6U open-frame rolling rack designed for UniFi equipment. The build quality is excellent—smooth-rolling wheels, sturdy frame, toolless mounting for UniFi gear—and it’s genuinely useful for staging and organizing equipment before deployment. But 6U is an awkward size that gets cramped fast once you account for a switch, gateway, and power distribution, and the open mobile design creates an aesthetic problem: cables running to a rack on wheels look perpetually temporary. My gear ultimately ended up in a wall-mounted rack that looked intentional rather than improvised. The Mini Rack remains a good workbench on wheels for assembly and configuration, just not where I wanted my network infrastructure to live long-term.
Ubiquiti Switch Pro 24 PoE
The Ubiquiti USW-Pro-24-PoE
is a managed Layer 2/3 switch with PoE on every port that slots neatly into the UniFi ecosystem. Coming from unmanaged Netgear PoE switches, the visibility it provides into network topology transformed how I diagnose problems—the controller’s topology view shows exactly which devices connect to which ports, turning what used to require physical investigation into a glance at the dashboard. I bought it because every port has PoE, eliminating the guesswork of which wall port maps to a powered switch port. I kept it because of that topology view. Twenty-four ports sounds like plenty until you start counting cameras, wall jacks, access points, and infrastructure devices, so plan your deployment carefully.
Ubiquiti U6 Long Range Access Point
The Ubiquiti U6 Long Range
access point makes a bold claim right in its name. After deploying a single ceiling-mounted unit in a 4,000 square foot two-story home, that claim holds up—complete coverage across both floors with no dead spots, handling approximately fifty devices without complaint. Previous access points produced spotty coverage in corners and struggled through walls; those problems simply don’t exist with this unit. The UniFi integration is seamless, roaming between multiple APs is invisible to connected devices, and WiFi 6 efficiency keeps everything stable even when the household is actively streaming, video conferencing, and transferring files simultaneously. Just don’t mount it on your bedroom ceiling—the blue status LED is bright enough to disturb sleep.
Ubiquiti Dream Machine Pro
The Ubiquiti Dream Machine Pro
represents a significant step up from consumer networking gear, offering enterprise-grade features in a package that’s actually manageable for technically-inclined home users. After three years of continuous use, it’s proven itself as the backbone of a demanding home network running four VLANs, approximately fifty devices, nine cameras through Protect, and automatic WAN failover. The centralized management interface handles both networking and Ubiquiti’s camera system from a single console, replacing what would otherwise require command-line configuration or separate tools. The cloud login trend and occasional UI hiccups are annoyances worth noting, but they haven’t undermined three years of reliable operation. If you’re comfortable managing VLANs and understand why IoT devices belong on a separate network, this delivers.
Tin Soldier
By Matthew Hunter
| Jan 7, 2026
|

Tin Soldier
A dark reimagining of a timeless classic
, where love defies the boundaries between metal and mortality.
A one-legged tin soldier glimpses a beautiful one-legged lady in a distant castle and embarks on an impossible journey to reach her. But what begins as a romantic quest becomes a harrowing test of will, sacrifice, and the true meaning of love.
Across treacherous forests, past fearsome creatures, and through encounters with dark magic, the soldier transforms himself—literally and spiritually—in pursuit of his impossible dream. Yet as he discovers the princess he seeks and faces the sorcerer who holds her captive, he must choose between the perfection he’s always desired and the imperfection that makes him who he is.
Cyberleadership Program
By Matthew Hunter
| Oct 16, 2025
| isc2 This eight-week CyberLeadership program
from the CyberLeadership Institute guides experienced security professionals to operate at executive level, ending with a practical board‑facing capstone project that simulates the presentation of a 2-year plan by an incoming CISO to the board. Each week focuses on a distinct leadership domain, and includes practical action items and templates to be incorporated into the capstone. The course offers 40 CPE towards renewing my CISSP
.
Week 1 — The role of a CISO
Week 1 orients participants to the program and the cyber resilience mindset, and introduces the CISO role through lived experience and practical lessons. Participants explore the many variants of the CISO position, clarify their ideal role, and begin building a personal brand and interview readiness. The week covers essential first‑100‑day priorities, ways to engage the C‑suite, and personal resilience practices.
GIAC Forensic Analyst
By Matthew Hunter
| Feb 3, 2025
| giac I recently took and passed the GCFA certification exam
for forensic analysis. It was an interesting and educational experience, touching on logfile analysis, memory forensics, deep filesystem analysis, and timeline generation. Most of the content focused on Windows (event logs, NTFS filesystem formats, etc); I’m looking forward to finding a matching course with a Linux focus.
apt-cacher-ng
When you manage more than a handful of Debian or Ubuntu systems, you quickly discover that downloading the same packages repeatedly from the internet is both wasteful and slow. Enter apt-cacher-ng, a caching proxy specifically designed for Debian package repositories. It sits between your local machines and the upstream mirrors, storing packages locally after the first download and serving them from cache for subsequent requests.
The beauty of apt-cacher-ng lies in its simplicity. Installation is straightforward: a single apt install apt-cacher-ng on a server, and you have a working proxy listening on port 3142. Client configuration is equally painless – you can either set the proxy in each machine’s apt configuration, or use the auto-detect feature if your network supports it. Once configured, every package fetched by any client is cached, dramatically reducing bandwidth usage and speeding up updates across your network.
Taskfile
Every project accumulates a collection of commands: build the thing, run the tests, deploy to staging, convert images, lint the code. These commands live in README files, shell history, or the developer’s memory. Make has been the traditional solution for decades, but its tab-sensitivity and arcane syntax make it frustrating for simple task running. Taskfile
offers a modern alternative.
Taskfile uses a simple YAML format that feels immediately familiar. Tasks have names, descriptions, and commands. Running task serve executes the serve task. Running task --list shows all available tasks with their descriptions. No tabs-versus-spaces gotchas, no implicit rules to remember, no wrestling with pattern matching when you just want to run a shell command.