Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: GitHub Trending Repos (github.com/vitalets)
203 points by amrrs on Feb 23, 2018 | hide | past | favorite | 37 comments



Using GitHub issues to power notifications in this way is absolutely inspired!

You get single-sign-in for anyone with a GitHub account.

You get both email AND push-based notifications without needing to run ANY of the infrastructure yourself.

Your scrapers get to run in their own time and publish via a very well-documented and easy to use API.

I'm totally sticking this idea in my back-pocket. It's brilliant.


Hah, it's even clever-er than I thought: the entire implementation is 220 lines of Node.js https://github.com/vitalets/github-trending-repos/blob/maste...

And everything runs in a free Circle CI instance on a daily and weekly basis: https://github.com/vitalets/github-trending-repos/blob/maste...

So Vitaliy runs the entire thing at no cost to himself, and on infrastructure he doesn't need to maintain. It's the perfect setup for a side-project like this.


I'm imagining the Github infrastructure folks cringing at this. The second-order effects of people reusing the infrastructure for a different purpose than initially intended.

Like how they caved and provided github.io because people were using Raw (or some other feature of the repos) as a ad-hoc CDN anyhow.

In fact, I'm curious how much of their traffic is traditional git/repo view and how much is any of these "second-order" services.


I bet they're fine with it. They have invested a great deal of engineering effort in building a notification system that scales - there are plenty of legitimate uses for that system that dwarf this clever hack in terms of traffic (issues with hundreds or even thousands of subscribers).

If I were them I would be delighted at someone using my work in an unexpected and creative way like this - having users surprise you like this (provided it's not for abuse or spam) is one of the joys of software design.

You could figure out the actual impact by counting the number of individual subscribers to all of the issues in this repo. My guess it's not even a hundred yet.


They had problems with CocoaPods and Homebrew each using up several servers worth of CPU/network, and rather than ask those projects to change Github added functionality to make the workload lighter (an HTTP code for checking if there's an update to a repo).


Couldn't this be done a lot more simply with a mailing list or RSS feed? Using GitHub issues seems a bit convoluted, although I'm guessing it's probably because it's easier to set up and free to use. It seems like somebody should build a service which makes use cases like this 0 config.


I think this is a much smarter way of building this than using a mailing list or RSS feed, both of which have non-trivial operational expenses associated with them. This implementation instead takes advantage of the enormous ecosystem of tools GitHub already has around their issue notifications.



It could have been simpler and just as free in Yahoo!Pipes. RIP.


Parse it and publish it


the never satisfied freeloaders


Pointing out existing technologies that might be more appropriate to use is valid feedback. I don’t think that detracts from how neat the project is.

Some of the big questions I always ask myself before I set about writing code for something are: Can this be done with older and more mature tech? Is this already more or less solved by another project and what value am I adding?


But Github issues are free. And they have a tweeting bot, also free.


An observation of how much these closed systems are a regression from systems we had 10 years ago.


Protocol ossification is also a real thing: we’re stuck in all the protocols developed two decades ago. https://signal.org/blog/the-ecosystem-is-moving/


Highly subjective. What some would call ossified, others might call “mature,” “reliable,” or “battle tested.” Sometimes bits don’t rot—they just go out of fashion.


The maker posted the repo to get constructive criticism. They could have posted it on Producthunt or Facebook if they only wanted some appluase.


How do you know?


> Show HN is for something you've made that other people can play with. HN users can try it out, give you feedback, and ask questions in the thread.

https://news.ycombinator.com/showhn.html


Seems kinda cool - works by updating a GH issue per language and you subscribe to updates on the issue. But seems that the issues have been locked and not updated since November without explanation as to why.

Hence cool idea but not actually what it says on the tin for the moment.

[edit]: isn't true the GH UI just wasn't rendering the most recent updates for me. Viewing the issue pages themselves not so useful but subscribing to the issue is really the intended usage anyhow.


It might be that you've stumbled upon some issue that didn't get updated?

I've checked a few weekly issues and they all seem to be regularly updated. The comments seem to be locked to avoid anyone posting one in order to avoid anyone spamming everyone who subscribed.


> But seems that the issues have been locked and not updated since November without explanation as to why.

GitHub shows issue creation date, not last update.


Github really should hire this guy and incorporate this as a feature.


I think its a nice idea, especially regarding signal to noise. I mean, for sure I could watch https://github.com/trending but in fact I don't care about a lot of languages which might be essential for others (e.g. C#, C++).

Yes, RSS feeds and mailing lists would be nice too, but in the end I don't care much how I receive the information as long as I can receive it automatically somehow.

So far I have seen a lot of projects I know already, but I will try it for a few weeks and see if there will be any new treasures :-)


I picked one Python repo at random to start and got an empty repo that says "Removed according to regulations":

https://github.com/shadowsocks/shadowsocks

According to google, it is something "widely used in mainland China to circumvent Internet censorship". Does Github not allow this type of project, or are they talking about a different form of "regulations"?



Wait... Did they hide the master branch from view on purpose?


I have my own way of tracking trending repos.

I use this url:

https://github.com/trending/javascript?since=monthly

Then I use tabsnooze, https://chrome.google.com/webstore/detail/tab-snooze/pdiebia...

to go to that page once a month

works for me


Thanks for posting this and for the comments!

Before creating this repo I've researched existing solutions and described the comparison here: https://medium.freecodecamp.org/five-ways-of-tracking-trends...


I use changelog nightly for similar purpose. It shows you hottest and most starred repos within the day.

http://nightly.changelog.com/2018/02/22/


Not long ago i made a small website for that: https://madnight.github.io/grendy/ By the way, it's written in purescript and haskell : )


Why am I only seeing changes for Swift from November?


It seems you've looked at the issue open date. The updates to Swift are coming daily: https://github.com/vitalets/github-trending-repos/issues/36#...


Why is this needed when I can go on gihub.com and check trending repos? I see no point in this.


https://github.com/trending does but if you look at his repo he says "None of alternatives can send notifications per programming language. That's why I've created this project."


Doesn't GitHub provides exact this functionality by itself?


Unfortunately not. GitHub official newsletter only contains trending repositories across all programming languages. So you can't focus on particular language.




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

Search: