If "Master/Slave" terminology in computing sounds bad now, why not change it to "Dom/Sub"?

Someonelol@lemmy.dbzer0.com to Showerthoughts@lemmy.world – 609 points –

It sounds way less offensive to those who decry the original terminology's problematic roots but still keeps its meaning intact.

433

I've seen 'Active / Passive' used, that seems alright. There's plenty of alternative terms to use without borrowing terminology from sexual roleplay.

Anyway, the Sub is supposed to be the one that's actually in control for this kind of thing (otherwise you'd just be in an abusive relationship), so that confuses things when you start trying to applying it elsewhere.

The issue is acronyms; there's millions of products, schematics, datasheets, and manuals that refer to them as MISO and MOSI with no further explanation. Any new standard that doesn't fit runs into the 15-competing-standards problem, and ought to be followed by an "AKA MISO" every time it's used.

Just have to find synonyms that begin with the same letters, possibly in different languages.

Other countries all use the English terms.
Except for the French, probably.

Anyway, the Sub is supposed to be the one that's actually in control for this kind of thing

I think there's a better way to put that. It's often called a power exchange. Both people involved can rescind consent at any time, and there's also negotiation that happens before scenes to set up expectations and limits, but I don't know too many subs that want to be in control of a scene. My experience is they want to give up control in a way that is safe.

I thought the connotation was chattel slavery, not BDSM.

the connotation in that the master is in control and the slave having no control, and ironically is only a racial issue in the US

I'll always like Primary/Secondary.

Agreed.
Also active/passive gets confusing crossing over into electronics where they already mean something.

I’ve seen ‘Active / Passive’ used, that seems alright

That's not always an accurate description though.

Consider a redundant two node database system where the second node holds a mirrored copy of the first node. Typically, one node, let's call it node1, will accept reads and writes from clients and the other node, let's say node2, will only accept reads from clients but will also implement all writes it receives from node2. That's how they stay in sync.

In this scenario node2 is not "passive". It does perform work: it serves reads to clients, and it performs writes, but only the writes received from node1. You could say that node2 slavishly follows what node1 dictates and that node1 is authorative. Master/slave more accurately describes this than active/passive.

There’s plenty of alternative terms to use without borrowing terminology from sexual roleplay.

Do I have news for you ....

the Sub is supposed to be the one that's actually in control

This is a myth, presumably meant to be reassuring to subs that are new to BDSM, at the expense of risk awareness. In principle the sub is no more "in control" than the dom is, and in practice they are often significantly less so.

Active / passive means something different.

Master / slave means one thing tells the other thing what to do, and the other one does it without question. The slave is not passive in performing the task.

It's a relationship that should never occur between humans, but it does occur with machines. The terms describe what is happening accurately. Other synonyms are approximations and lead to confusion in a field where confusions cause bugs / failures and depending on what you're working on, that could put lives in danger. Do you really want such confusion around the systems of an airliner, where everything has redundancy, master/slave relationships are common and something being passive means "it's only monitoring what's going on"?

You want more Boeings? Shit like this is a good way of getting there.

I seem to have stumbled into an argument that people are more passionate about than me. I mentioned I'd seen 'active/passive' used (in computer networking), and in that context, it 'seems alright' (in the sense of actively giving demands, vs. passively accepting them [and doing what it's told, of course])

If someone has made good-faith request not to use certain terminology (like Master/Slave), then I'm generally more interested in finding acceptable alternatives than I am in dismissing their concerns outright. If, at the end of a proper search for alternatives, nothing suitable can be found, then fair enough. I'd question the idea that it's really impossible to find something else though, but - for now at least - I'm sure that Dom/Sub isn't it.

Same here - I’m more interested in a suitable alternative than to argue whether they are justified in their concerns.

I don’t think there’s a single right answer though. This terminology is used in many scenarios, each a little different and each with a potentially different answer

  • Most git distributions now default to “main” and some variation of branch. It was a trivial change and seems as meaningful.
  • Jenkins changed from master-slave, to controller-agent (or node). I’m still getting used to it but no big deal.
  • Many DB or service distributed systems changed from master-slave(s) to primary-replica(s) and that also works
1 more...
2 more...

No it doesn't sound bad, words don't need to be thrown away forever just because they've been used to describe unfair treatment. I'm so sick of having to relabel so many things that are so far divorced from the social issues they are used to describe. It's so pointless and has no impact, the code doesn't care which is master and which is the slave for they are simply descriptive labels.

Are we supposed to never use the words master or slave ever again?? What's next?

My dev friends, no matter their race, all say the exact same thing. We still use master over main, come at us I guess.

Honestly, while the controversy is incredibly stupid, it's not something to get worked up about. Not good for your heart 😜

You don't have to relabel anything, just keep using old names for old stuff and maybe consider switching to main for your next GitHub project? It's honestly not that big of a deal.

It's all good and well until you start working in a repo that has both master and main branches for some reason, and it is not clear which is actually the master/main branch.

Then you're working in an idiotic repo. You could just as well have have a master and an actual_master branch. Similar idiocy.

