It looks like South Sudan's Top Level Domain is going to start allowing direct registrations! Long-time readers of this blog will know that it's possible to register .me.ss domain names - there are various other 3rd level domains you can buy. But, from the 1st of August 2024, you'll be able to apply for a 2nd level. So you'll be able to grab example.ss. Here's the official announcement. As per normal for a new TLD, there will be a period where organisations with Trade Marks can register…
Continue reading →
To recap, we have 5,040W of solar panels, with a 3.6kW inverter, and a 4.8kWh battery. That's a lot of (expensive) gear! What does it mean in terms of energy savings? Over the last 12 months we have: 4,000 kWh generated by the solar panels. 1,200 kWh purchased from the grid. 1,200 kWh sold to the grid. 1,300 kWh discharged from the battery. (Data taken from various APIs and rounded to make life easier). It's important to note that the battery doesn't only charge from the panels. Because…
Continue reading →
I've been writing about QR codes since 2007 - long before they were fashionable. Because QR Codes are so cheap to produce, there has always been a concern that attackers might print out their own codes and stick them over legitimate ones. When I first wrote about QR Hijacking in 2011, I said that such attacks were usually easy to spot: Recently, a new wave of QR Hijacking attacks have been reported in Bournemouth: A further warning about fake QR codes on parking ticket machines has been…
Continue reading →
(Inspired by this conversation between Jukesie and Himal) Lots of companies encourage their staff to blog. It's free PR! It makes them look like they're on the cutting edge of technology! It helps with recruitment! It can also be a corporate nightmare. What if the developer says something stupid? What if it accidentally reveals something top secret? What if the CEO doesn't like it? And so, gradually, any free-wheelin' developer blog gradually succumbs to the tender mercies of the comms team. …
Continue reading →
I am a pedant. I like it when validators say "nothing to report". No errors, no warnings, no information messages. My blog is plagued with messages on the HTML validator saying Info: Trailing slash on void elements has no effect and interacts badly with unquoted attribute values. By default, the WordPress function get_the_post_thumbnail() spits out HTML like: <img width="1024" height="593" src="example.jpg" alt="whatever" /> That final / is unnecessary. Having it there…
Continue reading →
I am easily influenced. At EMF Camp, I saw my friends Skylar and Cameron using some nifty walkie-talkies out in the field. Skye (patiently) explained to me the joys of PMR446 and - because I was quite drunk I hastily bought some radios on Amazon. Hey, they were on special - £30 for a pair! After a few days of use, I've come to the conclusion that they're… basically fine? My main reason for buying them was that they did USB-C recharging (we live in the future now). They didn't come with ch…
Continue reading →
I'm an absolute sucker for Claire North's books. She has an almost supernatural ability to weave an intricate yet satisfying tale, all while leaving the reader hungry for more. Ithaca presents a God's-eye-view of the story of Penelope. It's a fast, furious, and feminist story which plunges us straight into the middle of the Greek melodrama. Kenamon takes his time to consider this. Penelope does not mind. The silence of men is a novel experience, and she is prepared to thoroughly enjoy it. …
Continue reading →
Shakespeare, famously, shunned computers. Like some sort of retro hipster, he didn't write his plays on a laptop, refused to use spellcheck, and didn't register his copyright on the blockchain. Lord, what fools these mortals be! What would Shakespeare's plays have been like if their characters understood basic cybersecurity? Now, it is true that very few of his plays feature computers, but modern cybersecurity is more about human behaviours than it is any specific technology. Verifying…
Continue reading →
HTML documents have the concept of an alternate representation of the document. For example, a page's header might say: <link rel="alternate" type="application/rss+xml" href="https://shkspr.mobi/blog/feed"> That tells you there's an alternative representation of the page, what sort of content it is, and where it is located. That's nice. But it's hard for a browser to tell the user what that page is. It might be able to guess from the type, but it isn't always certain. So the <link> element …
Continue reading →
I recently went up to a conference in a city I'd never visited before. As I was sat on the train up, I wondered if any of the other passengers were also going to the conference. It's a bit socially awkward and creepy to go up to a bunch of strangers and interrogate them about their plans for the weekend. So I sat in silence. Back when everyone was on Twitter, there was a reasonable chance that you could reach people with: Hey! I'm attending #Conference. Anyone else on the 0915 to #City?…
Continue reading →
I've bumped in to Ken Banks a few times over my career - and he has always been a kind, inspiring, and dedicated chap. How did he get that way? This book is part autobiography and part an explanation about how people can find purpose in life. It is refreshingly secular on the latter, and curiously impersonal on the former. While Ken's childhood family is recounted in great detail, his wife and children get only a fleeting mention. A large part is dedicated to his ancestors: It’s about l…
Continue reading →
That's it. That's the post. Fine! I'll expand a little more. Large Language Models are a type of Artificial Intelligence. They can read text, parse it, process it using the known rules of English, and then regurgitate parts of it on demand. This means they can read and parse a question like "In Python, how do I add two numbers together?" and then read and parse the Python documentation. It will produce an output like: What happens if you search the official Python documentation for…
Continue reading →