Mon 20 October 2025
[hʉz̥ ɪ̞̠̃ŋgɫɪ̞̠ʃ]?
Popular factoids about the English language often leave me feeling contrarian,
as a native speaker of a variety of English often not included in these
broad, unqualified statements. "English has no second person plural"? What do
yous mean? And the
seemingly ever
popular: "schwa is the …
Continue reading »
Sat 27 July 2024
I work at a trapped ion quantum computing company writing compiler and control
software in Rust and Python. I've had to learn about quantum computing for my
work, and I have found it hard to find introductory literature …
Continue reading »
Mon 01 March 2021
The previous instalment of this
series was "basically an explanation of what FPGAs are and a 'hello world'
nMigen example." In this post, I will be detailing the design of my CPU as
it currently stands, and going over the various mistakes I made along the way.
As with …
Continue reading »
Tue 16 February 2021
I have no experience in digital logic design. That is, I didn't until I
recently decided that I would like to try designing my own CPU and running it
on an FPGA! If you too are a software engineer with a vague interest in
hardware design, I hope this series …
Continue reading »
Sat 25 July 2020
Introduction
This is a short post reflecting on some pretty basic C++ that bothered me
because I felt like I didn't fully understand it. I felt that the language
should be able to do more, and wanted to understand why it could not.
Subtype polymorphism and templates
In C++, subtype …
Continue reading »
Sat 04 April 2020
I recently published a blog post titled How to flash an
LED about writing ARM assembly
for an STM32. I was running my code on a
1bitsy
development board, but I wanted anyone to be able to have a go at writing the
assembly and testing it – even if they …
Continue reading »
Fri 27 March 2020
Today we are going to be learning how to flash an LED on a microcontroller by
writing ARM assembly.
If you write software but are unfamiliar with basic electronics or embedded
software development, there will be explanations of some fundamentals – I
expect you will not feel left behind :).
If you'd …
Continue reading »
Sun 13 October 2019
I promise that nothing we do here will be useful.
But I promise it will be entertaining, and (hopefully) educational:
-
if you don't know anything about the CPython internals, you're about to
learn (a bit)
-
if you do know about the CPython internals, you're hopefully about to
learn some new …
Continue reading »
Mon 02 September 2019
If you're not familiar with both languages, you might have heard people say
that C++ is a superset of C. If you're experienced in both languages, you'll
know that this is not true at all.
Of course, C++ has many features that C does not; but there are also a …
Continue reading »
Wed 21 August 2019
At writing, Rust's
Wikipedia
currently says the following:
Functions can be given generic parameters, which usually require the generic
type to implement a certain trait or traits. Within such a function, the
generic value can only be used through those traits. This means that a generic
function can be type-checked …
Continue reading »
Tue 20 August 2019
Overview
Rust is a fairly new programming language that I'm really excited about. I gave
a talk about it to my coworkers, primarily aimed at C++ programmers. This is
that talk translated to a blog post. I hope you will be excited about Rust too
by the end of this …
Continue reading »
Sun 09 December 2018
I joined the Cambridge
Makespace, my local community workshop, earlier this year. I've made a few
nice simple things on a laser cutter since, and wanted to share a couple of my
favourites.
I've been trained on a 3D printer and the CNC router and look forward to using
those …
Continue reading »
Sun 23 September 2018
Hack the Planet!
The 1995 film Hackers is probably my favourite film. It is so much fun: I love
the outrageous fashion, the rollerblading, the unabashed cheesiness. It
represents a more hopeful time I wish to embody. This write up of it says all I could hope to, and says …
Continue reading »
Sat 02 April 2016
I haven't posted on my blog in ages! I just changed themes to the
lovely Pelican Hyde, and
thought it was time to update the content, too.
I made some exciting wooden things around Christmas time – or rather, I
embellished one and designed another. Both were presents for others, and …
Continue reading »
Sun 08 November 2015

A few months ago I bought a desk. It was the end of a long and consuming
search to find one I liked that would fit in the 105cm wide alcove in my
living room.
A combination of things meant I decided it would be a good idea to
refinish …
Continue reading »