622 comments

[ 5.7 ms ] story [ 326 ms ] thread
For me stars on GitHub were me sort of bookmarking things I didn't use and.... probably wouldn't look at ever again?

Thus I always felt a little weird about the hype around the number of stars.

For me, stars are a rough measure of traction. If I can get a project above 1000 or so, my project begins to take on a life of its own, and I can concentrate less on marketing and awareness.
I would say that stars are mostly a measure of interest/coolness. The difference to actual people using it can be absurd. The biggest project I maintained had 5k+ stars (which it got by landing on the HN frontpage a few times), but the actual amount of people that tried to use it is in the 10-20 range. On the flipside one of my other projects has a lot more users than it has stars.

With all that, stars have basically lost all meaning to me if I'm looking at it as a project outsider, and only have limited meaning as a maintainer.

>I’d also be interested to see more social network-like features on GitHub.I wouldn’t be opposed to a GitHub NewsFeed

This would genuinely make me migrate off github permanently, both for personal projects and work.

>project chat

IRC/Slack/Discord already exist

>or even DMs

A new avenue for recruiter spam? No thank you.

> This would genuinely make me migrate off github permanently, both for personal projects and work.

A-men.

I recently set up a LinkedIn profile after avoiding them for many years, and was horrified to discover that there's now a "Facebook wall" feature, replete with all the horrible political conversations that made me abandon Facebook. It's totally in-your-face, too; it's the default home page and the default Android app page. I don't want to see what people I've connected on LinkedIn have to say about, well, anything. I only maintain social connections there to help me network with potential employers. I'm deleting my LinkedIn profile as soon as I connect with my next employer.
Unless recruiting or sales is part of your job, the best approach to LinkedIn is to set your profile up well, connect with the people you know and then go to Settings & Privacy -> Communications and switch on email notifications for direct messages you receive. Then you'll only ever have to login should you get an email about a message you might be interested in replying to.

There is absolutely nothing of value on LinkedIn for the average person beyond being a place to host your resume for discovery.

You don’t even need to log in for replying to messages. IIRC you can just reply to the email and that would get relayed.
Did not know that. Glad I dumped LinkedIn two years ago.
I wanted an online resume and refused to sign up for LinkedIn, so I built https://standardresume.co. It's free to use the web version and can automatically import the data from your LinkedIn profile. I'm curious to hear your thoughts if you have a few minutes to check it out.
Agreed. HN and reddit are way better at helping me find repos that are relevant to my skill set and interest. It’s like the author doesn’t even try to utilize these other social spaces that have already largely solved this problem.

Sometimes I come across people whose idea of a perfect world is an app that knows exactly what to show them and when without any curiosity or effort, and it blows my mind. That is my hell.

I've spent a few hours on Github trying to find projects. The explore feature is absolutely useless.
I find HN and Reddit largely useless for finding new and interesting code.

The Reddit python subreddit is truly awful - it's just beginners sharing their first projects.

Whereas HN is largely biased to what's extremely popular and/or "cool".

Have you tried r/coolgithubprojects? There are a ton of great projects in that sub and you can filter by language, and they’re not all trendy.
I have. I like it but it's a shame it's not a bit more active.
> > project chat

> IRC/Slack/Discord already exist

Or even closer: gitter! Or just set up an irc/matrix room for your project.

> Or even closer: gitter!

I don't like their (electron) desktop app, I always end up using the IRC bridge if any

>IRC/Slack/Discord already exist

There's a discussion feature on beta (see https://github.com/BurntSushi/ripgrep/discussions for example)

I'd definitely like this to become public soon

This would make GitHub Issues a bit more clean for sure. Lots of people use it for asking questions/for help instead of reporting actual issues/bugs.
As somebody who is guilty of this, my rationale is this: I went to slack/discord/IRC channels, asked for help and... almost no answer. Ask the same question in a comment of a popular issue or a new issue, and you get your answer (with some delay). The thing is that GH issues have replaces mailing lists/usenet for this kind of questions since the friction is way lower, it's async and the question goes to the right people.
>The thing is that GH issues have replaces mailing lists/usenet for this kind of questions

Laughing in LKML

I am happy with GitHub just being a repository for code. For cool project discovery I generally use HN or reddit. My stars mostly acts as bookmarks for projects I found interesting at some time in the past.

I want a reliable, boring GitHub. I will look somewhere else for fun.

