A WordPress plugin update fix

An AI generated image of a man holding a giant plug, looking at his watch

For a little while now, I’ve had some issues with installing and updating plugins in WordPress. Trying to do either of these tasks has resulted in the process hanging for a long time, and then eventually failing. As a side effect, the Site Health screen would never load – it was just sit there for minutes at a time, but never timing out. Which was frustrating, as I was hoping that Site Health would give me some clues as to why my site wasn’t, well, healthy.

Eventually, I dug into my wp-config.php file. I’ve edited mine a bit, to add some FTP credentials and define the home page and site URL. This offers a marginal performance improvement as it reduces the number of database calls your site needs to make. With my FTP credentials was this line:

define('FS_METHOD', 'ftpext');

It turns out that I probably shouldn’t have that line there. I commented it out, as below:

/* define('FS_METHOD', 'ftpext'); */

And suddenly everything worked again. Huzzah!

According to the documentation, you probably don’t need to have this in your wp-config.php file and removing it can solve problems. Having it there forces WordPress to use a particular method for interacting with your host’s file system, but by default WordPress should choose the correct method automatically.

I’m guessing it was in there after I copied and pasted some code from somewhere else, without knowing what it did. Which is a reminder that just copying someone else’s code without understanding it is not a good idea.

Playlist of the month: my favourite Christmas songs

Screenshot of the cover of my favourite Christmas songs playlist on Spotify

Now that I’m blogging regularly again, I’ve decided to start a new monthly feature where I post a playlist of 10 songs, all around a theme. Last month was guitar heavy indie rock, and this month, because it’s December, I’ve chosen Christmas music.

If you want to listen along, here’s the Spotify playlist.

  • ‘Underneath the Tree’ by Kelly Clarkson. Probably the best new-ish Christmas pop song that I’ve heard of late, although it’s still a decade old.
  • ‘Fairytale of New York’ by The Pogues and Kirsty MacColl. We’ll disregard the gay slur in the lyrics, but it’s a good song with humour. If you prefer, this cover by Grace Petrie is good too. Sadly we lost The Pogues frontman Shane MacGowan last month.
  • ‘I Wish It Could Be Christmas Every Day’ by Wizzard. Probably my favourite classic Christmas pop song, although Wizzard’s lead singer Roy Wood is a bit racist nowadays.
  • ‘Stay Another Day’ by East 17. Is this a Christmas song? The lyrics are not explicitly about Christmas, but it was a Christmas number one in 1994 in the UK and the addition of bells make it sufficiently Christmassy for me.
  • ‘Christmas Time (Don’t Let The Bells End)’ by The Darkness. There’s room for more than one glam rock band to have a Christmas song, and this mid-2000s song by The Darkness is a better ‘new’ song.
  • ‘Christmas Truce’ by Sabaton. Sabaton are a Scandinavian metal band who sing historically accurate songs about war. This one is about the Christmas Truce from the First World War.
  • ‘Last Christmas’ by Carly Rae Jepson. Whamhalla is over for 2023 – I got out after just 36 hours this year. But if you were playing, then covers didn’t count, and this is my favourite cover version.
  • ‘Jingle Bell Rock’ by Our Last Night. This metal cover band pops up regularly in my Release Radar playlist on Spotify, as they release new songs regularly. This is their interpretation of this Christmas classic.
  • ‘Merry Axe-Mas’ by Nine Inch Nails. More metal, but not a cover this time.
  • ‘Wonderful Christmastime’ by Pentatonix. Paul McCartney’s original has always been just a bit too eighties for me. I prefer this a cappella version.

I’ll be back with another playlist sometime in January.

Merry Christmas

An AI-generated image of a mouse eating a crisp and eating a Santa hat

I hope you have a good Christmas, if you’re celebrating today. We’re with my parents in York, as usual, and planning a relatively quiet and relaxed break after an eventful year.

Please enjoy this AI-generated image of a Merry Crisp-Mouse.

