Comparing Bluetooth and Zigbee plant monitors

A photo showing a Zigbee plant monitor on the left and a Bluetooth plant monitor on the right

Search for ‘millennials house plants’ on Google and you’ll see lots of magazine articles about how people of our generation love our house plants. Alas, neither Christine or I are particularly good at keeping our house plants alive, apart from those in the already humid environment of our bathroom. So, I’ve been experimenting with electronic plant monitors to see if one will help us keep our plants thriving.

I’ve tried two different sorts of plant monitor: a Bluetooth Low Energy plant monitor from HHCC, and a Zigbee plant monitor from Haozee which works with the Tuya smart home platform. Both were bought from AliExpress.

A photo of the HHCC Bluetooth Smart Flower Monitor, inside a white plant pot and under the leaves of a basil plant.

HHCC Smart Flower Monitor

First to the HHCC model, which uses Bluetooth Low Energy. It’s sometimes known as ‘MiFlora’ and compatible devices are also sold under the Xiaomi brand. Of the two, it’s smaller, and offers more sensors; as well as detecting how much moisture is in the soil and the temperature, it’ll also try to measure how fertile the soil is, and the light intensity. It’s powered by a small CR2032 button battery which is replaceable. Officially, you should use the Flower Care app with it, but it also works with Home Assistant using the Xiaomi BLE integration.

The button battery should work for about six weeks before it needs replacing. Alas, these CR2032 batteries are not rechargeable, so you’ll need to take it to somewhere that recycles batteries and replace them when they run out of charge. At the time of writing, you can get 20 replacement CR2032 batteries for around £6, which should be enough to last you a couple of years.

Bluetooth Low Energy, as the name suggests, doesn’t have a long range. Therefore, if you are using this HHCC device with Home Assistant, you’ll need to have your device (or a Bluetooth proxy) in very close range.

A Zigbee plant monitor, which is white, oblong shaped and has light blue edging, sat in a white plant pot next to a basil plant.

Haozee Zigbee plant monitor

As you’ll see from the side by side photo at the top of this blog post, this Zigbee model is a bit bigger than the Bluetooth model. That’s because it takes two AAA batteries, rather than a CR2032 button battery. Consequently, battery life should be much longer – premium AAA batteries can typically hold up to 1100 mAh charge, compared to around 240 mAh in a CR2032 battery. Also, AAA batteries can be rechargeable.

The Zigbee signal should also be much stronger than Bluetooth Low Energy. I’ve certainly had fewer connection issues with this one compared to the HHCC model, even though the nearest Zigbee device is further away.

However, unlike the HHCC model, it doesn’t offer light or soil fertility sensors. You’ll just get the moisture level and temperature, as well as how much charge the battery has remaining. Also, if you’re planning to connect this to Home Assistant, be aware that it (probably) doesn’t support Home Assistant’s built-in ZHA integration. This was the reason why I set up Zigbee2MQTT.

The other disadvantage of Zigbee devices is the need for a hub or bridge of some sort. I use a Sonoff USB Zigbee dongle plugged into my Raspberry Pi running Home Assistant, but I imagine you’re supposed to use something like this Tuya Zigbee hub (sponsored link) and the Smart Life or Tuya phone apps. So whilst the Zigbee plant monitor itself was slightly cheaper than the Bluetooth model, there’s an initial setup cost if you don’t already have a Zigbee controller.

My recommendation

The HHCC Bluetooth plant monitor is fine if you just want to use the official Flower Care app, or have your plant very close to your Home Assistant device. The replacement batteries are cheap and you may not need any extra hardware to get it to work.

If you need a longer range, don’t want to replace batteries as often, and/or have other Zigbee devices already, get the Zigbee plant monitor. You can use standard rechargeable AAA batteries with it, and you’ll get a more reliable connection over long distances.

Steetek USB/HDMI KVM Switch review

A photo of the Steetek KVM switch, with a USB cable plugged in the front and various USB and HDMI cables plugged into the back. It's a grey, rectangular metal box.

