2018-08-25

Blacklist your master, and whitelist your slaves - Silicon Valley word police

Working in Silicon Valley ("putting the crazy into California!") is always an education; there seems to be a Shepard tone of neuroticism in and out of the workplace. Every time you think you've seen the craziest thing you can imagine, something nuttier comes along shortly afterwards.

In the world of global-scale computing, big services like Facebook, Twitter and Gmail are very strongly interested in what happens when a machine in their service infrastructure fails. (This is relevant, I promise.) If only one machine knows how to handle data from user Joe, then Joe is going to be very upset when that machine reboots for an OS upgrade (5-15 minutes downtime), or worse becomes permanently unavailable because a data center technician accidentally bridged the rack bus bar onto the hard drive with her [1] screwdriver because she was paying too much attention to the shapely arse of the technician fixing the next rack over.

The natural solution is that you have multiple machines - maybe in multiple datacentres - which know how to handle data from Joe, and there's some kind of load-balancing across them which knows which of those machines are healthy, and which aren't. But out of all of those machines, you need to have at one which has the canonical state of Joe's data, and which all other machines agree to take data from. Otherwise you end up in the state where there are two or more different views of Joe's data, and can't tell which is valid. In that case, the machine with canonical state is known as the "master", and the other machines receiving state from it are known as "slaves".

I think you can see why this terminology has started to become "controversial" to the Usual Suspects:

Problem:
The term Master in Master Components is potentially offensive to people of color and women, and I suggest we use a more inclusive synonym.
Proposed Solution:
Suggest renaming to "Primary Components" or "Leader Components"

(By contrast, when the failure occurs at a higher level in the software, you end up writing garbage to all copies of the data - on both masters and slaves. If you've overwritten previous data, your only hope is to bring it back from an earlier system state snapshot - witness this Gmail inbox wipe-out from 2011.)

That was silly enough, but now the common terminology of "whitelist" (allow these items, but not others) and "blacklist" (allow all items except these) has come under attack:

Per https://twitter.com/dhh/status/1032050325513940992, [Tweet by Ruby-on-Rails founder] I'd like for Rails to set a good example and tone by using better terminology when we can. An easy fix would be to replace our use of whitelist with allowlist and blacklist with denylist.
We can even just use them as verbs directly, as we do with the former terms. So something is allowlisted or denylisted.
Obviously the narrative here is that "black" is associated with negative connotations ("block") and "white" associated with positive connotations ("allow"). So I'd be fascinated to know why they continue to allow Code Pink to seize a positive affirmation space for people of the predominant Western European ethnicity, and refuse to attack the use of "yellow" for cowardice.

It's not just limited to colour of skin - there are a long-term crusades to stop people using "guys" as a generic term for a group of familiar people, "handicapped" for people who are disabled, and "innumerate" to describe Diane Abbott.

It's clear that this is a concerted effort to control the use of language in order to shape ideas - if you're forced to use an approved (restricted) vocabulary, you can't easily express concepts that are regarded as unacceptable by the vocab approvers. And if you think it's going to stop here, I have a bridge to sell you.

I don't have any intrinsic objection to using alternative terminology for master/slave, or for blacklist/whitelist. But I've scrutinised the people calling for this change, and I'm going to keep using the original terminology because civilised people should not yield an inch to these totalitarian fuckers.

If I were tired of employment, I'd be tempted to make a traditional English dish and bring it to my next group potluck. "Oooh, these are tasty, what do you call them?" "Faggots." It would be worth it just to hear the sharp intakes of breath and see the (put-on) outrage. I could even double down: "Are you saying my cultural heritage is offensive?" although of course I'd lose badly by the rules of intersectionality and Victimhood Poker.

[Complete tangent - traditional English terminology for the testicles of an animal is "fries", so you can have "lamb fries", "pig fries" etc. Therefore when someone from an older generation asks you "do you want fries with that?" you might get more than you bargained for.]

[1] All the recent training examples I've seen have had women take a dominant role as problem-solvers, and men nearly exclusively doing the stupid / illegal / morally dubious actions. In the spirit of gender equality, this is me trying to redress the balance.

No comments:

Post a Comment

All comments are subject to retrospective moderation. I will only reject spam, gratuitous abuse, and wilful stupidity.