Switching to a new ISP

Last month, we switched to Vodafone as our new Internet Service Provider (ISP) at home.

We’ve been with Now Broadband (Sky’s budget brand) since autumn 2018, who, at the time, could offer us faster speeds for less money. And they’ve been pretty good; when I was working at home full-time during lockdown, I rarely had any issues. Our bandwidth was sufficient for me to participate in online meetings whilst our (then) four-year-old watched Netflix in another room. Our typical download speeds were in the 35-40 Mbps:

Speedtest.neet results from the 5th November 2023, showing 36.88 Mbps download and 9.35 Mbps upload on our old ISP, Now Broadband

But then Now raised their prices by £9 per month. They probably told us that they would do this, but I have no recollection of being informed in advance.

Finding a new ISP

Meanwhile, Vodafone could offer faster speeds and a new router, for £2 less than Now before the price rise. So, we would be getting a better service, and paying £11 less per month for it than if we stayed with Now.

We used the MoneySavingExpert broadband comparison tool, which showed that Vodafone was the cheapest big name that didn’t have a poor customer service rating. Shell Energy were cheaper, but their customer service isn’t great and they’ve just been taken over by Octopus Energy who don’t currently offer broadband.

I signed up using Quidco (referral link) and should get £82.50 cashback in late spring, so factoring that in, what a savings.

The switchover took a couple of hours, and seemed to happen early in the morning, so by 7am we were already online with Vodafone. And the speeds are much better – around 75 Mbps download and 19 Mbps upload, so almost twice as fast. Considering that this is over DSL, I’m impressed with how fast it is.

Speedtest.neet results from the 21st December 2023, showing 74.11 Mbps download and 18.87 Mbps upload on our new ISP, Vodafone Broadband

The new Vodafone broadband hub is also better than the basic Now broadband router that we had previously. It has four 1 Gbps Ethernet sockets for a start, compared to just two on the Now router; this means I no longer need a separate Ethernet switch. It also looks nicer; it’s free-standing but has mounting holes on the back for screws.

Digital Voice Line

The hub also supports Digital Voice Line, where your phone calls are made over the internet, rather than PSTN. Openreach intend to switch off the analogue phone network in two years time, so switching now is timely. This means that our landline phone plugs into the hub, rather than the micro-filter attached to the master phone socket. That being said, since the switchover, our phone hasn’t actually worked. The fact that it took me several days to realise shows how much we use our landline, but I’ll need to get on to Vodafone to have them look into it.

As with all changes to a new ISP, over the first few weeks there was a little instability with the connection. But it’s settled down now and works well. The other issue I had early on was with connecting to my Raspberry Pi externally, as port forwarding didn’t seem to work properly. This was a bit of a gut punch, considering how much effort it took me to get Home Assistant working with HTTPS, but it seems to be sorted now.

If it’s been a while since you switched your ISP, I would recommend that you do a quick check to see if you can get a better deal elsewhere. Broadband providers make a lot of money from people who just let their contracts auto-renew. Even if you’re happy with your current ISP, you could try haggling with them to see if they can offer you a cheaper package.

An apology for the pause

An AI generated illustration of a muslim woman pointing a remote at a TV which says 'pause'

When I started blogging regularly again in October, I planned to post a new blog post every other day (so, 3-4 new blog posts every week). As this is the first time I’ve posted since the 10th December, about my hearing aids, I’ve not managed to meet my own target.

In years gone by, I would publish multiple blog posts every day – but this was in the days before the likes of Twitter and Facebook. Indeed, Twitter used to be known as a ‘micro-blogging’ service in its early days. Consequently, Twitter became the place where I would post any thoughts that could be condensed into 140 characters would go.

I then had a few months where I aimed to publish one new blog post every day. Not write a post every day – I would write several at a time and then publish them to a schedule. But that petered out after a while; all it takes is for a busy period at work, or a couple of weekends where we’re away or have plans, and it becomes hard to keep up. And you end up with apologetic blog posts like this one.