It only takes one person to fuck it up. I agree it's stupid, but introducing a conflicting standard increases the chances of someone fucking it up in the name of progressiveness. Needless to say I killed off the main branch that someone one had tried to make to replace the master branch.

A place I used to work at had that.. The corp had rolled out a non-delete policy with something akin to *master, so when someone made a abrv_master branch it got protected and couldn't be deleted anymore.

I work for s company that suddenly asked to rename a lot of stuff. This had consequences. It cost time, money, and created a disconnect between internal to the dev vocabulary that couldn’t be changed easily and user facing vocabulary. Also we were lucky but this could gave broken some long used API that we are proud not to version because the policy we have internally is “we will NEVER break the API”. And so far, for 8 years we still haven’t.

1 more...
2 more...

The problem with these token activism is that it's hollow in content. The intent might be good, but the action is almost pure virtue signalling.

Slavoj Zizek pointed out in multiple interviews that there's a pervert self-reflectiveness in the self-censorship: privileged people "enjoy" being guilty of their privilege, so it's more about themselves rather than the people they claim to represent. "Sorry, but you were naive and unaware of people being racist when they use these words, so let me stop them and now you are protected (by me) in an inclusive atmosphere."

A related radical freedom situation as an inverse to the above is that when friends get really close, even using racist slurs is treated as a gesture of intimacy, rather than racism. In an ideal world, the context in the public discourse would be so strong that even racist words lose their racist meaning ("oh, so you are joking as well") rather than the opposite (assuming there's ubiquitous "hidden" racism in the use of a word, even when there's clearly none).

Another critique is that it presents itself as a substitute of real solutions. Instead of addressing real problems, it provides a simple "everyday" solution, very much similar to the recycling movement. Of course we need to recycle, but we should be aware that it's not a substitute of radical real actions (e.g. stopping the big oil).

Right? I get that langauge evolves and things go in and out of fashion, but this self-censoring for things completely unrelated to the original or derogatory meanings is kind of a pointless exercise to me.

master over main

That one is the most stupid one too, because master in git doesn't even refer to a master/slave relationship. It refers to a different meaning of the word master, namely "an original from which copies can be made", as in master recording or master key. See 5b in the Merriam-Webster dictionary. And that's how it's used in git: any new branches are derived from master. Main just does not have the same nuance, because it does not imply a relationship between the branches, just that it's somehow more important than the others.

But of course, the real reason it was changed is because for companies like github it's easier to give in to the crazies who demand this than to fight them.

Is it not the main working branch? Git is a system of change not just recording change. When you start a new project, do you open a new branch or create a whole new repository? That's not rhetorical I'm genuinely curious.

Is it not the main working branch

No it is not. On large distributed projects for which git was designed, you typically don't directly work on main/master but you create a working branch to do your changes, and when they are ready you merge them to main/master.

There are many types of git workflows, but main/master usually contains the code that is deployed to production or the latest stable release and not some work in progress.

When you start a new project, do you open a new branch or create a whole new repository?

You have to define "project" for that.

  • Is your project a change to existing code -> new branch, merge to main/master when done
  • Is your project something new that stands entirely on its own? -> new repository

In fact, many projects forbid pushing to master entirely and only allow reviewed merging to the master. Then, every time the master changes, a new release of the software is made (either manually or automatically with CI/CD)

11 more...

you don't work on main/master, you make a branch to work in, and then merge your changes back into master/main

Respectfully, I can do whatever the fuck I want. That's the point of git. If I want to branch my way down to a stack overflow due to running out of free memory my system will very happily let me do that.

11 more...
11 more...

I'm a dev, and I'm the opposite. At my work, we use main over master. I thought it was a little silly when we first switched, but now I'm used to it. It's an arbitrary label anyway -- could easily use trunk/branch from SVN or release/develop or any number of other labels to keep track of code.

Hell, we got a new dev on the team a month or two ago, and he tends to name things 'feat/do-the-thing' instead of 'feature/make-it-go'.

It's not as big a deal as people online make it out to be.

No one told you to throw away anything. If it works for you then go wild. No one else cares what you do in private or a with your "dev friends".

I for one love shorts words to get meaning across. "main" was just sweet, the social issue thing was a good to have.

32 more...

I remember back in the late 90s being in college. I brought my girlfriend to class one day. She raised her hand after the professer was explaining Master/Slave roles. Keep in mind, I'm white. She's black. She's not enrolle

d in this class AT ALL.

So the professer sees this, and says "Yes, you there, girl I've never seen in 4 months of this class"

And all she said was "Master and Slave drives? That sounds sexy!"

The whole class facepalmed.

1 more...

I personally think the whole backlash against master/slave in the computing world is people looking for something in their sphere of knowledge to be offended about so they can feel like they are part of "a movement". Even if some mustache twirling racist was the first "computer guy" to come up with the term and meant it to be offensive, that is not how sane people view it today. So some of the advocates for changing it should stop trying to build it up into some Pizzagate-like conspiracy against black/brown people.

