Sign language on trains

A photo of a screen in a train announcing the next stop is Bradford Interchange, with a video of the announcement in British Sign Language.

Northern Rail has started playing videos with announcements in British Sign Language on some of its trains. It’s a trial at present, and I happened to see one last week.

This is in addition to the existing text-based and audio announcements, and is designed to increase the accessibility of the railways for people with disabilities. Elsewhere in the north, Transpennine Express is rolling out BSL screens at stations.

When I shared this photo on Facebook, it got the usual likes and hearts from friends. But, predictably, there were some comments on the lines of ‘can’t they just read?’. And, recently, over at X/Twitter, its overly impulsive edgelord owner recently asked the same question in a tweet.

I too would have probably asked the same question until recently. However, over Christmas, I read Samantha Baines’ brilliant book ‘Living with Hearing Loss and Deafness’ (sponsored link). Baines’ book helpfully explains that British Sign Language is, well, a language – and it’s distinct from English. Furthermore, some deaf people who have always been deaf will have BSL as their first language and English as their second. If you ever go abroad, to France for example, and have to constantly translate signs into English, it can get tiring after a while. Now imagine that your first language is sign language, and you have to translate written English into the signs that you have learned, all the time.

So that’s why making BSL more widespread in Britain is important. Indeed, it is now a legally-recognised language in England, Wales and Scotland. That means BSL has the same status as British English, Welsh and Scots Gaelic.

As someone who wears hearing aids, learning British Sign Language is something that I plan to do in time. This is because my hearing could continue to deteriorate to the point where hearing aids can’t compensate. Being able to understand BSL may still allow me to communicate with some people should that happen. So whilst these BSL announcements won’t necessarily help me, they will hopefully make trains more accessible for BSL users.

How we dry laundry

A photo of our tumble dryer that we use for drying our laundry.

One of the benefits of our kitchen renovation in 2022 was that it gave us space to install a tumble dryer in our cellar. Previously the cellar was inaccessible, and so our washing machine was in the kitchen; now both are in the cellar and out of the way.

Tumble dryer

We bought this Grundig heat pump tumble dryer at the end of 2022. Being a heat pump model, it’s very energy efficient; if you want to know how heat pumps work, this interactive guide from The Guardian is worth watching. Consequently, it’s cheap to run; whilst it cost more upfront than a regular condensing tumble dryer, over time, it works out cheaper. It’s not a ‘smart’ model but it’s simple enough to use, and at some point I may connect it to a smart plug with energy monitoring, so I get notified when it’s finished.

However, we can’t dry all of our laundry in a tumble dryer. About a third of our clothes aren’t suitable, due to either being handmade or having care labels advising against tumble drying.

Drying laundry outside

Ideally, we would dry as much laundry as possible outside. We have a small garden with washing lines, and there’s no cost involved when you let the sun and wind dry your clothes for you.

But we also live in the Pennines, which is one of the wetter areas of England, so we get fewer dry days than elsewhere. Indeed, it’s rare that we can dry our laundry outside at all in winter. When it is sunny and there’s a gentle breeze, drying laundry outside can be the quickest way, beating even the tumble dryer. But on a dull day with no wind, even after a full day outside, our laundry can still be damp.

Heated drying rack

A Dry:soon heated airing rack, for drying laundy

So we needed a way of drying our laundry indoors that doesn’t use the tumble dryer. For this, we bought a Dry:Soon heated airing rack from Lakeland. The rack gently heats your clothes to dry them, and there’s an optional cover to go over the rack to keep the heat in.

These became popular in 2022 when electricity prices started to rise, as a cheaper alternative to tumble dryers. Indeed, they are cheaper to run than older condenser dryers. However, they don’t save much energy compared with our heat pump dryer, and so we just use it for clothes that can’t go in the tumble dryer.

How long clothes take to dry depends on how full the rack is and what material they’re made of, but I typically found 18 hours is enough to get all clothes completely dry. Our model doesn’t have a timer or a moisture sensor – just a rocker switch to turn it on and off. So I have it connected to a smart plug, and an automation in Home Assistant that turns it off automatically after 18 hours.

What ChatGPT thinks about Omar’s

On Monday, I wrote about Omar’s Balti House in Bradford. But before publishing it, I also asked ChatGPT the following:

Write a 300 word blog post about Omar’s Balti House in Bradford, West Yorkshire

