Blog

33 posts

2026

From Ghost to EmDash: moving my blog onto Cloudflare Workers

This blog ran on Ghost for five years. It now runs on EmDash, on Cloudflare Workers, with the words in D1 and the images in R2. Every old URL still resolves. Here is how the migration actually went — the pipeline, the four bugs that fought back, and what I would do differently.

8 min readCloudFlare

2025

Sign ASL Year Review 2024

2024 saw new peaks in usage for the sign language dictionary, www.signasl.org. With a whopping 34,412,937 searches conducted on the platform and 908,000 unique visitors. This was a 6.8% increase from 2023, which had 32,197,037 searches. This continued growth speaks to our commitment to providing comprehensive resources for those learning American Sign Language.

1 min readSign ASLYear in Review

2024

Identifying Valid MX Records to Clean Up Your Mailing List

When managing a mailing list, one critical task is ensuring that the email addresses in your list are valid. Sending emails to invalid addresses not only clutters your system but also harms your sender reputation, which can affect your email deliverability. One effective way to validate email addresses is by checking their Mail Exchanger (MX) records.

2 min readEmail

Send email with AWS SES in a CloudFlare Worker

To send an email via a CloudFlare Worker you will need to call a email provider. AWS Simple Email Service (SES) is a robust transactional email provider that I already use in a number of other projects, and simplifies my billing. However the JavaScript SDK provided by AWS is very large and is not compatible with the CloudFlare Worker runtime. So we will want to roll our own simple API call to the SES.

2 min readEmail

Unlocking Bank Switch Bonuses with Fifty Pence Direct Debit

Switching banks has never been more rewarding. With enticing cash bonuses, interest rates, and other perks, savvy consumers are capitalizing on these offers. However, many of these deals come with a requirement: you need to have active direct debits. But what if you could set up these direct debits without breaking the bank? Enter Fifty Pence Direct Debit, the service that makes it easy for you to manage your direct debits for just 50p per transaction.

2 min read

The Real Cost of Free Transactional Email Services

When it comes to managing costs, especially ongoing ones, businesses and individuals with side projects alike seek efficient solutions. Email services are no exception. While free email providers can be enticing initially, they come with a serious drawback. Learn from my experience that see that resisting the draw of free email services and opting for paid transactional email services from the beginning is the smart choice.

2 min readEmail

SignASL year in review 2023

In 2023 32,197,037 searches were made on www.signasl.org a massive +22.5% increase from last year! (This is a 31% higher search volume compared to Sign BSL). Below I have provided a snapshot of the top 50 most searched words during the year.

2 min readSign ASLSign LanguageYear in Review

SignBSL year in review 2023

In 2023 24,587,983 searches were made on www.signbsl.com a +4.2% increase from last year indicating a growing interest in BSL which I expect to continue, especially with the plans to allow students to learn BSL as a GCSE subject. Below I have provided a snapshot of the top 50 most searched words.

2 min readSign BSLSign LanguageYear in Review

2023

Partitioned Cookies in C#

As browsers start to phase out 3rd party cookies developers need to start using the partitioned cookie attribute (this is a new feature of Cookies Having Independent Partitioned State CHIPS). This will allow users to login when accessing your site in an iframe whiles maintaining privacy. While blocking 3rd party cookies is not yet set as the default, all the major browsers are planning to do this. Also to support users using Chrome in incognito mode you need to be ready to support this, otherwise you will be prevented from setting a cookie.

1 min readC#

Email Spam Headers

One way to help reduce the chances of your emails being marked as spam is to understand email spam headers. Spam headers are the hidden messages that are attached to every email. They contain information about the sender, the recipient, and the content of the email.

3 min read

SignBSL Year in Review 2022

Quick recap of this year's search data for SignBSL 23,595,029 searches were done. This is a tiny increase of +0.6% from last year. So almost unchanged the amount of searches. Below I have included the top 50 most searched words.

1 min readSign BSLSign LanguageYear in Review

2022

Inbox Zero in Outlook without deleting an email

Many email organisers recommend a ruthless approach to email management. However, for me, email is an important record of all conversations and a record of what happened, it forms a journal of important details, which I rely upon when needed. Therefore deleting email is not an option. Yet, still finding emails that need to be answered or emails that represents a task I need to complete is important. So, being faced with a massive list that requires lots of scrolling is not optimal either.

