Skip to main content

Posts

Fill your GitHub activity heatmap with the image of your choice

Taking 12 months to upload a 52x7 pixel image, through thousands of git commits, ... that's completely reasonable right?
Recent posts

Bring your WPF apps to life – Snazzy Animated Window Borders

Checkout my project on GitHub showing how to create animated window borders in WPF. Before I explain, watch the video to see what I mean:

SignalR not connecting? Things to check

SignalR is a websocket library for .NET. During setup and local development there are a number of issues I have encountered. In this post I’ll explain how to fix these. I will assume you are using ASP.NET core, version 2.2 or later. And your client is just plain old vanilla JavaScript . Obviously your first step should be reproducing your issue with new empty projects, where you can be sure nothing else is interfering. Beyond that, here are a few tips: Client Scripts Updated To use SignalR in JavaScript you should be using the official client-side library from Microsoft. This is usually a single file called signalr.js or signalr.min.js (the minified version). You can find basic HTML/JS example use here to check you are using it correctly. If you have got the client scripts from a non-official source, or there is a chance they might be out-of-date, make sure you replace them with the latest version. You can get hold of the latest version of the scripts using Vi...

Making YouTube videos with Unity

Unity is a game engine for creating 2D and 3D games. It can also be used for simulations or machine learning, or even as a general cross-platform app framework. But, did you know it works really well as an all-in-one video editor? And it has some advantages over other professional video editors. Let me explain why.

Local Storage Models in Blazor

Blazor is a new web framework by Microsoft which ships with .NET Core. In this post I explain how to use Local Storage in Blazor using the Blazored.LocalStorage package and how to improve on this by creating a custom service allowing you to use models (classes with properties) instead of string keys. Blazored.LocalStorage First I explain how to use local storage in Blazor. I assume you already have a blazor project setup. Install the Blazored.LocalStorage package with using NuGet. This can be done using the command in the Visual Studio package manager: Install-Package Blazored.LocalStorage Then in the 'Startup.cs' file add the following line to 'ConfigureServices' to make the LocalStorage service available through dependency injection: services.AddBlazoredLocalStorage(); Now you are ready to use local storage on your pages. To import the namespace on all pages you can add the following line to '_Imports.razor': @using Blazored.LocalStorage Now wi...

Adding Context Menu Item for Windows Terminal To File Explorer

The new Windows terminal is a huge improvement over the traditional Command Prompt and Powershell. In this post I'll explain how to create a context menu shortcut 'Open Terminal Here' which appears when you right click in File Explorer. For this we will be editing the system registry so make sure you follow these steps exactly as accidently changing something in the registry can have serious consequences. I will assume you have installed the latest preview version of Windows Terminal from the Windows Store.

What is Homomorphic Encryption?

Homomorphic Encryption is a promising cryptographic technique for keeping data private. In this post I give a short a simple summary of Homomorphic Encryption including a clear definition with an example use case in cloud computing.

Google Apps Script - Introduction With Some Tips and Tricks

Google Apps Script allows you to write and deploy code scripts through Google Drive. These scripts (written in JavaScript) run server-side and have full access to Google's APIs. This means you can use them to automate all sorts of things, from sending emails to editing spreadsheets. I've added some examples I use regularly to this repository on GitHub .

Generating a MSI Installer for a WPF Application

This post serves as a tutorial for creating a MSI installer for your WPF Applications in Visual Studio. For this we use WiX (recommended by Microsoft). Prerequisites I assume you already have a Visual Studio solution containing a WPF Project. And I assume you have some experience with Visual Studio and XML. You do not need any prior knowledge of WiX. Step 1: Install Wix We are going to need WiX to generate our MSI. If you don't already have Wix installed, go ahead and download it from here . You'll be redirected to the relevant GitHub releases page where you can download the .exe file to install WiX.

Curl It - Free online HTTP Request Testing Tool

A few years ago while testing deployed RESTful API endpoints, I used an online tool called Hurl.it. However, the tool was taken down as the developers behind it were promoting their new desktop REST Client Insomnia (similar to Postman). Having prefered using a web-based HTTP Client, with no replacement around, I decided to create my own. The tool is called 'Curl It'. It was a single weekend project, so is quite barebones, just a very basic PHP site which sends GET/POST requests. For the time being I am hosting it here , using the free tier of Google App Engine. The tool is open source and open to contributions, you can find it on GitHub here . UPDATE: The tool is now offline as I'm no longer able to use the free tier of Google App Engine for it, and couldn't find another place for it.