Hacker Newsnew | past | comments | ask | show | jobs | submit | xPaw's commentslogin

I wish browsers also supported directly running typescript files.



That is the real reason we get a less feature-rich TypeScript in the future and Node not supporting full TypeScript. Because they want to be supported by browser.


Already a proposal exists, recent news


That proposal has existed for 4 years, it hasn't gone anywhere yet.


Githubs performance has been rapidly degrading ever since they started rewriting everything in React.

It's basically impossible to view diffs now because they often fail to load, render correctly, or just are incredibly slow.


Yes this shift to React is really annoying. Github also stopped working on older browsers.

My leisure laptop is an older macbook with firefox 78.15.0esr and a little over a year ago I stopped being able to view github files and issue discussions with it. I can still view READMEs most of the time but now I have to use chromium or another computer to actually read code without cloning the repo.

I know they could easily generate JS for older browsers if they cared to set the esbuild target.


Pretty much all of Microsoft — Admin Center, Entra, Defender, etc, they all load slowly and then show you more "silver shimmers effects".


Everything has been getting worse since the React rewrite(s). Everything is just so much more slower and janky. And things like the "back button" keep acting weird (I reported this several times, after a long delay they fixed it several times, and it just keeps breaking a few weeks later – I've given up).

Some of the design decisions are also just baffling, like having "New Issue" in a small modal instead of just a full-screen page (only if you have templates set for some reason). Having less than half the screen being used is not helpful, and only going to reduce the quality of reported issues because it's just shit UX. Baffling. I genuinely wonder if the people designing/building this have ever used GitHub themselves (they reverted some of the other misguided "how on earth did you think that was a good idea?!" features, but not this one).

I have so many more gripes and bugs; clicking "show raw" generally works better for viewing code (or just cloning locally). It's just embarrassing. But it's all pointless to report because nothing gets fixed and it all just keeps getting worse.

GitLab was a "GitHub clone", but I guess now GitHub is turning in a "GitLab clone" by making everything a slow janky barely working mess.


> And things like the "back button" keep acting weird

Ah, good, so it's not just me, then. It's become unpredictable how many steps the back button will take you on GitHub. Or sometimes it'll just take you to a broken, perpetually-loading page. These used to be solved problems on the web.


It breaks so often in SPAs. Turns out that making the client-side code responsible for routing leads to a ton of fragility.


I was baffled by the technical blog post they published on this subject, in 2023: https://github.blog/engineering/architecture-optimization/cr...

They completely redesigned the code navigation to load it dynamically using React. One of the regressions introduced caused the entries to be duplicated when searching for a word using Ctrl+F. Their solution to address this issue? Decompose the source character by character, assigning each individual character its own distinct HTML node...

Needless to say, in addition to abysmal performance (it took seconds to display on my laptop), this also caused new problems (such as the inability to search for certain composite emojis). The worst part is that they seemed proud of their hack, since they wrote a blog post about it.


Trying to find a string in github actions logs is just impossible. Not to mention that even opening large logs takes many seconds of animated scrolling to get to the end.

There is the "view raw logs" button which just opens a plaintext file that my browser loads and searches instantly (imagine that), but doesn't work for still-running jobs.


Wow, that post is amazing. They observed that their page worked poorly because it had a lot of DOM nodes, and they don’t even discuss the idea of trying to make a usable page with fewer DOM nodes. Instead they add all manner of complexity and more nodes (!) to make it sort of work.

A web browser can render and search a boring pure-HTML syntax-highlighted source file just fine.


I don't know any of the background but the diff viewer is near unusable past around 5k lines of diff on my M1 Mac.


That’s your first problem right there. A diff of that magnitude is too large periodt.


After all years of advancement in computing, and in the year 2025 it's not possible to show a 5000 lines diff anymore.


I just mean that if you are reviewing over 5k lines of code, it suggests your PR is too big and should have been broken up into smaller changes.


It's not always code. I sometimes review things like translations that are often done in bulk (thousands of strings in a single batch). There's not much structure to it, it's not like reviewing some weird multi threaded super complicated algorithm, you just need to skim it quickly and make sure that the structure is not broken, and there are no screaming text blocks or unnecessary profanities.

Anyway, it did work properly, now it doesn't. The response shouldn't be "you're holding it wrong".


What about when you're renaming a widely used type in a large codebase or any of the many other things that it makes no sense to attempt to break up into small changes? I completely understand a preference for well-structured smaller changes, but the "large change = doing it wrong" zealotry is misguided.


I'm not always reviewing code. Sometimes I'm checking a diff between two versions of the code, which might contain multiple commits.


If someone is adding a 5k-line file, I would usually rather review it as a single chunk. And yes, sometimes a 5k-line file is entirely justified.


I particularly appreciate when the diff is the addition of a new file and it still takes forever to compute a diff or whatever it’s doing behind the scenes.


There was a video recently talking about this with a good visualization [0]

The root cause of the problem is very fundamental to React and the nature of how the team designed the reactivity model. The TL;DR: React has an inverted model of state management [1].

In Vanilla, Vue, Svelte, Solid, any signals-based reactivity model, you explicitly opt-in to state changes by moving code into your reactive callback. In fact, in almost all of the code that you write, you typically explicitly opt-in to changes in state.

In React, you explicitly opt-out of state changes by moving code out of the reactive callback because the entire component function is the reactive callback (so any state in the path of that function that should not trigger a re-render has to be moved out via a hook).

This fundamental difference is what makes React hard to do well at scale because one needs to be very cognizant of where to place state inside a component and how to optimize for performance with memoization [2] (something Vue and Svelte developers pretty much never think about). The React team spent 2 years building the compiler to automatically manage memoization, but from the benchmarks I've seen, it's hardly made a difference.

In that time frame, Vue has been working on "Vapor Mode" [3] which bypasses the VDOM and brings it to parity with Svelte, Solid, and very close to Vanilla while still retaining a very easy to grok model of reactivity.

[0] https://youtu.be/INLq9RPAYUw

[1] https://chrlschn.dev/blog/2025/01/the-inverted-reactivity-mo...

[2] https://tkdodo.eu/blog/the-uphill-battle-of-memoization, https://tkdodo.eu/blog/the-useless-use-callback

[3] https://www.vuemastery.com/blog/the-future-of-vue-vapor-mode...


Yeah, so you can't blame every performance issue you come across on a single topic, just because you've seen a YouTube video.

If you look at the performance graph, you'll see that most of the time is spent on recalculating css styles. Unfortunately, I can't drill into it because I'm not getting the same problems on my machine. Maybe it has something to do with the 1000s of rendered DOM nodes - no idea, but it has nothing to do with reactivity.


It's not because of the YT video; it's that the YT video provides a good walkthrough. I've been working with JS since the late 90's and have seen various front-end stacks come and go so to me, it is pretty obvious that React has this inverted nature and it is this inverted nature that is the root cause of why it's a very technical endeavor to get it to perform well at scale as it requires the engineer to think carefully about memoization and state placement -- something that doesn't happen in vanilla JS and early frameworks like KnockoutJS.


Interesting to contrast that with the assessment of React, qua critique of the Observer pattern in Brandon Rhodes' 2022 design patterns talk: https://www.youtube.com/watch?v=pGq7Cr2ekVM?t=28m45s . (Notably, later in the talk when he describes the Mediator pattern with a GUI-motivated example, he preempts by saying "I know I just told you to use React"... but then the description ends up sounding to me very much as if React is an implementation of the Mediator pattern!)


All modern FE frameworks are effectively observer patterns, it's that there are two camps on how those changes in the state are propagated.

In signals-based platforms (Vue, Svelte, Solid), the signal targets specific subscribers and callbacks where the developer has opted in to state changes.

In React, though `useEffect` looks a lot like Vue's `watch`, they behave entirely differently because the entire component is registered as the callback.

The code examples in my second link [1] above are worth a glance because it makes it very obvious how similar these libraries are when glancing at the code, but how different they are in terms of how they deliver update signals.


Were they using vanilla js? That's impressive if yes.


They used mostly vanilla JS for over a decade. They were early proponents of a technique they called PJAX which is actually pretty similar to how HTMX works: https://github.com/defunkt/jquery-pjax

My hunch is that over time it became harder and harder for them to hire new frontend developers who didn't insist on building everything new in React and eventually they gave up.


I think it was two things:

1) The original web components proponents[1] there were very heavily into "vanilla" web components. Web components are low-level APIs and just don't have the ergonomics of frameworks without a library to help. For a few elements built by a few true believers, this is ok, but when you scale it out to every component in a complex app with company-wide teams you need the ergonomics and consistency-setting of a declarative and reactive API.

