Simple WordPress Post Stats

Every year, over on my personal blog, I write a round-up post covering what I have done during the year. This includes books read, films watched steps taken etc. What it has never covered are my creative endeavours which would be my developments over at Github and my blog posts.

Where are the WordPress Stats?

I sort of assumed that there would be stacks of stats in the WordPress dashboard but no if you want that you have to install Jetpack and get the nagging messages asking you to upgrade. These stats are very similar to what you … Read the rest

👨‍💻12 Apps in 12 Months

It seems to be en vouge at the moment to challenge yourself to develop an application a month and do so in public. These apps tend to be AI driven, very slick, with their own landing pages etc. I wanted to stretch myself this year and increase the cadence of my development and so a 12 Apps in 12 Months challenge sounded like a good idea.

But not like that!

While a challenge seemed like a good idea, I didn’t want to be producing apps just for the sake of it. I felt that for it to be worthwhile, I … Read the rest

Using php2Bluesky without Composer

I have been asked how to use my php2Bluesky library without having to install it using Composer. Given that this is a common request I thought that I would document it here.

Pros and Cons of Composer

Before we get into the specifics of using php2Bluesky without Composer let’s take a quick look at the pros and cons of using Composer. Feel free to skip this bit and go straight to how to use php2Bluesky without Composer!

Using Composer to install a package has several advantages over manually downloading the code and requiring it. Composer automates dependency management, … Read the rest

Preparing and Adding a new Project to git

I always struggle when I am ready to push my first commit to a new repository and always end up with errors, so I thought I would document the process here as an aide memoir for me and, hopefully, others will find it useful too.

Prerequisites

These instructions are for when you have already got a folder of code that you want to commit for the first time to git. The first thing to do is to create and setup your .gitignore file. This tells git which files to exclude when uploading. Things to include here are config files with … Read the rest

Introducing v2 of php2Bluesky

There was an issue raised recently on my php2Bluesky library pointing out that the dimensions of images weren’t being passed and so they weren’t being displayed on Bluesky correctly. On investigation, I found this to be correct, but because of the way the code was currently implemented, I couldn’t fix it. The library needed to have control of the upload of images in order to get the dimensions and currently that wasn’t the case.

Breaking Changes Incoming

The history of php2Bluesky is that it started as a series of functions in a larger side project I was working on. I … Read the rest

jolpica2ergast F1 Database Updater

In addition to this blog and my personal blog I also maintain a Williams Racing fan site at https://williamsdb.com. In fact, this is my longest running site having first gone live on 6th May 1996. As you can imagine this has gone through a number of itterations over the years and the latest makes extensive use of a results database called Ergast.

And then it was gone

About a year ago the maintainer of Ergast announced that he was going to discontinue updating it at the end of 2024. To be honest, I don’t blame him as it … Read the rest

What Should I Play next?

I’ve got a lot of records (At the time of writing 1,076 Discogs tells me) and I always seem to gravitate to the same ones. I decided I needed help to selecting something to play so I wrote Now Playing to help guide me.

The Discogs API

Like many, I record details of my collection on the online service Discogs, which contains a user-generated database of audio releases in whatever format they are or were available. It also has an API that allows you to access certain information that is held within its database. If you are authenticated that … Read the rest

Where’s Santa?

I had an unusual request from my friend John recently – could I help him map the location of Santa as he goes about his deliveries? Ok, it wasn’t quite like that. He is a member of the Lions, and every December they take out a sleigh with Santa on the back through the streets to the delight of lots of excitable children. The issue was that parents didn’t know exactly when he was going to appear in their streets and were constantly looking and waiting for his arrival. If there was a map of the live position, this would … Read the rest

Handling unicode and missing link card images in php2Bluesky

I have just committed a couple of changes to my php2Bluesky library. This release includes a simple change to enable the support of international characters in hashtags and a more complex (to explain) change to the options for link cards.

International support

This was a change to the regex used in the library to identify the start and end points of hashtags. The previous code used /#(w+)/ which matches only Alphanumeric characters: [A-Za-z0-9] and an underscore _. This meant that hastags such as #Gütersloh failed to be recognised correctly. Now the regex is /#([\p{L}\p{N}]{1,})/ this now supports:

  • Latin
Read the rest