Way back in the 1990s, my family visited the USA. It seemed at every single large shop there was a person stood inside whose sole job was to say "Welcome to STORENAME! How are you doing today? We're so pleased to have you shop with us!" - their face plastered with an enormous grin. It was quite the culture shock. To us, it felt weird, insincere, and creepy. But, like the over-enthusiastic whooping and cheering from US sitcom audiences, it seemed to be an accepted part of the culture. A few…
Continue reading →
I speak English. My Amazon account is set to English. My Alexa listens to my English commands and replies in English. Except for new book notifications. I saw a pulsing yellow light on the dot. I've memorised all of the various signs and portents the accurs'd device can summon up, so I asked it (in English) what notifications it had for me. It replied, naturally, in German. I couldn't grab an audio recording in time, and I've no idea which command invokes a repetition. But the Alexa app…
Continue reading →
Scratching my own itch. I want an alert when there's been a price drop on an item on my Amazon wishlist. I couldn't find an easy way to get an email directly from Amazon (customer-focused my shiny metal arse) so I knocked something up in Python. This is heavily inspired by Leigh Dodds' Wishlist Monitor. Amazon don't offer an API for wishlists (innovative my shiny metal arse). So this uses Beautiful Soup to grab the data from the HTML. To be fair, there's also some microdata on the page, which …
Continue reading →
This morning, my wife noticed that Alexa was insistently flashing its little blue lights. "Alexa... Notifications?" "You have one notification. An item on your wishlist has dropped in price. The … is now only £…" And that's how my wife found out what I planned to get her for her birthday! What happened to cause this? I maintain several Amazon Wishlists® of things I want to buy. One of those is for presents I might want to buy my wife - and it is set to private. If you want to buy me a prese…
Continue reading →
I've been experimenting with Amazon's Polly service. It's their fancy text-to-sort-of-human-style-speech system. Think "Alexa" but with a variety of voices, genders, and accents. Here's "Brian" - their English, male, received pronunciation voice - reading John Betjeman's poem "Slough": https://shkspr.mobi/blog/wp-content/uploads/2021/07/slough.mp4 The pronunciation of all the words is incredibly lifelike. If you heard it on the radio, it might sound like a half-familiar BBC presenter. It…
Continue reading →
Technology never works right. And video technology never works right even harder. The Amazon 4K Fire Stick is a pretty cool bit of kit. It's an Android device which can push 4K HDR video with surround sound to your TV. But, like any technology, it's buggy. Here's the bug report I've tried to send to Amazon and the BBC. They haven't answered - so I'm publishing it here as well. BBC iPlayer supplies 4K video - but the app doesn't switch to 4K mode, it stays at 1080p. Amazon debug To turn on…
Continue reading →
It's 2019 and high-tech devices are still plagued by text encoding bugs. I recently bought the new 4K Amazon Fire Stick. It's a little Android dongle which plays videos. It's neat - but quite often displays weird text errors. Take the kids' TV show House of Anubis, the Fire displays the description like this: Looking at the source code for the description: That's the character "private use two" (U+0092). What on earth is that doing there? Well, in the ancient Windows-1252 encoding, 0x92 …
Continue reading →
Amazon Alexa is a fun little bit of kit. But it can be tricky getting it to work with all your smart devices. Not every company has an Alexa skill - just like not every company has an app. Using Flask-Ask it is possible to bring Alexa smarts to a range of previously mute devices. Alexa coding works on "intents" - the following is a simple intent. That is, you can only ask the skill one thing. No state is maintained, no multiple commands to get right, no complexity. This gets information…
Continue reading →
Bin day is the most magical time of the week! Children of all ages cry "Which bins is it?! Oh! Which bins?" Is today recycling day? Or green waste day? Or humble landfill day? Should my food caddy go out? Gosh! Who can keep track? I mean, obviously I could look at my calendar. Or sign up for free SMS alert. Or use push notifications in their app. But where's the fun in that? "Alexa..." The code I've written uses Oxford City Council's civic data APIs - which will deal with bank holidays…
Continue reading →
You can now get the UK's flood forecast as part of your Flash Briefing on Amazon's Alexa. I've tried previously to create an interactive Alexa skill - it did not go well. This time, I thought I'd create an easier skill - a Flash Briefing. You ask Alexa for your daily news report and it reads out items that you've configured - news, weather, traffic, that sort of thing. For a basic skill, all you need is a tiny scrap of JSON. In this case: { "uid":…
Continue reading →
I can now query my solar panels via my Alexa Amazon Dot Echo thingie (why so many names?). https://shkspr.mobi/blog/wp-content/uploads/2017/05/VID_20170501_161804.webm I flatter myself as a reasonably competent techie and programmer, but fuck me AWS Lambdas and Alexa skills are a right pile of shite! Sorry if that sounds a bit harsh, but they're a pain in the arse to get anything done. I wanted something simple. When I say "Solar Panels", call this API, then say this phrase. That's the…
Continue reading →
Phishing is the devious practice of tricking users into giving away their usernames and passwords to fraudulent sites. It is big business, and the best defence against it is constant vigilance. I'm going to walk you, step-by-step, through a scam that targetted me today. Along the way we'll see how to avoid falling prey to these monsters. It starts with a text I was sent this SMS from a number that I didn't recognise. Let's count the mistakes! In the UK, we place the currency symbol…
Continue reading →