2) The GitHub Next team built their work in React because they required the ergonomics to move fast and they were operating independently from the production app teams. I think the first thing of theirs to be integrated was Projects, and they could probably show that their components had much better DX. Starting from the ergonomics argument, the hiring argument would take hold.

I've seen this happen a few times where web components teams believe that the whole point of them is to not have to use dependencies, hamstring themselves by not using a helper library on that principle, and then get web components as a whole replaced for a proprietary framework in search of ergonomics. If they had used an ergonomic web component helper library, they could have stuck with them.

The irony is that these transitions are usually way easier than a framework-to-framework migration because of web component's inherent interoperability. I still consider that a plus for web components: morally and pratically, technologies should be as easy as possible to migrate away from.

[1] GitHub was so into web components that they regularly sent representatives to W3C meetings to work on them, but a lot of the original team has left the company over the last 10 years.


> Web components are low-level APIs and just don't have the ergonomics of frameworks without a library to help. For a few elements built by a few true believers, this is ok, but when you scale it out to every component in a complex app with company-wide teams you need the ergonomics and consistency-setting of a declarative and reactive API.

GitHub did have their own declarative semi-reactice webcomponent framework. It's pretty nice!

https://github.github.io/catalyst/

It not at all coincidentally bears some resemblance to the (thinner, simpler) Invoker Commands API that has shipped in HTML (they share a main author):

https://open-ui.org/components/invokers.explainer/


> 2) The GitHub Next team built their work in React because they required the ergonomics to move fast and they were operating independently from the production app teams. I think the first thing of theirs to be integrated was Projects, and they could probably show that their components had much better DX. Starting from the ergonomics argument, the hiring argument would take hold.

There's also an impression from outside that the GitHub Next team also got a large amount of pressure to dogfood LLM usage, especially in new feature building.

There seems to be a visible ouroboros/snowball effect that LLMs are causing that they were trained so much on React code that's what they know best and because that's what they know best the goal should be to move things to React and React Native to take the most advantage of LLM "speed and productivity boosts".

I'm currently a pawn that feels about to be sacrificed in a cold war happening in my own day job over how much we should move towards React to make executives and shareholders happier at our "AI all the things" strategy. Sigh.


Github was originally written in Ruby on Rails back in 2008. React was released to the public in 2013 (though it was in use at Facebook prior to that.)

If we inspect the source for Github back in 2010 on the Wayback Machine[0], we can see that they were using jQuery like most sites of that time period.

[0] https://web.archive.org/web/20100115102310/http://github.com... (interestingly, elan/plex shows up as a recently updated repo!)


They were, and still very much are, using web components. But they hired a team to do experiments to imagine the future of GitHub UI, and that team built everything in React. Now that team's work is being ported to the production UI.


Also as a part of their bullshit React rewrite in addition to making everything much much slower they also managed to break basic functionality like the back and forth buttons on Safari that only got fixed quite recently but for a good 9-12 month period it was impossible to use on iOS.

Genuinely whoever was a part of pushing this rewrite should have been fired.


