My Profile Photo

Matthew Hodgkins Blog


❤️er of Automation, AWS, DevOps, CI/CD, Python, Golang and Observability. Aussie living in the Netherlands.


  1. Downloading a file with PowerShell without specifying its name

    I’m going to show you how to download a file from the web using PowerShell without having to specify the filename on download. This definately falls into the category of “why is this so hard in PowerShell?”. Looks like some other folks agree: github.com/PowerShell/issues/11671. Usually you would need to use -Outfile to download a file, for example: Invoke-WebRequest -Uri "https://go.microsoft.com/fwlink/?linkid=2109047&Channel=Stable&language=en&consent=1" -Outfile "MicrosoftEdgeSetup.exe" How does the browser know what file to give the download though? Let’s...…


  2. Creating a VSCode Second Brain

    I have been diving into the topic of a “second brain”, a method of saving and linking our ideas, insights and thoughts. I was interested in this for a few reasons: To assist in active reading. I’ve read a lot of books and blog posts which often resonate with me. I find one week later, I’ve forgotten the advice or ideas that the reading inspired. I wanted to reduce the amount of reading (and re-reading)...…


  3. Securing Home Assistant with Cloudflare

    I’ve just started using Home Assistant through building my own smart garage door opener that I could control using my phone. It’s an amazing piece of open source software, and very easy to get setup locally, but I wanted to expose it to the internet so I could see the status of my garage door when away from the house using the Home Assistant App. I am running Home Assistant Core with Docker on my...…


  4. Automating Semantic Versioning for any Project

    Semantic versioning is the best known and most widely adopted convention for versioning software. If you aren’t familiar with it, read up on it before continuing. Once you start implementing semantic versioning for a project, you realize that you have just given yourself a small check list of items to go through for every release: Look through the commits since last release and determine if this will be a major, minor or patch release Decide...…


  5. Building a Golden Image Pipeline

    Welcome to this series of posts about creating golden images, and building a golden image pipeline. In this post, we are going to start with some definitions and introduce some concepts around the creation of golden images. Future posts will go in depth as to how to create a golden image pipeline. The series will focus on using Packer, Ansible and Windows, but the content will be generic enough to apply to any platform or...…