So, here’s what it came up with:

Nestled in the heart of Bradford, West Yorkshire, Omar’s Balti House stands as a culinary gem, offering a delightful journey through the rich tapestry of flavors that define Balti cuisine. This renowned restaurant has earned its stripes as a go-to destination for locals and visitors alike, seeking an authentic taste of Pakistani and Kashmiri culinary traditions.

As you step into Omar’s Balti House, the warm ambiance immediately envelops you, setting the stage for a memorable dining experience. The restaurant’s commitment to authenticity is evident not only in its decor but, more importantly, in the carefully crafted menu. From aromatic biryanis to sizzling kebabs, each dish showcases the expertise of the chefs in delivering a true taste of the region.

One standout feature of Omar’s Balti House is its namesake dish—the Balti. Served in a distinctive, wok-like bowl, the Balti is a symphony of flavors, combining tender meats or vegetables with a medley of spices. The result is a harmonious blend that captures the essence of Pakistani and Kashmiri cuisine. Whether you’re a spice enthusiast or prefer milder flavors, Omar’s caters to all taste preferences, ensuring a culinary journey that suits every palate.

The commitment to quality extends beyond the kitchen, with Omar’s Balti House sourcing the finest local ingredients to create dishes that are not only delicious but also reflective of the restaurant’s dedication to supporting the community. The menu evolves with the seasons, ensuring that patrons can savor the freshest produce while enjoying a diverse range of dishes.

In addition to its culinary prowess, Omar’s Balti House prides itself on providing exceptional service. The attentive staff adds a personal touch to the dining experience, making guests feel not only welcome but also part of the extended Omar’s family.

For those seeking a taste of authenticity in Bradford, West Yorkshire, Omar’s Balti House emerges as a must-visit destination. With its rich tapestry of flavors, warm ambiance, and commitment to quality, this restaurant stands as a testament to the vibrant culinary heritage of Pakistan and Kashmir.

I have an interest in AI, and especially large language models like ChatGPT and their impact on my industry, higher education. We are seeing students using AI tools to write assessments, and even their personal statements for their university applications. And I think the above text is a good example of how AI is at the uncanny valley stage – it looks okay on first glance, but a more detailed critique highlights its flaws.

Firstly, I wouldn’t describe this as a ‘blog post’, even though this is what I asked ChatGPT to write. It reads more like a puff piece that you would read in some marketing to promote a town or city as a place to live or invest in.

It talks quite a bit about the balti dishes that the food is served on, although that could be because I mentioned ‘balti’ in the writing prompt. A major issue with AI is that they’re not always able to explain why they’ve done something. But it doesn’t mention the enormous naan breads anywhere – which, arguably, is what Omar’s is best known for.

And there are some things it has plain made up. The menu does not ‘evolve with the seasons’. Indeed, the menu doesn’t really evolve at all; whilst it has been reprinted a few times and the prices have gone up over the years, many of the dishes that are on there were ones that were available 20+ years ago. Also, I’m not sure about the ‘local ingredients’ either.

This all feeds into my concerns about the thousands of web pages currently filling up our search engines with AI-written content. How much of it has actually been proof-read, and is accurate?

In education, AI generated content is an issue for two reasons. One, it’s cheating, in the same way that plagiarism and essay mills are – it’s just that you’re using something written by a computer rather than another person. But there’s a quality issue too. I specialise in doctoral level admissions, and much of what current AI language models generate just isn’t at that level. You tend to get vague lists of things with few references (and sometimes these are made up), and if you ask it for a longer essay then it’ll probably start repeating itself. I’m sure if I’d asked for, say, 600 words on Omar’s balti house, it would have run out of unique things to say and just repeat the same statements in another way.

Most universities are now very much aware of both the opportunities and the threats that such AI models present; Turnitin, used by many universities, can now indicate whether an assignment has been written using AI as well as detecting plagiarism. There are simpler tools available online, such as AI Detector, where you can copy and paste a short piece of text. Indeed, when I put ChatGPT’s text above in there, it said that there was a ‘relatively high’ chance that it was written by AI.

I’m sure these language models will improve over time, and will overcome their current shortcomings. At which point, we may struggle to work out what has been written by a human and what was hallucinated by a computer. We’re certainly not there yet, and I don’t know how long it’ll take to get there, or whether it’ll be like driverless cars which seem to be perpetually ten years away. I hope this blog post serves as an explanation of why I won’t be farming out my blog post writing to AI any time soon.