If you’ve been reading this blog for a few months, you may notice that I’ll review gadgets that I’ve bought from Amazon from time to time. This includes headphones, a USB solid state drive, a Bluetooth label printer, a Bluetooth thermometer, energy monitoring smart plugs, a Zigbee dongle and a multi-device wireless mouse. And today, I’m reviewing a Steetek KVM switch (sponsored link).

KVM switches have been around for many years – KVM standing for Keyboard, Video and Mouse. They allow you to have one keyboard, mouse and screen connected to two or more computers, which you can switch between. Older models had to include all manner of ports – RS232 serial ports, parallel ports, PS/2 ports for keyboards and mice, and VGA or DVI ports for screens. Nowadays, thanks to standardisation on USB, modern KVM switches are much more simple.

This Steetek model is designed to switch between two computers. It comes with two USB-A to USB-B cables to connect to each computer, but you need to provide your own HDMI cables. On the front are four USB 2.0 ports, so it also doubles as a USB hub. Note that the picture on Amazon’s web site suggests that there are two USB 1.1 and two USB 2.0 ports, but they’re all labelled as USB 2.0 on the KVM switch that was delivered to me.

Once set up, there’s a single button at the front, which you press to toggle between the two computers, and two LEDs, which illuminate depending on which computer is in use. It can support 4K Ultra HD screens (3840 × 216 resolution) and audio over HDMI, so you can use it for (for example) games consoles as well as computers. The KVM switch does not need any external power, and there are no drivers to install. That being said, the lack of external power means that the USB ports will only be really useful for connecting keyboards and mice, and not any high-power devices like phones.

It’s also nice and compact, measuring just 11 cm (4 1/2 inches) wide, 6 cm (2 1/2 inches) deep and only an inch (2.5 cm) high, so it doesn’t take up much space on my desk. I’m using it to switch between our home Windows laptop, and the Raspberry Pi which runs Home Assistant. As mentioned, there’s no need to install drivers and so it works fine, even when the two computers are very different. It costs about £20 at the time of writing.

There are lots of other KVM switches available, offering external power and connections to more than two computers. There are also some Thunderbolt KVM switches, such as this one (sponsored link), which are even simpler to set up. Because Thunderbolt uses USB-C connectors for data and video, you only need one USB-C connection to each device rather than separate USB and HDMI connections. However, you’ll pay a premium for these, as they cost several times more than this more basic one. And neither of my computers support Thunderbolt.

Comparing ZeroSSL and Let’s Encrypt

If you run a hobbyist web site like I do, then nowadays there’s at least two places to get free SSL certificates: ZeroSSL, and Let’s Encrypt. I’ve used both, and so this is a comparison of their relative advantages and disadvantages.

Of the two, Let’s Encrypt is the most well-known, even though it’s only been around almost 10 years. It’ll celebrate its 10th birthday this coming November. Despite this, over 400 million certificates have been issued over those 10 years, and 93% of web sites use Let’s Encrypt certificates. It’s now the world’s most popular Certificate Authority, presumably because it’s free for all to use.

ZeroSSL is a much smaller commercial alternative, but it too offers free SSL certificates. The concept of SSL certificates being free would have probably blown my mind 20 years ago, but now almost all web sites use SSL – probably because Google ranks such web sites higher as a way of encouraging better security.

Anyway, this is a comparison, so here we go:

A still from the Lord of the Rings film where Boromir states 'One does not simply walk into Mordor'. The text has been replaced with 'One does not simply get a Let's Encrypt certificate'.

Ease of issuing certificates

Let’s Encrypt is designed to be an automated service for managing certificates, using tools like Certbot. Which is fine if you have a host that supports Certbot, or another tool that uses the ACME protocol. For example, I run Sympl which manages my Let’s Encrypt certificate for this web site.

But if you want to manually obtain an SSL certificate from Let’s Encrypt, it’s a much more involved process. You’ll need to interact with Certbot on the command line, and probably fiddle with your domain’s DNS settings. SSLFree.io appears to be a web-based front-end for getting Let’s Encrypt certificates, but I’m not sure how much I trust it.

