Back in the 1980s, when my family first got a micro-computer, there were only limited ways to program your machine. The Internet was basically non-existent for domestic users. You could buy thick computer manuals, swap cassettes with other enthusiasts, or build a light pen and point it at a flashing square on your TV (Really!) Or, you could go down to your local newsagent, buy a magazine, and laboriously hand-type in a code listing. Sometimes, they would look like this: Yikes! Ah, but…
Continue reading →
In today's edition of "All My Faves Are Problematic..." I was re-watching Life of Brian for the umpteenth time, when I suddenly felt uncomfortable. You can probably recite this scene from memory: REG: What's the point of fighting for his right to have babies when he can't have babies?! FRANCIS: It is symbolic of our struggle against oppression. REG: Symbolic of his struggle against reality. It feels a bit... Well... Grim. In 2020 it kinda reeks of transphobia. Lots of people on the…
Continue reading →
Due to COVID19, I'm using a wide range of video conferencing services. Those of us who have work-supplied laptops usually have locked-down hardware. No unauthorised apps can be installed. That's not a problem for Google Hangouts - it just works in any browser. No need to install plugins or apps. Voice and video just work. But Zoom - one of the most used VC services - falsely claims that users need to install an app to use it. I've had frustrated colleagues express their displeasure that they …
Continue reading →
Every so often, I get a glimpse into the thought processes of someone who has a very different view of the world to me. I don't deal with people's personal information often. So I was surprised to receive an email with a multi-megabyte spreadsheet called "Pay and Bonuses 2020". The email contained this doozy of a sentence: “Due to GDPR the attached file is password protected, I will send the password in a separate email” I shit you not. I checked the sender. They didn't work for my org…
Continue reading →
A few weeks ago, I was asked if I wanted a free ticket to a conference about the health industry. The line-up of speakers looked pretty interesting, so I said yes. I speak at a lot of conferences, and sometimes it's nice to go as a guest. Even though I'd agreed, the conference organiser started with the hard sell. The location was at a famous sports club (yawn!) and we'd get a behind the scenes tour (errr... not for me) and there would be a free cocktail reception at the end (I can think of…
Continue reading →
Another day, another data breach. The email addresses and travel details of about 10,000 people who used free wi-fi at UK railway stations have been exposed online. The database, found online by a security researcher, contained 146 million records, including personal contact details and dates of birth. It was not password protected. BBC News There's a really easy way to protect yourself from being a victim. Lie. When a WiFi provider asks for your email address, lie. When…
Continue reading →
What started as a fairly ordinary week, quickly transformed into something extraordinary. Large swathes of NHSX were suddenly told to de-prioritise their day-to-day work and focus on COVID19 response. I probably can't talk specifically on what I've been working on, but it has been one of the most intense working weeks of my life. As is customary, here are The Good, The Bad, and The Ugly of my week, The Good We have an amazing team of committed professionals. A wide range of skills and…
Continue reading →
How many characters can a Tweet contain? It used to be 140, back in the good old days. Now it's 280. Unless you're Japanese. Let me explain… I run OpenBenches - a site which collects memorial benches. When a user adds a bench, the inscription is automatically Tweeted. If the inscription is longer than 280 characters, it is truncated. The PHP code to truncate text to a specific length is pretty simple: $tweet_inscription = mb_substr($inscription, 0, 280); I use Multibyte String o…
Continue reading →
Someone took a nice photo of me recently. I'd like to use it as my avatar photo everywhere to present a consistent image. This is not easy to do. I've had to manually change it on a dozen different Slacks, a bunch of social networks, a few forums, all my email accounts, and I'm still not done. I just want to change my photo once. Because I'm vain and lazy. For a nerd like me, the solution is obvious: My latest avatar image has a permanent web address - https://edent.tel/avatar. When I…
Continue reading →
I stared at my TOTP generator. Surely this must be a bug? Leap Year related? Or a cold-start error? Or some freaky prank? How could my login code be 000000?!?! A standard TOTP code is normally 6 digits long. There are a million combinations, from 000000 to 999999. A million isn't a particularly big number. A million seconds is about 12 days. A TOTP code changes every 30 seconds. Assuming the codes are evenly distributed (a big assumption!) we should see every combination in half-a-million…
Continue reading →
Noodling thoughts. The humble <img> element is one of the oldest parts of HTML. It allows you to put a static image in a document. Later revisions allowed for animated images - like GIFs. And the <map> element made parts of the image clickable. But what about interactive images? Like panoramas and photospeheres? Here's a 360° image. You can drag it to see all around. That uses the fantastic Pannellum JavaScript Library. At the moment, there's no native way to represent that in HTML. If …
Continue reading →
Kepler is like you, but not like you. With a simple touch, Kepler can move into any body, live any life - for a moment, a day or for years. And your life could be next. I thoroughly enjoy Claire North's writing. This was a perfect slice of sci-fi. Body-jumping, fast-talking, continent-hopping fun! An ancient set of humans which can take over anyone's body. Leaping from life-to-life, putting things right that once went wrong, taking hedonistic pleasures and dealing with the perils of near…
Continue reading →