Having said that, I also don't have any strong attachments to the phrasing either. Phase it out in favor of something that makes everyone happy if that keeps the peace. It is just a term that made sense at the time to describe something. There is nothing stopping us from changing it to something else now if we so choose. It is not erasing heritage or some such nonsense. If anything, people having strong hangups about it if there are better or equally as good terms out there that doesn't make people uncomfortable is far weirder in my opinion.

The only thing I have somewhat strong opinions about is making it some high priority to go back and erase those terms from solutions that already exist. Change them as you update things, sure, but why create extra work to update something old that is currently working if the only change is not functional and just verbiage. Seems like wasted effort that could be better directed and solving functional issues to me.

I don't have issues with the original terminology either, and wouldn't really care if it was changed. But if it were changed to Dom/Sun then it would reinforce the meme of the stockings wearing femboy programmer. XD

I use 'main' on git instead of 'master' now (forced to change at work) and its shorter and snappier IMO.

But yeah there are more important problems out there.

20 more...

people looking for something in their sphere of knowledge to be offended about so they can feel like they are part of “a movement”

I always thought it was just people looking for something in their sphere of influence that they could do to make a difference, no matter how small.

The computing world is known for being hostile toward most out-groups, and I’ll welcome any effort to change that, no matter how small and how silly it seems. The real change needs to be in the people but perhaps being cognizant of such details will help remind us all to be more open and welcoming

while in some ways I can see your point, I would just have a hard time saying this in a work meeting here in the deep south with black colleagues present

most sociologists and some psychologists would refer to this as a subconscious, or subdued form of racism.

it is kind of silly a the end of the day. How a terminology originally referring to a power dynamic. Has been so excessively ingrained in relation to race (which isn't very historically relevant) such that even using these terms in a generic capacity, not relating to in any form what would constitute this "negative slavery" concept, that it makes people feel uneasy, summarizes rather weirdly, the human condition.

maybe this is just my autism speaking, but i see so little resemblance contextually, and almost zero historical relevance that i see almost no connection between the words and the practices at hand. Like you could do a wikipedia speedrun from technology to slavery, but you could also do that from any topic, to slavery. Everything is so interconnected there is nothing pure anymore.

Isn't the inverse - "I asked x number of black people and they were OK with it" or even "I assume y% number of black people are ok with it" subject to the same criticism?

I am white so we're probably getting to the edge of propriety in this conversation.

yeah they're both equally susceptible to the same problem. Ultimately though, one of the things we can best do to examine something like this is relate it to other similar concepts/problems. PTSD for example, hearing a certain word or phrase may make you deeply uncomfortable or uneasy. It's not recommended to simply cope with that, or stop hearing those terms. It's recommended to learn how to work with and against it, in order to become a more functional human. And you could argue a similar thing in regards to master/slave terminology being used.

You could also expand into the general normalization of a concept. For example curse words are only bad because we deem them to be. If a white guy explains the architecture of a piece of software using master/slave terminology to a group of people which includes black people, specifically in the country of america. It might be weird, but realistically, it probably shouldn't be. Why? It's simple, there's nothing that prevents this from being a presentation from a black person explaining an architecture using a master/slave architecture in the exact same manner as the white guy, to a room of people that includes white people. Is that weird? I see no reason for it to be weird there either.

The entire reason the master/slave terminology is frowned upon is because of the power balance in that specific situation, however if there is no power imbalance, it's debatable as to whether it matters or not. It's perfectly fine in the BDSM space even between white/black people because it's a consented accepted terminology in that specific context. So we could even extend the social acceptableness of it based on who consents to experiencing that dialog.

There are a lot of ways to look at and think about things, ultimately it's probably worth not thinking all too hard about most things as they don't lead to much.

I am white so we’re probably getting to the edge of propriety in this conversation.

definitely, but that's part of the fun, if you can't discuss things in a philosophical manner whats the point of even asking the question in the first place.

2 more...
2 more...
2 more...

Whitelist and Blacklist is on that stack as well.

this is actually a terminology that i would be interested on seeing the historical context for actually. My assumption has always been light based "whitelist referring to a well lit room, where as blacklist refers to a completely dark room" making things easy/hard to find as a a result.

It could also literally just be a coincidence and it simply sounded better for the allow list to be whitelisted, and the deny list to be blacklisted, humans have weird connections to words like that.

18 more...
18 more...
21 more...
53 more...

Or just use the existing terms. People will find issues with just abuut anything.

Leaving aside the problematic nature of the existing terms, the result was that people actually thought a little more about the relationships the things had and started using better/more precise terminology for the relationships: primary/secondary, active/hot/cold, parent/child, etc.

Net positive all round.

Woah there. You’re using about 25% more of your brain than the rest of the internet. We’re gonna need you to tone that reasonability down a bit.

I look forward to setting up my next polyamorous network connection. I can wait for the commands nmcli con choke me daddy ens1 thrupple0

This exactly. M/S ment nothing to me messing with HDDs as a kid.

It arguably only makes sense in a control node/ worker node context, but worker is obvious enough in that context.

1 more...

Until proven otherwise, I assume either ignorance or malicious intentions by those who want to rename these "problematic" terms. It does nothing to improve the actual issues.

The false pretense of having done something, is worse than doing nothing. It's just noise.

To be clear: I don't mind the changing of terms. I'm too old to care about trivial stuff like main vs master. But if the reasoning for such a change is dumb and potentially harmful, you've lost my respect.

Until a couple of years ago, we had a brand of cheese called 'Coon', here in Australia.

The word isn't used as a slur over here, and the brand was simply named after the founder about 150 years back.

But it was getting increasingly on the nose as cultural influences from the US and everywhere kept seeping in, and it reached a point where it pretty much needed an excuse or at least an explanation.

So they renamed it; now it's 'Cheer'.

And at the time, there was all kinds of pearl-clutching about the malicious / disingenuous / officious / vapidly-offended / white-knighting / attention-seeking / etc / etc 'woke crowd' stomping in and making them change everything when it was perfectly good and harmless and stuff.

Six months later, nobody gave a single shit any more. Nobody died as a result or was even mildly inconvenienced, no great cultural traditions were lost, and contrary to several predictionsm newly-empowered wokeocrats have not risen from the shadows to re-gender everyone or whatever. It's that cheese with the blue white and green label, nobody reads it anyway.

My point is that small token changes cost virtually nothing, and even if they achieve little in and of themselves, the mere fact of people being willing to make them is of benefit. Small courtesies, you know? Returning your shopping cart. Smiling at passing dogs. It models kindness and consideration, and promotes the idea that those things have value.

Which is not to suggest that we must avoid giving offense at all consts; far from it. I'm one of those stereotypicallly abrasive genX types raised on ideals of free speech, punk rock, uncomfortable truths and loudly pointing out the elephant in the room no matter how many toes get stepped on. But when there isn't some burning issue that needs to be addressed, niceties be damned... then yeah, small courtesies. Give people that extra bit of room even if they don't strictly needed. It's nice to be nice.

Look back a handful of decades at all those cultural relics that your grandparents considered harmless and invisible. Asking people to drop them may have attracted ridicule and suspicion at the time, but looking back at some of them... oh dear god, really?

Hell, I remember The Black And White Minstrel Show on TV, and if you don't remember it yourself, it's far worse than you're imagining.

I like the world better without things like that, even the little seemingly-trivial ones, and even if it seems like empy virtue-signalling while you're cleaning them up.

TheBananaKing is offensive. It is a reference to Banana Republics, you know the system where corporations marginalize an entire populace and make them produce their product for profit. You should really change your username. It's trivial and nobody will care if you change it.

Obviously I do think this is as absurd as asking a company to change it's name which was named after the founder, but you went there and presented the argument for it. I can at least understand moving away from master/slave in computing especially in future products and revisions but making someone change their business name which is named after the founder's is ludicrous.

That being said, the only reason why the company changed the name was because it gave them good PR in the form of free advertising- just imagine all the headlines. Since you have no upside to changing yours, I know you won't do it. Humanity is full of virtue signaling hypocrites who are just out for themselves.

Did you know there's a chain of clothing stores in the US named Banana Republic? Every time I think about it, it blows my mind that they could have chosen any name, and that's what they went with.

Great response, thanks for writing this. I live in the US, and your Coon -> Cheer cheese reminds me of Land O'Lakes butter -- there was a brouhaha over a decision to remove a Native American woman from the packaging. Same result, it's still in the butter section of the market.

My point is that small token changes cost virtually nothing

Well-put. I've been in the position of complaining about this type of change before, and this is a perfect counterpoint to that mindset. I've often said "What do we want? Police to face accountability when they commit crimes! What do we actually get? We're going to use the term 'main' instead of 'master' for programming things!"

What we so often forget in that moment of "What, I have to re-learn some terminology? Ugh, friction!" is exactly your point about small courtesies. Something doesn't have to be a Big Damn Deal to be worthwhile.

Land O’Lakes butter – there was a brouhaha over a decision to remove a Native American woman from the packaging

Maybe I just have no awareness but I have a hard time seeing how this was offensive. Master-slave, sure; coon, sure; those are directly something negative. However a Native American women is not inherently negative and they are using it as a positive symbol of something. What about this is offensive?

Bottom line, I realize I’m not the one offended nor am I the one marketing it, so it really doesn’t impact me, but I also don’t understand

Yeah, I can't really explain it. Seems kinda silly, doesn't it?

1 more...
3 more...
3 more...

Until proven otherwise, I assume either ignorance or malicious intentions by those who want to rename these “problematic” terms. It does nothing to improve the actual issues.

That's because the goal is not to solve the actual issue, but to feel better because they did something. Or to avoid noise generated by lunatics online.

There is stuff that was bad, white/blacklist doesn't make much sense, when the universal "code" for allow/disallow are green and red. Allow and deny list are much better name.

Master main, is fine by me, doesnt make much sense to call it master, its only the main branch nothing else.

Shit that didnt make sense was stuff like removing community episodes from netflix, because or "blackface" without any consideration of why its there or whether it has value, just blanket ban, it was stupid af.

Totally discussing useless stuff here, but green and red to me give the feeling of temporary actions (and possibly alternating). Intuitively sounds more like slowing and speeding than it does permanently blocking or allowing something.

Black and white have the polar opposite meaning. At this point allowlist and blocklist might be a simpler solution to the "problem".

Blacklist is a word that goes back to the 17th century. The origin had nothing to do with ethnicity, it had to do with whether someone was against the monarchy during the English Revolution.

Seems weird to remove words from existence out of fear that someone (who's probably acting in bad faith) might take a bad meaning from it.

I agree, personally.

In general I feel the words are so abstract (blacklist and whitelist) that I can't really see how someone will see some other meaning...

Main one to me is you can't have a grey area in between without black and white to compare it against.

1 more...

Yeah it's a problem with social media, twitter in particular. Nobody wants to put time into understanding any nuance, (and on twitter there's not enough characters to explain the nuance) so it's easier to jump to conclusions and go along with people that have jumped to conclusions because if you don't people will think you're on the "wrong side".

1 more...
4 more...

"main" is shorter than "master". "sub" is shorter than "slave". Why worry about social issues when you can just type less and move on? :)

