Read about my thoughts and experiences on various topics, including software development, technology, Cambridge and more.

Recent Posts

All Posts

Modernising device live migration at Nutanix

September 19, 2023 13 minute read

For the last 12 weeks, I’ve been working at Nutanix as a Software Engineer Intern on their hypervi...

How to survive your first year of CompSci at Cambridge

June 17, 2023 25 minute read

My first year at Cambridge has been nothing short of absolutely incredible. I’ve made some amazing...

Optimising content moderators with ML in Switzerland

March 30, 2023 12 minute read

Last week, I had the privilege of participating in START Hack 2023, a 36-hour hackathon hosted by ST...

Exploring garbage collection in V8 with WebGL

January 7, 2023 12 minute read

Over the Christmas break, I’ve been working on a game engine called TSGL, using TypeScript and Web...

Can you learn to better predict the future?

November 20, 2022 7 minute read

I spent the last weekend participating in HackX, a hackathon hosted by the Cambridge Existential Ris...

How to learn another programming language

November 14, 2022 10 minute read

Plenty of people have already written about how to learn to program, but there are comparatively few...

Building Stuart, a blazingly-fast static site generator

September 3, 2022 14 minute read

A few weeks ago, I watched a video introducing me to Hugo, a static site generator written in Go tha...

How I built Equion, the mathematician's Discord

August 11, 2022 11 minute read

Last week, I made Equion, one of my longest-running projects, open-source. Originally designed to he...

How are mutexes implemented in Rust?

July 16, 2022 11 minute read

Mutual exclusion locks, or mutexes, are a vital component of any multi-threaded program. In this pos...

Implementing atomics from scratch in Rust

July 8, 2022 10 minute read

When talking about multi-threaded applications and concurrency, we often hear the term “atomic”....

Migrating TidesX to Cloudflare Workers and Workers KV

June 21, 2022 7 minute read

The recent heatwave here in the UK brought huge growth to TidesX, my tide times app which serves ove...

Two-factor authentication from scratch with TOTP

June 8, 2022 6 minute read

Two-factor authentication is a vital part of securing any account. By requiring a secondary code to ...

Dynamically generating embed images for Gatsby

May 29, 2022 6 minute read

One of the most important things about a blog is encouraging people to read it. A vital part of this...

Creating a blog with Gatsby

May 25, 2022 3 minute read

With the A-level exam season in full swing, I’ve been finding more and more creative ways to procr...

That's all the posts so far!