-
How to automatically add WebP post banners to Jekyll for faster load times
Most modern browsers can handle the smaller & speedier WebP versions of images, yet generating them manually can be a pain! Here’s how to do it automatically in Jekyll.
-
My experience with the GitHub Foundations Certification process
Did you know GitHub offer paid certifications? They do! The first of these is “GitHub Foundations”, offered for free to students, here’s my somewhat rocky experience of studying & taking the exam.
-
How to force update (& test) your Android app using Google's in-app update library
Earlier this year, I needed to add the ability to force update users of an app. Whilst I’ve used custom solutions in the past, Google has a standardised “in-app updates” library that does all the essentials for you!
-
A possible fix for intermittently hanging Android builds on GitHub
I recently experienced an Android project’s GitHub build workflow sometimes taking 10 minutes… but sometimes freezing and eventually being killed after half hour by GitHub! The cause? Requesting too much RAM.
-
How to bulk download all past versions of a webpage, parse the data in Python, and save to CSV
I recently needed to download hundreds of past versions of a StumbleUpon webpage, parse the HTML, and output the data into a CSV for further analysis. Here’s how to do it!
-
Building a Jekyll / Liquid calendar with custom events
I recently created a full-year calendar displaying custom events from Jekyll posts in the Liquid language, here’s how it works and how to use it!
-
A post-mortem of "BountyHour", an unfinished microcontracting marketplace using Next.js, tRPC, and Prisma
Like every developer, I have plenty of ideas, most of which never get beyond the planning stage! BountyHour was one of them that made it into proper development, and was then abandoned. So, what happened?
-
Ten years in tech: 7 career lessons from my decade in software development 🐸
This August marks exactly 10 years since my first software development job! I’ve hopped between industries, companies, and seniority a lot in this time, hopefully learning a few useful lessons. Well, at least 7 anyway.
-
Introducing a PLATO character overwriting emulator
I recently had a GREAT idea to overlap pixel art letters to form artwork… then discovered it had been done in the 1970s by PLATO system users. Well, fine, I’ll build a basic emulator instead!
-
How to make cutouts or transparent sections in Jetpack Compose
At work recently we needed to have a semi-circular “cutout” from a rectangular box containing content. This was surprisingly tricky, so here’s an easy way to cut out arbitrary shapes from a Jetpack Compose Box!