2 more...

Any time spent on nonsense like this is valuable time lost on real issues.

No we need to replace all industry standard terminology and acronyms every few years or so to keep datasheets unintelligible. Shop teachers need to be able to call their students stupid for not knowing that "tension" used to mean "voltage" 90 years ago.

It still bugs me that the old drive connections are called PATA now and not IDE.

They always were PATA, IDE was always the wrong term to use, but it was commonly used anyways. SATA drives are also IDE drives. It’s not really a useful term anymore because we don’t use separate daughter boards for hard drives anymore.

Like new coke, so then we got coke classic

Yes PATA IDE was the full old term. Now we have SATA ( SCSI ? or IDE? i dont remember ) .

PATA = Parallel - ATA SATA = Serial - ATA

I understand, but we can also gradually transition to friendlier terms so that our very white very male tech bro culture can include some diversith.

I'm going to try to make new git branches with "main" instead of "master", now, and just not worry about it where I can't change it.

Ah yes we must be sure to continue making time for all our meetings and reports everyone!!

2 more...

It only sounds bad to the fringest of the fringe that's deceivingly loud on twitter. Good luck trying to find even one real person thinking those terms should be changed. This kind of stuff is why people vote for Trump.

It was changed a while ago, it's primary and secondary now. It's been that way for a decade+ at this point.

Not every domain though. I still see master/slave in every relevant datasheets that I read, and I've never seen primary/secondary in newer datasheets.

That's interesting, because everything I run into now has primary/secondary or main and secondary. I've not seen master and slave for a good 5 years now, sure older stuff still carries it but most that new has swapped over.

1 more...
1 more...
1 more...

The i2c spec--which is officially controlled by NXP--explicitly made the change in 2021:

https://www.nxp.com/docs/en/user-guide/UM10204.pdf

Updated the terms "master/slave" to "controller/target" throughout to align with MIPI I3C specification and NXP's Inclusive Language Project

Yes, this has gotten real traction.

I think very few people mind changing it, and a few people want it changed, so it's slowly shifting across various use cases. I've only discussed the change from master/slave terminology with one person that affirmatively supported the change, and they didn't know that there's still slavery in the world today.

I don't know what to make of that, other than to say ending human slavery ought to be a higher priority than ending references to it.

I think very few people mind changing it

I doubt that. Do you know how many system configurations depend on these keywords? Do you have any idea how many hours of work and system outages this would cause?

1 more...
1 more...

The place I’m at changed all of its documentation to student/teacher instead of master/slave.

... I question their relationship with their teachers of they think those are equivalent.

9 more...

no please stop, i'm so tired of googling kinky stuff, seeing a spicy looking result and opening it just to see some computer server stuff pick something else idk maybe capitalist & worker, bonus points for political commentary

A long time ago, in a job not so far away, I worked on a computer project where we were using Apache Jackrabbit.

I quickly learned that I needed to search for Apache Jackrabbit and not just Jackrabbit -- vibrators weren't relevant to the project.

Stop discriminating then, see the sexiness in the servers, the horniness in the harddrive.

i already do, dronification kink represent, but at least make those search results spicier in their content!

I'm a developer. I use main/release/dev for new projects, because it just sounds better and is more intuitive to me honestly. "Master" doesn't make much sense. Like what's so "master" about a "master branch"? It's just the main branch everything gets merged into. It doesn't "control" branches. There's no "master/slave" relationship there. So again, "master" was never really intuitive to me.

Old projects don't get relabeled, they stay master, cause relabeling the main branch could cause potential problems. That's my two cents.

I look at “master” in our repo like you would refer to a master recording or a remaster, or similarly the gold master for when you could say a video game has gone gold.

That's why they used master. And this makes the whole "master is a bad word" stupid, at least in Git context.

