Quarantine Chronicles - Part 4

Quarantine Chronicles - Part 4

Really, this is more like "Quarantine Chronicles - Part 3.5" since I didn't finish everything I wanted to say in the previous entry, but whatever - part 4 actually makes it look like there's some kind of progress being made. Anyhow, I left off in the middle of a discussion of the current state of race relations and the various protests that have been taking place since George Floyd was killed in Minnesota. Before I move on from that to what I consider to be the truly absurd, I'm just going to say a couple of things.

First, treating the pursuit of racial justice (however you choose to define that) as a zero-sum game where in order for black people to be treated better, white people have to give up something, is the wrong way to go. It doesn't make sense, for example, that white people should suddenly be treated poorly in the courts or by the criminal justice system - black people should be treated better. I don't know why that's so hard for people to understand. I'm not interested in giving up my "white privilege" - which is a loaded term if ever there was one - but I don't see why these things which are often labeled as "white privilege" shouldn't be applicable to everyone. It's kind of ridiculous to call it a "privilege" to not be shot by police during a traffic stop - that should be the normal state of affairs for everyone.

Second, and this is how I feel about most polarizing topics in society today, I'm not interested in playing the "if you're not with us, you're against us" game. The Pin Factory got a well-known author and academic, Ibram X. Kendi, to come speak during Q&A not long after all of the protests began, and one of his main points is essentially that you can't be "not racist" - you're either racist or anti-racist. To this, and to a lot of the other points he made, I call bullshit. It saddens me that so many of my colleagues were so anxious to suck at the teat of wokefulness that they didn't bother to apply their critical thinking skills to his comments. For someone with his stature and reputation to say that there's nothing wrong with calling people racist because you're trying to help them, and then to equate that with being given a diagnosis from a doctor that your child is dying from stage 4 cancer - and then for nobody to call him out on this - well, it's just absurd. If you go around calling people racist, then it doesn't matter what your intent is, you've effectively shut down the conversation and put the person immediately on the defensive, because nobody wants to be called derogatory terms. How does this help anyone? Didn't anyone ever teach Professor Kendi that you attack the argument, not the person? Actually, I take one thing back - someone did actually say that it could be problematic to call folks racist and asked him about it - he just didn't budge from his position. You're a clown, Ibram X. Kendi.