Of course, I then didn’t post anything for years, until last year, so there’s that.

The good news is that today I finished work for Christmas, and so I have some time to queue up some new blog posts. I have a list of blog post ideas to work through; it turns out taking several years out from blogging means I have plenty to write about. You’ll start to see some of these appearing every other day over the next few weeks.

The featured image on this post is AI-generated; for diversity, I specified a Muslim woman rather than just ‘a person’, because there are enough images of white men in the world.

I wear hearing aids now

A photo of the side of my face, showing one of my hearing aids

Last month, I wrote about how I started wearing glasses in the summer of 2021. And, as if there was any further indication that I’m getting older, I wear hearing aids now too.

I’ve been aware that my hearing has been getting worse for some time, and a hearing test four years ago suggested that I may need an intervention. At the time, my GP wasn’t too concerned, and then the Covid-19 pandemic happened which meant that any work interactions were through a pair of headphones anyway.

But as we started returning to the office, it was clear that my hearing was still an issue. Another hearing test confirmed this, and so another GP referral. This took several months to sort out, and finally in early autumn 2022 I had a follow up appointment with audiology and ENT at one of our local hospitals. I was given the option of having surgery, or hearing aids.

Surgery may have made a greater difference, but I was concerned about the recovery times and how likely this would make a difference in the short term. So, I opted to have hearing aids, and I had them fitted in October 2022.

My hearing aids

The hearing aids I have are very basic, NHS standard issue behind-the-ear models, manufactured by Oticon. This means that the electronics are in a small metal container which sits behind your ear, and then a plastic tube connects to a moulded earpiece that sits in your outer ear. The earpieces are moulded specially for each ear, so that they’re comfortable enough to wear all day.

As they are very basic hearing aids, there’s no Bluetooth support, so I need to take them out to listen out to music. Whilst Bluetooth hearing loop devices exist, they’re expensive (as they’re classed as medical devices) and the sound quality apparently isn’t great. In terms of controls, I can adjust the volume on the hearing aids, and switch them in and out of hearing loop mode, but that’s all. You turn them off by opening the battery compartment. They take small button batteries which aren’t rechargeable, but each battery typically lasts 10-14 days.

What a difference

The hearing aids made a massive difference from day one. My wife no longer has to shout at me to get my attention, and I can hear colleagues across our large open plan office at work. In the car, I can have the stereo at a much lower volume too. The only downsides are:

  • having to take them out to listen to Bluetooth ear buds
  • they can be a little uncomfortable with my glasses after a while, as these sit on my ears as well

Having in-ear hearing aids with Bluetooth would mitigate these issues, but I would have to buy them privately. And they can cost a fortune – a colleague of my wife spent several thousand pounds on hers. Meanwhile, mine are free on the NHS, and even the replacement batteries are free. Maybe if I come into a large amount of money in future, I’ll consider some buying some more advanced hearing aids privately.

Whilst with the audiologist at one of my check-ups, I noticed a poster about the link between hearing loss and dementia. We don’t fully understand why people with hearing loss are more likely to develop dementia, but one theory is that such people ‘tune out’ if they can’t hear. I’m hoping that using my hearing aids and having regular hearing checks will reduce my risk of developing dementia in later life.

If you can’t remember the last time that you had a hearing test, I recommend getting one. Most branches of Specsavers now offer audiology services as well as optics, and they can do a GP referral if they have concerns.

AI art

An example of AI art - a generated image of a robot painting a picture of some flowers on an easel

You may have noticed that several of my recent blog posts have featured custom AI art work related to the topic. I’ve generated these using Microsoft’s Bing AI Image Creator, which uses OpenAI’s DALL-E text-to-image model. DALL-E can generate an image based on a text prompt; for example, the featured image on this post was ‘A 1950s style robot standing in front of an easel painting a bouquet of flowers in a vase’.