I know you’re just expressing your frustration, but the “the person who did this should be fired” meme you’re propagating is pretty toxic. Decisions like this are never the work of one person, and even when they are, any problems you’re perceiving were traded off against other problems you’re not perceiving. And even if it was an unadulterated mistake, it’s just that… a mistake. Should you get fired for the mistakes you make?

I guess what I’m really saying is that the internet would be a better place if you and others like you dialed down the rhetoric, dialed down the outrage, and dialed up the empathy.

Thanks for listening.


Just use that thing that renders React 1000x faster, million JS or something


it has some limitations: https://old.million.dev/docs/manual-mode/block#breaking-rule... and it isn't a silver bullet on its own


Pretty sure it used to be more server rendered?


Most of it still is server rendered.


I believe most stuff gets loaded via a JSON API now, and HTML rendered in JS via Rect. Maybe even all of it?

For example the file overview has 14(!) requests (/recently-touched-branches, /latest-commit, /overview-files/{branch}, etc.).

The issues list uses 5(!) requests to the GraphQL API. Didn't look in to why it needs five requests.


Most of the UI is React now, especially the most commonly used areas.


The parent comment actually asks what they were doing before using React... No worries, you may have misunderstood them and that's okay!


Even tech influencers who love React, like Theo Browne, has heavily criticise how bad is made GitHub in that regard.

IIRC they set the diff page to update entirely every reactive element in the page when some of this element change, instead of that one.


I wonder if it's React. The GitHub app takes between 3 and 4 seconds to refresh the notifications, and I only have about 20 in my list.


Slow IO is why I still use wsl1.


This. WSL was SO much more interesting in v1 times.


I liked the networking in WSL1 more too


Corporate networking is why I still use WSL1 (I didn’t spend enough time to check why it doesn’t with WSL2, zScaler could be the culprit maybe).

However it’s not perfect, for example I hit this bug when trying to run node a few days ago https://github.com/microsoft/WSL/issues/8219#issuecomment-10... and I don’t think they’re fixing bugs in WSL1 anymore


Yeah, I made a userscript for myself to fix that up: https://gist.github.com/xPaw/4fffaf776fe14d15c9602991f51dbfa...


You don't need to convert querySelectorAll to an array, you can directly iterate it, or use forEach.


Not if you want to map or reduce it.


> With Cloudflare Fonts enabled, you are able to see within your Network Tab that font files are now loaded from your own hostname from the /cf-fonts path

Is there a particular reason why is it not using /cdn-cgi/ prefix?


Link? I don't see this in ToS.


Likely blocked by Firefox tracking protection because it uses Facebook domains.


So you must disable UBlock Origin to use Threads? Life is full of choices to be made!


No. Just the Firefox built in enhanced tracking protection for that particular site. Or wait for Mozilla to whitelist the cdn domains.


This is a good move for the secure-by-default move.

In The Lounge IRC client, we've also opted to this approach years ago, where secure connections show no icon, and insecure connections show an insecure icon.


It really is bizzare, old Firefox used to support all addons, then they shipped a new version and only allowed like 10 addons, and to this day they don't allow any more. It's already been years.

I know my addon works fine on mobile, but they provide no means of specifying that*. I tried to email them for it to become "recommended" but never heard back.

The fact that they allow tampermonkey which allows any kind of script just adds insult to the injury.

* when uploading a new version, it does ask to specify which Firefox desktop/android versions are supported, but this existed before the new Firefox and doesn't do anything.


Mozilla has been going down a bizarre path for a while. If only Brendan Eich could have stayed at Mozilla instead of getting excommunicated, then we'd have the best of Brave and Firefox.

(What _really_ showed me Mozilla is going crazy is when they fired sunfishcode (IIRC) and the Servo team! Both were essential to their success. It makes little sense.)


I agree, Mozilla has been on a very weird path since then.

Not sure Eich would have made a positive difference though. Brave's main claim to fame is that they took Chromium and added an ad blocker. At the same time, they dabble(d?) in injecting ads and crypto, to just name the shady things I know about.

I suppose there just isn't much money in building a non-compromising browser, and Mozilla is struggling with this pretty publicly.


Well the whole point was that there wasn't supposed to be any money in building it. That's why Mozilla is a nonprofit (in theory at least). Originally the idea was that enough companies and individuals would donate to support its development as a common interest, because obviously people want a good private browser, right? Now the status quo has shifted to a big corporation making money off of peoples' browsing habits via closed-source components, and then paying the nonprofit to have a consistently worse browser to prevent a full monopoly.

Mozilla now is best described as a vassal.


Much in this world would be better if we donated to what ought be a public service. If browser vendors didn't have to chase profits, perhaps they wouldn't be so user-hostile, and the same principle applies to most software I'd say.

That we don't have a world where this is possible is in my opinion both a cultural and political failure. What if every person on HN gave 1% of their income to various open source projects they use? What if we made this a cultural norm, and you'd be shamed if you didn't?


That's my opinion. We need more of a culture of giving back. I dislike proprietary software, but I have no problem paying for software.

For example: there are several apps on F-Droid that give you full functionality (even if there is a paywall for those features on the Play Store version), and all they do is say "hey, this took my time to develop, and I'd appreciate if you could throw some bucks my way." I enjoy contributing more than what they'd charge with a paywall in those cases.


It seems what you "know about" "injecting ads" comes from malicious claims that you repeat without checking them out carefully. See https://news.ycombinator.com/item?id=26138152.

Why spout off on browsers as a business without doing your own research? I know, it's HN, but it's also 2023.