Anyhow... We started with BLM and protests against police brutality, and then that morphed into the destruction of monuments and a movement to rewrite history, but things haven't stopped there. The next casualty of the wokeness wars is proving to be the English language, particularly in the tech industry. We are no longer supposed to say "blacklist" and "whitelist" even though it is quite clear from the etymology that these terms have nothing to do with race and they never have. The reason people don't like these words now? Because they imply (to some people, anyway) that "black" is bad and "white" is good, and apparently this perpetuates systemic racism. I wish I were joking. Github, I think, has renamed the "master" branch of its code repository. Oracle is changing MySQL to no longer use "master" and "slave" to describe servers in a replication topology. The Houston Association of Realtors is no longer using the phrase "master bedroom" (even though I don't think I've ever heard of a house having a corresponding "slave bedroom" - although I guess it's possible if the inhabitants were really into BDSM). I've also heard that phrases like "sanity check" and "dummy value" are now frowned upon, although I yet to see an explanation of what the rationale is here. Is "dummy value" somehow insulting to stupid people? Or mannequins? Or stupid mannequins? I don't fucking know.

I suspect my position on all of this Orwellian language engineering is pretty clear at this point, but if not, let me just say that I think it's fucking ridiculous. People are going to do what people are going to do, though, and I'm just one blackbird pissing into the wind. Fine. But where I draw the line and will refuse to compromise is when people replace words with other words that don't have the same fucking meaning. You want to change "blacklist" to "blocklist" - OK, sure, whatever. The replacement word that you've chosen makes complete sense and doesn't change the meaning of the system. I still think it's dumb, but I'm not going to argue. You want to change "whitelist" to "allowlist"? FUCK OFF. One, because "allowlist" is just a shitty word to say, and two, because "whitelist" and "allowlist" do not have the same meaning. A whitelist is a set of entries that are trusted/permitted by default. To me, "allowlist" implies "these are the only entries which are allowed" - which is NOT the same as a whitelist. Something can not be on a whitelist and still be permitted. It's more like an "automatically-allow-list" - but that's even worse to say than "allowlist". So, here we have a term which has been in use for decades and which is perfectly clear, and we are replacing it with something that is less so. FAIL.

Where things really get fucked up is with "master" and "slave". Oracle is changing "master" and "slave" to "source" and "target". Some folks at the pin factory started using "leader" and "follower". We had an incident a couple of weeks back where someone started using these terms, and at first I couldn't figure out what the fuck they were even referring to. My first thought was "since when does this service use a consensus algorithm?" Someone else at the pin factory in a different context said something about a "secondary" server, when what she was actually referring to was a slave. There is so much wrong with this that it makes my head spin. First, since everyone is using different words, and there doesn't seem to be any agreement, it becomes a real pain in the ass when you're the database engineer trying to figure out what they're referring to and diagnose any issues. Second, as with "allowlist", all of these replacement words are poor substitutes and don't actually describe the relationship of the servers in the system. Third, have people forgotten that we are talking about fucking computers here, not people? Do people really see the words "master" and "slave" in relation to databases and somehow think of forced human bondage, plantations, and interracial oppression? I guess some people do, but I really wonder how it is that changing these words is going to stop the mass incarceration of black people. Is some white cop in the middle of bumfuck, nowhere going to NOT shoot an unarmed black dude because we don't call database servers "slaves" anymore? Come on, assholes. You know the phrase "security theatre" - security measures that are taken because they have good optics but they don't actually have any net positive effect - like making people take their shoes off at the airport... Well, as far as I'm concerned, this is social justice theatre that's meant to do nothing other than make a bunch of overpaid white kids feel better about themselves.

But you know, there's actually a good solution to this problem that should make everyone happy, and it's a testament to how myopic the language police have become that nobody has suggested it. The word "master" has multiple meanings, and only when paired with the word "slave" does it take on any negative connotations - consider the phrases "master copy" or "master key" for example. So, my suggested terminology for describing the servers in a MySQL replication topology is "master" and "replica". The master is the authoritative source of truth - the golden copy of the data that all replicas should mirror. This is where changes happen - i.e., this is the server that's writable. And a replica, well, it should be obvious what that is. It's a copy of the master. Typically, replicas are used only for read-only queries, so we could also say "read replica." We've removed the power dynamic. We've removed any reference to enslaved humans. We've preserved the technical relationship between the servers and maintained accuracy in our descriptions of what the servers do. There is no confusion when we talk to other people. And, as an added bonus, we've also managed to do this with fewer changes. We're only changing one word, not both of them. Problem solved.

Except when people get their panties in a twist. I actually suggested "read replica" instead of "slave" as an alternative to the whole "leader" and "follower" relabeling. And you know what happened? A couple of days later, I find out from my manager that multiple people (I don't know if multiple is 2, 5, 10, or what) actually complained to HR about it, and HR went to my boss and said that they think I "might not be inclusive."

Here's the exact text of what I said: "ok, i'm not going to get into a debate with y'all over terminology changes from master and slave - but i do think that any replacement terms need to be as clear as those they are replacing. leader and follower in the case of mysql replication are not good choices. if you don't want to say slave, then say read replica."

And so now, I'm going to say this:

WHAT THE FUCKING FUCK?!

I was so flabbergasted that I will say it again... WHAT THE FUCKING FUCK?!

Let's see just how many problems we can identify here.

1: Nobody in the Slack channel where I said this spoke to me about it, so there was exactly zero chance for discussion or rational discourse. I've been at the pin factory for over five and a half years, and in that time I've said a few controversial things here and there, and people who had issues with them (even people I didn't know) talked to me directly about why they didn't like it, and we were able to have adult conversations.

2: Nobody from HR spoke to me about this statement to get my perspective. They simply leveled an accusation - and I still don't know exactly what was said because my manager hasn't given me the exact quote.

3: There's no mention of what it is about my comment that people were offended by.

4: There's no mention of what it is that I'm supposed to do as a result of this complaint. Am I supposed to resign in disgrace? Not going to happen (although I did almost rage-quit). Am I supposed to apologize? Can't do that, since I don't know who complained. Am I supposed to watch what I say? How do I do that when I don't even know what's wrong with what I said? This isn't one of those situations where I might disagree with someone's perspective but I can at least see how they might have the viewpoint that they do. This is a "what the fucking fuck?!"

5: As far as I'm concerned, "inclusion" does not require "agreement". If people are upset because they think that I don't agree with the terminology changes - that's too damn bad. It's true, I don't, but I don't have to. I didn't get the memo that says differences of opinion are no longer tolerated. But I also specifically said that I was NOT trying to debate that aspect of things - I just want people to use words that actually make sense for what they are trying to describe.

In the world I come from, going to HR is the nuclear option, and you only use it when you've either exhausted your other alternatives or when there simply aren't any other alternatives. I don't know what these people were thinking, because they certainly didn't attempt any alternative means of conflict resolution. Are they that immature? Are they really that triggered? I just can't empathize here. I was not rude. I was not unprofessional. I was not antagonistic. And yet at least 2 people lost their shit. I wonder what it is that they wanted/expected HR to do.

And on top of all of this, my manager really screwed the pooch here. I think he's afraid of getting attacked by the thought police, too, because he's said that he doesn't really agree with a lot of the things that are going on and that the pin factory isn't nearly as inclusive as it claims to be. He made the comment to me that "this is not his country" - to which I replied "yeah, maybe not, but this is your team." I give him credit for recognizing that he fucked up the way he handled this situation, but at this point, I just need him to step aside and I will deal with it. I was going to quit, but I realized that if I do this, then the bastards win. If I say nothing, then the bastards win. So when I get back from my "un-cation" I'm going to unleash the hounds.

If I don't get a satisfactory response from the HR person who presented this complaint, then I'm going to the head of HR and the head of diversity, and also probably the law firm that is currently doing a review of internal policies and procedures. What's the worst they can do? Fire me? Ha! Let them. Then I'll go to the media, who I'm sure will just love another story about how the pin factory barely pays lip service to inclusion and has allowed its HR department to become weaponized for those who would bully others into silence. The threat of termination carries exactly zero weight; I like my job, the pay is pretty good, and it keeps me occupied, but I made enough money in the IPO that I don't really have to ever work for anyone else ever again if I don't want to.

I've been largely successful at keeping my head down and just doing my job over the last 5+ years, even though there have been plenty of things that the company has done which I don't agree with, because in the end, I go to work to work, nothing more, nothing less. If I want to change the world, then I'll do it on my own time. But in the immortal words of Popeye, "I've had all I can stands, and I can't stands no more." There's nothing more dangerous than an angry blackbird with nothing to lose. CAW CAW, MOTHERFUCKERS.

This rant was brought to you by the letter Y. As in "Y are people such twat waffles?"