Blog

ASP.NET Entra ID Authentication with Managed Identities

Security is critical these days and the removal of secrets is always a great thing. This blog post explains how to use Entra ID authentication with an ASP.NET app without client secrets using managed identities in Azure. At a high level, the following needs to be completed for this to work. Create a Using Assigned Managed identity in Azure Managed identity added as an identity to the web app Managed identity added to the Entra ID app using federated identity credentials Config section added to the web apps environment variables Please note, this ONLY works for resources published in Azure.

Read more →

June 18, 2024

Dynamically creating an IMG file with a FAT32 partition

I recently had a need to dynamically create an img file containing a FAT32 partition so its contents would be bootable on a PC. I had a heck of a time trying to put all the pieces together from different articles online. Alas, I came up with a working solution, so here it is. Enjoy! This solution is for Linux. It does not work on Windows, but will work on Windows Subsystem for Linux (WSL).

Read more →

October 27, 2023

Downloading individual files from an Azure DevOps pipeline artifact using the REST API

If you’ve come here, you know what you want. You want to be able to download individual files from an Azure DevOps pipeline artifact. The documentation makes no sense. So lets get straight to the point. First, I want to point out that this only works with PublishPipelineArtifact, and NOT with PublishBuildArtifacts I’ve created a demo pipeline for this post. It simply creates two text files and publishes them as a pipeline artifact.

Read more →

October 7, 2023

Running a Cloudflare DDNS service for your home VPN

In this post I’m going to show you how to use the Cloudflare DDNS service I wrote to keep my constantly changing public IP updated with my VPN’s DNS record in Cloudflare. I use a NetGear Orbi router at home, and it supports using No-IP as a free DDNS service. The problem with using this free service, is you have to login and manually confirm your free hostname monthly. While this may be okay for those that don’t own any domain names, it isn’t something I wanted to keep doing manually.

Read more →

February 20, 2023

Create a SSL certificate for your home network Part 2

As a follow up to my previous post Create a SSL certificate for your home network, I’ve created a simple shell script you can to use to quickly create ssl certificates for a local domain. Create a create_ssl.sh file with the following contents: # GENERATE SSL CERTIFICATE # pi.lan, *.lan # # PARAMETERS # 1: Root Password # 2: Validity in days # 3: PFX Password # # EXECUTION # chomd +x create_ssl.

Read more →

November 25, 2022

Create a SSL certificate for your home network

In this post I will explain how to create a SSL certificate for your home network and how to install the root cert onto your computers so your browsers trust it. Why?For me, the need came after I created a docker cluster on one of my Raspberry Pi’s with a reverse proxy and wanted to expose those services with local DNS using the pi.lan domain. I didn’t want to enable port forwarding and expose my services to the internet.

Read more →

August 22, 2022

2022 Development/Gaming PC Build

It’s time to build a beast of a development/gaming desktop PC in 2022! The last computer I purchased was a Surface Book 2, over 4 years ago. It did an okay job for development, but it wasn’t great for gaming, and wasn’t VR ready. The biggest flaw for development was the RAM, with only 16GB. It wasn’t great running multiple instances of Visual Studio and multiple docker containers. There were countless times I found myself needing to close a VS instance to free up memory.

Read more →

August 4, 2022

Windows Forms Lifetime

This post will go over the Windows Forms Lifetime library I’ve started writing. The library is a Windows Forms hosting extension for the .NET Generic Host. It enables you to configure the generic host to use the lifetime of Windows Forms, aka when the main Form closes, the host will shut down. https://github.com/alex-oswald/WindowsFormsLifetime Get started with .NET 6’s Minimal API Create a new Windows Forms App. Change the projects SDK to Microsoft.

Read more →

February 23, 2022

Outlook Rule for 'on behalf of' Emails

I get a lot of different alert emails, from Azure DevOps, AWS, etc. Setting up rules to move these emails to different folders is important for my sanity. Alert emails I typically get come from a central source, and the on behalf of email is from the root source, like Azure DevOps or AWS. This post answers the question: How do I setup an Outlook rule to filter on behalf of emails?

Read more →

November 17, 2021

Pi-Hole in Docker on a Raspberry Pi

I’ve been wanting to setup Pi-Hole in my house for quite some time and I finally got around to getting it done. It has been working great so far, blocking an average of 15-20% of requests. This blog post explains how I’m running Pi-Hole via Docker on a Raspberry Pi. I’m dedicating a Raspberry Pi 4 to the task. With all the Docker work I’ve been doing lately, I decided to run Pi-Hole in a container, and you can too.

Read more →

August 8, 2021

Creating a Static Blog with Jekyll, Dev Containers & Azure CDN!

I’ve always wanted to create my own blog to share my solutions to different coding problems I’ve experienced over the years. I’ve finally made time to create one, so here is how I did it. I started with a few requirements: Static site generator - I wanted to use a static site generator for its simplicity and speed benefits. Custom domain - Use the domain I purchased: alexoswald.com Fast & secure - It needs to be secure and fast, with caching.

Read more →

October 28, 2020