These are some of the other AI art images that I’ve used recently:

AI art is controversial. It can create images in a few seconds that would take a human artist hours or days to produce. And, in some cases, these image prompts can be told to create images in the style of a particular artist, depriving them of income from a commission. It’s also notable that models like DALL-E and Stable Diffusion have been trained on copyright works, without the rights holders’ permission.

With this in mind, I’m justifying my use of AI art on some of my blog posts because I’m not an artist myself, and as an individual blogger who doesn’t make money from blogging, I wouldn’t have the money to pay a human artist. Whilst I have over 5000 photos that I’ve uploaded to Flickr, there isn’t always a relevant photo to use that I have taken. For example, in my recent post on comment spam, I decided to generate the above image of a robot converting blog posts into a tinned meat product, because I don’t have a photo that represents that. And whilst I make use of screenshots where relevant, sometimes this isn’t appropriate.

Of the AI art generators that I have used, the Bing AI Image Creator seems to be the one that gives me the best results. Any images you create are saved in the cloud, and can be downloaded for re-use. And each prompt produces four images so that you can choose the one which looks the best.

More new old posts from the archives

An AI generated image of a phoenix rising from the flames of a browser window

I’m gradually bringing back some of my old blog posts that were lost, and here are links to the latest batch that I’ve made live again:

  • Create a Safely Remove Hardware shortcut (April 2007). Another of my how-to blog posts, this allowed you to create a desktop icon that opens the Safely Remove Hardware function in Windows. Surprisingly, this still works in Windows 10.
  • Screenshots on a PocketPC (November 2005). How to take screenshots on a PocketPC/Windows Mobile device, since there wasn’t a built-in screenshot app.
  • Resurrecting a dead OS with KernelEx (May 2010). KernelEx is a compatibility layer for Windows 98 and Me that allowed apps which would normally require Windows XP to be installed. You can still download it, but it was last updated in 2011 and I expect there’s not much demand for it nowadays.
  • My favourite add-ons for Thunderbird (May 2014). Some add-ons that I used with Mozilla’s Thunderbird email client. I don’t use it anymore – we use Outlook at work and at home I tend to just use Gmail.
  • How to: get cheaper car insurance (September 2015). Another how-to guide. When reposting this, it was surprising how few sites back in 2015 used HTTPS by default; Let’s Encrypt had launched the previous year so I’m guessing Google hadn’t yet started favouring HTTPS sites in its search results.
  • A car. An actual car (September 2015). Linked with the above, the purchase of our first car. Sadly said car got written off in France in 2019, although it subsequently got back on the road with a new owner.
  • Passed (August 2015). Again, linked with the above, this was about me passing my practical driving test.
  • Expecting (July 2015). The announcement that my wife Christine was pregnant. Linked from the above posts, but I am also looking to reinstate blog posts about major life milestones as well.
  • 20 week scan (September 2015). As above.
  • Back in the driving seat… (July 2014). Restarting driving lessons, which led to me passing my test, as above.
  • Theoretically passed (April 2015). Passing my driving theory test. A lot of the above posts all link together, and so I’ve wanted to bring them all back at once to avoid creating dead links.

There are, of course, more to come. Whilst I estimate that I’ll only be bringing back around 10% of the old blog posts, that does mean around 250 posts to copy from the Web Archive and update.

Why you shouldn’t buy gift cards as presents

An AI generated image of a Christmas tree with lots of presents and gift cards underneath it by a window.

When you need to buy a present for someone, and aren’t sure what to get them, gift cards seem like a good idea. With Christmas coming up, I’m going to explain why they’re not always the best idea.

They’re less flexible than cash

If you spend £10 to buy a £10 gift card, all you have done is taken £10 of cash, which can be spent anywhere, and converted it into a sort of pseudo-currency that can only be used at one shop. You can’t use a gift voucher for John Lewis at M&S for example.