Mozilla seems to be getting more money from Google now (https://assets.mozilla.net/annualreport/2021/mozilla-fdn-202..., see also Chair compensation at https://assets.mozilla.net/annualreport/2021/mozilla-fdn-990...), even though Firefox share per statcounter.com is flat or down (https://gs.statcounter.com/browser-market-share#monthly-2022...).

It's possible to make money as an independent browser if you put the user first and deal them in on >= what you make from the gross. That's what Brave does, and we're building out search ads now to do the same. These revshare and payment rails use crypto, no "dabbling".


> If only Brendan Eich could have stayed at Mozilla instead of getting excommunicated

Mozilla actually encouraged him to stay by giving him the role of CEO. He decided to step out.

> First, though, there's a matter that we should all be clear about: Brendan Eich was not fired. After his appointment, there was backlash from the Mozilla Community. He came under pressure to resign and he did. The Mozilla Board that appointed him knew about his donation; they did not "remove him because of his views." If that alone was the issue, they simply wouldn't have given him the job in the first place

https://www.forbes.com/sites/quora/2014/04/11/did-mozilla-ce...

I guess we could point out that the Mozilla Board should have seen this coming and not encouraged him to be the CEO, but they could also have been criticized for this.

> then we'd have the best of Brave and Firefox

I don't think so. Mozilla is tied to its agreement with Google and I believe they are limited in what they can do privacy wise. Unfortunately.

The Brave browser is mostly a fancy Chromium and you can achieve similar results by taking an ungoogled chromium and adding uBlock Origin to it. But you are better off installing uBlock Origin on Firefox [1]

[1] https://github.com/gorhill/uBlock/wiki/uBlock-Origin-works-b...


>Mozilla actually encouraged him to stay by giving him the role of CEO. He decided to step out.

Sure, but for those that don't know the story, Brendan was being portrayed as being evil incarnate because of the donations (which were a perfectly legal thing to do, btw). Brendan's resignation was his way of saying "f*ck this crap, I have better stuff to do", and he showed.

>they simply wouldn't have given him the job in the first place.

LOL, are you aware that Brendan co-founded Mozilla? HE was the one that gave them THEIR jobs.


> are you aware that Brendan co-founded Mozilla?

Yep.

> HE was the one that gave them THEIR jobs.

Yeah, no. Being co-founder is not everything. He was CTO back then. He pretty much didn't give them their jobs, alone anyway. And of course, to go from CTO to CEO, the board gave him the job. I don't know how that can be wrong.

And in any case it does not give him any specific kind of immunity against criticism.

Note that I didn't write this sentence, I'm quoting the linked article.

> which were a perfectly legal thing to do, btw

Of course. But legal ≠ good. Not speaking about Brendan because my opinion on this is irrelevant, but I'm sure you can find something legal that you don't like. For Brendan homosexual wedding is one example of something legal that's bad, if his opinion on this matter hasn't changed.


> Brendan was being portrayed as being evil incarnate because of the donations (which were a perfectly legal thing to do, btw).

Im not sure why you posted this as it has never been suggested that his donation was illegal.

The campaign against his appointment as CTO was on the basis that his financial support for proposition 8 showed him to be hostile to the protection of civil rights for some members of society, including Mozilla personnel, and that this was incompatible with his leadership role.


Is there or has there ever been any evidence that Brendan did not separate his personal views from professional views?


He might have separated his personal views from his professional views. He probably did, actually. But I don't think it matters.

People still didn't like it. His right to have these views, their right too.

It would only have been worse if he hadn't.

The world is not neutral, organizations neither.


But organizations should be, at least I'm on that camp.

Edit: Well actually, I can think of some orgs. that should be polarized by nature, like those meant to promote change. But a foundation that "works to ensure the internet remains a public resource that is open and accessible to us all" should be quite neutral on all others topics beyond that.


I think I understand this opinion, but I'm not sure this is actually possible. I don't think political neutrality really exists. The closest thing that exists is status quo and mainstream / widespread opinions / beliefs.

On any subject that's not the main mission of the org, people will have any sort of opinions, on one side or another. Sometimes biased towards one of the sides depending on the mission or the actual people it attracts.

(sometimes on the main mission too actually, but in this case the org is in trouble / needs to adapt the mission - it can be an existential crisis)

And if for some idea, the mainstream / status quo outside the org is biased toward one side, this bias might also affect the org because the org lives in this world.

Let's take an (imperfect?) example: about veganism/vegetarianism/non-vegetarianism, what is the neutral stance? If the org needs to organize a dinner, some side will need to be taken. Allowing everything to accommodate the preferences of every person is not neutral. That's the status quo however, usually. You can only have "presence of animal-based food" or "absence of animal-based food". Nothing in between. You need to pick a side, take a non neutral-decision.

In the case of Brendan being rejected, people were going to be pissed either way. If he stayed, it would have pissed people who thought Brendan was not desirable as a CEO of an organization like Mozilla which is supposed to be inclusive because of his anti same-sex wedding actions. Because he left, it pissed people who thought his personal opinions should not matter. And both sides have a point, which is the hardest part.


>Allowing everything to accommodate the preferences of every person is not neutral.

What do you mean that is not neutral?

Not being neural would be either forcing everyone to get meat with their meals or not allowing people to get meat with their meals.

By allowing choice you are taking a neutral path.


> By allowing choice you are taking a neutral path.

By deciding to serve meat to people who want it, you already decided that the necessary meat production is okay enough that your org will endorse it, which is not consensual. Many vegetarian people stopped eating meat not for their own comfort and pleasure, but because they actually think meat is not okay (for environmental reasons, for the animal suffering, or whatever). Usually they won't complain because they don't want to be seen as jerks and to force their views onto people, and because serving meat is very normal, but that's still not neutral. Maybe in 10 or 20 years not serving meat will be seen as an obvious environmental measure to apply and will become the status quo, and serving meat the weird thing to do, but that won't be neutral neither.

By the way, if my preference is zucchini, will you make sure I can have it? Why not, and why the special treatment for the meat, of all food a human can eat, then? That's not neutral.

I'm sure this example won't convince everyone though and that's why I called it imperfect, so let me find something else.

As a bus company in Alabama in the 1950s, what was the neutral thing to do? Letting people sit in their bus anywhere no matter their skin color, or to force "colored" passengers to sit at the back?

In South America in the 1800s, was it neutral to let people have slaves? That was probably considered normal / acceptable. Neutral? I guess not for the slaves.

Today at a bar, do you serve your drink with a straw by default? If you do, in the eyes of some people, you are producing waste for no good reason. If you don't, for others, you might be breaking their expectation to have a straw and that's unacceptable for them, and it is your duty to serve them well, just letting them pick one on their own is not enough.

Today, when speaking about someone and you don't know the gender of the concerned person, do you refer to this person using "they"? Is it neutral, or is it pushing fancy new pronouns that break English and don't sound natural? Is "neutral he" neutral then? Is "he or she" good enough when there are non-binary people out there? By the way, do you acknowledge that some people are non-binary? If so, aren't you too much into this LGBT stuff? If you don't, aren't you too close-minded?

You are creating a new company. Full remote? Okay, now, you are pissing off people who feel better in a office. Everybody at the office, then? No, that can't be neutral in 2023. Hybrid then? Ok, but now you are forcing people into some uncomfortable mix where remote workers are missing out on the office talks and office workers need to bother with setting up video calls with remote workers all the time, and to put up with video calls from the colleagues next to them all day. Here I don't see which would be the neutral choice, I think there isn't actually.

There might be consensual topics, but you have to pick sides for most decisions, even if the side you take is the status quo.


Well said, but one of your examples is not quite like the others:

> Is [singular they] neutral, or is it pushing fancy new pronouns that break English and don't sound natural?

Singular “they” is actually the traditional English approach. "Neutral he" is a neo-Latinate prescriptivism: it was relatively obscure until Victorian-era schooling¹ drummed these Rules of English Grammar into everybody's heads.² Even people who swear by singular “they” being ungrammatical usually use it idiomatically, because it's so baked in to the language: it wasn't proscribed for long enough to actually fall out of use.

Neopronouns are a better example: for some people, the class of English pronouns is closed, but for other people it's not. (Or, you could just set the clock back a couple hundred years, and use "neutral he" as your example.)

There's currently a Stack Exchange Hot Network Question on this topic: https://linguistics.stackexchange.com/questions/46123/how-di...

¹: Contemporaneous with the romantic movement, which gave us the Cult of the Bard. A man who, like his contemporaries, used singular 'they' in his writing.

²: See also: “to boldly split infinitives that no man had split before” (Douglas Adams). Totally kosher in the 14th century, but the same kinds of people who gave us “scissors” (an atrocious spelling, rivalling "cysowres" in its arbitrarity! What was wrong with "sisours"?) decided that splitting infinitives was ungrammatical. This has a much longer history of rejection (comparable with the duration of the transatlantic slave trade, encompassing the transition betwixt Englis and EMnE, and long enough for the construction to actually disappear outside poetry), so it would probably work as an example, too.


> > Is [singular they] neutral, or is it pushing fancy new pronouns that break English and don't sound natural?

> Singular “they” is actually the traditional English approach.

It's traditional for those of unknown gender. I believe (we could always ask) that the statement you're replying to implies "Is [singular they] for those of known gender neutral, or is it pushing fancy new pronouns that break English and don't sound natural?" because that's the new use.


I actually somehow knew that singular they is not exactly new, but not to this level of details.

But that only makes the argument more interesting: something that was normal was lost, and is now somehow coming back in some form… with push backs like "it breaks the English grammar" , where English actually already worked like this before (for the exact same use or not). Push backs I saw here on HN, or on RMS's website [1]. Regardless the new use, the grammar construct was actually there all along.

I love both your and the parent answers by the way, thanks!

[1] https://stallman.org/articles/genderless-pronouns.html


I think there's some confusion about this.

They used to refer to someone (as a singular pronoun) whose gender is unknown has been valid English for hundreds of years.

He to refer to someone whose gender is unknown is, as the link you provided points out, a more recent addition to English grammar and could be starting to fall away again.

They to refer to someone whose gender is known can be and is used occasionally but can sound strange at times too, he or she would and should usually be preferred.

To only use they to refer to someone whose gender is known is novel, forced, and contradicts the previous rule so it does break grammar (as the other link from Stallman shows).

Nothing has been lost.


Not quite: I think you've conflated some senses.

• The third-person plural 'they' is uncontroversial.

• The third-person singular 'they' for an unknown (but not general) individual, while valid English in nearly all dialects, went through a period of being proscribed for no apparent reason.¹

• The third-person singular 'they' for a specific individual, of unknown gender, was proscribed and uncommon. Evidence of its historical use is a lot rarer than the unknown-individual usage.

• For a known individual of known binary gender, you normally use the pronoun corresponding to their gender. (As you observed, neutral 'they' is becoming popular as an alternative.)

• For a known individual of known non-binary gender, it gets trickier. It's hard to separate language from culture, and English culture has more-or-less² only had two genders throughout the EMod–Modern English period: denoted by 'he' and 'she', respectively.³ To describe a non-binary individual who's sufficiently far from either of those categories is impossible, unless you fall back on the closest available construction: once 'it', currently 'they'.

To use 'they' to refer to somebody whose gender is known is a relatively recent construction – but English has been steadily losing its gender for the past few centuries. A few decades ago, to people in rural areas of England, a hedge was 'she', not 'it'. Now, we have sewists, and a woman's hair can be 'blond'. It breaks grammar no more than any other option would – and certainly less than the loss of 'thou' did:

> Again, the corrupt and unsound form of speaking in the plural number to a single person, you to one, instead of thou, contrary to the pure, plain, and single language of truth, thou to one, and you to more than one, which had always been used by God to men, and men to God, as well as one to another, from the oldest record of time till corrupt men, for corrupt ends, in later and corrupt times, to flatter, fawn, and work upon the corrupt nature in men, brought in that false and senseless way of speaking you to one, which has since corrupted the modern languages, and hath greatly debased the spirits and depraved the manners of men;—this evil custom I had been as forward in as others, and this I was now called out of and required to cease from.

The History of Thomas Elwood, via https://en.wikisource.org/wiki/Page:The_varieties_of_religio...

Plenty of languages have a gender-neutral form of address: one that can be used for anyone. It serves a purpose, it fits a pattern, people are using it, and it doesn't even require extra logic in my natural language parser: I see no reason to call this sense ungrammatical, especially not when the others are accepted.

---

¹: For a specific instance of the general person, 'one' and 'you' are used, with 'one' currently out of fashion: I personally prescribe 'one', but often find myself using 'you' anyway.

²: Upper-class English culture, anyway. Great Britain's got a dozen ethnic groups on it, more ways of speaking than you can shake a stick at, can't even make up its mind what a 'country' is, and don't get me started on the trade/invade/cold-war dynamic with what seems like the entirety of Western Europe. And then you've got religion on top of that: are we with the Pope? Are we against the Pope? Do we even care? Which prayer books are we using? Are we running out into the woods when the moon is full and yelling 'Diana' into the night? Is the priesthood male, or some 'third sex' – and if so, what (if anything) does that have to do with 'eunuchs'? And then there's historiography on top of that, because culture is affected by people's beliefs about what is and isn't traditional… No, it's much easier to stick with what the wealthy and powerful's letters and diaries and books say, than to try to work that whole mess out with basically no sources available.

³: This isn't strictly true: I've seen writing that used þorn ſimultaneously with 'it' for Hermaphroditus. Currently, 'it' seems to be exclusively for objects, dehumanising when used for people… except infants, where it's an acceptable gender-neutral personal, for some reason.


1. The changes you've outlined are all simplifications except the ones for non-binary, which as the Stallman essay linked above outlines, is a mess. Simultaneously more confusing, less accurate, less precise, sounds more clumsy, and takes more effort. Not a winning strategy (though calling people bigots got quite far for a while).

2. We know what a country is, we've created several.

3. We're not with the Pope and haven't been for nigh on 500 years now and won't be back.

4. Non-binary is a luxury belief[1]. It came directly out of universities and has been supported via people of a similar background in media and education sectors, so if we're wondering how the wealthy and powerful want us to speak, we need look no further than this. As the link states:

> Luxury beliefs are ideas and opinions that confer status on the upper class, while often inflicting costs on the lower classes.

5. There are no true human hermaphrodites as even those born with something akin to the other sex's genitalia have only been able to produce from one type, usually female. As with singular they, it is a misnomer and the medical profession prefers more accurate designation of disorder of sex development. Calling them it would seem dehumanising.

> Plenty of languages have a gender-neutral form of address: one that can be used for anyone. It serves a purpose, it fits a pattern, people are using it, and it doesn't even require extra logic in my natural language parser: I see no reason to call this sense ungrammatical, especially not when the others are accepted.

Putting the verb at the end of the sentence is grammatical in Japanese, that is not a reason for why it should be grammatical in English, any more than giving my television a female gender would be (French), or using capitals for every noun (German). I'm all for helpful innovations but as stated in point 1, this ain't that, or should that be they ain't they.

[1] https://robkhenderson.substack.com/p/status-symbols-and-the-...


> the ones for non-binary, which as the Stallman essay linked above outlines, is a mess.

Exactly the same criticism applies to singular you, down the the example sentences. I would take Richard Stallman's criticism more seriously if he was a thou proponent. (Use whatever words you like for the generic person / unknown gender cases, but don't start othering people by using non-standard pronouns exclusively for them.)

