Jonathan's Blog
Keeping Things Running

Keeping Things Running

I have a series of PowerShell functions that help keep my VM and Docker containers running and accessible.

Jonathan Peterson
Creating Home Assistant automated alerts for high humidity and temperature

Creating Home Assistant automated alerts for high humidity and temperature

Set up humidity sensor alerts in Home Assistant using HTML5 push notifications. Avoid issues like high humidity or a left-open freezer with automated alerts!

Jonathan Peterson
Tips for passing the Azure AI-900 and Azure AI-102 exams

Tips for passing the Azure AI-900 and Azure AI-102 exams

I recently held a study session for a group of people hoping to take these exams, and I wanted to bring that to you as well. These are my tips and tricks for taking the AI-900 and the AI-102.

Jonathan Peterson
Home Assistant 433MHz humidity sensors

Home Assistant 433MHz humidity sensors

I use rtl_433 to post AcuRite humidity sensor data to Home Assistants using MQTT.

Jonathan Peterson
 How to use Dependency Injection with Semantic Kernel and plugins

How to use Dependency Injection with Semantic Kernel and plugins

You can register Semantic Kernel and your native plugins with the dotnet DI container automatically with some reflection magic.

Jonathan Peterson
Azure Self-hosted Container Agent

Azure Self-hosted Container Agent

Self-hosted Azure DevOps agents are a great choice for teams seeking tailored build environments and greater control over their CI/CD processes. These agents make it easy to customize capabilities, allowing for the installation of specific software and the use of machine-level caches, which significantly enhance performance

Jonathan Peterson
My Home Automation Setup

My Home Automation Setup

I upgraded my old Raspberry Pi 3 to a Beelink EQ12 that runs Windows Server 2025 and some docker images. Pi-hole and WireGuard help make my at home and remote internet traffic safer. Home Assistant brings all my smart devices together.

Jonathan Peterson
Azure's Generative AI Services

Azure's Generative AI Services

I'm taking a look at using Azure's OpenAI services along with Azure's Speech Services to create some fun interactive, generative AI examples.

Jonathan Peterson
Three ways to communicate from Blazor to an API with Azure B2C

Three ways to communicate from Blazor to an API with Azure B2C

I'm continuing my Blazor series and in this article, I will show how to communicate with a backend API and SignalR with Azure B2C.

Jonathan Peterson
Authenticating Blazor application with Azure B2C

Authenticating Blazor application with Azure B2C

Using Azure B2C in Blazor is a great way to authorize and authenticate your users. I'll show you how to use MSAL in a web, Maui and WPF application.

Jonathan Peterson
 Azure B2C with a PowerShell Script

Azure B2C with a PowerShell Script

Here's how you can automate an Azure B2C Tenant setup and creation. It can set up any app registrations, API connectors, user flows and more.

Jonathan Peterson
Pulumi and Fluent Validation

Pulumi and Fluent Validation

You can use Pulumi together with FluentValidation in C# to help validate your developers configurations and prevent high-cost resources from being misconfigured.

Jonathan Peterson
Azure B2C the Manual Way

Azure B2C the Manual Way

I want to show you how to set up Azure B2C the manual way. We'll create App Registrations, API Connectors for custom claims and a Microsoft Identity Provider.

Jonathan Peterson
Blazor Series - Introduction (Part 1)

Blazor Series - Introduction (Part 1)

I'm starting a series of blog posts where I'll be talking about Blazor and how you can utilize it. In this post, I'll be introducing the current project structure and topics that I will cover.

Jonathan Peterson
Using Bicep with Azure Container Registry

Using Bicep with Azure Container Registry

Bicep is a much cleaner IaC compared to ARM templates. Bicep modules are a great way to reuse and simplify your code. You can host these modules inside an Azure Container Registry to make the modules available across multiple projects.

Jonathan Peterson
Tagging All Your Azure Resources

Tagging All Your Azure Resources

I'll show you how you can loop through all the existing Azure resource and tag them with the CreatedTime.

Jonathan Peterson
A Brief Look At Azure Load Testing

A Brief Look At Azure Load Testing

I'm exploring Azure Load Testing, how to set it up and use it to test a sample app to measure the impact of a heavy user load on Azure resources.

Jonathan Peterson
Version 6 is out now

Version 6 is out now

Version 6.0.0 of my date time picker has finally launched. I'm excited to bring it to you and see what's in store next.

Jonathan Peterson
Unlocking Azure Key Vault Secret Deployment

Unlocking Azure Key Vault Secret Deployment

I'm going to give you the keys to unlock the secret of how to use Azure Key Vault in your Azure App Services configuration. We'll use Bicep to deploy our resources and AZ CLI to push values to the Vault.

Jonathan Peterson
Proactive CPU Monitoring Part 2

Proactive CPU Monitoring Part 2

I turned the Azure Proactive CPU Monitoring setup into a Azure DevOps Task Group, so it can be reused and maintained.

Jonathan Peterson
Deploying Proactive CPU Monitoring for an Azure Web App with Azure DevOps

Deploying Proactive CPU Monitoring for an Azure Web App with Azure DevOps

I enabled Proactive CPU Monitoring for an Azure Web App using the Azure PowerShell task in Azure DevOps.

Jonathan Peterson
Faking API calls in Angular

Faking API calls in Angular

When creating UI/UX components before the API or DB is in place, there are a number of tricks that can be used to simulate an API call. It is easy to change the model on the front end and change how the screen works without needing to update the DB and API.

Jonathan Peterson
Let's talk toast..r

Let's talk toast..r

How to use ngx-toastr with Bootstrap 5 using Bootstrap's built-in toast component.

Jonathan Peterson
Creating a HAR file with Angular

Creating a HAR file with Angular

You can create an HTTP Archive format, or HAR file from Angular to get additional debugging information from your http requests that can be provided from your users.

Jonathan Peterson
State of My Datetime Picker Part 2

State of My Datetime Picker Part 2

An update explaining where things are currently with the Tempus Dominus date picker.

Jonathan Peterson
Building a Small Date library

Building a Small Date library

I created a small date library for javascript using native function and no external dependencies as a replacement for needing moment.js or day.js.

Jonathan Peterson
State of my datetime picker

State of my datetime picker

Outlining the plan for my datetime picker revitalization.

Jonathan Peterson