/r/coolgithubprojects has some interesting links
I don't think I've ever used the trending page in my 12 years of using GitHub.
It's the first time I heard of it.
Same, it's my first time of hearing this feature/product
Apparently that's where all the fun was. Live and learn.
I've also used Github for 12 years and only recently started to use it. I've discovered a lot of really cool stuff! It's worth it. (Not sure if I ever used it before the algorithm change, though).
A major reason open source projects use GitHub is the social network features. It really helps you build traction and get noticed. Regardless of what you may think of it the trending page does indeed drive further traffic which drives adoption.

Otherwise we'd all still be on SourceForge or migrate to something more OSS pure like Gitlab.

I don't use it for discovery though: It's just easy to jump in and contribute or open an issue when it's a common platform I am already logged into. There's low friction to jumping in.

That doesn't mean I necessarily need social media features.

We don't all migrate to gitlab mainly because Github's UI is better and because of network effects. Nothing to do with social features.
The network effects come from the social features. That was the main innovation over source forge (aside from git support itself).
Thanks for your feedback on GitLab's UI. We're always working to make it better, so if you have specific feedback, please do share.
> (re: project discovery) We went from a flawed meritocracy to a social network that promotes chaos, tribalism, and idea bubbles.

This works well in two senses:

1. We went from a flawed meritocracy (GitHub) to a social network that promotes chaos, tribalism, and idea bubbles (Twitter).

2. GitHub went from a flawed meritocracy to a social network that promotes chaos, tribalism, and idea bubbles (CoCs, them-vs-us narratives, a priori victimization, non-universal notions of "inclusiveness", "master branches").

How can something a meritocracy if it's flawed? Either you can actually assess something on its merits or you can't, and if you can't, then you can't really call it a meritocracy, can you?
Correlation is not zero or one, it is continuous. Correlation between metric and merit measures how flawed the meritocracy is.
The OP is hitting at a long lived really difficult problem especially for a place like GitHub - how do you display what people care about? - recommendation engine

Most stars in 24 hours? That gets the same group of 0.1% consistently at the top leading to a stale page.

So Github tried to improve its 'signaling' of what's interesting yet new so you can keep coming back to the trending page?

Is it stars the overall account crossed w/ new? Number of issues opened in 24 hours? Forks?

Is this especially a problem for GitHub, though? I had never suspected that people would use the site in this way.
You’re assuming that Github needs to provide a means for recommendations like a typical social network when I doubt it does.

I return to github repeatedly to interact with repos I’ve already found based on professional need. I neither want Github to recommend content to me, nor do I need it to; I regularly use services outside of GitHub to find content on it that’s relevant to my needs.

Github is a tool, not a social network. I don’t want them to maximize for “engagement”; I want them to fill my professional requirements and charge me a fee for their services.

Hard pass on the suggestion to add more social network features. Such features are only conducive to drama and anxiety, we need less of that not more.
maybe we can just wait until they decided to provide both suggested timeline and linear timeline, like twitter.
I hate to say that I actually like that idea. I'm swamped in random notifications for weird parts of the repo I don't care about. I'd really like a "high # of comments and reactions/loc changes" feed.
Social network features are such a 2015 me-too fad feature anyway. What they should add is AI, or maybe blockchain.
Before adding the newest fad features, maybe the should go back and add old fads that they missed.

One big fad from 50+ years ago that I'd welcome is folders. I don't want to just have all my repositories appear in a flat list ordered by time since last update. I want to make folders so I can organize repositories by topic--just like I have my repositories organized in my computer.

The modern version is tags, but they lack good sorting/viewing for tags
Not wanting to start a discussion about graphs vs trees for organizing, but in my opinion simple folders are great to fulfill basic needs. I cannot imagine a book having no table of contents and just a list of tags with numbers indicating relevant page numbers.

That is just dumbing yourself down in favor of machine classification or search algorithms while a simple solution exists for this problem for higher order classification and context, which tags alone fail to provide, even with sorting.

Depends on a book type I suppose. Most have "index" section, which is just a list of tags. In recipe books I find it more useful than ToC actually.
Al entry should go in a single category, chapter or folder. The index should provide a useful overview. Tags you may have in any amount. More is usually better.

A tag with a single entry is useful. Chapters should never have a single entry.

I think it depends on your goal. If I want to browse new chicken recipes, I am going to open the table of contents, find the section on poultry and start flipping through recipes. On the other hand, if I want to cook a chicken curry, I am going to go to the index and look up curry, then find the relevant page.