Omar’s Balti House in Bradford

A photo the outside of Omar's Balti House in Bradford

I’m sure I must have written about Omar’s Balti House on Great Horton Road in Bradford at least once before, although I don’t think I’ve ever written a whole blog post about it. We went there last week with a group of friends, which is an excuse to write about it.

Bradford is not short of curry houses and has repeatedly won the title of ‘Curry Capital of Britain’ over the years. And whilst Omar’s may not have the renown of other curry houses like Mumtaz, or the likes of Aagrah and Akbars which have become chains, it’s one that is held with affection amongst people who have lived in Bradford. Indeed, I’d argue that it’s a rite of passage for students who study in Bradford. I first visited early on in my first year at university, and have been back many, many times since.

Omar’s is known for serving its meals in the same metal balti dishes that they’re cooked in, and for it’s enormous naan breads. No really, they’re claimed to be the largest in Yorkshire and typically measure almost a metre across. Indeed, eating one of these naans on your own, with a balti dish, is a food challenge – and the record is currently 35 minutes having been last set in 2019. Before that, the record had stood for over a decade.

Massive naans aside, the food at Omar’s is good, and despite being a small restaurant they do cater for large groups. They also serve some western food, which is good when you have an eight-year-old who hates even the mildest spicy food.

How to join a preferred Thread network in Home Assistant

A screenshot of Home Assistant's Thread Integration showing two Open Thread Border Routers on the same network

If you use Home Assistant, and have an existing device that includes a Thread Border Router, then it should automatically add the Thread integration so that it can communicate with Matter devices. Some of Google’s Nest Hub and Nest Wifi devices include Thread, as do some of Apple’s newer Homepod devices and some of Amazon’s Echo devices. Because they broadcast their existence on your home Wifi network using mDNS, Home Assistant can detect their presence.

What Home Assistant can’t automatically do, however, is join these existing Thread networks. As this article from The Verge states, there isn’t a mechanism for sharing Thread network credentials between devices. That means that you can end up with a home that has several devices, all with the own Thread networks that don’t talk to each other, and your Home Assistant device not able to talk to any of them.

Hiding on your phone

The good news is that Home Assistant can access Thread network credentials from your phone, and this should allow you to join one of your existing Thread networks. In the above screenshot, I have my third party Thread dongle attached to the existing Nest thread network used by my Google Nest Wifi system.

The reason why I’m writing this blog post is that it’s not obvious how to enable Home Assistant to join a Thread network that it doesn’t have credentials for. Think of the Thread network credentials as being a bit like your Wifi password (or ‘pre-shared key’ to give it its official name). However, whilst you’ll usually either use whatever password is printed on your router, or a short password you set yourself, your Thread devices will come up with their own long alphanumeric key. And then, they’ll keep it a secret.

Thankfully, your phone should have this key – in Google Play Services on an Android device, and iCloud Keychain on an iOS device. And, thankfully, the Home Assistant Companion app for these platforms can access these credentials and provide them to Home Assistant, allowing you to connect to your existing Thread networks.

Matching the manufacturer to the network

But there’s a catch:

  • If you have a Google Wifi or Nest Hub device, then you’ll need an Android device to access the credentials.
  • If you have an Apple HomePod, then you’ll need an iOS device to access the credentials.

This is why I found it difficult to join the Thread network that my Google Wifi devices had created. I’m an iPhone user, and so it wasn’t able to access the credentials. They’re not available to the Google Home app on iOS, for example.

Thankfully, my wife has been a stubborn Android user for as long as I have been a stubborn iOS user. So, I just needed to ‘borrow’ her Android tablet, install the Google Home and Home Assistant Companion apps, and log in to both. Then, on the Home Assistant app, navigate to the Thread settings where an ‘Import Credentials‘ button appears. Once I tapped this, Home Assistant was able to join the Thread network created by my Google Wifi devices. Had I owned a HomePod, the process would have been similar.

One Thread network to mesh them all

Thread is a mesh network protocol, and having all devices on the same network is beneficial. Each additional device helps maintain the reach of the network. So it’s a shame that new devices just seem to set up their own networks, and don’t bother to try to join a Thread network that may already exist. Some of this is down to the Connectivity Standards Alliance, who haven’t specified a way of exchanging Thread network credentials. But it’s also worth noting that Matter and Thread are still very new standards. By comparison, Zigbee was designed in the 1990s and standardised over 20 years ago.

