Posts by Year

2024

Hashing passwords on Cloudflare Workers

1 minute read

I’ve recently needed to hash passwords as part of authentication endpoints for an API I’m building using Cloudflare Workers. My complete code is below as I f...

Back to Top ↑

2023

Navigating the Wild West of Web Components

2 minute read

Web components have garnered a lot of attention as a way to encapsulate and reuse HTML, CSS, and JavaScript. Despite their promise for modular development, t...

Rethinking the Smartphone Release Cycle

1 minute read

Yearly smartphone releases have become a ludicrous norm, with companies like Apple, Google, and Samsung barely justifying new models with marginal hardware i...

Beyond the Code - Part 4: Case Studies

3 minute read

This post aims to explore the learnings that can be derived from failures and challenges, providing insights into the pitfalls and complexities that can aris...

Tips for first-time CTOs of startups

2 minute read

As a first-time CTO of a startup, you have a unique opportunity to shape the direction and growth of the company. However, this role also comes with its own ...

Why don’t startups use .com domains?

1 minute read

Startups can and do use .com domains, and many of them do. However, it is also common for startups to use other types of domains, such as .io, .co, .net, and...

Back to Top ↑

2022

Excited for the Sony 55mm f1.8 Zeiss

less than 1 minute read

Mary is kindly getting me the Sony 55mm f1.8 Zeiss lens for my α7 IV. I already own the Sony 90mm f2.8 macro, and I’ve been wanting the 55mm for a while beca...

This post was (mostly) written by Notion AI

2 minute read

I recently ventured into the world of Notion AI, enabling the features on my workspace with an eager curiosity to see what it could do for my writing. Althou...

What Andor is getting so right

1 minute read

I’ve not seen too much talk about Andor and a lot of people I know who’ve watched the other Star Wars TV shows gave it a miss due to Disney fatigue or a lack...

Moron Musk

less than 1 minute read

Watching Musk destroy anything he touches at the moment is excellent entertainment.

Innovative caret

1 minute read

Bike Outliner, a rich text editor for macOS (sadly only macOS 😔) has just received an update that includes a neat feature I’ve not seen before.

Purchase research rabbit holes

1 minute read

I’ve been contemplating getting some binoculars for use at air shows and much like when I was looking for a microscope for micrometeorite hunting or looking ...

Keychron K2 V2 keyboard

1 minute read

Everyone keeps going on about how good Keychron keyboards are so I caved and got one. The keyboard I’ve been using for the last 6 years was still working fin...

Back to Top ↑

2021

Notion API code blocks

less than 1 minute read

The official Notion API finally supports code blocks with a recent update. I’ve updated NotionToJekyll to add this functionality. This post is just a test to...

iPhone 13 Pro

2 minute read

FaceID is amazingly good, particularly considering I was such a lover of TouchID on the iPhone 6S and really did not like the idea of FaceID when it first ca...

I’ve pre-ordered an iPhone 13 Pro

1 minute read

I hate iOS. And I also hate Android. For years I developed apps for both platforms (and Windows desktop too) and for this reason I’m an anti-fanboy. I’m all ...

Not-so-smarthome

less than 1 minute read

Having recently moved house, we’ve come to the conclusion that we don’t need and won’t be reinstalling our smart lightbulbs and Amazon Echos, or any other sm...

Are C# GUIDs v4 UUIDs?

less than 1 minute read

No. No they’re not. There’s too much misinformation floating around about this issue and it’s easy to prove they’re not. Although when using Guid.NewGuid() y...

Added categories and tags to NotionToJekyll

less than 1 minute read

I’ve just added post category and tag support to NotionToJekyll using two multi-select columns. This input type is perfect for these fields as they’re just s...

Publishing blog posts from Notion to Jekyll

2 minute read

I use Notion as my personal knowledgebase and normally write blog posts in temporary pages and then manually publish them to my Jekyll site using SiteLeaf. W...

Input select multiple in Blazor

1 minute read

There’s no built-in multiple select in Blazor but it’s pretty easy to get one working without any libraries.

Waiting for the official Notion API

1 minute read

Spring 2021 is still outlined as the release timeframe for the Notion API and I can’t wait. I’ve been using Notion since becoming a Lead Developer to try and...