Whilst multi-retailer gift cards like Love2Shop and One4All exist, they still limit you to a small range of retailers. And you can usually only spend them at large chain stores, so your recipient won’t be able to spend them at a local, independent shops. Let’s face it, Amazon is likely to be around for a long time, but independent shops would probably appreciate your custom.

They can only be used to purchase things

This might seem obvious, but you can only use gift cards to buy more things. You can’t use gift cards to pay bills, or repay debt, for example. And I mean, you really can’t – if someone claims to be HM Revenue & Customs and asks you to pay your tax bill with iTunes Gift Cards, then it’s a scam.

For someone who may be drowning in credit card debt, receiving some money that they can use to pay that off may be more meaningful. At worst, you could end up spending your money on a gift card that can only be used to buy something at a shop where the cost of getting there is higher than the value of the card.

They could also be worthless. If you’re an Android phone user, then you’re not going to get much out of an iTunes gift card, for example. You could try a web site that exchanges gift cards, where you can sell an unwanted gift card for cash. However, you’ll probably get less than its value back, and obscure gift cards may not sell for much.

They expire

Most gift cards expire after 12 months. We’ve had this problem before; a relative bought our (now) seven-year-old a gift card for a well-known toy shop chain. As their birthday is close to Christmas, we saved it to buy a gift the following year, but by the time we came to use it, it had expired. Meanwhile, cash never expires.

If the retailer goes bust, they may become worthless

We’ve recently seen the demise of Wilko in the UK, and other large chain stores like Debenhams, Jessops, Comet, Woolworths, Burtons have all disappeared in recent years. Usually, when these companies go bankrupt and call in administrators, their gift cards immediately become worthless. At best, you can sign up as a creditor of the company in the hope that you may get a fraction of the value of the gift card back.

Some people have lost serious money because of this in the past. Debenhams used to offer a wedding list service, and so those that had people buy them Debenhams gift cards as wedding presents may have lost out on hundreds of pounds.

What to do instead

Buying presents can be tricky, and I don’t think anyone wants to buy something that’ll just end up listed on eBay on Boxing Day. But maybe have a conversation with the person who you are buying a gift for first. Surprises can be nice, but so can knowing that you’re getting a thing that you actually want for Christmas. Christmas lists for Santa needn’t just be for children; you could keep a list in a note-taking app, for example, so that if anyone asks you what you want, you can tell them straight-away.

Or you could just give people cash. If all you are doing is swapping the same amount of money for a card which is restricted to one retailer and expires, then you’re taking choice away from your recipient. With cash, your recipient could use that money for:

  • the weekly food shop
  • to pay off a credit card
  • buy something nice from a small independent shop.

An Amazon gift card won’t allow the recipient to do any of those things.

If you don’t want to put bank notes or coins in the post, you can send a cheque. Despite rumblings from the banking industry a few years ago, most banks will still let you send and receive cheques. Indeed, most banking apps will let you scan cheques, so you can scan them on Christmas Day without waiting for a branch to open. Alternatively, you could send an IOU in a card, and then do a BACS transfer on Christmas Day. That’s if you already know their bank details, of course.

When is it appropriate to send gift cards?

So, now that I have written this, you may be surprised to hear that I am planning to send gift cards to some relatives this Christmas. But this is only because said relatives have specifically asked for them. And that’s fine – you could ask for gift cards as a contribution to a big purchase, for example. Just be careful that you choose a retailer that isn’t at imminent risk of bankruptcy. Money Saving Expert News is usually a good place to get news about retailers that are, or are at risk of entering administration, and their policy on accepting gift cards.

You can also sometimes buy gift cards at a discount. My employer offers Pluxee as an employee benefit, which sells gift cards at a typical 4% discount – but sometimes more. M&S is 6.5%, which means that you can buy a £25 gift card for £23.38.

If your employer doesn’t offer something similar, but you have a mortgage, then Sprive is worth considering. With Sprive, the discounts are smaller (about 3%) but the money you save is taken off your mortgage. If you decide to sign up to Sprive, use my referral code ‘HTWH65PM’ to get an additional £5 off your mortgage.

If you’re buying Amazon gift cards, it’s worth checking your personalised promotions page (sponsored link). Sometimes, Amazon offers additional discounts available if you buy gift cards in bulk.

Christmas Day is three weeks today. If you haven’t already finished your Christmas shopping, maybe reach out to your gift recipients to find out what they want. Just be aware of the last posting days for gifts.

Mounting a USB hard drive on startup on Ubuntu Core

A photo of a Raspberry Pi 4 connected to a USB external hard drive

As you’ll be aware from my regular posts about it, I have a Raspberry Pi 4 running Ubuntu Core, which acts as a server for Home Assistant, Plex and Calibre-Web. Here’s how I’ve set it up to mount an external USB hard drive on boot up.

As it’s a Raspberry Pi, the operating system and binaries set on a microSD card, which in this case is a mere 16 GB. Whilst the me of 20 years ago would have been astounded at the concept of something so tiny holding so much data, 16 GB isn’t much nowadays. So, I have a 1 TB external USB hard drive for storing the media files for Plex and Calibre-Web.

Ubuntu Core doesn’t automatically mount USB storage devices on startup unless you tell it to, and the instructions for doing so are different when compared with a regular Linux distro.

There’s no fstab

Most Linux distros, including regular Ubuntu, include fstab for managing file systems and mounting devices. But Ubuntu Core is designed to be a lightweight distro to act as firmware for Internet of Things devices, and so it doesn’t include many tools that are common in other Linux distros. fstab is one such tool which is missing.

You can, of course, just mount a USB drive manually with the following:

sudo mkdir /media/data
sudo mount /dev/sda1 /media/data

But this won’t persist when the computer restarts. After a bit of searching, I found a solution on StackExchange; it’s for Ubuntu Core 16, but works on 22 as well.

How to tell systemd to mount your USB hard drive

It should go without saying that you should back up your system before doing any of this. If you make a mistake and systemd stops working, your device could become unbootable.

Firstly, you’ll need to run sudo blkid to list all of the file systems that Ubuntu Core can see. Find the one that starts with ‘/dev/sda1’ and make a note of the long hexadecimal string that comes after UUID – it’ll probably look something like ‘2435ba65-f000-234244ac’. Copy and save this, as this identifies your USB hard drive.

Next, you’ll need to create a text file. Ubuntu Core only seems to offer the Vi text editor, which I haven’t bothered to learn to use properly. My favoured text editor is nano, but it’s not available on Ubuntu Core. Therefore, my recommendation is to create a file on another device and FTP it across. The file should be called media-data.mount; it’s really important the file name matches the intended mount point. For example, if you’re instead planning to mount the USB hard drive to /mnt/files, this text file would need to be called mnt-files.mount.

Here’s the template for the file:

[Unit]
Description=Mount unit for data

[Mount]
What=/dev/disk/by-uuid/[Your UUID]
Where=/media/data
Type=ext4

[Install]
WantedBy=multi-user.target

You’ll need to paste in the UUID for your USB hard drive where it says ‘[Your UUID]’. You’ll also need to match the file system type; I have my external USB hard drive formatted as ext4 for maximum compatibility with Linux, but yours may use ExFAT or NTFS.

This file needs to be saved to /etc/systemd/system/media-data.mount . You can either use vi to create and save this file directly or FTP it across and copy it over.

There are three further commands to run in turn:

sudo systemctl daemon-reload
sudo systemctl start media-data.mount
sudo systemctl enable media-data.mount

If you’ve done this correctly, then the next time you restart your device, your USB hard drive should mount automatically. If not, then you should receive some surprisingly helpful error messages explaining what you’ve done wrong.

There’s another guide at Wimpy’s World which has some additional detail and helped me get this working.

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.