I was surprised the other day to learn that my web server was under attack. I was remoted in to the DigitalOcean Droplet instance where my web server is hosted (I moved off of AWS a few months ago), when I noticed that system load was unusually high. Investigating further, I checked out CPU usage […]
Author: wjrm500

Behold! It’s the Road Network Visualisation Tool You’ve Been Waiting For
11 months have passed now since I last did you a post, and much has changed in that time. I’ve had a baby, for one thing. But onto more important matters: the other day, I released a new app! It’s called Streetscape, and you can find it here. What is it? Streetscape is my way […]

GPT-4o – Hype and Building Stuff
Hype GPT-4o is OpenAI’s latest frontier model, announced by CTO Mia Murati in a livestream yesterday at 18:00 UK time, and at first glance the new capabilities that it promises are extremely exciting. The “o” in GPT-4o stands for “omni”, a reference to the native multimodality of the new model, which was trained end-to-end on […]

Behind the Breakpoints: Exploring the Inner Workings of Debuggers
Using a debugger has been a core part of my workflow ever since I started life as a professional software developer three-and-a-half years ago. However, until very recently, I never really understood the internal mechanics of debugging, and this meant that when debugging the debugging process itself, I was often unable to reason about the […]

The Great Migration
The other day I launched my very first AWS EC2 instance and migrated this website, and a couple of web apps, onto it. It was a long time coming – the annual cost of web hosting with Bluehost has increased from a discounted £51.72 in 2021 to £118.30 in 2023, while my Soccer Simulation app […]

LexiDeck: Enhancing the Anki Experience with Automated Flashcard Creation
My memory is notoriously terrible, and I’ve devoted a lot of energy over the years to compensating for that fact. Way back in the day this meant getting to grips with a clunky application called SuperMemo, built around a fascinating spaced repetition algorithm that promised long-term knowledge retention. I later discovered the flashcard software Anki, […]

How ChatGPT’s New “GPTs” Feature Can Help You Develop Software
OpenAI’s Dev Day took place on November 6th and it’s fair to say there was a lot of hype leading up to the event. Nowhere was this more palpable than the hive of optimism that is the subreddit r/Singularity, which I am slightly ashamed to admit that I follow avidly. Confident predictions of an AGI […]

Learn Español with the GPT-3.5 API
I’ve been using ChatGPT on a daily basis ever since last December, but it was only the other day that I actually got round to having a play around with the OpenAI API for the first time. It was an interesting experience that culminated in the production of a useful little language-learning app, that I […]

My First ChatGPT-Assisted App and the Future of Software Development
ChatGPT is an absolutely incredible tool and if you’re not already using it, you should be. You really should. It doesn’t matter who you are, or what you do for a living – it’s so versatile that it can turn its hand to pretty much anything you want it to do. Among many other things, […]

My 2022 in Retrospect – A Python Analysis
This article is a bit different to most of the other ones on this blog, as it focuses on data analysis rather than software development – making it my first analysis article since International Football Results Analysis, way back in June 2021. Today I’m not analysing football data, however; instead, I’m analysing my own diary. […]