HTMX & Razor

less than 1 minute read

I’d just started drafting a post about combining HTMX with Razor pages to produce dynamic web applications and thought I’d better quickly check the internets...

UK train dataset

less than 1 minute read

I’ve published a dataset on GitHub that comprises of a single CSV file containing every locomotive in the UK. This includes historic and private locomotives,...

No more .Net Standard 🎉

1 minute read

Whilst reading about the plan for Entity Framework Core 6.0 I noticed a remark about .Net Standard that I’d not clocked last year.

Easiest way to remove Windows 10 bullshit

less than 1 minute read

I like Windows 10. As a developer using .Net and Azure I use Windows all the time and generally think it’s pretty great. However out of the box it does conta...

Back to Top ↑

2020

How does Amazon DynamoDB work?

less than 1 minute read

I’ve recently been looking into how exactly nosql document databases work. Not just existing solution APIs like Amazon DynamoDB and Azure CosmosDB, I mean ho...

Back to Top ↑

2019

Back to Top ↑

2018

Winning Experian’s Hack24 2018 challenge

3 minute read

For the third year in a row I attended Tech Nottingham’s Hack24; a 24 hour hackathon hosted in the heart of Nottingham and sponsored by some of the most prom...

C# nested property accessor

1 minute read

I recently had the need to access a property in another property in C#. Accessing a property value is trivial using PropertyInfo but it’s only capable of acc...

No JavaScript here

1 minute read

Earlier today I turned Cloudflare’s automatic email obfuscation off on this site. Why you might ask? Well because it was the only JavaScript on this site and...

Marvin Visions

less than 1 minute read

Jekyll makes it trivial to edit a site’s look and feel, just modify your sass files and push to Github. I keep playing around with colours, paddings and font...

Ubuntu on Windows

1 minute read

At home I use two computers: a 13 inch MacBook Pro for less intensive tasks and a Dell Precision T1700 with a 4K monitor when I want to stretch the software ...

Migrating to Jekyll

2 minute read

Having spent a lot of time recently (even more than normal) working with Git I decided to once again migrate my site to another content management system. I ...

Back to Top ↑

2016

Teaching at University

1 minute read

Whilst studying for my integrated master’s degree in Computer Science at the University of Lincoln, I’m also demonstrating on a number of modules to enhance ...

Android (and some not Android) device metrics

less than 1 minute read

Google seems to be in the habit of making helpful little websites packed with info for developers. An apparently new addition to their line-up is the Device ...

Back to Top ↑

2015

Moving to a Mac

4 minute read

First of all, I feel it’s important to make clear that I’m typically a ‘Windows person’, that is to say, I’ve always used Windows as my primary OS. Of course...

100 Days of Fonts

less than 1 minute read

I thoroughly enjoy looking at implementations of font combinations; the use of space, colour and content are all interesting considerations when choosing whi...

Back to Top ↑

2014

Creating a Koken photography site

1 minute read

I never need much of an excuse to try a new CMS, subsequently I’ve created a new website for myself to showcase my photographic efforts using Koken. Recently...

Joining Ello

1 minute read

Ello.co is a new social network that’s caused a bit of a stir online due to its anti-Facebook attitude, the manifesto makes this fact pretty clear…

Beautifully visualised algorithms

less than 1 minute read

Have a look at these delightfully colourful representations of a few common data structures and algorithms. Sometimes grasping fundamental concepts can be ac...

Minimal form interface

less than 1 minute read

How can web forms be reformed into a 21st century tool for data input? Codrops have published an interesting take on the traditional form that improves usabi...

An eloquent explanation of Heartbleed

less than 1 minute read

The Heartbleed Bug is a serious vulnerability in the popular OpenSSL cryptographic software library. This weakness allows stealing the information protect...

Back to Top ↑

2013

A place to be inspired: Awwwards

less than 1 minute read

Finding a source of inspiration for a new project can be tough, I think so at least. So when I stumbled upon Awwwards my mind was blown. This site hands out ...

Using Tor for web development

2 minute read

Project Tor enables anyone to browse the internet anonymously as if from another side of the planet. This is useful to those wanting to engage in shady activ...

Back to Top ↑