I am not aware of actual code removal but skirting in that direction there was a movement, just a couple years back, to replace words that had become more offensive than they were in the recent past. One example is renaming master to main.
I am not stating any opinion for or against any words or terms in this context.
Somewhat on a tangent, but when people talk about offensive language in the context of cultural criticism they don't mean terms that cause the people who hear them to be offended but things that may diminish the value of some people in the eyes of the people who hear them. I.e. something is offensive, in this sense, to some group X not if people in group X are offended when they themselves are exposed to it but if people who hear it may come to devalue people in group X. Whether it actually does or does not is another matter. In that sense, the discussion of the clitoris in an anatomy book is not offensive in the same way as the term master, but its absence is. Its inclusion could be offensive in the sense of scandalising some people who see it, but it's not the same sense.
My grandfather was a slave - he passed in 2007. I have no objection to the term master, nor have I heard anybody ever who was affected by actual slavery to take offence to the term.
I remember much debate about this, and not once was an actual affected person mentioned who took offence.
1. My whole point was that it is not about anyone in the affected group taking offence. The question is whether other people can come to devalue people in the affected group. In this context "offensive" doesn't mean taking offence, but devaluing. To take and extreme and controved example, if I tell a subordinate that the women on our team were "diversity hires" who did not deserve to be hired, the harm is not in a woman hearing I said that. It is done even if none of the women on the team ever know I said that. Similarly, it doesn't matter if the women on our team all agreed with that statement and weren't offended by it.
2. I make absolutely no claim about the effectiveness of using or avoiding certain terms even in the relevant context. I'm only saying that people misunderstand what "offensive" means in this context. It means things that may make some people think less of others, whether or not those others know about it or are offended by it.
The anti-master position also willfully disregards synonymy. Just because I have mastered the English language does not mean it belongs to me. Master Splinter does not own the Ninja Turtles.
I cannot own the perspectives and unspoken histories of other people, nor will I try. Trying to do so ultimately only results in shades of self-censorship or poor imitation.
Instead I will do my best to balance my language between brevity and specificity while hoping my instructions are clear, direct, and honest for the audience. Everything else is left to chance.
I have found over the years, the degree of my communication's success is left more to the particularities and desires of group thought from a given audience than from the words themselves. I come to this conclusion through numerous times of providing the same communication, verbatim, to difference audiences and watching the wildly differing results.
If I lived by commission I suspect I would alter my behavior. Instead, I manage a software team for a living.
I wasn't trying to suggest how individuals should behave nor claim that language has a large impact on social dynamics in general. I'm merely saying that in the context of cultural criticism the thing that is sometimes referred to as "offensive language" doesn't mean language that may insult or offend the sensiblities of those who hear it but language that may seem to make those who hear it think less of others. I don't know if this is useful or silly, but that is what it means.
Renaming things to better names happens all the time, selectively removing something is much worse. Especially for a reference book like Gray's Anatomy
The severity of harm is highly subjective, though I do agree with you about the harm. The more important thing is the intent, which completely underscores that severity.
Main is also an easier name for beginners. I’m old school and always got the comparison of master branch to master tapes and such things, but people new to this stuff wouldn’t necessarily have the same intuition about the name. Main is just clearer (for now). Similar to blacklist/whitelist. I had no context for either of those and it took me soooooo long to remember what they meant. Allowlist/denylist is just so much clearer. Any reduction in harm, however tiny, is a nice bonus to just making things clearer for more people
No, blacklist and whitelist are far superior because blacklist is a normal English word. It isn't even a term of art, programmers just adopted a word that already existed in the English language (and used whitelist by way of analogy). The argument that the new terms are better holds no water whatsoever. The old terms were superior.
How is "allowlist" or "denylist" not more clear to, say, someone for whom English is a second language?
Sure blacklist was already an English word, but it's not necessarily _common_, and the distinction between blacklist and whitelist is kinda arbitrary. If you'd like to explain Why the word means what it does I'd love to hear it
Allowlist and denylist are clearer, in that the meaning is in more clear alignment with the words it's made up of.
The old terms just make more sense to those who are old enough to be used to it.
The etymology is interesting - Pebble Voting was used in the early democracies in Greece from 500 BC. Black pebbles meant 'no' and white meant 'yes'. The tradition evolved to the black and white marbles used in the Roman senate centuries later, i.e. two millennia ago. The practice has since continued – it was used in the early American republic in the 18th century, and the word 'ballot' used today for voting means just that - a 'little ball'.
The word 'blacklist' probably originated from this meaning. It was in use in England since before, but it was probably the "Black List of Regicides” that popularised the term. It was a list compiled by the administration of King Charles II England of those to be punished for the beheading of his father King Charles I in 1649, following the restoration of the monarchy of England in 1660. As this list was rather long, it was a probably a bit of a traumatic event for the gentry in London and it’s not hard to imagine that the memory of the dreaded "blacklist" stuck. A century later the word was in general use for a list of enemies, detractors, and unwanted people.
Conversely, "in the black" is the notion of having no debts or a positive cash flow. This obviously comes from the centuries old principle of using black for credit, and red ink for debit and negative balances in the double-entry accounting system codified in the 15th century.
A tangential but equally fascinating concept is the practice of forbidding - or blacklisting - words in totalitarian regimes like Maoist China. Controlling language was a key strategy to influence thought, define in-groups, and ostracize out-groups. It's a hallmark of a totalitarian systems aiming to shape thought through language. Very much not at all in line with the principles of ballot voting in a democratic system one should think.
(The last argument can be used with any word. I could find your Gallicism offensive and demand that all words with a French etymology should be removed from English to restore it to it's Old-English form before the oppressive Normand rule, since after all, the old words would just make more sense to those who are old enough to be used to it, and my feelings are important.)
Thank you for sharing the etymology! It's quite interesting, I agree!
I may have been a bit too pithy/I sufficiently clear with that last statement I made.
I meant it in the sense that understanding the word relies on a lot of contextual/colloquial/cultural understanding that's typically gained via time and exposure. At least, more of it than allow/deny requires.
Imagine an alien culture encountering blacklist vs Denylist. The latter requires a lot less context to translate, because Deny is used a lot more consistently.
My argument is mainly one about _clarity_, not hurt feelings.
To me (where English is a second language), Allowlist and denylist seem unclearer. Is it a block list, a exclude list, or a permission list? Allow/deny would lead me to the last one, as in authenticate users who has some permissions but not others.
Blacklist and whitelist would be closer to include/exclude, so the replacement would be a includelist and excludelist, or include/exclude as shorthand.
I feel like a permission list is kind of a superset of a block list and an exclude list. Or they're all different perspectives/solutions to the same kind of problem, that a permission list is the more generalizable solution for.
Or it's a way of framing the problem that doesn't embed the "exclusion" idea in the naming.
And it kinda bridges over to the idea of Access Control Lists a bit better?
Allowlist/Denylist are clear and perhaps more specific, but blacklist/whitelist are not arbitrary, they're just using black in valid ways according to common English dictionaries, which is similar to how other languages use the word black, but it is less specific.
> If you'd like to explain Why the word means what it does I'd love to hear it
Simply because black means different things depending on the context. Evil, invisible, mysterious, absence of light, sinister. It's not arbitrary because that's how the word black is commonly used.
I'm not trying to argue about validity here, but rather that these definitions/meanings of the word black are not "primary" definitions but secondary meanings based on that contextual/cultural/colloquial use. Arbitrary in the sense that that "commonality" is arbitrary and cultural, and language could just have easily developed to flip the colloquial definition.
Contrasted against using words where the Primary definition is the one that matters.
Imagine an alien culture encountering the word. Blacklist versus Denylist. The latter requires a lot less context to understand the meaning, because "Deny" has a single pretty consistent definition.
> Imagine an alien culture encountering the word. Blacklist versus Denylist.
Seems like it's just another step in developing one's language skills, no more or less ambiguous than "deny" for someone who doesn't know either word, but I'd wager than "black" would probably be encountered earlier in the vocab training list. It's a bit of a stretch, imo. "Reject" or "Turn-away" or "Block" works too, as well as many others, language is flexible, it doesn't seem names for lists are worth so much energy.
This master tape thing didn't even cross my mind. subversion used trunk. git used master which sounded way better for me. End of story. They're just words, non-native words for me.
As for whitelist and blacklist, I don't remember having any difficulties with them. Maybe on the first encounter, but that's it.
It's not even "was", that movement still exists. People are still out there trying to remove terms of art on the basis of the theoretical offense felt by an extreme minority of people. It's ridiculous.
> Like, imagine documentation on object oriented programming being removed because it offended some functional programming folks.
Let's not pretend we are fundamentally different from people living in other epochs, just biases change. We literally changed branch names of git repos because some people in one big country felt the naming could be offensive to another group of people.
It feels like lately there are people committing malice knowingly trying to justify it as just a joke or unknowingly doing something from stupidity to make it more palatable to people that will then excuse them.
I think this rule may have always been fake when anyone with even a little bit of power did it.
I've never understood why this is taken seriously. Law has clear concepts of bad faith and mens rea, and this implies they're irrelevant.
Of course it's unproductive to start from assumptions of bad faith, which is a fair point. Bad faith requires evidence of intent, stupidity doesn't.
But there are still situations where bad faith is a reasonable hypothesis to test. And some negative actors are clever enough to operate deliberately inside a zone of plausible deniability.
Back in the Aughts a large number of home-schooling and educational reform organizations (leaning heavily on the Fundamentalist side of the Christian spectrum) had apparently determined that Set Theory originated in Socialist / Bisexual circles.
"A Beka Book" (now styled "Abeka") was not just the province of homeschoolers, but made its way into the educational and academic curricula in many higher learning institutions.
Unlike "modern math" theorists who believe mathematics is a creation of man and thus arbitrary and relative, A Beka Book teaches that the laws of mathematics are a creation of God and thus absolute, and that A Beka Book provides texts that are not burdened with modern ideas such as Set Theory.
It would have made a great deal less fuss if it didn't turn out that Abeka books were being bought in their thousands with tax dollars. I suppose this sort of thing would barely raise an eyebrow these days. I've been seeing far more avante garde ideas flowing forth in the public-funded wells of the former Confederacy of late.
Most people are on a CGNAT these days, drowning in captchas is the new normal. You’re at the mercy of one of your neighbors not hosting a botnet from their home computer.
For better or for worse, CF's fingerprinting and traffic filtering is a lot more in-depth than just IP trend analysis. Kind of by necessity, exactly because of what you mention. So I'd think that's not as big a worry per se.
Yet here I am drowning in captchas every once in a while, so it's quite a big worry for me.
Maybe I just have to disable all ad blockers and Safari tracking prevention? Or I guess I could send a link to a scan of my photo ID in a custom request header like X-Please-Cloudflare-May-I-Use-Your-Open-Web?
> Yet here I am drowning in captchas every once in a while, so it's quite a big worry for me.
I think I was sufficiently clear that I was specifically talking about CGNAT-caused IP address tainting being an unreasonably emphasized worry, not the worry about their detections overall misfiring. Though I certainly don't hear much about people having issues with it (but then anecdotes are anecdotal).
> Or I guess I could send a link to a scan of my photo ID in a custom request header like X-Please-Cloudflare-May-I-Use-Your-Open-Web?
Sounds good, have you tried?
Not sure what's the point of these comically asinine rhetoricals.
Not even remotely true, I genuinely have no idea what you're talking about. The only time I get captcha'ed is when I sometimes VPN around, or do some custom browser stuff and etc. I'll even say I get captcha'ed less now than maybe 5 years ago.
Again, no clue what you’re talking about. The only time I had to deal with shit was when I was travelling a bit sketchy countries. I get that “Cloudfare is verifying your connection” loading screen from time to time, but there’s no captchas involved.
Super majority of people don’t use VPNs, or rare browsers, or avoid fingerprinting and etc. When you browse like regular you don’t notice the friction. That’s the selling point of companies like CF, because website owners don’t want to lose real traffic.
I'm not sure that I buy their conclusion that more compute during inference is good.
Yes, batch=1 inference is mostly memory bandwidth bound, not GPU compute bound. But no provider does batch=1 inference. Everyone groups all the requests into a batch, and the GPU computes them together.
With a fused kernel, that means the GPU streams the tensors from VRAM, and does a bunch of compute on different conversations in the batch, at the same time.
If they increase the amount of compute required per token, that just reduces the maximum batch size a GPU can handle. In practice, yes this does mean each GPU can serve less users. Providers aren't leaving GPU cores idle normally during inference.
> Everyone groups all the requests into a batch, and the GPU computes them together.
You're only saving on fetching read-only parameters, and not even on that if you're using MoE models where each inference in the batch might require a different expert (unless you rearrange batches so that sharing experts becomes more likely, but that's difficult since experts change per-token or even per-layer). Everything else - KV-cache, activations - gets multiplied by your batch size. You scale both compute and memory pressure by largely the same amount. Yes, GPUs are great at hiding memory fetch latency, but that applies also to n=1 inference.
Well, the actual inference providers put each expert on its own single GPU. Deepseek explicitly does this.
Read-only parameters is also usually the majority of space. Deepseek is 700GB of params. Meanwhile kv cache is small (Deepseek is about 7GB at max context) and ssm/conv1d cache is even smaller- IIRC Qwen 3.5 is 146MB per token regardless of context size. Not sure about how Mamba-3 works, but I suspect read-only parameters are still a significant amount of memory bandwidth.
I guess the question isn't whether compute is 1:1 with memory, but rather if you run out of compute before you run out of vram adding more users.
> Well, the actual inference providers put each expert on its own single GPU.
Experts are usually chosen on a per-layer basis, not just by token, so I'd think this requires having lots of GPU's to make it worthwhile. You could do it with a single physical GPU by switching expert-layer mixes in a round-robin fashion after the batch for any single expert-layer mix is completed (essentially a refined version of expert offloading). But still, not easy.
> The minimum deployment unit of the decoding stage consists of 40 nodes with 320 GPUs. The attention part employs TP4 with SP, combined with DP80, while the MoE part uses EP320.
Throughput is indeed king for the standard-tier mindshare-capture play. But there are many who would pay multiple times the current cost for agentic systems for engineers and executives, if it meant a meaningful reduction in latency. The economics could work extremely well.
Impatient execs can also be painful. EDIT: Writing this while I am waiting for Codex to complete, so I may enjoy slow AI more than the usual developer ;-)
The economic effect of latency is measured not by the incremental productivity itself, but by the combined economic downforce of thousands of resulting HN and Reddit comments :)
Focusing on needs of providers isn't a very good long term strategy if you believe compute will eventually move to self hosted and on premises solutions where large batch sizes aren't needed.
That's like gamers thinking most of Nvidia's revenue coming from gaming GPUs, so Nvidia should prioritize gamers.
Inference is ruled by inference providers, not local. Local inference is a rounding error, and will remain as such unless there is economic incentive otherwise.
Their latency measurements comparing Mamba-2 and Mamba-3 are done with a batch size of 128. It doesn't seem like Mamba-2 was compute-bound even at that batch size.
The comment is phrased in the greater context of the public discussion about housing, in general. Not the specific information of the article.
You know, like how a discussion about war might reference the various recent wars that everyone knows about; it's not limited to just the content of the article.
But it didn't reference anything, it stated political opinions like they were confirmed facts, provided zero evidence to support those assertions, and completely ignored the ways in which the article provides counterevidence.
They aren't saying affordable housing isn't needed. Just that the method for making housing affordable shouldn't be trying to make the current housing supply cheaper.
And from this is where you get "rent-control is a terrible idea". Essentially: trying to artificially drive down housing prices in any way is generally inadvisable if you can just build more housing.
Sure that's technically an opinion, but it's one based in facts, and it certainly doesn't have "zero evidence".
Blanket statements like this is the point of many of the above replies, it’s not a true statement with evidence. All rent control does not reduce the number of rentals, “more restrictive rent control”[1] [2] does. These nuances are important in the conversation.
We already have this concept. It’s called user accounts.
Your Gmail account vs my Gmail account. Your macOS account vs my macOS account.
Yes, I can spam you from my Gmail. Yes, I can use sudo on my Mac and damage your account. But the impact is by default limited.
The answer is to just treat assistants as a different user profile, use the same sharing mechanisms already developed (calendar sharing, etc), and call it a day.
That's punting the problem in the same way SELinux did. Agent loops are useful precisely because they're zero config.
Problem: I want to accomplish work securely.
Solution: Put granular permission controls at every interface.
New problem: Defining each rule at all those boundaries.
There's a reason zero trust style approaches won out in general purpose systems: it turns out defining a perfect set of secure permissions for an undefined future task is impossible to do efficiently.
reply