Archive of blog posts

So it turns out PHP rules the web?

The way things are going...

Chat-GPT is not coming for my job just yet!

Check out the Perception Census...

Using Chat-GPT to do my job

Python environment joy

Filter coffee as a gateway to caffeine abuse

Checking for blacklisted IPs

Celebrating some unsung wins

Using soap instead of laundry detergent

Mice, over-optimization and AWS

Thoughts on SwiftUI dev experience

Drop everything and work on this one thing!

Do I have Javascript fatigue?

Live Photo Cleaner

Solvitur ambulando

Canceling my Spotify subscription

Data preprocessing tasks in big projects

New year, new webserver at

Reducing the toil of executing one off code on a remote server with SSH and SCP

How to make responsive Likert scales in CSS (like Qualtrics)

Presenting half finished projects for feedback

Home garden office - Self build - Part 1

My new semi-static website and blog

Too much wine during lockdown?

Live updates during PHP dev - without React or Watchify

Embedding a Qualtrics survey in another site

Automatic longitudinal survey distribution with PHP, email and Qualtrics

Modelling Personal Finance in Python

Building a project for iOS or OSX with Armadillo in Xcode

Reading CVPixelBuffer in Objective-C

Python in SPSS

Draggable Piechart JS class

Random non-overlapping circles in MATLAB

A Simple Introduction to Core Audio