ZeroSSL is the winner here. There’s a web-based tool for obtaining SSL certificates, and you can authenticate using an email link if you wish. There is also an ACME API.

How many certificates you can get

Let’s Encrypt is free for everyone, no matter how many certificates you need. You can also create a ‘wildcard’ SSL certificate, that would cover example.com and all its subdomains, although you’ll need to use a DNS provider that has a plugin available like CloudFlare.

ZeroSSL, being a for-profit company, isn’t so generous. If you want to use their web-based interface, then you’re permitted a maximum of three free SSL certificates that are valid for 90 days. This limit of three certificates includes renewals, so if you have three certificates already, you’ll need to wait for one to expire before you can renew it (or pay for a new one). Thankfully, there isn’t a limit on those created using the ACME service.

How long the certificates last for

Paid-for SSL certificates would typically last for 12 months. The free certificates that Let’s Encrypt can issue are only valid for 90 days, but the idea is that their renewal is automated using tools like Certbot so that, in practice, there’s no interruption in service for users.

ZeroSSL’s free certificates are therefore also only valid for 90 days. You can, of course, pay for a standard certificate that lasts longer, but this will cost. Rather than paying per certificate, ZeroSSL charges a monthly subscription beginning at $10 per month. By contrast, Xilo, who I used before Let’s Encrypt was a thing, charges £20 for a one year SSL certificate.

Other alternatives

I’ve focussed on Let’s Encrypt and ZeroSSL as these are the two that I have the most experience with. CloudFlare also offers free SSL certificates, as does SSL.com. I can’t really compare these as I haven’t tried them.

Manually renewing SSL certificates with Certbot

A screenshot of Putty connecting over ssh to a server running certbot, where the command has been issued to manually renew an SSL certificate. The domain has been pixelated.

Back in February, I started using nginx Proxy Manager to manage external access to the various web services that I host on my Raspberry Pi – namely, Home Assistant, calibre-web and Nextcloud. Nginx Proxy Manager (NgPM) includes Certbot, which is an automated tool for managing SSL certificates from Let’s Encrypt, and it should automatically renew certificates every three months so that there’s always a valid certificate in use.

In practice, this doesn’t work on my NgPM install. I understand it’s a bug in an older version that has been fixed, but as I run NgPM as a Home Assistant addon, that bug fix hasn’t made its way downstream. Attempts to renew the SSL certificates through the NgPM web interface fail with unhelpful errors.

Hopefully, the Home Assistant addon package will get updated soon, and this won’t be a problem anymore. But in the meantime, this is the workaround that I’m using – manually interacting with Certbot on the command line to generate a certificate. This can then be imported into NgPM manually.

Step 0: access Certbot through Docker

If you have access to Certbot directly, you can skip this step.I don’t, and Certbot is no longer supported on Windows, so I’m using the version of Certbot that comes with NgPM.

As this runs in Docker, we need to open a shell session inside the Docker image, using docker exec -it addon_a0d7b954_nginxproxymanager sh. I had to run this as root on my system using sudo.

Step 1: request the certificate

Now we can interact with Certbot itself. Here’s the command to type:

certbot certonly --manual --preferred-challenges dns - d example.com

Let’s break this down:

  • certonly specifies that we just want the certificate – we don’t want Certbot to install this for us.
  • --manual tells Certbot that we want to manually authenticate the domain.
  • --preferred-challenges dns means that we want to authenticate using DNS, rather than HTTP – this is tricky to do when you’re using a reverse proxy
  • -d example.com is the domain that we want the SSL certificate for.

Step 2: add a TXT record to authenticate

If you use something like Google or Cloudflare for DNS, then you may be able to use a plugin to automate this step. I don’t, so here we create a TXT record on our DNS provider’s dashboard to authenticate the certificate. This will be something like _acme-challenge.example.com and will include a text string that Certbot gives you.

Once you’ve created the TXT record, my suggestion is to set a timer for 2-3 minutes, before pressing Enter to continue. DNS records can take anything from a matter of seconds to a few minutes to propagate, and if you try to continue too soon, the authentication will fail and you’ll need to go back to step 1. Trust me on this.

Step 3: download the certificate files