Folders are great for when you don't know what you want and just want to browse or explore based on broad topics. Tags/indexes are better when you know basically what you want, and you just need a way to find it or items similar to it.

With limited entries of text or code you can just have them all on one page. Slightly more requires a folder or category system. If you have even more you need tags you should also keep the categories (everything must sit in a single category), If you have even more you need categories, tags and search. Trying to use one of those for the wrong volume just creates clutter.
It’s surprising to me that they don’t just do a folder based view using tags and relationships among tags.

I don’t like being restricted to single folders, but I’d love to symlink projects into multiple folders.

This would work out well if they just added some graph functionality among tags.

My favourite fad of the last few decades is: sorting.

You know because in Github you can't even sort your list of repositories.

HTML cant even sort
JS can though, so can Ruby.
It doesn't belong there in my view.

We started out not knowing what anything should look like, we didn't even know what computers were suppose to do. Everything had to be envisioned and implemented. Different approaches were taken for a lot of things. Eventually we just know how something should work. At that point it can be abstracted away.

Similarly lots of things should stay in JS. If we've experimented and evolved to the point where we know how something should work we should grow beyond modules and have build in methods for it.

It is happening but much to slow in my opinion.

Say, we have a Date API, are week numbers a thing or not? Are they an unpredictable poorly understood thing? Does it bother anyone if the API supports it?

Everything should be able to migrate up and down from the metal to the highest level of abstraction depending on how much we use it.

edit: There is no point shipping [table] sort magic to the client on every page view that needs it.

It seems like you're simultaneously saying "sorting doesn't belong as a language function in JavaScript" and "we shouldn't ship a sorting routine to the client," which seems...odd. If the page view needs sorting, then isn't that the use case where we can most say that there is, in fact, a point to "shipping sort magic to the client"?

(Also, you can do an HTML table sort in about 10 pretty short lines of code[1], so this seems like a kind of weird hill to die on.)

[1]: https://stackoverflow.com/questions/14267781/sorting-html-ta...

JS should have an array sort function. HTML should have sort-able tables. We know what they look like. We shouldn't have to pump up our pages with a bazillion lines of js just to implement something entirely obvious.

IOW: If there is a table it doesn't hurt to be able to sort it by default.

The example is great! 10 lines... no wait... 30 lines... then you have something that... or no wait, it sorts numbers alphabetically. The cursor is wrong. There is no accessibility. The little arrows are missing ▲ ▼ did I pick the right ones? They look bulky, better add another span inside the th? Oh I clicked the th twice now the text is highlighted.

Why should I need to implement this myself? I'm not inventing anything new? I don't want to be dealing with colspan but we all know how it should work? I know its wrong but I usually leave out the <thead>, tables render just fine without it but when something generates tables like that the script needs to be re-examined to figure out why it doesn't work. There is some unknown number of other ways to break it.

A default implementation could deal with some common units out of the box. Monday could go in front of Tuesday, 50 cm could be smaller than 1 m, $100 could be bigger than $20. Just the simple obvious stuff. For everything else something like <th sort="foo"> with: foo = (a,b) => a.length - b.length

List items are a bit less obvious but I'm sure we can think of something sensible. Perhaps sorting by child class?

What is the drawback?

It sort of can with the Flexbox order property.
This so much. Another pet peeve of mine: GitHub is terrible for the workflow that Git was originally designed for. Specifically, the issue that there's no good way to review patch series. The key here is presenting a series of patches as a whole, but allowing reviews on individual commits of the series.
Assuming that we're talking about the same thing, this is possible in GH from the `Files` tab on the PR screen.
Not really. You cannot comment on the commit message itself. And, if I'm not mistaken, changes made in one commit that are undone in a subsequent commit won't show up even if the files view if filtered by commit.

Also, it's difficult to tell which comment is associated with which commit.

I don't think I ever factor in commit messages into my code reviews. I may look at the commit history if I want to see how they experimented implementing the feature, but I only care about the end goal and the code I will be merging in at the end.
The issue is that Github actually discourages reviewing by commit because it makes it difficult to do so. Though there are those who are only interested in the overall diff, there are others who want to be able to maintain a clean and informative history via version control. When the review system makes it difficult to ensure that's the case, then then version control history cannot be maintained.
Precisely. We're in a vicious cycle where most people using Git don't use what ought to be Git best practices for most serious large scale projects (clean history with self-contained logical commits and good commit descriptions) because GitHub makes it so difficult to do this. And to be fair, GitLab really isn't much better in this department.

