Posts filed under “Tech”

Self-archaeology and the Internet Movie Car Database

This was my mum's Mercedes 220. It was glorious.

Mercedes W115 in red

She bought LRO 468L for £500 in either 1989 or 1990, because back then it was merely an old car (though cars aged much quicker 30 years ago). It was beautiful, silent, luxurious, and very wafty. I loved it, and everyone else did. She sold it a few months later for slightly more than she paid for it, because it needed welding work on the floorpan. A very young Me did not talk to her for a day after that.

It was last MOT'ed in 1990, so we can probably conclude it does not exist anymore (or, to avoid offending those of you who believe in the laws of thermodynamics, exists in an entirely different form). A W114 or W115 is still on my bucket list of cars to own. It might even be the next project I build, if my next project starts before the prices of these go through the roof.

Fast-forward just a few years. Recently, someone pointed out that if you search for a registration plate on Google Images, there's a good chance that it will find a photo of that car, because Google indexes any text it finds within an image, and may notice the text on the numberplate. Like ANPR, but for everything.

It worked on my car. Among others, it found a photo taken at the late Rockingham Motor Speedway, which my brother (the previous owner) took in 2007 back when "camera phone" still meant "thing with a dialpad", and posted on a forum in 2008.

My Mazda at Rockingham in 2007

It worked when I entered the registration of this Mercedes, too. I know the registration off by heart, because my memory is weird. I remember a Windows 95 product key that I last used in anger in 1997, and the registration of my mum's car from 31 years ago, and sometimes draw a blank when I have to enter my PIN into a cash machine.

The first result was the picture you saw at the top of this article. I uploaded that photo to Wikimedia Commons over 15 years ago, and things often spread to weird and unexpected places when you do that. (I'll tell you the story about the wall art in the bogs at Downham Market station some other time...)

The second and third images were the offspring of obsessive categorisation at scale. I would hope any petrolhead would know about the Internet Movie Car Database, wherein a (presumably vast) number of very dedicated people are aiming to identify every car in every film & television program. If your car appeared in the background of, e.g., an episode of The Bill in December 1984, then there's a good chance someone has captured and categorised it.

Mercedes W115 as a background car in The Bill, 1984

Well how about that!

But wait: It's brown! Or at least looks brown. Did it get a respray before my mum owned it? Or did a worn 80s VHS tape not reproduce the glorious red that it was? I won't ever know the answer to that, and I am okay with that.

The cars we knew in our youth are, or will be, almost all lost to time and entropy; only a very few are lucky enough to be recommissioned or restored. But this Mercedes was lucky to have its few seconds of fame on the small screen, and was immortalised, to some very tiny extent and entirely accidentally, by some extraordinarily committed people on the Internet. That's more than most cars will get, and that, is good enough for me.

Your deactivated Facebook account really is reactivating itself

There are a lot of posts & questions & other things in various places online wherein people are complaining about this happening to them. Usually there's someone to tell them that nope, it's something you did. I can guarantee that it is not, in fact, necessarily something you have done. Because it happened to me (which totally changed my opinion about Facebook being an awful company), and I went to specific lengths to ensure that Facebook would not reactivate my account when I deactivated it. Specifically:

  • I did not sign in from any other devices. I do not have the Facebook app on any of my phones, and never have. Only two things have accessed it: my desktop computer and my laptop. After deactivating my account, I cleared the cookies on my laptop to be sure.
  • I do not have any apps that could have reactivated it, because there are NO apps connected to my account.
  • It is entirely implausible that anyone could have logged into my account with my credentials. My password is extremely long and complex (it is "hunter2"[1]). In the unlikely event that someone guessed a 28-character password, they decided absolutely nothing with my account. But I'll reiterate, nobody guessed my password.
  • From what I have read, according to some rando on Quora, there is a "This is temporary, I will get back soon" checkbox?! Hmm... I'm not actually saying this is impossible. But when I deactivated my account I specifically checked for sneaky things like this because Facebook is an awful company staffed with terrible people, and if I trust them with anything it is that they will reliably do whatever thing gives nice values on the "Engagement" axis on a graph.

So...either Facebook does in fact randomly reactivate your account, or Facebook is doing some sneaky shit in which you have "agreed" to randomly reactivate your account. They are either betraying you, or they are using dark patterns during account deactivation such that someone who is actively looking for dark patterns is tricked into "agreeing" that they will reactivate it. Either way, it is being reactivated without your consent. Anyone that tells you otherwise is gaslighting you.

[1] Kidding.

On "whitelisting" and "blacklisting"

As a straight white guy from middle-of-nowhere Tory Brexitland I'm sure I am supposed to say something about political correctness gone mad, but this is worth a read and makes some fine points. Upshot:

It's fairly common to say whitelisting and blacklisting to describe desirable and undesirable things in cyber security. For instance, when talking about which applications you will allow or deny on your corporate network; or deciding which bad passwords you want your users not to be able to use.

However, there's an issue with the terminology. It only makes sense if you equate white with 'good, permitted, safe' and black with 'bad, dangerous, forbidden'. There are some obvious problems with this.

I agree.

From now on, the NCSC will use 'allow list' and 'deny list' in place of 'whitelist' and 'blacklist' on our website.

I propose not referring to notional "lists" at all. This will invariably make your writing clearer.

Let's take an example from the article. "An allow list of applications" is clumsy (let alone the alternative form, "an allow listed application"). It is much terser and accurate to refer to "trusted applications" for ones you know to be good, and "malicious" for ones you know to be bad. No lists required! (Adjust the terminology to your use case as required.)

For the example of passwords, of course you only ever check against a list of known-compromised ones; you certainly don't have a list of ones that are safe to use. Again, you can almost always get rid of notional "lists". Some examples:

  • This password is blacklisted 🡒 This password is known to be weak
  • This function checks the given password against a blacklist 🡒 This function checks if the given password is known to be weak

It is fine to refer to lists when there are actual lists; if your program is supplied with or downloads a set of textual rules for allowing & denying access to something, for example. Here again, though, you are discussing an implementation detail rather than what actually happens, which is generally not good form in anything but documentation dedicated to discussing implementation details.

I am reminded of a ticket from a few months ago in the Django project:

We'd like to add aliases for the trans and blocktrans template tags which do not have connotations to the transgender community. An initial proposal would be to add translate and blocktranslate as aliases.

The lazy counter to this would be that "translate" shares the same "trans" root as "transgender", and who is to say that it's only a valid contraction of one of them?

I say "lazy", because the reporter handed the Django a great opportunity for improvement: why pick a tag name like trans when it could cause confusion with something else? Even when there is no scope for confusion, we're not limited to MS-DOS filenames these days (and don't get me started on "i18n"). You can and should use whole English words; {% translate %} makes for better and clearer code than {% trans %}.

You should definitely improve your terminology to be more inclusive - it's a low-effort way of making the world a little bit better. And do use that opportunity to write stronger and more clearly while you are there.