Ken Muse
The New DevOps - Why AI Is Not Taking Your Job (Yet)
Using Git Worktrees for Concurrent Development
Creating a CodeQL Image for ARC With Python 2
Creating a CodeQL Image for ARC
Creating a Custom Buildroot Package For Binaries
Speeding Up the Buildroot Toolchain
Configuring Buildroot for Crafting Images
Building OCI Images With Buildroot
Building OCI Images Without Using Docker
Understanding the Secret Life of AI Tools
Calling Docker From Inside a GitHub Job Container
Authenticating Docker in Docker Containers in Kubernetes
Why Exporting Environment Variables Doesn't Work In Actions
How to Dynamically Authenticate With Git
How Does Git Authentication Work?
Good Code Doesn't Care Where It Lives
Retrieving Properties From a Gitsigned Commit
Using Gitsign for Keyless Git Commit Signing
What's New in GitHub Actions Runner Controller
Navigating the Home Automation Standards
Inside My Home Automation Journey
The Most Dangerous Phrase in Software Development
The Secret Life of Git Large File Storage
Migrating Git With An LFS Configuration File
Defining an Infrastructure-as-Code Maturity Model
Managing Pod Resource Requests and Limits in Kubernetes
Distributing .NET Dependencies and Settings With Packages
Using A Kubernetes Native Sidecar With GitHub ARC
Taking Advantage of Kubernetes Native Sidecars
Exploring The Three Flavors of GitOps
How to Test a .NET Package
Distributing Custom .NET Tasks
Creating a Zip Package in .NET
Migrating Submodules That Use Large File Storage (LFS)
What Is a GitHub Tool (And Why to Use Them)
Defining The Process for Securing Your Supply Chain
Using React in Visual Studio Code Webviews
Improved Blogging With Visual Studio Code Webviews
Improved Blogging With Visual Studio Code Extensions
Improved Blogging With Visual Studio Code Tasks
Testing Kubernetes Operators and Controllers With Minikube
Implementing Private VS Code Extensions for Dev Containers
How to Handle Step and Job Errors in GitHub Actions
Using Dynamic Environment Variables With GitHub
Mastering the Jest TestEnvironment Event Types
A Crash Course on Jest TestEnvironments with TypeScript
Implementing Processes for GHAS using GitHub Probot
The Ultimate Tips for Working With Large Git Monorepos
Planning Kubernetes Cloud Deployments
Understanding Kubernetes Resource Consumption
The Ultimate Debugging Hack for Developers
Scaling ARC on a Schedule
How I Blog (or How I Learned to Automate Everything)
The Top 5 Things To Know About ARC
The Importance of Kubernetes Logs
The Magic of Scaling and Auto-Scaling
Strategies for Upgrading ARC
Decoding Binary Data in Swift
Creating Swift Binary Decoders
Building Base Images for ARC
Supply Chain Security in CI/CD Systems
Creating an Int24 for iOS
Fashion, DevOps, and Certificates
Understanding Bluetooth Basics
Swift, Workouts, and Bluetooth Low Energy
Building GitHub Runner Images With an Action Archive Cache
Building GitHub Actions Runner Images With A Tool Cache
What Is ARC Doing & How Does It Interact With Kubernetes?
The New DevContainer initializeCommand
What Developers Should Know About Floating Point Numbers
GitHub Actions and Monitoring
Troubleshooting Git Authentication
Getting User Input When Starting a Dev Container
Mounting Files as Volumes
Understanding Container Image Layers
Automating Azure OIDC Application Federation
More Best Practices for Deploying GitHub ARC
Best Practices for Deploying GitHub ARC
Why You Should Use Dedicated Clusters For GitHub ARC
GitHub Actions Injection Attacks
The Two GitHub ARCs (and Why You Should Only Use One)
Enabling GitHub ARC Metrics
My New, Updated Speaking Page
Understanding OIDC and Identity Federation
Comparing Azure DevOps and GitHub
Automatic SSH Commit Signing With 1Password
Understanding the SLA of ARC
Windows Runners on Actions Runner Controller
Automatic SSH Commit Signing With Dotfiles
Catching Up On My Blog Posts
Organizing Build Processes
The Image Factory Pattern
Shared Commits and GitHub Checks
The Hidden Dangers in Dependencies
Forcing .NET Into Debug Mode
Surviving A Dangerous Indigestion
Understanding .NET Debug vs Release
An Introduction to SourceLink
Understanding Symbol Servers
What Every Developer Should Know About PDBs
Understanding Certificate Authorities
Understanding X.509 Certificates
Universal Packages on GitHub With ORAS
Creating GitHub Checks (and Understanding the Checks API)
The Many SHAs of a GitHub Pull Request
Why You Should (Not) Prefer Monorepos For Git
That Template Repository Trick
GitHub Actions Workflow Permissions
Improving Dev Container Feature Performance
Mastering Azure Virtual Machines
Where to Start With Azure
Dubious Ownership With Static Web Apps
Dynamic Build Matrices in GitHub Actions
GitHub, Maven, and Packages
Mythical Development Heroes
Mythical Development Time
Preventing GitHub Actions Injection Attacks
The Life of a Commit After Git Squash
Understanding Push Triggers and Branches in GitHub
Modeling the Human Costs of Bad Development Practices
Custom Azure GUIs for ARM and Bicep Templates
Modeling the Hidden Costs of Development
The Hidden Costs of Bad Development Practices
Using New GitHub APIs With Probot
Implementing Docker Layer Caching in GitHub Actions
Implementing Docker-from-Docker for Non-Root Users
Improving Docker-From-Docker With Features
Intro to Dev Container Features
What Are GitHub Verified Domains?
Docker-from-Docker in Alpine Dev Containers
Wrapping Up 2022 (and Looking Forward to 2023)
Using Git SSH From Docker With a Local Proxy
SSH and Multiple Git Credentials
Beware the Non-Compete Agreement
Presentations and Copyrights
Employment Contracts and Copyrights
Moving From Android to iPhone
Security Theater - The Illusion of Compliance
Doing DevOps With Databricks
Implementing DevOps for Azure Data Factory
Azure Data Factory DevOps
Using Node Version Manager (NVM)
Comparing GitHub Commit Signing Options
Fast Start Dev Containers
Using the Docker Cache for Faster Builds
Waiting for Docker Compose Up
Ruby for the .NET Developer
Forcing Dev Containers To Use AMD64
My New and Improved Blog!
Marking Workspaces Safe with Dotfiles
Avoiding Dubious Ownership in Dev Containers
Dev Containers and AWS Credentials
Dev Containers and node_modules
Comparing Azure Front Door to Other Services
Coloring Consoles in ANSI
Creating a .gitattributes Without Committing
What Is The .gitattributes File?
Creating a .gitignore Without Committing
Variable Groups in GitHub
Publishing Images With GitHub Actions
Notarizing .NET Console Apps for macOS
Configuring macOS Notarization
Creating Visual Studio Code Extension Packs
Adopting a Dark Theme in Hugo
Running Hugo in macOS Dev Containers
Joining GitHub (and leaving Wintellect)
Distributing Templates with GitHub
Custom .NET Item Templates
Scaling Legacy .NET Web Forms on Azure
Is it Azure, Azure Gov, or GCC High?
Azure SQL Database Ledger
Deploying to Azure from Private Container Registries
Azure Container Solutions
Unexpected Optimizations (Why More Is Less)
Git Line Staging & Patch Editing
Using Git Line Staging to Commit Parts of Files
Configuring Git's Text Editor
Using Azure Run From Package
Azure Function Trigger Syncing
Have It Your Way - The Magic of dotfiles
Bicep and APIM Template Not Found
Fixing APIM Tags - Name Should Not Be Empty
Containers and the WSL2 File System
Dev Containers, Codespaces, and Bicep, Oh My!
Connecting Azure APIM and AppInsights Using Bicep
Creating Hidden Links in Bicep
Using Development Containers
Understanding Long-Running Cloud Tasks
How To Delay Outlook Messages
Reusing GitHub Workflows and Centralized Processes
Intro to Data Lake Storage
Understanding Modern Data Warehouse Storage
Modern Data Warehouse Ingestion
My Experience Migrating to Hugo
Introduction to the Modern Data Warehouse
Restricting Azure App Services to Azure Front Door
Automating SQL Server 2019 Docker Deployments
Restoring Azure Tests for SonarQube
Missing Tests on Azure DevOps
Introducing My New Blog Site
Understanding ARM Templates _artifactsLocation
ARM Templates and Cloud Init
Data DevOps: Deploying SQL Server DACPACs to Docker
DevOps and Creating Documentation
Mastering Azure Network Addresses
Understanding the Azure Certification Path
Conditional Build and Release Tasks in VSTS
Using OnMicrosoft.com Azure Active Directory Accounts
Enabling Release Annotations in VSTS
Correctly Sizing Azure Virtual Machines
Handling “Open File – Security Warning”
DevOps News From Connect(); 2017
Using SSH with Visual Studio Team Services
Creating First-Run ARM Templates
Installing VSTS Build Agents on macOS
Creating Recoverable TFS Backups
Creating a Temporary Visual Studio Environment
DevOps: Connecting VSTS to Azure
Azure Real World: Optimizing PHP Applications for the Cloud