And there isn't enough pressure on GitHub or GitLab to clean up their act because most people don't even know what they're missing. And so the cycle continues.

If you use squash and merge this won't be a problem, you will have a "clean history with self-contained logical commits and good commit history", and intermediary commits won't matter anyway.
Some features take more than a single logical commit to implement. Looking at the git mailing list, I see patch series containing anywhere from 1 to 10 commits (with some as many as 15 commits).

Also, having a single commit touching many parts of the code makes it harder to revert due to a greater chanche of conflicts with other commits.

This is my second or third biggest problem with GitHub. If I want to submit a patch—the thing that Git was made for—I cannot use GitHub to do it. Assuming one has already gone through the "create a GitHub account" step, my closest option is to go to github.com to create a completely unnecessary on-GitHub "fork", go back to my local copy to add that remote and push to it, and then go back to the github.com and click around to submit a pull request.

Pull requests in Git were designed for trusted, frequent collaborators. I.e., project maintainers that are routinely syncing with one another. It's not supposed to be the preferred mechanism for ordinary contributions, and certainly not for drive-by contributions.

My biggest gripe, though, is that the on-GitHub fork from the first paragraph will live on in my namespace forever, unless I manually prune it. And even if I do prune it, I still have no way to control the fact that GitHub has silently set up a social networking timeline to broadcast a centralized index of all this activity to anyone and everyone, without asking me, and without a way to manage the stuff that goes into the timeline, control who it's shared with, or turn it off completely.

I’ve recently switched from GitLab to Github enterprise due to a job switch. I am shocked at how bad Github enterprise is to navigate. It seems like I regularly have to depend on the search function to find the repo I want.
I agree completely. I miss folders for YouTube subscriptions as well. It seems folders are on the way out in most modern tools and apps.
(comment deleted)
I would like end-to-end encrypted repositories even they can't read - like keybase!
Thats possible now, right. If they supported it more I’m not sure how much value over just encrypting blobs. I wouldn’t trust github’s clients or servers to do it for me.
Keybase's remote helper (which does the crypto) is open-source, so if github did something similar you wouldn't need to trust them. That's the value of e2ee -- you don't need to trust the intermediaries, whether they start misbehaving, are forced to hand over data, get hacked, etc.
Yay! There's one thing I would absolutely love about having a blockchain in GitHub: The transfer fees.

If everyone had to pay $1 to submit an issue and/or a pull request, open source projects would get a lot less "support spam" :)

Also, it would certainly help if people need to wait 10 minutes for their last comment to be accepted into the network before they're allowed to comment again.

> If everyone had to pay $1 to submit an issue and/or a pull request, open source projects would get a lot less "support spam" :)

I dunno, that seems odd. Do you not want to know about bugs in your project to make it better? I realize people will submit a bug b/c they can't figure out how to implement something but that is worth being aware of real bugs in the code.

Now if you could "tax" the "+1" spam culture, I'd be all aboard that

Do people still do that? How long has it been since they added reactions?
Not only do I still see it but I ALSO see the thumbs up comment instead of just clicking the thumbs up reaction

/cries

Also, did they rewrite in Rust already?
>maybe blockchain.

but git is already a blockchain. each commit is a "block", with a reference back to the previous commit.

There was this one guy, whom was a cryptocurrency fanatic but not a developer, who tried to convince me to get involved in a "blockchain code database for developers". I told him that Git uses a blockchain, and he simply couldn't accept that a blockchain has been used for years on something that isn't cool or possible to monetize.

It's pretty funny how people still think that a blockchain is this magical thing, yet I'm pretty sure anyone on HN is capable of writing a blockchain in an an hour or two. Maybe even less than that.

I have a funny story about how I told a colleague who was really into blockchain how I had updated our project to use a blockchain.

I demo’d github and described the distributed features with pull requests and stuff “oracle-based mediation.”

It was funny because this was maybe 3 years ago and had never heard about GitHub but had read all the blockchain literature.

Don't forget to write monoliths, have monorepos, only use PostgreSQL for all database needs, and use Kubernetes even when you don't need it.
> What they should add is AI, or maybe blockchain.

So they should add 2018 me-too fad features?

> Such features are only conducive to drama and anxiety

Great point. I haven't used a social network yet that didn't result in me becoming at least a little addicted at one point or another. In high school, I was constantly on Twitter, seeking the dopamine rush from those likes and retweets. Getting out of there has done wonders for my personal life.

