Show HN: GitHub Trending Repos

(github.com)

203 points | by amrrs 2247 days ago

14 comments

  • simonw 2247 days ago
    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.

    • simonw 2247 days ago
      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.

    • AceJohnny2 2247 days ago
      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.

      • simonw 2246 days ago
        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.

      • tobylane 2244 days ago
        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).
  • trextrex 2247 days ago
    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.
    • simonw 2247 days ago
      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.
    • tonysdg 2247 days ago
    • danthejam 2247 days ago
      It could have been simpler and just as free in Yahoo!Pipes. RIP.
    • rapfaria 2247 days ago
      Parse it and publish it
    • kylell 2247 days ago
      the never satisfied freeloaders
      • ryandrake 2247 days ago
        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?

        • always_good 2247 days ago
          But Github issues are free. And they have a tweeting bot, also free.
      • hueving 2247 days ago
        An observation of how much these closed systems are a regression from systems we had 10 years ago.
        • yzmtf2008 2247 days 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/
          • ryandrake 2247 days ago
            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.
      • blocked_again 2247 days ago
        The maker posted the repo to get constructive criticism. They could have posted it on Producthunt or Facebook if they only wanted some appluase.
  • ryanianian 2247 days ago
    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.

    • r3bl 2247 days ago
      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.

    • vitalets 2247 days ago
      > 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.

  • pookeh 2247 days ago
    Github really should hire this guy and incorporate this as a feature.
  • JepZ 2247 days ago
    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 :-)

  • bobbyi_settv 2247 days ago
    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"?

  • Kagerjay 2247 days ago
    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

  • vitalets 2247 days ago
    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...

  • mandliya 2247 days ago
    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/

  • tutfbhuf 2247 days ago
    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 : )
  • coldcode 2247 days ago
    Why am I only seeing changes for Swift from November?
  • symbolepro 2247 days ago
    Why is this needed when I can go on gihub.com and check trending repos? I see no point in this.
    • rynop 2247 days ago
      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."
  • romanovcode 2247 days ago
    Doesn't GitHub provides exact this functionality by itself?
    • vitalets 2243 days ago
      Unfortunately not. GitHub official newsletter only contains trending repositories across all programming languages. So you can't focus on particular language.