I don't know what a master recording is. Googled it and it seems to be related to vinyl or something. So yeah, kind of hard for me to wrap my head around that, but definitely an interesting outlook.

the master is the recording, all other recordings stem from

Same for databases, master / slave does not really describe the relationship anymore. It's a primary, secondary, control node, read only or something else.

That's where you should use something more like top / bottom /s

I think in this sense, master is more akin to the 'recording' master - The best version of the recording to which others are generated, and all parts merged; no 'slaves' necessarily just the 'master'.

I think that's because in computer science most master/slave nomenclature comes from hardware with a command/control structure (still notable in things like Spark where the namenode/master node controls the data nodes).

GIT just took naming conventions from other existing design patterns (although I should probably look up sources to verify that assumption).

We renamed everything to keep shared pipelines working with one branch.

10 more...

We've been using Master/Bater down at the church.

I'm trying to imagine a world where this is a problem, oh, twitter

Oh man, wait till they hear about how I riced both my master and slave servers. I threw so many RGB LEDs on them, they look like recipients of a Fukoshima clown bukkake.

I've switched over to using primary/replica for database stuff because it's more accurate. The replicas don't always behave themselves so calling them "slaves" implies a level of obedience to the "master" that they don't have.

For a distributed database there is also fragmentation/sharing though. In this case calling the nodes replicas is not accurate. I guess you would call these “shard” or “dsta” nodes.

You are right about the “slaves” not behaving, in fact they jump on the chance to become the “master” themselves once the current “master” goes down. Then there is the split-brain problem.

It's really more like a worker boss relationship, but I would hesitate to call database nodes “workers” because this one is usually used for a processing engine like Spark.

3 more...
3 more...

I've seen publisher/subscriber out in the wild.

Gotta be careful with that one when talking data streams though.

A pub/sub pattern implemented for message queue flow is available in most cloud (and on prem) solutions.

1 more...

y'all I understand there are larger issues in the world but please let's not pretend that POC working in tech feel awesome about typing master/slave in the terminal, it's outdated and should be changed.

I'm white and I don't feel comfortable saying it/typing it. It's antiquated and weird.

But POC are not the only ones that have been enslaved.

Pretty much all races and people have been enslaved in history.

Slave does not equal North American POC slave and the term in this context has absolutely nothing to do with them. The only time it refers specifically to them is when discussing North American history (and maybe current history due to the fact that USA still enslaves people in prison)

One might argue that the term is outdated because slaves are less common these days, but it has nothing to do with POC (or human slaves at all). But I won't argue that because the term is very easy to understand and thus not outdated.

North American, more specifically US slavery is very recent relative to the rest of history and was deeply ingrained into the economy of half the United States. War broke out to abolish it and the effects of it are still felt today.

Pretty much all races and people have been enslaved in history.

Don't deflect from the racism, discrimination, and prejudice that black Americans still experience to this day because of slavery.

Maybe but the terms slave and master have nothing to do with that.

3 more...
5 more...

It's a weird phrase to begin with.

In law, the phrase "master / servant" has been around forever. It's the foundation of the law of agency.

Some tech bro picked slave instead of servant.

Not just that, it's bad and makes no sense in its technical context.

Server client is far better.

No, that's completely dependent on what you are referring too. I have never heard anyone ever referring to a server as "master" or a client as a "slave". The slave/master terminology is often used for storage. I.E. Master drive and slave drive.

Nowadays its more ofte used for server hierarchies/functionality. Or well, a lot of software is changing now. Mariadb use Source and replica.

You are correct I swapped client with other such as worker, child, and helper,

Master–slave (technology)

In 2018, after a heated debate, developers of Python replaced the term. Python switched to main, parent, and server; and worker, child, and helper, depending on context.

The Linux kernel adopted a similar policy to use more specific terms in new code and documentation.

My problem with the term "slave" is that it does not indicate there is a delegation of work going, on but rather that the subdevice is somehow fully "owned" by the master device. Whereas in reality the master is more like a manager telling a worker what to do.

1 more...
1 more...
2 more...
10 more...

I would go for master and puppets

Master of puppets! And his puppets.

Pastor and his muppets :'D Spoonerism got me on this one. :'D

i like this one, though i think we should probably go with the properly terminology and use ventriloquist instead of master. We should go full silly.

Primary/secondary?

That doesn't make sense depending on the context. New I2C standard switched to controller/target for example. This conveys that one device is controlling the other devices.

My suggestion doesn't make sense in the classic PATA sense either, since there were potentially several "slave" devices, but they weren't slaves so much as dependent on the "master."

I have my primary, and my secondary, and my secondary secondary.

Leader/follower works though.

A post-doc that occasionally taught one of my electrical engineering classes in the mid-90s liked to call master-slave flip-flops professor-graduate student flip-flops. I later learned he was not making a joke.

I don't get it

The relationship between a grad student and their professor is generally characterized by a profound power imbalance.

Oh I got confused because I was thinking of literally flip flops