I didn’t really get the impression here that Jared wanted a social network. He just wanted a better mechanism for discovering good quality and interesting projects. Popularity is often one good signal.
Quote from the article: "I’d also be interested to see more social network-like features on GitHub".
I'm not sure Github stars were/are ever an indicator of "good quality" or even "interesting".

And I think the Web Development community could do with a decent break from "new" as well. What would be great is if we could just prune some of the gajillion frameworks and libraries already out there, and spend some time to make the ones we keep decently robust and elegant.

GitHub stars suffer from the same problem as likes on Twitter or Facebook. A social network would actually need three separate kinds of positive interactions:

- a like ("I want to let the creator know I like this.")

- a share ("I want my followers to know about this.")

- a bookmark ("I want to be able to find this again later.")

Most social networks only have the first two. GitHub, even worse, only has one. (I personally use stars exclusively as bookmarks, btw.)

Yes, exactly. I'm more likely to star a small project that I find interesting even if flawed because I don't want to lose track of it. I don't really understand why I would need or want to star React or Nodejs for example. There is zero chance I lose track of those projects.
For me, this is a positive thing. With this, I can find some niche things that I can't find otherwise. People star it because it provides some value to them.

I wouldn't "like" project that are broken or half done, but I star it if it can solve my problem.

On the other side, when somebody stars my project I will invest more energy into it because I see that it is useful to somebody else, not just me. Most of my projects are sparsely tested, because usually I'm the only user and it is not mission-critical. When it's broken I usually know where. When I see starts appearing on my project I add more tests and handle edge cases better, so new users have a better experience. If they would only bookmark it, I wouldn't know if somebody wants to use my software. And they would also have a bad experience, and maybe drop it after evaluating as a piece of crap.

Sites such as Advogato and Planet GNOME tried that in the past and for better or for worse, didn't succeed. Let's not repeat the mistakes of the past!
Iirc advogato was more a blog platform (with trust metric though) ? So.. freshmeat perhaps ?
I miss Freshmeat. That was the golden ear is neat open source stuff.
And man, did SF screw that up.
LinkedIn features on Github? Sounds awful. Imagine having to dodge Microsoft's typical dodgy dark patterns to access repositories. LinkedIn is one of the worst social networks, and employs dark patterns that not even Facebook has adopted.
I think it's a matter of time as both are owned by MS. Long term the middle management and profits simply prevail in large corporate decision chains.

It just make sense for them to integrate GitHub with LinkedIn somehow.

One thing I'd love to see is a flag in GitHub so the news feed won't be filled with repos that I have already starred (so you only get to see new things). This is especially useful as I have starred over 13,000 repos so most repos I will see are starred already.

https://github.com/nikitavoloboev?tab=stars

And before anyone asks 'why star so many repos..', I do it for super fast access of repos I am fond of with https://github.com/lox/alfred-github-jump

