If you've spent any time using Linux, you'll be used to installing software like this: The README says to download from this link. Huh, I'm not sure how to unarchive .tar.xz files - guess I'll search for that. Right, it says run setup.sh hmm, that doesn't work. Oh, I need to set the permissions. What was the chmod command again? OK, that's working. Wait, it needs sudo. Let me run that again.…| Terence Eden’s Blog
I'm neither a journalist nor a professional fact checker but, the thing is, it's has never been easier to check basic facts. Yeah, sure, there's a world of misinformation out there, but it doesn't take much effort to determine if something is likely to be true. There are brilliant tools like reverse Image Search which give you a good indicator of when an image first appeared on the web, and…| Terence Eden’s Blog
Quoting posts on Mastodon is slightly complex. Because of the privacy conscious nature of the platform and its users, reposting isn't merely a case of sharing a URl. A user writes a status. The user can choose to make their statuses quotable or not. What happens when a quoter quotes that post? I've read through the specification and tried to simplify it. Quoting is a multi-step process: The…| Terence Eden’s Blog
Obviously, I've never downloaded "warez" in my life. And, for the avoidance of doubt, I was never a member of the so-called "Scene". But such shenanigans were almost unavoidable on the early web and - wow! - is it weird seeing snippets of your history presented in an academic study! Why do people "pirate" software and other intellectual property? The answer isn't as simple as you may think. This …| Terence Eden’s Blog
This should be a fascinating look at how streaming services evolved and the outsized impact they've had on our culture. Instead it is mostly a series of re-written press-releases and recycled analysis from other people. Sadly, the book never dives in to the pre-history of streaming. There's a brief mention of RealPlayer - but nothing about the early experiments of livestreaming gigs and TV…| Terence Eden’s Blog
A decade ago, I was writing about how you should test your user interface on drunk people. It was a semi-serious idea. Some of your users will be drunk when using your app or website. If it is easy for them to use, then it should be easy for sober people to use. Of course, necking a few shots every time you update your website isn't great for your health - so is there another way? Click the "🥴 …| Terence Eden’s Blog
My pal Hayley has written a book - a graphic memoir about dealing with breast cancer. Graphic as in graphic-novel - although there are a large variety of sketched boobs dotted throughout the pages and some frank discussions of sex. I'm not very good with "medical stuff" - so I was quite proud of myself for only twice needing to take a break from reading it because I felt faint. It is the most…| Terence Eden’s Blog
You can't. There is no way to use CSS to apply a style to every letter "E". It simply can't be done. At least, that's what they want you to think… What if I told you there was a secret and forbidden way to target specific characters in text and apply some styles to them? As part of my experiments in creating a "drunk" CSS theme, I thought it would be useful to change the presentation of s…| Terence Eden’s Blog
I asked three different commercially available LLMs the same question: Which TLDs have the same name as valid HTML5 elements? This is a pretty simple question to answer. Take two lists and compare them. I know this question is possible to answer because I went through the lists two years ago. Answering the question was a little tedious and subject to my tired human eyes making no mistakes. So…| Terence Eden’s Blog
I recently read a brilliantly provocative blog post called "This website has no class". In it, Adam Stoddard makes the case that you might not need CSS classes on a modern website: I think constraints lead to interesting, creative solutions […]. Instead of relying on built in elements a bit more, I decided to banish classes from my website completely. Long time readers will know that I'm a big f…| Terence Eden’s Blog
One of the best things about London theatre is that once in a while a show will give its understudies a chance to break out of the dressing room and soar on the stage. It's a chance to see talented performers at a discount price. What's not to like? Lucy Donnelly and Mark Sean-Byrne are both flawless. His slouched frustration plays against her manic dream pixie self-loathing. The stage is…| Terence Eden’s Blog
I have a modest set of solar panels on an entirely ordinary house in suburban London. On average they generate about 3,800kWh per year. We also use about 3,800kWh of electricity each year. Obviously, we can't use all the power produced over summer and we need to buy power in winter. So here's my question: How big a battery would we need in order to be completely self-sufficient? Background …| Terence Eden’s Blog
This book is ridiculously zeitgeisty. It's all brain-rotting AI, social-media meltdowns, mixed with some cracking technobabble. She thinks about erasing more: all the practice session recordings; her own encrypted cephaloscripts; the dream-guide neuromesh of her personal AI; the interviews, fan messages, reviews—food for her vanity, training data for her egolets. Fab! But, for all that, it's p…| Terence Eden’s Blog
I am vain. I like to know which of my blog posts have "done numbers". I get a little thrill knowing that an old post I wrote has been read by someone in a land I've never visited. I'm curious and want to know if a newsletter has linked to me. At the same time, I don't want to know too much about people. I don't want to stalk them around the web. I refuse to care how long they spend with me. I…| Terence Eden’s Blog
Historical entities have been sighted in the old village of Lambeth. Are they ghosts? Visions? Or intruders through a crack in time? Join your guides and explore the backwaters and byways that slowly spread over the mysterious marshes of Lambeth. Most walking tours have a guide drag you around the well-known tourist hot-spots while they read out a bit from Wikipedia. Minimum Labyrinth’s tour i…| Terence Eden’s Blog
As part of my ongoing (and somewhat futile) efforts to ReDeCentralise, I'm looking at moving my personal projects away from GitHub. I already have accounts with GitLab and CodeBerg - but both of those sites are run by someone else. While they're lovely now, there's nothing stopping them becoming as slow or AI-infested as GitHub. So I want to host my own Git instance for my personal projects. …| Terence Eden’s Blog
I can confidently declare that Lower Decks is the second best Star Trek series after The Orville. Lower Decks has always been bags of fun with a good emotional core. Now your favourite sci-fi capers are available in handy comic book form! Second Contact is a compilation of Lower Decks issues #1–6. You get a bunch of stories spread out over 145 pages. The great thing about a comic of a cartoon i…| Terence Eden’s Blog
In September 1985, Jon Bentley published Programming Pearls. A collection of aphorisms designed to reveal truths about the field of programming. It's 40 years later - long enough to see several revolutions in the field - so surely these are obsolete, right? They belong in the same category as "always carry a bundle of hay for the horses" or "you won't always have a pocket calculator with you" or …| Terence Eden’s Blog
For boring technical reasons, computers think the world began on 1st of January 1970. To keep track of the future, they count the number of seconds since that momentous date. So zero seconds represents midnight on that day. So how do computers deal with dates before The Beatles' Abbey Road was top of the UK album charts? Negative numbers! Most modern computers can deal with dates far in the…| Terence Eden’s Blog
I maintain a a test-suite for TOTP codes. It contains a bunch of codes which adhere to the specification, some of which stretch it to breaking point, and some that are completely invalid. These codes are a good starting point for checking whether a 2FA / MFA app works correctly. Proton have release a swish new authenticator app for Android, iOS, Mac, Linux and Windows. Sadly, their open source…| Terence Eden’s Blog
I'm reasonably sure I've read all the "Old Man's War" books. As the last one was published a decade ago, you'll forgive me if I don't remember all the intricacies of galactic politics and interpersonal intrigue. Thankfully, Scalzi has carved off a side character from a previous book and given them a brand-new adventure. There's enough exposition to tickle the parts of your brain that go "Ah,…| Terence Eden’s Blog
Analogies are like soufflés - they all collapse eventually. Food can be delicious, but certain foods can cause people physical pain or, in some cases, death. In most parts of the civilised world, governments have food safety laws. They mandate how to properly prepare, store, label, and serve food. In the UK, the laws are onerous for a large food manufacturers because we recognise that …| Terence Eden’s Blog
In the battle between the Online Safety Act and GDPR, who will win? FIGHT! I'll start by saying that I'm moderately positive on Online Safety. If services don't want to provide moderation then they shouldn't let their younger users be exposed to harm. The social network BlueSky has taken a pragmatic approach to this. If you don't want to verify your age, you can still use its services - but it…| Terence Eden’s Blog
In which I attempt to be pragmatic. Are you allowed to run whatever computer program you want on the hardware you own? This is a question where freedom, practicality, and reality all collide into a mess. Google has recently announced that Android users will only be able to install apps which have been digitally signed by developers who have registered their name and other legal details with…| Terence Eden’s Blog
Let's say that you've visited a website and want to share it with your friends. At the bottom of the article is a list of popular sharing destinations - Facebook, BlueSky, LinkedIn, Telegram, Reddit, HackerNews etc. You click the relevant icon and get taken to the site with the sharing details pre-filled. The problem is, every different site has a different intent for sharing links and…| Terence Eden’s Blog
You're the sort of cool nerd who knows all the weird esoterica which makes up DNS, right? In amongst your A, AAAA, SOA, and MX records, there's a little used NAPTR. Yes, you can use DNS to store Name Authority Pointers! What?! It is yet another of those baroque standards which spits out things like: cid.uri.arpa. ;; order pref flags service regexp replacement IN NAPTR…| Terence Eden’s Blog
Look, I'm an idiot. I know that, you know that, and the man on the moon knows that. Let's not get into why I'm an idiot; let's just accept that I have my peculiarities and you have yours. My idiocy is a quest to make sure all my portable electronics can recharge using USB-C. Modern smartwatches are tiny and they do a lot. As a consequence, their battery life is generally poor. The industry's…| Terence Eden’s Blog
It looks like the new Google's Pixel 4 watch comes with yet another incompatible change in charging technology. This is a ridiculous situation. The original Pixel Watch used one type of wireless charging. Then the Pixel Watch 2 & 3 removed wireless charging and swapped to a different charging mechanism. And now the 4 has changed again. So three different charging cables in under three years.…| Terence Eden’s Blog
The older I get, the more comfortable I become with complaining. Not merely moaning on social media, but writing a direct email to the perpetrator of some annoyance. I'd purchased an eBook and was appalled by how crappy the accessibility was. If you don't know, modern ePub books are just HTML wrapped in a zip file. They have all of the accessibility advantages of the web and should be easy to…| Terence Eden’s Blog
Janice Hallett is back with another epistolary mystery. Told through a series of transcribed conversations, WhatsApp messages, and torn-out pages from diaries - we the reader have to piece together the facts and crack the case! Much like her previous novels - The Appeal and The Twyford Code - you have to be willing to suspend your disbelief a fair bit. Do people really talk like that when they…| Terence Eden’s Blog
I should love Matrix. It is a decentralised, privacy preserving, multi-platform chat tool. Goodbye Slack and your ridiculous free limits. Adiós Discord and your weird gamification. Suck it IRC with your obscure syntax and faint stench of BO. WhatsApp and Telegram can stick their heads in a bucket of lukewarm sick and sing sea shanties! Let's join the future! The problem is - Matrix is shit. Not …| Terence Eden’s Blog
I have built the most inconvenient way of playing music! It is lo-fi awfulness and cyberpunk grungy. Thanks! I hate it! Ingredients Raspberry Pi USB floppy drive Audio Cable / Headphones USB Battery WHY?!?! As I discussed yesterday, it's possible to fit half an hour of speech on a single floppy disk. The best band in the world are The Beatles, and their shortest album is A Hard…| Terence Eden’s Blog
Code Golf is the art/science of creating wonderful little demos in an artificially constrained environment. This year the js1024 competition was looking for entries with the theme of "Creepy". I am not a serious bit-twiddler. I can't create JS shaders which produce intricate 3D worlds in a scrap of code. But I can use slightly obscure JavaScript APIs! There's something deliciously creepy about…| Terence Eden’s Blog
Another day, another data breach. the spreadsheet, initially shared in 2022, and thought to contain data related to a small number of applicants, had contained hidden data related to more than 18,000 people. ICO statement in response to 2022 MoD data breach Why are people still sending files to each other? I remember having a stand-up argument a decade ago with a project manager who wanted us …| Terence Eden’s Blog
Should my bank be able to block me from using their Android app, just because my phone is rooted? I'm reluctantly coming to the conclusion that... yeah, it's fair that they get to decide their own risk tolerance. Sage of the Internet, and general Sooth Sayer, Cory Doctorow once gave an impassioned speech on "The Coming War on General Computation". I'll let you read the whole thing but, I…| Terence Eden’s Blog
Google's monopolistic stranglehold on Android results in poor experience for power-users, and artificially restricts choice for those who have older phones. For example, Google Wallet is the de facto way to use NFC payments on Android. There's one problem though - it only works with Google's Android. If you have the temerity to install a 3rd party Android OS - like the hyper-secure GrapheneOS - …| Terence Eden’s Blog
Back in 2020, Andy Bell introduced me to the idea of grouping attribute values. You've probably seen something like this before: HTML A single class over-encumbered by all sorts of things. The more modular way to write this would be: HTML That's pretty…| Terence Eden’s Blog
Yes yes, Cunningham's law etc etc! I want to play around with 2FA codes. So, I started looking for the specification. Turns out, there isn't one. Not really. IANA has a provisional registration - but no spec. It links to an archived Google Wiki which, as we'll come on to, isn't sufficient. There's some documentation from Yubico which is mostly a copy of the Google wiki with some incompatible…| Terence Eden’s Blog
If you use Multi-Factor Authentication, you'll be well used to scanning in QR codes which allow you to share a secret code with a website. These are known as Time-based One Time Passwords (TOTP). As I've moaned about before, TOTP has never been properly standardised. It's a mish-mash of half-finished proposals with no active development, no test suite, and no-one looking after it. Which is…| Terence Eden’s Blog
I logged into Twitter using a fresh account last week. No followers, no preferences set. The default experience was an unending slurry of racism and porn. I don't care to use Twitter any more. Whatever good that was there is now drowned in a cess-pit of violent filth. I still have a lot of Tweets […]| Terence Eden’s Blog
The good folks at InfiRay have sent me their latest Infrared camera to review. It is tiny. It's smaller than a normal USB stick and barely weighs anything. Shove the USB-C protrusion into your Android phone, launch the app, and... nope - that's it! Pretty much instantly plug and play. There's also a reasonably long […]| Terence Eden’s Blog
In my quest to find the perfect phone, I was recommended to try the Motorola Pro Plus by Seb Schmoller. This is my attempt to review it fairly after a week of usage. Some people have accused me of being unfair in my review of the Nokia Lumia. I think I was harsh - but […]| Terence Eden’s Blog
This blog uses WebMention technology. If you write an article on your website and mention one of my blog posts, I get a notification. That notification can then be published as a comment. It usually looks something like this: This means readers of my post can see where it has been mentioned around the web. […]| Terence Eden’s Blog
Several years ago, I purchased a Clevo N151CU laptop with the idea that I'd gradually upgrade the RAM, storage, and other bits. After my keyboard failed, I found it difficult to find replacement parts. The whole point of the Framework laptop is that it is specifically designed to be modular. It come in kit form, […]| Terence Eden’s Blog
This is a retropost. Written contemporaneously in 2020, but published four years after the events. It's May 2020 as I write this. I'm typing to capture the moment. Right now, I've no idea what the impact is. This is the exact moment, on Thursday May 7th, I hit the Big Red Button - three of […]| Terence Eden’s Blog
Any computer program can be designed to run from a single file if you architect it wrong enough! I wanted to create the simplest possible Fediverse server which can be used as an educational tool to show how ActivityPub / Mastodon works. The design goals were: Upload a single PHP file to the server. No databases or separate config files. Single Actor (i.e. not multi-user). Allow the Actor to be followed. Post plain-text messages to followers. Be roughly standards compliant. And those…| Terence Eden’s Blog