A few weeks ago, the Home Assistant developers hosted a livestream about ‘The State of Matter’, and there’s a useful summary here (which is good as the live stream was the best part of three hours). There’s still work to be done with supporting Thread networks in Home Assistant.

Finally February

The Drake Hotline Bling meme where Drake is showing his hand to January but happy with February.

Good grief, that was a long January. As I remarked to my wife earlier this week, it felt like the Januariest January that ever Januaried. I don’t think I’ve been so relieved that it’s finally February.

It’s also a special February, seeing as it’s a leap year and so we get 29 days.

I’ve been appreciating the earlier dawns – it’s starting to get light about half seven in the morning now, which makes getting up each day a little easier. I’m lucky that I don’t have seasonal-affective disorder, and quite like the early evenings on the run up to Christmas. But it’s also nice for it to start getting lighter too. And the winter flowers – crocuses and snowdrops – are starting to make their appearance. It might not be properly spring again but there’s a few green shoots here and there.

Playlist of the month: duets

When I started this, I thought that thinking of 10 songs each month on a common theme with a bit of context would be easy. It turns out that it’s not. I can easily think of 4-5 songs to fit a theme, but getting 10 is harder than I thought it would be. Hence why this is being posted at 9pm on the 30th January and has been typed out on my iPad.

Last month was, of course, Christmas-themed. This month, it’s all duets, and you can listen along on Spotify.

  • Rewrite The Stars – Zac Efron and Zendaya. The Greatest Showman soundtrack is just amazing. This isn’t my absolute favourite song from the album, but it’s one I come back to a lot.
  • Bring Me To Life – Evanescence. This was never intended to be a duet, and to mark the 20th anniversary of their album Fallen, Evanescence released a demo of this without the added male vocals. The band’s label felt that they wouldn’t have been successful unless this song was a duet; maybe they were right but also being featured on the soundtrack to the film Daredevil (with Ben Affleck) probably helped.
  • It’s Over – Nemesea. Less well-known and sounds a bit like an Evanescence collaboration with Linkin Park. This is my second favourite Nemesea song after ‘Caught in the Middle’ from the same album.
  • What Have You Done – Within Temptation. From the same genre as above, and as a big Within Temptation fan I needed to include at least one of their songs here. They’ve done several duets over time but this is probably their most well-known. Male vocals are provided by Mina Caputo from the band Life of Agony, before she transitioned.
  • Broken Strings – James Morrison and Nelly Furtado. I watched a lot of music TV around 2008/9 and this was massive at the time. Very catchy.
  • Beautiful South – You’re The One That I Want. Yes, it’s that song from Grease, but slowed down. I prefer this version. I think I heard it the first time in a Virgin Megastore, which dates it somewhat.
  • When You Believe – Whitney Houston and Mariah Carey. Released to promote a somewhat forgotten Dreamworks animated film called The Prince of Egypt in 1998. Both singers get to stretch their ample vocal ranges here.
  • Kids – Robbie Williams and Kylie Minogue. A big single released at the height of Robbie’s solo career and just as Kylie was getting back to her pop roots. Great thumping chorus.
  • When You’re Gone – Bryan Adams and Melanie C. Apparently Bryan originally offered this to Sheryl Cole, but this ended up being Mel C’s first solo single. There’s also a version with Pamela Anderson, but it’s geo-blocked from UK Spotify. Maybe that’s for the best.
  • The Boy Is Mine – Brandy and Monica. I bought the CD single of this back in 1998. This musical argument between the two singers allegedly reflected real world animosity, and also wouldn’t pass the Bechdel Test.

So there we go for this month. Hopefully, I’ll have another themed playlist for you for February some time within the next 4 weeks.

Sonoff Zigbee and Thread/Matter dongle

A photo of the Sonoff ZBDongle E which offers Zigbee and Thread support

If you’re a Home Assistant user, and want to connect your Zigbee and Matter devices, then one option to consider is this Sonoff ZBDongle E. I bought one a couple of weeks ago, and it seems to work fine with my Home Assistant setup.