> country […] Pope

That paragraph was about historical developments; sorry it wasn't clear. Further reading: https://en.wikipedia.org/wiki/Debatable_lands

> Non-binary is a luxury belief.

It's a basic fact of life in many pre- / non-British Empire cultures – and even in modern-day cultures formerly of the Empire. If you mean the modern, 'western' ideas of non-binary gender, that's derived from the experiences of transgender people, and existed for decades before the academics picked up on it.

Virtue-signalling existing about something doesn't mean the thing is made up (see: carbon credits, corporate inclusivity). Your linked essay somewhat misses the point: belief in virtue-signalling is also a status symbol, as is name-dropping social psychology and evolutionary psychology in an argument, and I could easily rebut that essay in exactly the same way it rebuts the 'defund the police' movement (except, that wouldn't be intellectually honest: for all its central thesis is flawed, and its examples are misrepresented, it does describe a real phenomenon).

> that is not a reason for why it should be grammatical in English

If I may be pedantic for a moment: it's the same grammatical construction as things that are grammatical, so it is grammatical. That's not up for debate! Even "colorless green ideas sleep furiously" is, per Noam Chomsky, a grammatically-correct sentence. What's in question is whether it's acceptable, to which I say the notion of acceptability is not how language works, and especially not how English works. See https://en.wikipedia.org/wiki/Linguistic_prescription for further discussion.

