Skip to main content

About

I am a University Student in the UK. To different people I am known as a ... Software Engineer / Entrepreneur / Mathematician / Cryptographer / Blogger / Tutor / Inventor / Unity Asset Store Publisher / inactive YouTuber.

I've worked at one of the 'big four' tech companies; with cyber security research groups; and with several startups. I've taught undergrads and lead small teams.

To put it simply: by day I'm an academic; by night I'm a programmer.

I am a huge fan of full stack .NET development and I enjoy building web services. One area of interest is Blazor WebAssembly which I have been following since the beginning. I also enjoy working in Go, PHP and Angular. I've worked on a range of projects from mobile apps to token exchanges and from REST APIs to Windows productivity tools.

From an academic perspective I'm interested in Quantum Computing and areas of Cryptography such as Zero Knowledge, Secure Multiparty Computation, and Homorphic Encryption. And I have many interests in Discrete Mathematics including Graph Theory and Combinatorics.

I occassionaly post more academic content here on my blog, but most of the posts are programming related. I'm open to freelance work and I'm happy to chat to anyone with overlapping interests. Feel free to contact me.

Popular posts from this blog

Best Packages for Sublime Text 3 (Excluding Themes)

Sublime Text 3 is pretty good out-of-the-box but reaches a whole new level when you install some of the great packages on offer.

Below I'll list my favourite packages for Sublime Text. These are all packages which will enhance your productivity across all languages, so no themes or language-specific packages will be listed here.

Terminals in Sublime Text 3

TL;DR - Need a quick answer on how to create terminals in Sublime Text 3? Scroll down and watch the video or read the instructions below it.

A while ago I started a series on YouTube of 'Sublime Text Tips'.

Sublime Text 3 is one the best code editors currently in existence (fact), but most people just install it an use it without realising how it can be customized and extended to meet your needs.

My aim was to release a series of videos explaining some of these widely unknown capabilities. I got as far as the third video and then got distracted with other things 😅

But recently I noticed the 3rd video I made has been increasing in popularity. For at least 6 months it sat at less than 200 views, and over the course of the last 2 months it has shot up to 850 (at the time of writing). Perhaps it's coincidence, or perhaps YouTube's algorithms have changed. Either way, there seem to be people who want this information.

The video explains how to set up terminals in Sublime…

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.