If the authentication is successful, then Certbot will have created two files for you. For me, these were something like:

/etc/letsencrypt/example.com/fullchain.pem
/etc/letsencrypt/example.com/privkey.pem

As I was running Certbot from within Docker, the easiest way I found to save these was to type cat /etc/letsencrypt/example.com/fullchain.pem (and for privkey.pem) and then copy and paste the output into a file locally.

Step 4: add to Nginx Proxy Manager

If you’re using Nginx Proxy Manager and want to be able to use your new SSL certificate, then open the SSL Certificates tab at the top, click ‘Add SSL Certificate’, and then ‘Custom’. Don’t choose the Let’s Encrypt option; although these certificates were issued by Let’s Encrypt, you want to import them manually.

Give it a name – I usually put the name of the service and the month (e.g. Nextcloud Sept 2024). Upload the privkey.pem file as the Certificate Key, and fullchain.pem as the Certificate. Click Save.

Now, go to the Proxy Hosts tab, and choose the host that matches the SSL certificate that you’ve uploaded. Click on the three dots on the right hand side, and choose Edit. On the SSL tab, select the certificate that you’ve uploaded. And that should be it – try navigating to your domain to see if it’s working and check that the new certificate is in use.

No auto-renewals

It’s worth baring in mind that manually-issued Let’s Encrypt certificates won’t normally auto-renew. You apparently can use validation hooks to enable auto-renew, but this goes beyond my expertise.

I’m hoping that the package maintainer for the Nginx Proxy Manager addon for Home Assistant will issue a new release soon, which will enable me to auto-renew my certificates in future. If not, then I have my own guide to follow to manually renew.

Apple AirPods Pro as hearing aids

Screenshot from Apple showing the AirPods Pro hearing aid features

I don’t tend to follow Apple’s new product announcements very closely anymore, but yesterday’s announcement that Apple AirPods Pro 2 will be able to act as medical-grade hearing aids interested me.

I’ve been a hearing aid user for almost two years. My hearing aids are really basic, standard issue NHS over-the-ear models. They work, and are loaded with an audio profile that amplifies the frequencies where I need the most assistance, but they’re basic. There’s no Bluetooth, and I have to take them out to use a headset. They don’t even have rechargeable batteries – my local NHS hospital has to send me packs of little button batteries every few months.

Hearing aid costs

Whilst I get them free on the NHS, were I to lose one, I would need to pay £75 for a replacement (so £150 for a pair). And that’s pretty cheap as far as hearing aids go. For context, basic hearing aids from Specsavers start at £499 a pair if bought privately. Top-of-the-range hearing aids cost closer to £3000 a pair. I guess the high prices are partly to do with the cost of being certified as medical devices and limited number of customers.

With this in mind, the £230 cost of a pair of rechargeable AirPods Pro 2 is fantastic value for money for hearing aids. Especially as they will work well with an iPhone and support Bluetooth – which is something that would otherwise cost four times as much. And, it’s a lot more accessible – it took me several months following my hearing test to get a referral via my GP to audiology, whereas these will be available to buy on the high street without any gatekeepers.

Replacing regular hearing aids

Before we get too excited, Apple’s press release notes that the hearing aid functionality will be for mild to moderate hearing loss only. That includes me at the moderate end of the hearing loss spectrum, but for people with significant or profound hearing loss, regular hearing aids will still be necessary. There will be a ‘hearing test’ feature included in iOS 18 to tune the hearing aid functionality of the AirPods Pro. However, I doubt it’ll be as accurate as an audiogram that has been produced by a qualified audiologist in a sound-proof room using professional equipment.

I also think that others will find it confusing if you’re talking to them whilst wearing AirPods. Most hearing aids are designed to be relatively discreet – the visible bits of mine are clear plastic with the electronics hidden behind my ear. Whereas it’s pretty obvious that someone is wearing AirPods.

But on the whole, I think this is a massive game changer for people with hearing loss. Having hearing aids so easily and cheaply available could help so many people. I might have to consider getting myself a pair.

How I stopped Teams from glitching

Ever since we started using the ‘new’ Microsoft Teams, my home computer would glitch whenever joining a meeting where I wanted my webcam on. By ‘glitch’, I mean both screens going black – usually just for a couple of seconds, but sometimes longer. It may also be triggered by someone sharing their screen during a meeting – meaning I could hear them, but not speak.

Finding new graphics drivers

The simple solution to this was to update my graphics drivers. At home, I use a relatively basic Lenovo laptop bought in 2018. In 2021, I upgraded the RAM from 4 GB to 16 GB, which has helped to keep it going despite its age. Its processor is too old for Windows 11, but Windows 10 still works fine for me.

When I opened Device Manager to check my graphics drivers, they hadn’t been updated since 2018. Over the past few years, more and more applications have been updated to take advantage of GPU hardware acceleration – as I write this, Firefox, Outlook, Excel, Teams and Spotify are all using my GPU. That was less of an issue in 2018, but is now.

Windows Update wouldn’t offer any new drivers, and nor would Lenovo Vantage, the tool that shipped with the computer for vendor software updates. And on Lenovo’s web site, the latest software downloads were the same driver that I already had.

As the laptop uses Intel built-in graphics drivers, I instead went to Intel’s web site to download them. Sure enough, Intel had drivers updated as recently as May this year. So I downloaded them, ran the installer, and got an error, saying ‘Your system has a driver that is locked to manufacturer specification.’

Bah. This means that Intel only wants me to download drivers from Lenovo, but Lenovo are not offering updated drivers.

Getting around the manufacturer specification lock

The good news is that you can get around this, and I found the solution thanks to this Reddit thread. You tell Windows to use a generic driver, and then install Intel’s updated drivers as an alternative.

Here are the step-by-step instructions:

  1. Do a complete back-up. We’re playing with drivers here, and the wrong driver can render your computer unbootable. Make sure you have a full system backup that can be restored in case something goes terribly wrong.
  2. Open Device Manager, find your graphics device, right-click, and choose ‘Update Driver’.
  3. Select the second option, ‘Browse my computer for drivers’.
  4. On the next screen, select ‘Let me pick from a list of available drivers on my computer’
  5. You should have a driver called ‘Microsoft Basic Display Adaptor’. Select this, and click Next.
  6. Your screen will flash, and you may find that any external screens will stop working. When it’s done, restart your computer.
  7. Now, try to install the Intel drivers again that you have downloaded from the Intel web site. If all goes well, these new drivers will be installed instead.
  8. If not, repeat the above steps as far as step 3. Find the Intel driver download, and open it in a tool like 7-Zip to access the files inside, and extract them to a folder.
  9. Instead of following step 4, select the folder that you extracted the files to, and Windows should detect the drivers and install these for you.
  10. You can then check your driver version in Device Manager to verify that the latest version has been installed.

This resolved the issues for me, and now Teams works fine.

The fact that computer manufacturers can stop you from easily installing driver updates is unfair, in my opinion. Sure, the computer I’m using is old, but it still works pretty well. We have a massive problem globally with electronic waste, and we shouldn’t be making functioning computers obsolete through software.

Using an SSD with a Raspberry Pi

A photo of a USB Solid State Drive (SSD) which looks like a standard USB flash drive

One of the Raspberry Pi’s big selling points is that you can install the operating system on an easily swappable SD card. But long term, a solid state drive (SSD) is probably better, and I’ve recently switched to one.

SD card limitations

The Raspberry Pi’s use of SD cards for storage does make sense. They can be easily swapped out, if you want to use different operating systems or load different configurations. And it means that they can be shipped without built-in storage, which keeps the cost down. Indeed, the Raspberry Pi Zero was given away free with a magazine when it launched in 2015.

But SD cards were mainly designed for storing images and videos from cameras, and not for running operating systems. SD cards do fail after a certain number of read and write cycles, and running an operating system on one is going to result in a lot of reading and writing. So whilst an SD card in a camera may last several years, in a Raspberry Pi, it could be a matter of months. This is especially true if you run software like Home Assistant.

And seeing as I do run Home Assistant on my Raspberry Pi, alongside a host of other server software, I decided that I would migrate everything to an SSD before something bad happened.

Choosing an SSD

I went for this basic 128 GB SSD by LQH Tech (sponsored link). It cost me less than £20 (well, actually it was bought with birthday money). It looks like a standard USB flash drive, but it houses an SSD instead. The two are different, and you should get both better performance and a longer life span out of an SSD compared to a flash drive or SD card. It simply plugs into one of the Raspberry Pi’s blue USB 3 ports.

There are other options. You can buy a HAT (Hardware Attached on Top) device which lets you connect a standard SSD inside a larger case, or a USB to SATA cable to connect a SATA SSD to one of your USB ports.

The LQH Tech SSD that I went for seems to work fine, although it does get quite hot when in use. Even so, it offers a noticeable performance improvement to Home Assistant.

Migrating from an SD card to an SSD

If you’re currently running Raspberry Pi OS on your SD card, then you could try the rpi-clone tool to copy the contents to an SSD. Then, once it’s done, all you should need to do is shut down your Raspberry Pi, take out the SD card and then turn it on again. If it’s worked, then your Raspberry Pi should happily boot from the SSD.

I run Debian on my Raspberry Pi. Now, rpi-clone may or may not work on Debian (Raspberry Pi OS is forked from Debian after all), and so I tried it. It didn’t work – the Raspberry Pi would not boot from the SSD.

Instead, I set the SSD up with a fresh Debian install (it helps that we’re a household with two Raspberry Pi computers), installed Home Assistant Supervised and then restored a backup from the installation on the SD card. Apart from requiring some minor configuration tweaks, mainly due to my existing external USB hard drive now being called ‘sdb’ rather than ‘sda’, this worked fine.

I made this migration a few weeks ago and haven’t had any issues. The SSD being rather warm is a concern, but it doesn’t seem to affect performance which is way better than on an SD card. And hopefully it’ll have a longer life too.

Raspberry Pi cooling fan and case

A photo of my Raspberry Pi in its new case with a cooling fan

We finally had some nice, warm weather a couple of weeks ago. Which was nice for being outside, but not so nice for my poor little Raspberry Pi, which couldn’t keep cool. So, I’ve upgraded it with this cooling fan and case from The Pi Hut.

Until now, I’ve been using the standard, official Raspberry Pi case. Which does the job of keeping dust out off the main board and protecting it, but not much else. As it’s plastic, it doesn’t do a good job of heat dissipation.

This was a problem last week, as my Raspberry Pi was getting so hot that it was shutting itself down to prevent damage. The impact of this was that my phone couldn’t access the internet, as I use AdGuard Home as the DNS server.

Cooling options

When it comes to cooling down a computer, there are three ways of doing it. Most use all three:

  • Ventilation – letting air flow through the computer
  • Active cooling – using a fan (or water cooling system) to move hot air away
  • Heat dissipation – using heat sinks to help get heat away from components like the processor

The Raspberry Pi has an ARM processor which is a RISC (Reduced Instruction Set Computer) type, and these tend to run cooler than CISC (Complete Instruction Set Computer) processors like those from AMD and Intel. This is why just about every smartphone uses ARM processors, as otherwise they would probably need fans too. Let’s just say Intel’s attempts at putting x86 processors into smartphones didn’t go well.

If you’re not doing anything too taxing with your Raspberry Pi, then the lack of cooling in the official case probably isn’t going to cause you issues. Indeed, I’d only had occasional issues until the recent warm weather. In addition to Home Assistant and AdGuard, my Raspberry Pi also runs Plex, MariaDB, Nextcloud, Calibre-Web, a Matter server and Nginx Proxy Manager, and it manages all these okay normally.

Cooling case

I ordered the new case from The Pi Hut on a Friday, and it arrived through my letterbox within 24 hours. It’s only £10 and includes a fan, which plugs into your Raspberry Pi’s GPIO (General Purpose Input and Output) ports for power. It comes in a tiny package, because there’s some assembly involved; essentially, you get four acrylic plates, the fan, and lots of screws. Each acrylic plate has been laser cut, and peeling off the protective film and popping out the tabs is quite satisfying.

You’ll need a screwdriver; I have one from the iFixit Essential Electronics Toolkit which seems to be the same one used in the assembly guide. Preparing the plates actually takes longer than the assembly – there’s not many screws and it all slots together.

Up and running with the cooling fan

Once assembled, I re-connected all the cables and booted my Raspberry Pi up. And then had to unscrew the top and re-connect the cooling fan wires as I’d put them in backwards. But after that, the fan whirred into action and I could feel a slight breeze coming out.

The fan is whisper quiet; whilst my hearing isn’t the best, I couldn’t hear it at all. It’s also worth noting that I run my Raspberry Pi on Debian, and not the official Raspberry Pi OS, and yet the fan still works. In other words, there’s no special drivers or scripts to install to get it to work.

If heat is still a problem, then there’s still plenty of space inside the case to add heat sinks, and again, The Pi Hut has you covered. In the meantime, I’ll see how I get on with this new case.

Water cooling?

I mentioned liquid cooling, which is more effective than a cooling fan, and sometimes used for high performance gaming computers. Of course, someone has done this for their Raspberry Pi, and the video is embedded above. The cooling system is huge compared to the Raspberry Pi board, which suggests that just because you can, doesn’t mean you should.

25 years of Rollercoaster Tycoon

A photo of The Big One, a rollercoaster at Blackpool Pleasure Beach

Last week, the game Rollercoaster Tycoon turned 25 years old. There’s a good retrospective from The Guardian, including interviews with two people who played the game in their youth and who now design rollercoasters, and the game’s designer, Chris Sawyer. Whilst its graphics felt dated even in 1999, it was well-received at the time and was a game that allowed plenty of flexibility with each scenario.

I have fond memories of playing Rollercoaster Tycoon – indeed, I spent much of the summer of 1999 playing through the various scenarios. And of course, I ended up buying both expansions, which added additional scenarios and new rides.

Rollercoaster Tycoon was the second of Chris Sawyer’s games that I played extensively. I also spent many hours playing Transport Tycoon, which was released in 1994 and came on floppy disks. It’s notable that Sawyer wrote most of the code for his games in Assembly, which meant that the games were light on system resources but also hard to port to other platforms.

More recently, I’ve played the open source clone, OpenTTD, which works on modern computers. And there’s OpenRCT2, which is an open source re-implementation of Rollercoaster Tycoon 2, although it uses the original data files.

Of course, realising that Rollercoaster Tycoon is now 25 years old is another sign that I’m getting old.

Silencing unknown callers

Screenshot of the iOS option to silence unknown callers
My recent calls list, showing lots of missed calls from numbers not in my contacts

Over recent weeks, I’ve been plagued by calls from numbers not in my contacts. Sometimes, as per the screenshot, I’ll get three calls from three different UK mobile numbers within seconds of each other. So, I’ve enabled Silence unknown callers on my iPhone.

I made a mistake by answering the first call, and it turned out to be some kind of cryptocurrency scam. However, it wasn’t just a random dial; they had my name and email address as well as my phone number. This suggests that they’ve hoovered up my personal data from a previous breach – possibly the Patreon breach of 2015, but there have been many others.

Since then, I’ve been getting three or four calls at a time, usually twice per day. It’s a different number every time, so whilst I may have not been fully convinced it was a scam when I answered the first time, I am convinced now. I’ve tried to hide the numbers in the screenshot because the numbers have almost certainly been faked and probably belong to innocent people. It also suggests to me a deliberate effort to get around call blocking apps like Truecaller, for which I have a premium subscription.

What this means is, if people call me, my phone will only ring if the number is in my contacts, if I’ve called it recently, or it’s a ‘Siri suggestion’. The latter could include numbers in recent text messages and emails, for example.

If you want to enable this yourself, open Settings on your iPhone, go to Phone and then scroll down to ‘Silence Unknown Callers’.

I’ll keep this on until the random calls stop. At the time of writing, they’ve slowed down but haven’t stopped completely. Maybe they’ll get the hint in time.

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