> or should that be they ain't they

They ain't them. ;-)


You can fight the good fight to bring back thou, no one is stopping you (ha), other than perhaps the good sense to realise no one wants it and, more importantly, appeals to hypocrisy or inconsistency are basic logical fallacies.

> > Non-binary is a luxury belief.

> It's a basic fact of life in many pre- / non-British Empire cultures – and even in modern-day cultures formerly of the Empire.

But not part of a Britain that has a literate population that's been through basic science at school, which still appears not to have been enough for teenagers, and curiously, university educated journalists and educators. What could tie those groups together?

Regardless, what's happening elsewhere in other languages is for the speakers of those places and languages to deal with.

> If you mean the modern, 'western' ideas of non-binary gender

Yes, I do. I don't live in 1550 nor in pre-modern Britain, hence, those time periods have no relevance to this discussion other than "things change".

> If I may be pedantic for a moment: it's the same grammatical construction as things that are grammatical, so it is grammatical. That's not up for debate!

You're arguing on the side of an innovation, of course it breaks grammar rules (and who claimed that Chomsky's sentence was not grammatical? Again irrelevant). The only thing worth writing in that whole text was “What's in question is whether it's acceptable”, and it isn't. Wouldn't it have been better to focus on that instead of chatting nonsense about borders that only Scots with a chip on their shoulders care about?