The footwear, or the logic gate arrangement?

Footwear, I was just picturing the professor yeeting a chancla the grad student

If it’s referring to something like a mother/daughter circuitboard, I’ll use that. If it’s a host/client connection, I’ll use that. If it’s a primary/backup redundancy situation, I’ll use that. And those are just a few examples. There is rarely a good reason to use master/slave nowadays, since most situations already have better descriptors to begin with.

8 more...

What's wrong with primary/secondary or main/alternate!?

Primary and secondary are usually peers, where the secondary takes over when the primary isn't functioning. Which isn't the same relationship, as the master/slave terminology indicates that if the master fails, the slave will also fail.

Parent/child is probably a better way to describe this kind of relationship.

1 more...
1 more...

We're using server and agent, but im also a proponent of "captain" and "crew"

I mentally replaced cars with boats recently and it's been inducing nautical terminology everywhere I speak. Cap'n and Crew sounds great for this usage, it feels honest without the shock of great grandpa's heavyweight authoritarianism. I usually wind up stepping down to Spongebob or Pirates to filter out seriousness too, as long as the packet arrives and the replicas are jolly.

4 more...

Eh it's just words and they are more common than just computers every time I work on my cars I sometimes might have to bleed the slave cylinder or fill the master cylinder when doing brake work

1 more...

Remember when we thought being overly politically correct to absurd levels was a bad thing? That said, Dom/Sub, I'd be down for that. Same meaning, different wording, and now it's also a sex reference.

Not quite the same meaning, as master/slave is forced, whereas dom/sub there's implied consent.

Also, pretty sure most companies would not be OK with the sex reference, which is just a bonus!

well, i didn't know that computer hardware could be consenting and engaged with with the BDSM community at large.

Personally i just like master/slave because it's really fucking obvious how things are supposed to work. Outside of that there are some more specific terminologies that work better in specific applications. Leader follower is pretty cringe, but mostly gets the point across. Main and sub is already established lingo in the electrical field from what i understand.

I prefer to use Main/Sub terminology. It also works without needing to change any acronyms.

But why master and slave would be a problem to begin with. I'm still using it in git. I think people that have problem with it must have serious issues. It's a US American thing. Makes no sense.

Slavery is a world wide problem.

That is going to be solved by making IT nerds pretend to forget the word exists?

Hunger is also a world wide problem, doesn't stop me from saying I'm starving!

1 more...

We agreed on Primary/Secondary and Primary/Replica already. Sorry.

Does IEEE have a term for switch or am i about to get intimate with five ethernet cables?

Not more wokism! Next they'll be demanding we stop talking about executing a child!

It is changing, albeit slowly. In git the default branch was changed from master to main.

In high availability we use primary and secondary, or many other versions of the same idea (main/secondary, etc).

Not sure how disks are handled these days but I haven't seen the master/slave terminology in those since my first CD burner

In git the default branch was changed from master to main.

It wasn't. GitHub changed.

In high availability we use primary and secondary, or many other versions of the same idea (main/secondary, etc).

Which is fine because in HA it's about failover, not "who's in control".

There are areas where the master/slave terminology is used because the slave does what the master says. It's "the master has authority" not "if the master dies the slave takes over".

Different words mean different things.

Primary/secondary means they're all doing their thing, but one is preferred. There's no instruction going on between them

If you have a primary and secondary web servers, you'll use the primary first, but the secondary or secondaries are a fallback

If you have a primary and secondary drive, you have two drives, one of which is more important (probably because you booted from it). The secondary could be a copy or just another drive, either way the OS or a raid controller is managing it, one drive doesn't manage another

Similarly, we have dispatch/worker- the difference between that and master/slave is that they're different things. A master should be able to work without a slave, and a slave should be capable of being promoted to master - a dispatcher can't do the work and the worker can't take over if the dispatch goes down

The funny thing is we don't use master/slave much anymore, the whole premise is that the slave doesn't start to do what it does when it starts up. I can't think of any examples of it in the past decade - other paradigms, with a different relationship and a different name, have replaced it

Redis, rabbitmq. There are infrastructure where all nodes work but only one node is responsible for properly and timely synchronizing changes, which is a hard problem to solve in a distributed fashion.

That doesn't really match the master/slave relationship. The distributed instances aren't slaved to the master. They're each doing their own thing, but as part of that they have a hierarchical relationship when it comes to synchronization

Distributed computing gets more into the concept of swarms. Each piece is autonomous, and the swarm self-organizes. We made up a bunch of paradigms around this that were basically obsolete by the time we needed them - I think the relationship here is leader/follower, but I've never heard that terminology outside the classroom

They're sharded. It's like host/mirror, except each mirror is an equally correct part of the real picture

One of them is the leader, but it doesn't control the rest of them. It just coordinates them

When you get into swarm concepts, like sharding or activitypub, it doesn't make sense to describe the relationship between nodes anymore. The relationship between any two nodes is "part of the same swarm". You describe the nature of the swarm as a whole, or the behavior of individual nodes

1 more...

