Using Cloudflare Access and tunnels to create an RDP jump host

Cloudflare Tunnels are a useful way of allowing private services to be accessed remotely, without exposing the devices to inbound connections. This can be combined with Cloudflare Access to provide a secure way of accessing services such as remote desktop. These services can be used to setup a bastion inside a private network. The bastionContinue reading Using Cloudflare Access and tunnels to create an RDP jump host

Network-wide Ad Blocking with Pi-hole

Ads can sometimes be a bit frustrating, or turn up in places we don’t expect. For example, ads on subscription-based services. Serving ads can also consume a substantial amount of bandwidth on some sites. There are a variety of ad blocking browser extensions you can install (such as Adblock Plus or uBlock) on your computerContinue reading Network-wide Ad Blocking with Pi-hole

Configuring a Vue.js SPA with Environment Variables

In a previous blog post I showed how to set up ASP.NET Core Web API to support a Vue.js client SPA. In this post I will show how to extend on that example so that the Vue.js SPA supports a development and production configuration. Since I am extending the previous example, I am assuming theContinue reading Configuring a Vue.js SPA with Environment Variables

Removing Sensitive Information from Git with git-filter-repo

Git has become the de facto standard in source control. Over 90% of respondents to the 2021 Stack Overflow Developer Survey indicated that they use Git. However, sometimes mistakes can be made and sensitive or secret information accidentally end up in the commit history. Thankfully, tools such as git-filter-repo exist to help rewrite history (theContinue reading Removing Sensitive Information from Git with git-filter-repo

Supporting Multiple WS-Federation Authentication Schemes in ASP.NET Core

ASP.NET Core allows you to add support for multiple authentication schemes, such as social auth providers or WS-Federation. This support can be added with or without ASP.NET Identity Core. Users can then use these schemes to authenticate with your web application. While adding support for social authentication providers (such as Twitter and Facebook) is useful,Continue reading Supporting Multiple WS-Federation Authentication Schemes in ASP.NET Core

Install Docker Engine without Docker Desktop on Windows

Docker have recently announced changes to their pricing and subscriptions which require a paid subscription for users outside of personal, education and small business use. It seems that this license change only applies to Docker Desktop which is the GUI client for Windows and Mac. The good news is that you can install the DockerContinue reading Install Docker Engine without Docker Desktop on Windows

AI Assistance for Software Developer Productivity – The Good, The Bad & The Ugly

Software Development can have moments of writing repetitive code. Following the DRY principle can help avoid this, but sometimes one block of code isn’t doing the same thing as another, although it is doing something similar (such as mapping objects in a collection). In these cases AI can be a helpful aid, but it doesContinue reading AI Assistance for Software Developer Productivity – The Good, The Bad & The Ugly

Using ngrok with IIS Express and ASP.NET Core

Sometimes it can be helpful to quickly make the version of a project which is running on your development machine available to others. This could be for webhook integrations, demos, or some other reason. One of the tools you can use to achieve this is ngrok. ngrok creates a secure tunnel and expose the webContinue reading Using ngrok with IIS Express and ASP.NET Core

Microsoft Remote Desktop (RDP) Stuck on “Please Wait”

I often use Remote Desktop Connection (RDP) to connect to computers remotely when I am out and about. However, recently when I tried to remotely connect using RDP, I became stuck at a blue screen with a “Please Wait” message after connecting. After a few minutes of waiting, I became a bit suspicious that somethingContinue reading Microsoft Remote Desktop (RDP) Stuck on “Please Wait”

Logging in .NET Core using ILogger

Logging is an important part of software development. It helps us know that tasks have been completed, monitor applications and provides a trail to follow when things don’t work. Microsoft has included a logging framework in .NET Core and ASP.NET Core to allow developers to easily implement logging and choose their own logging provider (thisContinue reading Logging in .NET Core using ILogger