{"version":"https:\/\/jsonfeed.org\/version\/1","title":"Brandon's Blog","description":"A Canadian with a passion for open source, tech, web development, and amateur radio","home_page_url":"https:\/\/brandonb.ca","feed_url":"https:\/\/brandonb.ca\/feed.json","icon":"https:\/\/dc1r9kxqg42ml.cloudfront.net\/brandonb.ca\/logo-144.png","favicon":"https:\/\/dc1r9kxqg42ml.cloudfront.net\/brandonb.ca\/logo-144.png","author":{"name":"Brandon Brown","url":"https:\/\/brandonb.ca"},"items":[{"title":"Building a Windows 11 gaming virtual machine for fun","date_published":"2026-02-22T00:00:00+00:00","id":"https:\/\/brandonb.ca\/windows-11-gaming-vm-for-fun","url":"https:\/\/brandonb.ca\/windows-11-gaming-vm-for-fun","author":{"name":"Brandon Brown"},"content_html":"<p>Running games inside a virtual machine used to be a pipe dream, the kind of thing hobbyists would attempt only to be humbled by unplayable frame rates and driver nightmares. That\u2019s no longer the case. With GPU passthrough on a modern hypervisor like XCP-NG, you can get performance that is genuinely hard to distinguish from a native install, while also reaping all the benefits that come with running an OS as a VM: snapshots, easy migration, and the ability to repurpose hardware on a whim.<\/p> <p>This post walks through setting up Windows 11 Pro as a purpose-built gaming VM on XCP-NG, including how to stream games to any device on your network using Sunshine and Moonlight. It won\u2019t cover installing XCP-NG or configuring Xen Orchestra from scratch, as that\u2019s a topic for another day. Everything described below is done through the Xen Orchestra VM Console until Sunshine is up and running, at which point Moonlight can be used to stream the desktop.<\/p> <br \/> <a href=\"https:\/\/brandonb.ca\/windows-11-gaming-vm-for-fun\">Click through to read this post<\/a>"},{"title":"Entering the world of 10G networking","date_published":"2026-02-11T00:00:00+00:00","id":"https:\/\/brandonb.ca\/entering-the-world-of-10g-networking","url":"https:\/\/brandonb.ca\/entering-the-world-of-10g-networking","author":{"name":"Brandon Brown"},"content_html":"<p>As a millennial who grew up during the networking transition from 10\/100M to gigabit, my RadioShack trip to purchase that first gigabit switch remains a formative memory \u2014 an investment that felt extravagant at the time for equipment that would become standard within a decade.<\/p> <p>In early November 2025, while researching cost-effective ways to implement 10G networking in my homelab, I stumbled upon a trove of information and a wonderfully amusing meme culture built around the Brocade brand (owned by Ruckus Networks) in the <a href=\"https:\/\/forums.servethehome.com\/index.php?threads\/brocade-icx-series-cheap-powerful-10gbe-40gbe-switching.21107\/\">ServeTheHome forums<\/a>. Watching a 200GB VM backup crawl across gigabit for 25 minutes while you\u2019re trying to test something else gets old fast. Now? The same transfer completes before I can pour a cup of coffee. What follows in this post is the course taken to go from mere curiosity to implementation.<\/p> <p><img src=\"https:\/\/forums.servethehome.com\/data\/covers\/thread\/l\/21\/21107.jpg?1605078071\" alt=\"Do you even switch, broh?\" \/><\/p> <br \/> <a href=\"https:\/\/brandonb.ca\/entering-the-world-of-10g-networking\">Click through to read this post<\/a>"},{"title":"Orchestrating my homelab self-hosted services with Komodo and git","date_published":"2025-12-22T00:00:00+00:00","id":"https:\/\/brandonb.ca\/homelab-komodo-docker-orchestration","url":"https:\/\/brandonb.ca\/homelab-komodo-docker-orchestration","author":{"name":"Brandon Brown"},"content_html":"<p>This post covers how I went from a single server running all my self-hosted services to a small fleet of \u201cservers\u201d that I manage with Komodo, XCP-NG, and unRAID. That decision was prompted by a spell of unexpected downtime to install\/fix\/replace something in my unRAID server (it doesn\u2019t matter what it is because that\u2019s not important to this post). In doing so, I lost access to all of my Homebridge devices in the \uf8ff Home app which meant I couldn\u2019t turn off some devices or even see my security camera feeds, my Plex server then became inaccessible for myself and the remote users who stream from it, and I couldn\u2019t read my news feeds from FreshRSS, among losing access to the many other services.<\/p> <p>To some this scenario might seem like a minor annoyance, but to me\u2026 well, in my quest for data privacy and independence, encountering this situation felt awfully <em>devastating<\/em> considering the time I\u2019d invested in not only my abilities but to have everything running smoothly for so long. Self-hosting the services I need to accomplish tasks, or waste time, is something I take a lot of pride in but extended periods of downtime started to boil my blood.<\/p> <p>In my day job I work with all manner of software development hijinks and I\u2019ve seen \u201csingle-source\u201d failures happen first hand in a production environment when unseasoned people build \u201cscalable\u201d systems. This got me thinking: what if I brought fault tolerance and resiliency to my homelab to mitigate these situations? I had enough hardware on hand to build out infrastructure to support it, and I had the knowhow to make it happen.<\/p> <p>After sketching a quick breakdown of what I thought was needed, I began to split up the services running on my monolithic unRAID server across multiple servers. Now that I\u2019ve gone through this exercise I can pull one, or even two, servers offline and still have service availability (for the most part). One of the other benefits to doing this is that my infrastructure can be declarative in code and I can spin up new infrastructure more easily with a single git commit. It\u2019s not as simple as running an Ansible playbook where I could spin up or even orchestrate the creation of fully configured servers themselves, but it eliminates a class of error I would definitely encounter having to remember all the steps required to get a working set of services running again from scratch.<\/p> <br \/> <a href=\"https:\/\/brandonb.ca\/homelab-komodo-docker-orchestration\">Click through to read this post<\/a>"},{"title":"Exploring XCP-NG and Xen Orchestra for my homelab","date_published":"2025-11-04T00:00:00+00:00","id":"https:\/\/brandonb.ca\/exploring-xcp-ng-homelab","url":"https:\/\/brandonb.ca\/exploring-xcp-ng-homelab","author":{"name":"Brandon Brown"},"content_html":"<p>In my <a href=\"\/continuing-to-selfhost-almost-everything-in-my-life-with-unraid\">last post<\/a> I talked about starting to build out a homelab for virtualization after diving into unRAID which had gotten me interested in the topic. While I\u2019d read about Proxmox being good to start with, ultimately I started building out some infrastructure using <a href=\"https:\/\/xcp-ng.org\/\">XCP-NG<\/a> and <a href=\"https:\/\/xen-orchestra.com\/\">Xen Orchestra<\/a> instead. I was quite pleased with the experience and decided it needed to be shared here.<\/p> <br \/> <a href=\"https:\/\/brandonb.ca\/exploring-xcp-ng-homelab\">Click through to read this post<\/a>"},{"title":"Continuing to self-host (almost) everything in my life with unRAID","date_published":"2025-09-10T00:00:00+00:00","id":"https:\/\/brandonb.ca\/continuing-to-selfhost-almost-everything-in-my-life-with-unraid","url":"https:\/\/brandonb.ca\/continuing-to-selfhost-almost-everything-in-my-life-with-unraid","author":{"name":"Brandon Brown"},"content_html":"<p>It\u2019s been over a year and a half since I posted about <a href=\"\/how-to-self-host-almost-everything-in-your-life-with-unraid\">my unRAID server<\/a> and in that post I talked about rebuilding my aging Windows-based media server. Since then, my mind has been expanded by the ease at which I can spin up containerized self-hosted open-source services to use wherever and whenever I please.<\/p> <p>I continue experimenting with this unRAID server and used it as a kicking off point, diving into some projects to increase my skills for both my personal and professional life. This includes planning and building out a proper backup system, as well as dipping my toes into virtualization with XCP-NG, but I\u2019ll save that for a future post.<\/p> <br \/> <a href=\"https:\/\/brandonb.ca\/continuing-to-selfhost-almost-everything-in-my-life-with-unraid\">Click through to read this post<\/a>"},{"title":"The Best Amateur (Ham) Radio Apps for iOS\/iPadOS and Android","date_published":"2025-02-08T00:00:00+00:00","id":"https:\/\/brandonb.ca\/best-ham-radio-apps","url":"https:\/\/brandonb.ca\/best-ham-radio-apps","author":{"name":"Brandon Brown"},"content_html":"<p>This is a list of the best Amateur (Ham) Radio apps I\u2019ve found across the internet and personally used. It doesn\u2019t intend to be the most exhaustive, however it does intend to be updated regularly as I find and test new apps.<\/p> <br \/> <a href=\"https:\/\/brandonb.ca\/best-ham-radio-apps\">Click through to read this post<\/a>"},{"title":"BC & Alberta Provincial and Canadian National Parks Camping Road Trip Journal","date_published":"2024-10-11T00:00:00+00:00","id":"https:\/\/brandonb.ca\/bc-alberta-canada-parks-road-trip","url":"https:\/\/brandonb.ca\/bc-alberta-canada-parks-road-trip","author":{"name":"Brandon Brown"},"content_html":"<p>On September 22, 2024 my wife, our two dogs, and I embarked on a multi-week road trip to camp at some of BC and Alberta\u2019s National and Provincial Parks. Our planned stops were in Revelstoke, Banff, Yoho National Parks, and Mount Robson Provincial Park with our travel trailer. Along the way we planned to visit some family and friends near 100 Mile House, BC.<\/p> <p>Since I haven\u2019t posted much on my blog in the last few years, and have been slowly waning myself off posting my content on social media sites that are not owned by me, it was decided that I should leverage my own site to catalog our road trip journey. What follows is something of a daily journal of our trip; my wife also wants us to commemorate our trip with a \u201csmash book\u201d that she picked up almost a decade ago and finally has a use for it.<\/p> <p>This is an image-heavy post, you have been warned.<\/p> <br \/> <a href=\"https:\/\/brandonb.ca\/bc-alberta-canada-parks-road-trip\">Click through to read this post<\/a>"},{"title":"How to self-host (almost) everything in your life with unRAID","date_published":"2024-03-09T00:00:00+00:00","id":"https:\/\/brandonb.ca\/how-to-self-host-almost-everything-in-your-life-with-unraid","url":"https:\/\/brandonb.ca\/how-to-self-host-almost-everything-in-your-life-with-unraid","author":{"name":"Brandon Brown"},"content_html":"<div class=\"post-updated\"> <p><strong>[August 2024 Update]<\/strong> I\u2019ve been running this server very stable for several months. In that time I\u2019ve explored adding more services to my self-hosted life, namely:<\/p> <ul> <li>running my own custom-built dockerized Discord bot<\/li> <li>hosting my own <a href=\"https:\/\/docs.gitea.com\/installation\/comparison\">Gitea<\/a> instance for version control (accompanied by Gitea Actions for CI\/CD) to reduce my reliance on GitHub<\/li> <li>recipe management powered by <a href=\"https:\/\/mealie.io\/\">Mealie<\/a><\/li> <li><a href=\"https:\/\/www.scrypted.app\/\">Scrypted<\/a> for NVR camera connection to Homekit with HKSV (HomeKit Secure Video)<\/li> <li><a href=\"https:\/\/github.com\/sysadminsmedia\/homebox\">Homebox<\/a> for physical asset management<\/li> <\/ul> <p>Nextcloud was removed entirely from my stack not long after using it because it does not play well with Apple devices and the UI is <em>very janky<\/em> which is a shame for a project as mature as it is.<\/p> <p>I\u2019m constantly evaluating third-party services that I can remove and bring in-house, and I\u2019m sure more will be self-hosted as time marches forward. I will update this space every few months to catalog my changes until it gets to be it\u2019s own post.<\/p> <\/div> <p>Maintenance is a word that can strike fear in even the most seasoned administrators; it is also the bane of my existence. Sometimes we spend countless hours maintaining something for very little return.<\/p> <p>In this post I talk about building a new machine to replace my aging <a href=\"\/ultimate-media-server-setup\">media server<\/a> and how you can take back some control over the data you constantly give out to services and products on the internet by bringing some of these in-house to your own network.<\/p> <br \/> <a href=\"https:\/\/brandonb.ca\/how-to-self-host-almost-everything-in-your-life-with-unraid\">Click through to read this post<\/a>"}]}