No, because it would expose the paucity of any good reason to accept this innovation. The idea that those who are against this are being prescriptive is funny, I'm not demanding that anyone use an innovation in language to refer to anyone else upon threat of punishment if they don't comply. Now that's not how English nor English culture should work.

> They ain't them. ;-)

Glad you're paying attention but I meant what I wrote, the joke doesn't work if I make it more grammatical ;-)

This is so far off-topic we might end up in our own debatable lands


> People still didn't like it. His right to have these views, their right too.

Yes, the question here is who mixed their personal right to their views with their professional responsibilities. If Eich didn't, then it seems clear that everyone at Mozilla who objected to his appointment did. That wasn't the conversation that took place though.

The "professional responsibilities" in this case was being a good steward for Mozilla's products and the vision of products that preserved digital rights for its users. Not clear what this had to do with civil rights like gay marriage.


> The "professional responsibilities" in this case was being a good steward for Mozilla's products and the vision of products that preserved digital rights for its users. Not clear what this had to do with civil rights like gay marriage.

That's not all a CTO does. They also have "people" responsibilities.

As the then CTO, one of Eich's professional responsibilities was to lead the tech teams and individuals at Mozilla. The belief, among a significant proportion of Mozilla's employees, that he could not be trusted to put aside his opinions on civil rights when managing people, was what led to the opposition to his appointment.


> The belief, among a significant proportion of Mozilla's employees, that he could not be trusted to put aside his opinions on civil rights when managing people

A belief he couldn't be trusted based on what evidence, aside from them not liking his views on gay marriage?


I was CTO from 2005 incorporation of Mozilla Corporation. You must be thinking of CEO.

FYI, I'd already run all of engineering from 2013 January on until CEO appointment, as SVP Eng + CTO.


That doesn't make any sense., and there was something else going on. Eich's position was exactly the same as the platform that Obama when he initially ran for president. Somehow that supposedly makes Eich unfit to run a company, but it is fine for Obama to be President.


Obama and Eich are both people, but the president of the USA and the CTO of Mozilla are completely different roles. It "doesn't make any sense" because the comparison is invalid.


>> The campaign

And this really is the crux, isn't it:

1. a political campaign inside Mozilla

2. by some employees that interpreted risk that

3. his donations were an attack on what they perceived as their rights

4. and this made him unable to fulfill the role of CTO

That's a whole lot of one-side conclusions to get to "he's unfit to be the CTO". No wonder he left.


> a political campaign inside Mozilla

And outside too. I read that OKCupid invited Firefox users to switch browsers, and CREDO mobile gathered 50K signatures for a petition. So nothing specific to Mozilla in the end.

> No wonder he left.

He indeed wrote on his blog "under the present circumstances, I cannot be an effective leader" and he was probably right about this.


What do you think "they" should have done?

This was all discussed at the time: the campaign against his appointment was far from just being "inside Mozilla". And "what they perceived as their rights" are now actual civil and legal rights because US society decided that was the right thing to do.


You mean because five unelected judges decided


That's a good point— gay rights are pretty precariously situated and it seems a bit premature to celebrate their status as set in stone at this point.

But Democrats who run in elections and appoint judges seem to generally like being able to point to the courts as a risk, and show little interest in legally bolstering civil rights when they have the power to, so it'll probably stay as it is... until it doesn't, just like with Roe and Casey.


Sounds like you may have missed some developments, like the Respect for Marriage Act in passed in 2022.

https://www.reuters.com/world/us/us-congress-expected-pass-b...

https://www.congress.gov/bill/117th-congress/house-bill/8404


I don't think anyone questioned the legality, but you seem to be conflating that with morality. evil (to use your term) is a moral judgement, not a legal one.


What he did wasn't immoral. Whether you agree with that or not that's a different topic, and if you disagree with that let me remind you that people have different points of view and that shouldn't be an issue.

Since morality is subjective in the end, the only discussion worth having is whether or not what he did was legal, which it was.


> What he did wasn't immoral

... to you. Like you say in this very comment, morality / ethics is personal / specific to each person.

If you did something legal I despise (I might even think what you did was moral, but still strongly disagree), I understand that you did something legal but still might reject the idea to have you near me or representing something I like and might employ legal means to try to get rid of you, too. By protesting for instance. I have the right to do so as long as I respect the law.

The fact that what he did is legal is settled but he still decided to step out, as a consequence of people protesting against him being the CEO because of his past actions. Since legality is settled and everyone agrees about this, it's not a discussion worth having, actually. Only the rest remains. This is absolutely non-legal concerns that people don't agree on.

Law does not settle everything. Legality is not sufficient for something to be moral. It might not even be necessary.

Now, the rest has also been discussed at length, so it's not clear it's worth keeping discussing this neither.


> morality / ethics is personal / specific to each person

It's not. Almost all of humanity, every culture now or historical, has agreed on many of these things. Others have very wide support, including universal human rights (which include your rights). You can find many arguments supporting these things, throughout human history. Societies and much of the world agree on them (including universal human rights). Research shows evolutionary advantages and connections to these things, and that animals share them with us.

Ethics and morality are not some arbitrary things we each make up.


> > morality / ethics is personal / specific to each person

> It's not. Almost all of humanity, every culture now or historical, has agreed on many of these things.

What's the need for agreement if individuals are not involved? And why would agreement invalidate morality and ethics being personal?


> What he did wasn't immoral ... Since morality is subjective

I agree that morality is subjective -- what he did was immoral to some and moral to others. Similarly there are people who considered it immoral when CEOs were publicly voicing support for pro-choice policies.

For a leader it probably hinges on the perspectives of the people they lead. You won't have a healthy organization if a significantly large number of people believe you are behaving immorally, especially at a nonprofit paying below-market rates.


> What he did wasn't immoral. Whether you agree with that or not that's a different topic, and if you disagree with that let me remind you that people have different points of view and that shouldn't be an issue.

