Yet here we have a Twitter engineer who worked on this and their username is very hard for anyone to cite without 'offending' another person. [0] Let me be the first and see what happens.
A black person appropriating a term of abuse for themselves is very different than a white person using it against them. Their username is not offensive.
I also can’t say his name at a team meeting to cite where I learned something he may have tweeted. You can’t really make a word unusably offensive by others, but then keep using it yourself. At least not if you still want your voice to be part of the broader discussion.
The more inclusive terms are also easier to understand from my perspective as a non-native English speaker. Allowlist and legacy status, for example, are much more literal in their meaning.
If nothing else, improving clarity and understanding among each other and making communication easier as our workforces become more globally and linguistically varied is-if nothing else decent and appropriate, right?
I agree for allowlist but not for grandfathered; as a native speaker "grandfathered" is just an English word and I don't think it means the same thing as "legacy status" in most cases.
To me "legacy status" sounds like "deprecated", as in "the system is still there but we plan to get rid of it". Grandfathered means "we wouldn't add it today, but since it's there it can continue as a first class citizen indefinitely". A house that doesn't follow new building codes isnt torn down, it's grandfathered in. But it's definitely not a "legacy house", it's still just a fully functioning house that doesn't match what new construction would be but that's ok.
Similarly, I feel "grandfathered" implies a similar meaning as 'exempted' (which seeing elsewhere, the meaning, but not the source propagated with the word's use).
Compare:
The use of fax for the transmission of medics records is grandfathered.
The use of fax for the transmission of medics records is exempted.
Both are true, but grandfathered, as noted above, implies that it really wouldn't be allowed in today but gets to exist because some people just can't move on and look for a better technology.
(In fact, many of the reasons I hate fax are features for it's die-hard users. It's fire and forget, open loop, low quality, and as easy as dialing a phone entry. Also, there's no security attached to the sender or receiver.)
I actually like the more neutral terms from a technical perspective because they seem more self-evident but if people think this solves any sort of racism I'm not sure what to think
Jack Dorsey spent his last holiday on a private meditation retreat in Myanmar, while the people in the streets were organising anti-muslim mobs on social media. Maybe they ought to work on that if they're looking for racism on their platform
Slavery is with us today in too many parts of the world. American chattel slavery was ~3 human lifetimes ago (for long enough lived humans).
I am completely okay with removing words which imply domination and subjugation without moral judgement from day to day vocabularly.
Slavery is a horrific, barbaric practice, and if the word only ever comes up in one context with all the moral and emotional weight that should carry, then that's an improvement.
And so if you think carefully about the fact it's a term used to refer to a group of people who might be the only ones who's opinion on whether they're okay with it matters, but also how it's not a commonly used programming term...
I mean it must be pretty awful for Slavic people to realize that "slave" comes from their name in English/Latin and they are by default viewed in a biased way. Similarly how Slovenes and the word "slovenly" go along.
We can replace the word slave by "continuously guided workforce/population". Slave masters could be then just "managers of continuously guided workforce". Slave markets would be "continuously guided workforce exchanges" etc.
Erm, it's probably best if the word "slave" kept its highly negative and polarized meaning...
Jack Dorsey's a weird dude. He's taken on the role of would be saint and arbiter of right and wrong after playing best friend and confident to Noah Glass, while tossing him out of the company he helped build. That guy has a dichotomous moral compass, to say the least.
I just have a hard time believing that anybody hears the word "Grandfathered" in an engineering context and thinks: "But wait a minute, I would be a Grandmother, not a Grandfather. They must be using that word to subtly indicate that they do not want me here, despite having gone through an exhaustive recruiting and interview process to select me and then paying me quite a lot of money".
This seems like an enormous waste of time.
Edit: I was corrected below about why Grandfather is considered objectionable. I think the general point still stands. Nobody is using these terms with the intent of excluding anyone. Interpreting them that way takes a deliberate effort that would probably be better spent elsewhere.
> The term originated in late nineteenth-century legislation and constitutional amendments passed by a number of U.S. Southern states, which created new requirements for literacy tests, payment of poll taxes, and/or residency and property restrictions to register to vote. States in some cases exempted those whose ancestors (grandfathers) had the right to vote before the Civil War, or as of a particular date, from such requirements. The intent and effect of such rules was to prevent poor and illiterate African-American former slaves and their descendants from voting, but without denying poor and illiterate whites the right to vote.[1] Although these original grandfather clauses were eventually ruled unconstitutional, the terms grandfather clause and grandfather have been adapted to other uses.
The thing is no one actually associates the modern use of the term with this history. The same intent and effect are not present. Except that those associations are now being made or brought to the forefront and amplified into some kind of outrage. It comes off a bit like people digging into someone’s comment history to try and assassinate their character on Twitter or Reddit.
Perhaps not “no one” but it’s a very, very small group. If you’re willing to cater to a small enough pool of potential offended people, well, you can find someone offended by just about anything. Maybe we need to ban language?
It’s amazing how much people will argue about precise programming terminology here and then anything about race is suddenly “it’s just words who cares?”
Because it's the wrong solution. No words should be banned. Speech and behaviour need moderation, and there are no perfect hard rules. Offensive people need to be disciplined. Stop trying the easy way out that accomplishes only to limit freedom of speech.
The term gay has changed in meaning over the last 50 years. The Flintstones opening sequence uses the phrase "we'll have a gay old time" which obviously doesn't fit the modern definition. Do people still commonly consider the phrase "a gay old time" as equivalent to an enjoyable time?
When I first heard about someone being "grandfathered in", I (incorrectly) assumed the analogy was "old people are senile and can't be expected to adapt to new laws, they get a free pass". That is, it's modeled on an exemption for (those old enough to be) grandfathers, not based on who you have as a grandfather. And thus, if anything, is a smear against the old rather than black people (or grandmothers).
With that said, as others are noting, it does, for some people, evoke the Reconstruction-era practice, so is a bit more complex than it might seem.
That isn't why they're removing grandfathered. The word "grandfathered" exists because of laws in the south that kept black people from voting by saying that you were only allowed to vote if your grandfather could vote.
Other way around: they introduced various new barriers to voting, but said that if your grandfather was allowed to vote then you were allowed to vote (thus allowing white southerners to bypass the barriers).
It’s not long forgotten. The consequences of those laws are very much alive today. It might be forgotten by you, but it is surely known by a lot of people in the south.
His point was obviously not that the consequences were forgotten but the original meaning of the phrase was forgotten, and I'm pretty sure you know it. What are you trying to accomplish with this? How did you get from "I never knew what grandfathered originally meant" to "maybe you forgot about jim crow, but I haven't".
I feel like racists are far more empowered by things like this than simply allowing the etymology of the word to be forgotten, like it basically had been. And now, it's just another line in the sand for people to argue about on social media. I think if I were a racist activist, I'd be finding things like this to start arguing about under a false flag.
I would ask the same question. Is there evidence that somehow the majority has forgotten the original meaning but the minority hasn't? Do you have any evidence of that? I'm sure if you study this type of thing as a hobby you could probably score a lot of points in arguments. But is that the best way to go about making real changes?
So multiple people have claimed that “no one“ knows what it means and the original meaning was forgotten and multiple people in this thread knew the original meaning and the the origin is listed in the dictionary etymology and Wikipedia page.
It’s not a deep dark secret. I grew up in the south, I know the history and the racial connotation for it was always there for me. That it’s not there for you or that you never thought about it before doesn’t mean that nobody did or that everyone here is making it up.
Social media blurs the lines and it makes it hard for anyone to understand reality versus fiction. It was probably the same when mass communication took off in the first place, but it's happening again. Any particular change in language like this seems like a small thing, but it's very hard for me to tell if those changes are actually being driven by an oppressed community who thinks such changes are important, or if they're coming from meaningless social media echo chambers. Latino versus Latinx is another example I struggle with. Should we modify an entire language due to some perceived sexism? Who is actually perceiving this sexism and is it the real voice of the community?
Ok, I'll admit I didn't know that. This still seems like going an awfully long way out of your way to find something to be offended about.
This would be like British people removing French-derived words from their language, because they were the result of Norman conquest and subjugation. At some point, history is just in the past and language moves on.
What is actually in the repository? Is the code correct? Is it efficient? Is there sufficient test coverage? Well, who knows. We spent all our person-hours fiddling with terminology. This will last for a few years until someone finds something to be offended about with the new terms.
You are assuming that the hearer would be offended or hurt. This doesn't need to be true in order for initiatives like this to make sense or have a purpose.
Words have a history and carry their original intentions with them alongside their current meaning. When you're using a term someone might find offensive, that person might also know that you mean no ill. In cases like those, they can ignore the possible subtle connotations your words could've implied.
In other situations, the hearer is unaware of your possible ignorance or motivations, in which cases they might be unsure if you're directly or indirectly trying to imply something offensive or dismissive on purpose.
Removing that doubt is simply streamlining the efficiency of communication, making sure that both parties understand each other and what they're saying and meaning.
> Words have a history and carry their original intentions with them alongside their current meaning.
Respectfully, I disagree. Words are fluid and shift meanings constantly throughout time. Words are not sentient and do not carry anything in and of themselves. Meanings are assigned by people based on context. It is quite clear from the context where these words are used what meaning is intended. To discern another meaning based on an obsolete and irrelevant context requires deliberate misinterpretation.
I worked at a company that did this almost a decade ago. The idea seemed simple enough, but the unintended consequences started adding up over the next few years.
The biggest problem was that the company became the arbiter of what was offensive and what was not. We felt like we came up with a comprehensive list when we started, but a few people became very good at finding new words that might possibly be offensive to someone, somewhere, in some context. Eventually the company has to draw the line and decline to remove potentially-offensive words, at which point the company is effectively declaring that topic not offensive enough to take action. This doesn’t go over well, and some people are very eager to make a big deal about it on social media.
The second problem is that declaring certain words to be possibly offensive is easily misinterpreted as declaring those words as always offensive. We had problems with people assuming ill intent when interview candidates and new hires accidentally used words on the banned list with no ill intentions. Marking the words themselves offensive instead of the person’s intentions creates a lot of traps for people who don’t know about or haven’t yet fully memorized the bad words list. This created a lot of divisions and cliques within the company where people were hesitant to interface with certain other groups for fear of being mistakenly marked as offensive. When the safest option is to keep to yourself or a small group of peers who you know won’t misinterpret your words, cooperation and coordination decreases.
The third problem was the long tail complexity of eliminating these words from the business. Doing a search and replace on the codebase and documentation is easy enough. But you’re still left with third party open source projects and services that contain the bad words. Once you reach the point of people suggesting to fork open-source services just to rename parts of the source code, the complexity and cost grows exponentially. At the worst point, we had a team trying to justify creation of an Ubuntu fork that used the phrase “manual pages” everywhere instead of the possibly-sexist “man pages”. The amount of engineering time, energy, and dollars spent debating these topics and implementing solutions spiraled into far more complexity than any of us imagined at the start.
Where does anything ever end? The answer is always "when a reasonable balance is found". The idea that we can't do something because "where does it end" is symptomatic of black/white thinking. If I may say so (yes I may).
> The biggest problem was that the company became the arbiter of what was offensive and what was not.
Companies already have to do this and they have done this for a long time. There are undoubtedly offensive words, phrases, and actions which a company actively discourages or will not tolerate.
The problem is that society progresses in disjointed ways, and common vernacular often lags far behind that as well. Instead of waiting for the overwhelming majority of people to understand that some words which once were perceived as neutral actually carry a darker, less-desirable connotation, Twitter (and others) are working to get ahead of that.
Sure, the lines may be blurry now, but that's no reason to claim that companies weren't arbiters of offensive words or actions in the past.
Modern authority have moderated speech. Trying to ban words is insulting, reprehensible and incompetent. At some online forums it may need to be done, but that is lack of better alternatives, like better moderation systems.
Moderate behaviour and speech, not words and people.
> Companies already have to do this and they have done this for a long time.
Setting aside that you've honed in on a peripheral part of the OP:
You're missing something that should be obvious here. What you're attempting to claim here is that engineers second-guessing themselves at every turn as they write code and being dependent on high-level authority to make low-level decisions at the level of word choice is normal and desirable.
It's neither. It simply doesn't happen and it's incredibly boneheaded.
Same as ever: Get woke, go broke.
As a native speaker, I can almost understand dummy value. But sanity check doesn't seem offensive at all. One definition of sanity is "reasonable and rational behavior."
so sanity check would be checking if the behavior is reasonable and rational.
"Sanity check" hits home with me, so I guess I'll try to explain why it's problematic. I happen to use that phrase and variants on it throughout my code & comments as part of defensive programming.
I'm talking about having to put in gratuitous checks to make sure that the given data is plausible given the expectations of the business logic. My background is mainly in "legacy" applications where bad data can be a real concern. The intent is to make sure that the conditions are right to continue processing the data, with the alternative being either correcting the data or raising an error strong enough to get the bad data noticed.
The problem with "sanity" in this context has to do with social stigmas about mental illness. As someone that is mentally ill, I get it. Yup, my brain processes things incorrectly according to the world. Yup, this makes life difficult for me. But I am not "insane" despite my brain's broken data and twisted business logic.
While I am not personally offended or put off by the use of "sanity" in this way around software engineering, I agree with the general principle that judging "sanity" in code can be problematic. There are ways to express the same idea without implying judgement about mentally ill people.
"Sane" is one of my personal pet-peeve words. But only because people use it in an extremely approximated sense. It seems to always mean "good, for whatever meaning of good I personally choose to define, along whatever axes I choose to measure", without ever coming close to defining it any further.
They appear to be excellent examples of what will probably in the future be compared to the 1950s hunt for 'commies' in the US, with respect to users of language that some might take offense to.
Can someone explain to me the "dummy" and "sanity" exceptions? I have never even considered that these words might be offensive. Perhaps not emotionally neutral, but then why not "poor" (performance) or "silly"? Is there some context that I'm not aware of?
It’s a reach. Or else perhaps Twitter is concerned about offending the numerous employees who lack sanity and may feel excluded by someone else wanting their code to run.
If you want to believe that a multi-billion dollar company cares about your feelings or people in general simply because it has come up with its own dictionary of acceptable words for concepts then go right ahead. What truly has Twitter done for humanity? Allowed racists and monsters to verbally assault anyone they choose, hiding behind anonymity? This is classic virtue signaling, concealing an absolute void of concern for people.
As a white guy who has never experienced racism before, I don’t feel comfortable judging weather any of these changes make sense. I would hope that they’ve sat down with groups of people they believe they are offending with these words and figured out if these changes actually make a difference to them. If the have, then more power to them.
If people would like to do this, that's cool. As long as I can still call myself crazy I see no reason to object.
But have no illusion: this doesn't actually count as doing something, and you get zero accolades for it.
If you want to do something useful, and I highly encourage it, here are some ideas: fix your platform (start by kicking the Nazis off), fix your hiring process, and call your city council rep to ask what they're going to do to ensure the police treat all members of the public fairly and professionally.
I honestly cannot understand how "sanity check" can be offensive to anyone. I am not saying there no other ways to express the same meaning but I also don't see why it should be changed in the first place since its already established.
We also no longer use the word niggardly - even though its etymology is completely different from the other n-word that sounds similar. We somehow survived that.
Likewise we no longer use the word retard as in I need to retard this engine's timing so it runs richer.
Yet both of these are words I grew up with and guess what? We're still here and our engines are running just fine, thank you. I'm old enough to have heard with my own ears that language evolves. The set of words used today are a different set of words than were used when I was growing up and the set of words that were being used when I was growing up was a different set than were used when my grandparents were growing up. You'd think a bunch of technology people wanting to "change the world" would understand this better.
Anyway, to my ears griping about language changing is like griping about loud music: you're just getting old. As my father always said getting old stinks but it sure beats the alternative. Now get off my lawn!
P.S. - when I was growing up you heard the word stinks a lot for where you'd now use the word sucks. But sucks used in such a pejorative manner was considered a 4-letter word due to its reference to fellatio. Like I said, language changes and evolves.
The stupidity is just incredible. Let's see what happens when they take gendered pronouns out of Spanish or other similar language. What incredible stupidity and idiocy. I hope to never meet these idiots. This is on par with calling the corona virus a hoax as far as stupidity. It censors extremely common phrases. If this is what Americans think they need to do to get rid of sexism and racism, sexism and racism will never diminish in this country. Unbelievably insane stupidity. It really cannot be said enough.
84 comments
[ 2.3 ms ] story [ 178 ms ] thread1 step forward, 512 steps back.
[0] https://mobile.twitter.com/negroprogrammer/status/1278728952...
A black person appropriating a term of abuse for themselves is very different than a white person using it against them. Their username is not offensive.
Therefore everyone must be allowed to use his nick: negroprogrammer, or risk the above violation.
I think it smart if for free speech, and not just used as a sword or shield against others.
If nothing else, improving clarity and understanding among each other and making communication easier as our workforces become more globally and linguistically varied is-if nothing else decent and appropriate, right?
To me "legacy status" sounds like "deprecated", as in "the system is still there but we plan to get rid of it". Grandfathered means "we wouldn't add it today, but since it's there it can continue as a first class citizen indefinitely". A house that doesn't follow new building codes isnt torn down, it's grandfathered in. But it's definitely not a "legacy house", it's still just a fully functioning house that doesn't match what new construction would be but that's ok.
Compare:
The use of fax for the transmission of medics records is grandfathered. The use of fax for the transmission of medics records is exempted.
Both are true, but grandfathered, as noted above, implies that it really wouldn't be allowed in today but gets to exist because some people just can't move on and look for a better technology.
(In fact, many of the reasons I hate fax are features for it's die-hard users. It's fire and forget, open loop, low quality, and as easy as dialing a phone entry. Also, there's no security attached to the sender or receiver.)
Jack Dorsey spent his last holiday on a private meditation retreat in Myanmar, while the people in the streets were organising anti-muslim mobs on social media. Maybe they ought to work on that if they're looking for racism on their platform
I am completely okay with removing words which imply domination and subjugation without moral judgement from day to day vocabularly.
Slavery is a horrific, barbaric practice, and if the word only ever comes up in one context with all the moral and emotional weight that should carry, then that's an improvement.
https://www.etymonline.com/word/slave
Erm, it's probably best if the word "slave" kept its highly negative and polarized meaning...
This seems like an enormous waste of time.
Edit: I was corrected below about why Grandfather is considered objectionable. I think the general point still stands. Nobody is using these terms with the intent of excluding anyone. Interpreting them that way takes a deliberate effort that would probably be better spent elsewhere.
This is plainly false.
Even wiktionary[1] considers it a dated phrase.
[1] https://en.wiktionary.org/wiki/gay_old_time
I'm just one data point, but you said "no one actually associates the modern use" and that's untrue.
With that said, as others are noting, it does, for some people, evoke the Reconstruction-era practice, so is a bit more complex than it might seem.
I feel like racists are far more empowered by things like this than simply allowing the etymology of the word to be forgotten, like it basically had been. And now, it's just another line in the sand for people to argue about on social media. I think if I were a racist activist, I'd be finding things like this to start arguing about under a false flag.
It’s not a deep dark secret. I grew up in the south, I know the history and the racial connotation for it was always there for me. That it’s not there for you or that you never thought about it before doesn’t mean that nobody did or that everyone here is making it up.
This would be like British people removing French-derived words from their language, because they were the result of Norman conquest and subjugation. At some point, history is just in the past and language moves on.
What is actually in the repository? Is the code correct? Is it efficient? Is there sufficient test coverage? Well, who knows. We spent all our person-hours fiddling with terminology. This will last for a few years until someone finds something to be offended about with the new terms.
Words have a history and carry their original intentions with them alongside their current meaning. When you're using a term someone might find offensive, that person might also know that you mean no ill. In cases like those, they can ignore the possible subtle connotations your words could've implied.
In other situations, the hearer is unaware of your possible ignorance or motivations, in which cases they might be unsure if you're directly or indirectly trying to imply something offensive or dismissive on purpose.
Removing that doubt is simply streamlining the efficiency of communication, making sure that both parties understand each other and what they're saying and meaning.
Respectfully, I disagree. Words are fluid and shift meanings constantly throughout time. Words are not sentient and do not carry anything in and of themselves. Meanings are assigned by people based on context. It is quite clear from the context where these words are used what meaning is intended. To discern another meaning based on an obsolete and irrelevant context requires deliberate misinterpretation.
The biggest problem was that the company became the arbiter of what was offensive and what was not. We felt like we came up with a comprehensive list when we started, but a few people became very good at finding new words that might possibly be offensive to someone, somewhere, in some context. Eventually the company has to draw the line and decline to remove potentially-offensive words, at which point the company is effectively declaring that topic not offensive enough to take action. This doesn’t go over well, and some people are very eager to make a big deal about it on social media.
The second problem is that declaring certain words to be possibly offensive is easily misinterpreted as declaring those words as always offensive. We had problems with people assuming ill intent when interview candidates and new hires accidentally used words on the banned list with no ill intentions. Marking the words themselves offensive instead of the person’s intentions creates a lot of traps for people who don’t know about or haven’t yet fully memorized the bad words list. This created a lot of divisions and cliques within the company where people were hesitant to interface with certain other groups for fear of being mistakenly marked as offensive. When the safest option is to keep to yourself or a small group of peers who you know won’t misinterpret your words, cooperation and coordination decreases.
The third problem was the long tail complexity of eliminating these words from the business. Doing a search and replace on the codebase and documentation is easy enough. But you’re still left with third party open source projects and services that contain the bad words. Once you reach the point of people suggesting to fork open-source services just to rename parts of the source code, the complexity and cost grows exponentially. At the worst point, we had a team trying to justify creation of an Ubuntu fork that used the phrase “manual pages” everywhere instead of the possibly-sexist “man pages”. The amount of engineering time, energy, and dollars spent debating these topics and implementing solutions spiraled into far more complexity than any of us imagined at the start.
Companies already have to do this and they have done this for a long time. There are undoubtedly offensive words, phrases, and actions which a company actively discourages or will not tolerate.
The problem is that society progresses in disjointed ways, and common vernacular often lags far behind that as well. Instead of waiting for the overwhelming majority of people to understand that some words which once were perceived as neutral actually carry a darker, less-desirable connotation, Twitter (and others) are working to get ahead of that.
Sure, the lines may be blurry now, but that's no reason to claim that companies weren't arbiters of offensive words or actions in the past.
Moderate behaviour and speech, not words and people.
Setting aside that you've honed in on a peripheral part of the OP:
You're missing something that should be obvious here. What you're attempting to claim here is that engineers second-guessing themselves at every turn as they write code and being dependent on high-level authority to make low-level decisions at the level of word choice is normal and desirable.
It's neither. It simply doesn't happen and it's incredibly boneheaded. Same as ever: Get woke, go broke.
to talk quickly and nervously in a high voice, saying very little of importance or interest
https://dictionary.cambridge.org/dictionary/english/twitter
Twit
a stupid person
https://dictionary.cambridge.org/dictionary/english/twit
so sanity check would be checking if the behavior is reasonable and rational.
I'm talking about having to put in gratuitous checks to make sure that the given data is plausible given the expectations of the business logic. My background is mainly in "legacy" applications where bad data can be a real concern. The intent is to make sure that the conditions are right to continue processing the data, with the alternative being either correcting the data or raising an error strong enough to get the bad data noticed.
The problem with "sanity" in this context has to do with social stigmas about mental illness. As someone that is mentally ill, I get it. Yup, my brain processes things incorrectly according to the world. Yup, this makes life difficult for me. But I am not "insane" despite my brain's broken data and twisted business logic.
While I am not personally offended or put off by the use of "sanity" in this way around software engineering, I agree with the general principle that judging "sanity" in code can be problematic. There are ways to express the same idea without implying judgement about mentally ill people.
Lest we forget, “retard” used to be the kind way to describe mentally challenged people when earlier phrases became offensive.
But have no illusion: this doesn't actually count as doing something, and you get zero accolades for it.
If you want to do something useful, and I highly encourage it, here are some ideas: fix your platform (start by kicking the Nazis off), fix your hiring process, and call your city council rep to ask what they're going to do to ensure the police treat all members of the public fairly and professionally.
Some unintended consequences there given how the term is used by them in forward-facing contexts.
Likewise we no longer use the word retard as in I need to retard this engine's timing so it runs richer.
Yet both of these are words I grew up with and guess what? We're still here and our engines are running just fine, thank you. I'm old enough to have heard with my own ears that language evolves. The set of words used today are a different set of words than were used when I was growing up and the set of words that were being used when I was growing up was a different set than were used when my grandparents were growing up. You'd think a bunch of technology people wanting to "change the world" would understand this better.
Anyway, to my ears griping about language changing is like griping about loud music: you're just getting old. As my father always said getting old stinks but it sure beats the alternative. Now get off my lawn!
P.S. - when I was growing up you heard the word stinks a lot for where you'd now use the word sucks. But sucks used in such a pejorative manner was considered a 4-letter word due to its reference to fellatio. Like I said, language changes and evolves.