2 min read

CloudFlare - Add user to account

To allow me to configure your CloudFlare account in a secure way without sharing your login details, login to your CloudFlare account, then from the dashboard (1) Select Manage Account, then Members from the Side Panel on the left. (2) Invite a member by entering in my email address [email protected] and press Add. (3) Choose a Scope by either defining individual domains or select All domains (4) Specify the Account Scoped Roles to give either Super Administrator or Administrator privileges. Scroll to the bottom of the page and click Continue to summary.

1 min readCloudFlare

SignASL Year in Review 2021

End of a year, so time for a quick analysis of the year. SignASL has been running since 2013 and has experienced growth every year. This year24,887,947 searches were completed, a massive increase of 39% from last year! It is always interesting to see what people search for. Below is the top 50 searches.

1 min readSign ASLYear in Review

SignBSL Year in Review 2021

End of a year, so time for a quick analysis of the year. SignBSL has been running since 2013 and has experienced growth every year. This year 23,433,479 searches were completed, an increase of just over 16% from last year. It is always fascinating to see what people search for. I have included the top 50 searches below.

2 min readSign BSLYear in Review

2021

Identify and monitor missing AWS S3 files using Athena

Like many websites and mobile apps, www.signbsl.com hosts its static media files using S3, which provides a reliable service without managing servers. The bucket currently holds more than 126,000 images and videos. On a self hosted solution to find missing files I would usually use the Apache Access Logs. But with S3 you need to use Server access logging to get this information.

5 min readAWS

Calling dotnet core Lambda API direct from PHP

Usually a API Gateway is placed in front of a Lambda to allow HTTP requests to be forwarded to a Lambda function. However even when using the HTTP API this still costs $1 per million invocations. To save costs I have setup the PHP website to call the Lambda function direct. Here is how to call the Lambda function and pass the request parameters through in a similar way to how you would call any other JSON API service.

1 min readAWSPHP

SignBSL

A personal project of mine started in 2013 when my wife and I started learning sign language. An important part of learning any new language is building vocabulary. At the time there was just a handful of sites that provided a video dictionary, but the number of signs they contained was small meaning it often required searches across multiple sites, as each site had its own specialist vocabulary. How much easier if there was a unified site that brought together signs into one place, and thus my idea for www.signbsl.com was born.

2 min readSign Language

2016

Compact or Resize your VHD file

If you are using dynamic disk for your virtual machine you will soon find out how annoying it is when it grows in size, but when removing the files the disk does not shrink back down. VirtualBox provides tools for compacting a vhdi file but not for vhd. Hyper-v claims to be able to compact, but this often does not work and is also very slow. The solution is to use the built in all powerful Windows Disk Manager.

1 min readWindows

2014

2013

Video in a Video using FFMPEG

Use ffmpeg to overlay a video inside a master video or picture in a picture. This effect can be accomplished using ffmpegs overlay filter command.

2 min read

Run Virtual PC in Windows 8 bypass compatibility assistant

Windows 8 no longer allowsVirtual PC 2007 to be installed. Attempts to install Virtual PC 2007 will bring up the Program Compatibility Assistant saying This program has compatibility issues which prevent installation. Virtual PC 2007 has been removed because Windows 8 now comes with its own inbuilt virtualisation software Hyper-V. However this requires your CPU to support SLAT, which many older processors do not.

1 min readWindows

Display YouTube user avatar profile picture by username

With YouTube there is no easy url you can use like http://youtube.com/images/[username] which can return the users current image. The only way to get the users image is to call one of YouTube api feeds https://gdata.youtube.com/feeds/api/users/[username]

2 min read

Reset Windows 7 Rearm Count

An install of Windows 7 without an activation key allows for 30 days of usage. This can however be extended up to 120 days by using the following slmgr (Software Licensing Management Tool) command to rearm or reset the 30 day trial.

2 min readWindows

2007

Outlook 2007 Prompt for mail account when sending email

Like many people I have my outlook configured with multiple mail accounts, one for personal, one for work and a couple for my freelance work. However when you send an email, Outlook assume you want to send it using your default mail account. This can often mean that you send email using the wrong address which can cause problems.

3 min read