• simon@simonholman.blog
Burning hard disk

Errors backing up VM using DPM 2016

Issue: You’ve added a Hyper-V VM onto DPM 2016 and the VM is failing to backup. Replica creation fails with the following error “DPM failed to communicate with DPM Server Name because of a communication error with the protection agent. (ID 53 Details: Not implemented (0x80000001))” Subsequent Consistency check’s fail with the error “An unexpected

Read More »

Error 0x800F0954 installing .NET 3.5 on Windows 10

If you’re experiencing error 0x800F0954 when trying to install .NET 2.0 and 3.5 on Windows 10, and you’re in a domain environment, then a simple temporary registry change should solve your troubles. The error 0x800F0954 typically appears if your machine is trying to connect to it’s locally configured WSUS server to download the required files

Read More »

Importing a CSV file into Azure SQL with Azure Functions

Importing CSV files into Azure SQL is quick and easy using Azure Functions. By utilising LinqToSQL, reading and serialising each line of the CSV into an IEnumerable of objects only takes a few lines of code. Start by creating an Azure Functions project in Visual Studio. I’m using Visual Studio 2019 and have ASP.NET Core

Read More »
Azure Functions Monitoring

Azure Functions not showing all executions under Monitoring

I recently deployed a very simple Azure Functions 2.0 project from Visual Studio 2019 that contained a single timer triggered function. The function had a daily timer trigger and I noticed that there were gaps in the executions in the monitoring tab in the Azure portal. I went looking in the associated storage account tables

Read More »
DNS names

Preview a website before changing DNS without a temporary URL

Setting up a new website on a new server or with a different hosting provider while the existing website is still live presents some challenges. Https configuration Firstly, to test https configurations configuration, you need to use the correct URL. Most hosting control panels supply a temporary URL, or you can alias your own spare

Read More »
Expeed Screenshot

Lower case URLs in ASP.NET Core

Every time I start a new ASP.NET project, I forget the function required to ensure that all links generated out of ASP.NET are lowercase. So this post is as much a reminder for me, than information for anyone else. Personally think all lowercase URLs look better rather than the usual mismatch of cases that a

Read More »
Redic Cache

Implementing ASP.NET Core session with Redis Cache on Azure

Using Redis cache in Windows Azure to save session state for an ASP.NET Core web app is quick and easy to configure. Create your Redis Cache in Azure Firstly, if you don’t have an Azure account create a Free Azure Trial Account. Once you’re logged into your Azure account, Click the + Create a resource

Read More »
Visual Studio Code

Visual Studio Code finally has a tree indent setting

I’ve been using Visual Studio Code more and more over the past year, and I really like the experience. It’s fast, lightweight and easy to use. Although one thing, in particular, infuriated me! The folder indent in the file list makes it nearly impossible for me to see the folder structure at a glance when

Read More »

How I optimised my WordPress site to load in 600ms

Since building my new Blog site, I have been massaging, testing, and tweaking to get every ms of performance out of it. I’ve managed to optimise it down to around 600ms, which is faster than 95% of websites online. The site is built on WordPress 5 and runs on a small VPS with 2 vCPU’s

Read More »

Azure Functions with imperative bindings

I recently needed to create an Azure Function, triggered off a storage queue, that checked the status of an external process via Http call. If that process was complete, download a JSON file and a png file to save them to Azure Blob Storage. The problem I found was the standard Blob output binding only

Read More »