Top/Bottom Step/Sibling Pitcher/Catcher Thot/Simp Bull/Cuck

My user name on all my PC's(non root) is literally Master, my PC's are all Slave, slave1, slave2. I will fight to keep them that way. I am also extremely anti slavery for sentient creatures. Words matter in the context of their intent. Dumbing down of the language by forcing alternate uses of a word to mean something other than its obvious intended use is evidence of dilusional minds. Pure and simple, they don't deserve a seat at the table.

Weird hill to die on. Language changes. Some people think it's how new ideas are not only shared but how they're formed. You might be interested in Latin.

I will fight to keep them that way.

No one gives a shit what you call your PCs. They're not rounding up a posse to come and forcefully rename them. Just take a breath.

And while you're unbarricading the door the rest of the world will be moving on.

Wait until a child gets killed, reaped or sometimes even sacrificed

is that used anywhere but old ide interface disk drives. is it even relevant anymore?

Embedded systems run into this a lot, especially on low level communication busses. It's pretty common to have a comm bus architecture where there is just one device that is supposed to be in control of both the communication happening on the bus and what the other devices are actually doing. SPI and I2C are both examples of this, but both of those busses have architectures where there isn't one single controller or that the devices have some other way to arbitrate who is talking on the bus. It's functionally useful to have a term to differentiate between the two.

I've seen Master/Servant used before which in my experience just trips people up and doesn't really address the cultural reason for not using the terms.

Personally I'm a fan of MIL-STD-1553 terminology, Bus Controller and Remote Terminal, but the letters M and S are heavily baked into so much literature and designs at this point (eg MISO and MOSI) that entirely swapping them out will be costly and so few people will do it, so it sticks around

FINALLY, a comment about IDE drives! Master/Slave is correct in terminology and function for IDE drives.

There’s the “master” branch in git, often named “main” now. In distributed systems, there’s often “master” and “slave” nodes, often named “primary” and “follower”/“replica” now

The master branch in git isn't the same though. It's closer related to the word "remaster." Master used to mean the original document is still used everywhere in tech and outside of it.

Main makes more sense since a master copy should be something that doesn't change in my opinion. But that's semantics...

I mean master on git is a stretch but honestly it would make way more sense for it to be like trunk given the whole branch thing. I honestly never see master and slave node but rather primary and actually usually secondary.

2 more...

For IDE drives, Master/Slave is both correct and describes properly the functionality.

Only one device can talk on an IDE channel at a time (one IDE ribbon cable is one channel). The Slave Drive requires the Master drive to be able to connect to the controller. If there is only one drive, it must be designated the Master drive.

We don't share multiple devices on a single channel anymore - SATA, PCI-E, these techs have only one device per channel (or only a certain number of channels dedicated per device).

The old Master/Slave system was a hack to get double the IDE devices connected per controller channel.

We don’t share multiple devices on a single channel anymore - SATA, PCI-E, these techs have only one device per channel (or only a certain number of channels dedicated per device).

Right... This desire to change verbiage on a dead technological concept is kind of stupid. I taught in an R1 institution. This topic DOES come up. And nearly verbatim it was "While it's unfortunate naming convention existed... we simply don't operate that way anymore." It was never a problem.

All this other shit people keep bringing up like git branching... "Master" was a shit name for the main branch, and "slave" doesn't appear at all. So that's not even relevant and I simply don't understand this aversion to words just for the sake of manufactured "hurt".

Others are saying HA... Except that Master/Slave doesn't describe any HA I've worked with. Nor the terms were used in any of them.

3 more...

I've seen "Domain Controller" and "Subscriber" for the sake of plausible deniability.

In the case of SPI, they want to keep intact the names MISO (master in, slave out) and MOSI. So they use things like "Main" and "Sub".

I love the idea of this, it's hilarious to me LMAO

I was just doing client and host but I'm down for some kink in my computers.

Or child/parent

We use this terminology in the warehouse I worked at to describe smaller orders that were part of a larger order. So you build all the child orders first, then assemble them into the larger parent order.

I wondered if it was ever used in other contexts.

I'm not sure we even need that terminology at this point... I knew it from hard drives but I'm either 1) dealing with way more than two drives, or 2) using Linux which I don't even think of as a master/slave so much as a fuck-you-mount-me-or-not-I-don't-care partitions.

I'm not really sure where else it's used, especially since everything else seems to just be primary/secondary. But I'm no CS major so IDK.

This also works for binary cable or interface connectors formerly known as "male" and "female".

I think manger / worker is a pretty easy one. It gets hard though because both of these terms are already used for class names everywhere.

Aren't IDE drives basically the only thing that used the master/slave terminology?

Icinga2 uses it

Databses used to and switched to primary secondary

Code releses use master, develop...

Its all over software still but transitioning

the master branch in git refers to mastering, the same as the term “remastered”, rather than slavery. I prefer main anyways.

Bluetooth used it as well, but have now switched to central/peripheral.

1 more...

I use it if it's already in use, but if I'm starting a new design I try to avoid "Master" and I really try to avoid "Slave"