Patrick McVeety-Mill:

Loud & Abrasive

Posts on development, software, and technology including tips, troubleshooting, and "nobody-asked-you" commentary.

  • Can A Linux Docker Swarm Run on Windows Hosts?

    TL,DR: Not Yet in Production

    I am currently working on a failover orchestration for a small system of servers running a medium number of applications. Most of those, and their supporting infrastructures, are packaged and deployed using Docker. Container orchestration tools like Docker Swarm and Kubernetes have some righteous features like automatic internal DNS, service discovery, routing, and system-self-healing that make failing over when a host fails a breeze to set up. The only trick is, our hosts are Windows servers (Windows 10 IoT to be specific) which aren’t particularly known for playing nice with Docker. Can we have it our way? Come with me on my journey to find out!

    Read On
  • An OK Use for Tuples in C#

    Tuples get a bad rap in C#, mostly because until recently they were a pain to work with. As of C# 7, they are much nicer, but I am still missing the instinct to use them. Last night a friend was streaming work on a side-project using the Unity game engine. It’s been too long for me to provide any help with geometry, but we started talking about readability when I saw a nice opportuplety.

    Read On
  • Reflections on Leading a Greenfield Project

    Today is my first day ‘off’ after leading a development project for a bit more than a year. Besides being a pretty long time for consulting, this was unique in being the first greenfield project I’ve tech-led. Overall it was a success, but as in all things, there were lots of lessons learned I am now reflecting on.

    Read On
  • Securing Cloud Infrastructure with Azure Managed Identities

    Of the Azure features I’ve become more acquainted with these past couple years, Managed Identities are one of my favorites. Managed Identities are system-managed service principals that allow for a level of security control I hadn’t considered before, where keys and passwords can be ‘eliminated’ or rotated so frequently that no human has (at-ready) access to resources, without requiring (even automated) code or configuration changes for applications. They are a breeze to set up in .NET Core, and “you can too” using this guide.

    This article once appeared on

    Read On