> Since morality is subjective in the end, the only discussion worth having is whether or not what he did was legal, which it was.

That's a philosophical point, a student's thought experiment taking the (positivist?) requirement for objectivity to a logical extreme - and it's a very incomplete experiment that takes only the first step.

Reality doesn't work that way: Most information and decisions in life are subjective and we have many tools for doing it that way. Subjectivity doesn't make something arbitrary or meaningless or infinitely relative. Almost everything important is subjective, including morality.


> > then we'd have the best of Brave and Firefox

> I don't think so. Mozilla is tied to its agreement with Google and I believe they are limited in what they can do privacy wise. Unfortunately.

> The Brave browser is mostly a fancy Chromium and you can achieve similar results by taking an ungoogled chromium and adding uBlock Origin to it. But you are better off installing uBlock Origin on Firefox [1]

And LibreWolf is pretty much Firefox with uBlock origin. But Brave is popular and Vivaldi is popular (among some). A successful mega project is supposed to have (gently) knockoffs.


You don't know what you're talking about.


I remember that update, suddenly they disabled Cookie AutoDelete, what left me with a bad feeling.

PS: Meanwhile I do not understand why is Ghostery included in that tinny allowed addons list (and now Tampermonkey).


Do you mean there's something wrong with Ghostery?


For a while Ghostery was owned by an ad company, and for a while Ghostery would add ads to browsers (IIRC). The first is no longer the case, not sure about the second.


Ghostery? I've been using it for years, with complete satisfaction. Hardly ever that I see adverts.


As soon as it got bought up by an ad company it just felt like a poisoned well so I stopped using it / recommending it to friends. Their reputation suffered so I stopped paying attention to see if they got any better.


Unfortunately, everything at Firefox has become political in nature and it's been downhill ever since.

With an already low (and diminishing) market share, it's just a matter of time before Google cuts their search engine deal with them, then poof they're gone!


I suspect this won't happen. They cut deals with even smaller browsers. Its about proportional revenue though, so dropping market share may net Mozilla less on the next contract negotiation.

I also don't think its in Google's best interest to let Mozilla fall out, if anything, it gives them some lever against anti trust.


> It really is bizzare, old Firefox used to support all addons

It never did though? In my recollection the old version had an Android-only extensions API, and only a few extensions ever supported it. At least now, in theory, any extension can run on Android, which is great.


> and only a few extensions ever supported it

Compared to desktop certainly, but in absolute numbers it still weren't actually that few, and certainly much more than the mere 22 (!) add-ons (as of today) that can currently be installed.

> At least now, in theory, any extension can run on Android, which is great.

What good is that theory if in practice I actually can't make use of it?

Besides, the transition to webextensions happened with Firefox 57, and support for webextensions was added to the old Fennec-based Android Firefox, too. True, not the full API available on Desktop was ported, but that's no different from the situation today, and yet at that time there were no artificial restrictions on what add-ons were able to be installed on Android.

And even with the webextension API, to some extent extensions still need to be specifically designed to properly work on Android, too (especially if they need to display any sort of UI)…


You can enable in about:config and install all plugin with Firefox Nightly


This feature is also supported in beta, you don't need nightly anymore.

https://www.ghacks.net/2022/10/20/firefox-beta-for-android-n...


Asking people to run nightly (essentially modern alpha/aurora) or beta is asking people to use an insecure browser with bugs.

Firefox not allowing people to control their own browser and install add-ons, enable features, etc without their permission was the end of Firefox for me (back in version 37). This move to trade freedom for "security" for the technologically ignorant ended up providing neither. Especially considering the security theater that is the automated signing portal. The only benefit to all this is the ability to revoke after the damage is done widescale enough to be known.

There are the un-branded builds of Firefox that are not buggy and do not restrict your software freedoms for no purpose. Unfortunately Mozilla has disabled auto-updates in the unbranded builds so you have to manually install the a new full browser for every little update. https://wiki.mozilla.org/Add-ons/Extension_Signing#Unbranded...


Yes, just like having people run Tampermonkey instead of Violentmonkey. Mozilla is making things less secure with this whole extension policy.


As far as I know you can install any addons you want, you just have to create your own collection. Those default addons you see are only Mozillas standard collection.

Even do I would like there were more addons to choose from as default I can understand Mozillas choice here. And that is that most addons are not design for android and they would not work or give a very bad UX. So for many non tech savvy standard users, that just would be frustrated and blame Firefox, this decision can make sense to select god and popular addons they know works well.

But it would be great if more addons could be added ofcourse, and that Mozilla could have some design guidelines for new addons that they should work for both desktop and mobile (where it make sense). And mark in the addon store which addons that are design for both. Or maybe have a simple setting in Firefox for android that is for advanced users, there they could add any addon, but first they have to check a box that they understand that the addon may not work correctly on a smartphone.


>As far as I know you can install any addons you want, you just have to create your own collection.

I'm also very interested in bypassing the mobile limitation. Does creating a custom collection require an account? Ive never seen the option and have tried everything to back to 2019-2020 Firefox plugin capabilities.

Update: For anyone in the same position, I just saw this solution in another comment. Its unfortunate that such basic functionality requires a whole user account.

>For reference, to work around mozilla's artificial restrictions, you have to use nightly. Once you activate the debug menu (about firefox > tap logo 5 times) there's the option to set a "custom add-on collection". You can make a custom collection on addons.mozilla.org using a firefox account. The two fields are the last two parts of the URL on your custom collection.


You have to jump through several hoops, but it is worth it. https://gxvwb.dev/how-to-install-firefox-add-ons-on-android/


I had to stop using Firefox mobile due to this (and removal of about:config). I switched to Kiwi browser and I have been using Violentmonkey for several years. It doesn't work perfectly but it has been good enough for me.


The Mozilla blog recently covered some of this IIRC: https://blog.mozilla.org/en/products/firefox/extensions-addo...


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: