A few weeks ago, I got a chance to speak truth to power. I used my WordPress.org account to sign in to the official WordPress.org Slack where the various WordPress dramas were being discussed. After a brief chat about the latest shenanigans, I publicly replied to the CEO: Here's a link to the full exchange There was no reply forthcoming - although, as you can see, my message gathered a fair few positive reactions. As was inevitable, the next morning I found myself locked out of the Slack.…
Continue reading →
This has been a tough year - I've found it hard to get back in to reading. A few books knocked me off my stride and the lack of a commute meant less downtime for reading. Nevertheless, 46 books isn't too bad! Of note, for the first time in ages I read a couple of paper books! Like some kind of old-fashioned cave-man! Myself When Young from 1938 is astounding. If you want to understand proto-feminism or how society viewed itself, it is a must read. The Intergalactic Omniglot was a book I…
Continue reading →
This is so fucking stupid. There is no way to update the logo of a custom social connection on Auth0 without using the command line. On literally every other service I've used, there's a little box to upload a logo. But Okta have a funny idea of what developers want. And, to make matters worse, their documentation contains an error! They don't listen to community requests or take bug reports, so I'm blogging in the hope that this is useful to you. The Command curl --request PATCH \ -H…
Continue reading →
Let's say you have a website - your_website.tld - and you want people to log in to it using their Mastodon account. For a traditional social-media site like Twitter or Facebook, you would create an OAuth app on the service that you want. But there are hundreds of Mastodon servers. So you need to create a new app for each one. That sounds hard, but it isn't. Well… not too hard. Here's some code adapted from Infosec.press. It's all written using cURL on the command line - so you should be a…
Continue reading →
When Flaubert wrote Madame Bovary in 1857, I'm not sure if he imagined a cast of four playing every character, bouncing around the stage, performing magic, and reacting to non-diagetic sound. I cannot overemphasise how silly this production is! It is a joyful explosion of madcap mayhem, with dozens of costume changes per minute, and a healthy disregard for the fourth wall. I'm unfamiliar with the original text, but I assume the horny nuns, dodgy rat-catchers, and squeaky-voiced pharmacists…
Continue reading →
Here's a knotty problem. Lots of my posts use URl Fragments. Those are links which start with #. They allow me to write: <a href="#where-is-this-a-problem>Jump to heading</a> So when someone clicks on a link, they go straight to the relevant section. For example, they might want to skip straight to how to fix it. Isn't that clever? Where is this a problem? This works great when someone is on my website. They're on the page, and a fragment links straight to the correct section of that…
Continue reading →
At last month's BarCamp London 13 I ran a little experiment that I'd been meaning to do for a while. "Getting To Know You" bingo is a well-established team-building exercise. Usually, you gather a bunch of interesting personal facts from a team, stick them on a bingo card, then have people wandering around trying to find out who once dated a Spice Girl and which mid-level executive has a cat called Mr Tiddles. At this unconference there wasn't a good way to poll attendees in advance. And,…
Continue reading →
What is a hashtag? Fifteen years ago (fuck, I'm old) I started documenting what Twitter's nascent hashtags could and couldn't do. Back in 2010, this is how the official Twitter site linked hashtags. Notably, punctuation symbols didn't "count" as part of a tag. How does modern social media handle something like #Fish&Chips? Mastodon links directly to #Fish&Chips BlueSky links directly to #Fish&Chips Threads links to a search for Fish & Chips What about normalisation? Should #Romeo…
Continue reading →
Hot new social networking site BlueSky has an interesting approach to usernames. Rather than just being @example you can verify your domain name and be @example.com! Isn't that exciting? Some people are @whatever.tld and others are @cool.subdomain.funny.lol.fwd.boring.tld I wanted to know what the distribution is of these domain names. For example, are there more .uk users than .org users? Shut up and show me the results You can play with the interactive data Oh, and the large number of…
Continue reading →
Once in a while, there is a disaster. Phone lines go out, the Internet breaks down, and mobiles don't work. Then the Ham Radio Operators save the day. Amateur radio is one of those things I'm only vaguely aware of. It chugs along in the background unnoticed. It doesn't follow the fashion of today's industry, nor does it chase growth at all costs. It is an open standard, run by a decentralised group of people rather than a corporation, and it favours relentless practicality rather than KPIs. I …
Continue reading →
Both Mastodon and BlueSky have the concept of "self-verification". Rather than trust a central authority to assess your notability and then bless your account (as Twitter used to do), they let anyone self-attest using Domain Verification. What does that mean? You tell the service what your website is. The service gives you a secret code. You upload that secret code onto your website. The service checks the secret code is on the website. If it is, the service says your domain is verified. …
Continue reading →
These are little biographies of characters who tried to inveigle their way into stories that were inappropriate for them. Perhaps they'll graduate to full stories one day. For now, regretfully, they are stuck in the Writer's Waiting Room leafing through dusty magazines until inspiration strikes. Who knows, maybe one will become your new favourite. I first started breastfeeding cats when I was 27. mRNA vaccines were the miracle of the 21st Century. Every disease eventually found itself…
Continue reading →