Plus you can sort them nicely into categories later. (https://github.com/nikitavoloboev/github-stars)

Probably it's because of not actually caring that much for things that are fun anyway, but why would I want my version control system to be fun?

Does this guy complain that his hammer fails to entertain him when pounding nails?

Well, if we're going with tool analogies, you probably would complain if your tool box is such that you have no idea what tools are crammed inside. Github has grown huge and it's getting increasingly hard to keep track of repos. You see something useful, but in a few months when you need it you just can't find it anymore. Stars are completely useless way of bookmarking interesting code once you star more than a few dozens repos.
yeah, although bookmarking urls with tags in whatever bookmarking tool you're using is pretty good, or forking a repository that you're interested in. I suppose if I had an aversion to doing either of those things I would be upset at GitHub for not giving me a better way to keep track of things.

But I have no such aversion.

> my version control system

You're very clearly confusing the version control system git with the platform for code collaboration github.

The first doesn't have to be fun (and I'd argue shouldn't be fun). The latter, however, can be (maybe even should be). OP can see fun in exploring new technologies, new solutions to problems, new libraries to use - and who are we to judge that? The trending page was an interesting way to see what was cropping up around the platform. I didn't check it often, but I did check it from time to time.

>You're very clearly confusing the version control system git with the platform for code collaboration github.

sorry for expressing myself badly, but I do realize they are different things as I use bitbucket and gitlab as well.

that said I use them all as dumb, quick views for the current state of the project, with a couple of on/off switches to automate common tasks in a git project. I would like to keep my informational panels as low distraction as possible, and fun, at least as it is stereotyped in popular culture through the ages, tends to be distracting.

I used to use the elixir trending page to learn about new popular elixir libraries. It had twice as many repos as it has now. Now it’s garbage. I complained to GitHub when it happened. It’s purely worse.
I’ve always looked to $LANG community specific websites for suggestions on new and exciting libraries for $LANG. Such federated discovery is much better positioned to handle the needs and quirks for each community.
Huh, TIL that GitHub has a trending page. I have a few projects with a few thousand stars, but have literally never seen this thing.

The choices on the trending page do seem weird, and kind of useless.

I remember seeing all the spammy garbage during Hacktoberfest, but apart from that it's a pretty random selection of repositories
Have barely looked at explore that often, generally has little that interests me despite being fairly accurate with topics.

Following a range of people and checking the main feed from github.com now and then has always worked fine. Apart from some coworkers and collaborators the vast majority is people I've never interacted with, some are wellknown, many are simply folks I've come across over the years in certain fields of interest and seem active on GH.

There's a constant stream of interesting repos being worked on or starred with no real social aspect to it. As a discovery mechanism I enjoy the simplicity of it.

I'm not sure I can link the title to the body of this post.

What does the trending section have to do with taking the "fun" out of maintaining code?

Does anyone other than the author use these features? I didn't even know they existed.

To me, and I'd guess to most people, Github is just a place to host git repositories, nothing else.

> I always thought of it as the defacto front page of the open source movement.

It's a proprietary site!

cripes. It's a code repository, it doesn't have to be fun.

The reasoning in this blog post is why the web is full of anxiety-inducing anxiety

GitHub has slowly phased away from being a website about the code, to being a website about people. Yes, people are an aspect of the code, however the site is no longer focusing solely on collaboration tools for working with code.

Author is correct, the "trending" now rendered on GitHub is a joke.

But what is worse is the "Explore" screen they put in. All I get given is a bunch of useless crap in a column that is 580 pixels wide. Half of the projects that appear in here are in chinese so I can't understand anything about them except the project title. The entire UX of this screen feels like a social network.

Bonus points: Another, stupid, pointless feature they added a while back: "[emoji] Set status".

Was github ever fun? It’s a tool, not a toy. I don’t expect my IDE to be fun either, I expect it to accomplish a task for me.
Why do something especially do something for majority of your life and not make it fun?
I enjoy what I do, I just don’t expect my tools to entertain me. One can enjoy carpentry without expecting their hammer to be “fun”.

I would strenuously resist any attempt to make any of my tools more fun at the cost of any ounce of productivity. These tools exist to serve the narrow needs of professionals, focusing on anything other than utility for the core group is counter productive.

Programming should be fun, not a miserable trench warfare slug for inches.
Well, Microsoft has never made any acquisition look good. It's not something they're known for.
The trending/discover algorithm changed before Microsoft iirc.
Every day now I see one, a comment, a blog post, something that reminds me of the words of Charles Babbage:

> I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.

Babbage was talking specifically about Members of Parliament asking him whether putting wrong figures into his machine would result in the correct answers, but I find the remark generally applicable to so much more.

That quote fits perfectly for these situations where I find a suggestion so flappergastingly silly that I wonder if the author and I have experienced the same reality.
I've discovered some pretty neat projects from the trending page and the "Explore repositories" thing on the main page. So for me that works well unlike most recommendation things.
I stronly agree with the trending part. I used to browse it regularly to find cool projects, that may have been on HN or Product Hunt or something that week, but now, most of it is Chinese projects that are meaningless to me or large businesses latest nothing github project they made.
Chinese projects are presumably meaningful to people who can read Chinese, although it is meaningless to you. You are free to learn Chinese. It is a great skill to have.

If more people who can read Chinese are using GitHub, why is it a wrong choice for GitHub to surface Chinese projects in the trending page? I detect the racist attitude here.

Yes, it is a bad recommendation, but the trending page is not personalized. GitHub does provide personalized pages for discovery. Do you get Chinese projects there too? That would be a bug worth fixing. But it is not a bug to have Chinese projects in the trending page. It is expected feature.

It would be a nice feature for non Chinese-speaking users to be able to filter by language

And actually it seems that Github just implemented this https://github.com/trending

Huh, thanks for noticing ("Spoken Language" filter) and letting us know. That's great.