One thing you will notice if you view its Amazon product page (sponsored link) is that there’s no mention anywhere of Thread or Matter. Out of the box, this Sonoff dongle will only work with Zigbee devices. However, if you follow this handy guide from Smart Home Scene, you can flash the dongle with custom firmware, which adds support for Thread as well. As I mentioned in my recent is there a Zigbee network in your house blog post, both Zigbee and Thread are protocols in the 802.15 family.

The firmware flasher is actually browser-based, and so there’s no need to download additional software. However, it’ll only work in Edge or Chrome, as seemingly Firefox doesn’t have away of allowing web pages to access serial ports.

Note that the guide linked above is for Home Assistant Supervised and OS. If you’re running Home Assistant as a Docker Container, then you’ll need to install this Docker Image as well. I haven’t tried it myself, as I run Home Assistant Supervised, but this seems to be the way to get it to work.

Once it’s all set up, you’ll be able to add both Zigbee and Matter devices to your Home Assistant installation.

The Sonoff dongle cost £22 when I bought it earlier this month, although at the time of writing the price has been hoicked up to £30. That makes it only £1 cheaper than the Home Assistant Skyconnect, which is the official dongle. Therefore, my recommendation of the Sonoff dongle being a cheaper option no longer applies and it’s up to you which one to buy.

Finding alternatives to Goodreads

Screenshot of my profile on which is a potential alternative to Goodreads

I’m a little late to the Goodreads review scandal. Late last year, an author whose debut book was due to be published, wrote several fake reviews of books by other authors that were due out at the same time, and posted positive fake reviews of her own book. Unfortunately for her, she was found out, and dropped from her book deal.

But, as the above-linked New York Times article states, Goodreads isn’t in a good place right now. It’s been around since 2007, although I joined in 2016 and first blogged about it in 2017. This was after Amazon’s purchase of Goodreads in 2013.

In the almost eight years that I’ve used Goodreads, it has barely changed. There have been annual Readers Choice Awards, and the annual reading challenges, but other than a change to book information pages in 2021, it feels like Amazon has basically abandoned it. The iOS app gets ‘bug fixes and performance improvements’ on a regular basis, but I suspect that these are updates to downstream code libraries and not a result of actual work by Goodreads developers.

Its recommendations of new books to try have always been terrible, and it’s reliant on volunteer librarians. Which wouldn’t be an issue if Goodreads was a non-profit, but it’s owned by one of the world’s most valuable conglomerates. Giving away labour for free to such enterprises doesn’t sit well with me, even if it’s something I’ve done a lot in the past.

So, Goodreads both has a problem with fake reviews, and a lack of interest from its owner. So what are the alternatives?

The Storygraph

I tried out The StoryGraph about a year ago. You can import your reading history from Goodreads during the onboarding process, and its recommendations are much better, as its design. There are mobile apps, reading challenges, and giveaways where authors can offer limited free copies of their books, presumably to generate some reviews.

The StoryGraph does have social features like Goodreads, but there doesn’t seem to be an easy way of importing contacts from elsewhere. Quite a lot of my friends use Goodreads and I’m sure some of them use The StoryGraph too, but I don’t know how many because I can’t seem to find them. If there’s an ‘import contacts’ option in the iOS app, then I haven’t found it.


Another site that I’ve heard about, but haven’t yet signed up to, is Bookwyrm. It uses ActivityPub and is therefore part of the Fediverse, so you can follow people using Mastodon clients, for example. You can use the instance, but you can also install and host it yourself. Importing from Goodreads (and other services) is supported.

I’m aware of some friends who use Bookwyrm, so it may avoid the issue I’m having with The StoryGraph where I can’t find my existing contacts.

And there are many other Goodreads alternatives

I found this list of Goodreads alternatives, which mentions 31 (!) sites that you could consider. Bookwyrm and The StoryGraph are both listed, as is LibraryThing which actually pre-dates Goodreads.

I suppose it will come down to what my existing friends use, and getting large numbers of people to change platforms happens rarely. We’ve seen many challengers to Twitter rise and fall over the years (Andy Baio posted an excellent eulogy of Ello this week) and it’s only because X/Twitter has become utterly terrible in the past 15 months that a significant number of people have moved to the likes of Bluesky and Mastodon. And some are still left behind.

If we follow that model, then Goodreads would have to become significantly worse, before people start looking for alternatives en masse. Right now, it’s just stagnant; clearly not a priority for Amazon, but not so badly broken as to require much of an intervention. I certainly can’t see it joining Bookwyrm in the Fediverse.

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.