v.0.0.6

v0.0.4 - Per requests and concerns: Defaults changed and options added to prevent overloading servers, hitting rate-limiting, filtering to top x communities, etc!

Thanks for your support!

    • hawkwind@lemmy.managementOP
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      4
      ·
      1 year ago

      Sorry, by comparing now to what; or was as that a superfluous “now,” like “come on now?”

        • hawkwind@lemmy.managementOP
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          2
          ·
          1 year ago

          I think it depends on your instance. This version (same script, just updated) allows for more options IF your instance IS mass Overloaded, or you are scared it will be.

          • hawkwind@lemmy.managementOP
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            4
            ·
            edit-2
            1 year ago

            My dude, I appreciate your spirit, but we’re not going to focus on your irrational fear of abuse. I’ll defend myself for being accused of any such thing, or for being irresponsible. This is intended to make things better, and there’s no evidence it’s doing anything other than that.

            If you want to contribute, by all means, show us where there is a problem, other than in your imagination, and it will be seriously considered. Until then, your opinion is still valuable, but you are speaking with authority about something you know little of.

            • PriorProject@lemmy.world
              link
              fedilink
              English
              arrow-up
              5
              arrow-down
              3
              ·
              edit-2
              1 year ago

              My dude… If you want to contribute, by all means, show us where there is a problem, other than in your imagination, and it will be seriously considered.

              I had no idea we were doing condescending pet names, this is a fun game. My sweet summer child…

              • Federation ain’t doing great.
              • Federated replication load scales with the number of instances multiplied by the number of communities they subscribe to.
              • Server counts are growing at ~10x per month.
              • The defaults of this script encourage single-user instances admins to bump their sub count ~70x from something like 100 communities to something more like 7000 communities.
              • Users of this script actually literally don’t understand how federation works. They think they’re proxying through to the upstream instance while they browse rather than getting firehosed with the entire lemmyverse by they’re asleep.

              It doesn’t take a rocket surgeon to figure out that global federation worker queues are not in great shape, or that a default that encourages single-user instance owners who have no idea what they’re doing to bump their sub count 70x isn’t helping the situation. If you think this is in my head I can’t help you. But I can help others understand that running this script with default settings is an awful and unnecessary idea.

              • hawkwind@lemmy.managementOP
                link
                fedilink
                English
                arrow-up
                2
                arrow-down
                3
                ·
                edit-2
                1 year ago

                Your argument does not gain validity by adding irrelevant verbosity:

                Federation ain’t doing great.

                The linked issue has nothing to do with this script or lemmony.

                Federated replication load scales with the number of instances multiplied by the number of communities they subscribe to.

                That’s a hasty generalization that you just made up.

                Server counts are growing at ~10x per month.

                That’s great! I hope they keep growing!

                The defaults of this script encourage single-user instances admins to bump their sub count ~70x from something like 100 communities to something more like 7000 communities.

                Nobody is encouraging anyone to do anything.

                Users of this script actually literally don’t understand how federation works. They think they’re proxying through to the upstream instance while they browse rather than getting firehosed with the entire lemmyverse by they’re asleep.

                That single user asked a question and got berated by a jerk.

                It doesn’t take a rocket surgeon to figure out that global federation worker queues are not in great shape, or that a default that encourages single-user instance owners who have no idea what they’re doing to bump their sub count 70x isn’t helping the situation. If you think this is in my head I can’t help you. But I can help others understand that running this script with default settings is an awful and unnecessary idea.

                You can help others understand what it is. That’s a great thing to do. It would be nice if you could do that without being a dick.

                • PriorProject@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  4
                  arrow-down
                  2
                  ·
                  1 year ago

                  Federated replication load scales with the number of instances multiplied by the number of communities they subscribe to.

                  That’s a hasty generalization that you just made that up.

                  Sigh. No. No, that’s actually how the computational complexity scales and it’s not a difficult analysis to perform. Good luck to you though.

  • death916@lemmy.death916.xyz
    link
    fedilink
    English
    arrow-up
    17
    ·
    1 year ago

    I was working on something like this to add a bot user and follow active communities but got distracted. Looks like I can quit that side project hahah

  • Brad Ganley@toad.work
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    If I’ve already run the last version recently is there a reason to run this new version immediately?

    • hawkwind@lemmy.managementOP
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      1 year ago

      Not really. If it worked before, it should work the same, just has more options for control and granularity.

  • eroc1990@lemmy.parastor.net
    link
    fedilink
    English
    arrow-up
    9
    ·
    1 year ago

    For anyone who might know:

    So if I’m understanding this right, the bot account you create for this is the one subscribing to every community, so it’s known to the local system, right? As long as I’m not mixing up my main account and my bot account, there should be no observable change on my own account?

    How is storage affected on this? If the bot account is subscribing to a number of communities across the fediverse, all that remote content is going to take up quite a bit of space, no?

    And will 2FA be supported at any point?

    • hawkwind@lemmy.managementOP
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      3
      ·
      edit-2
      1 year ago

      So if I’m understanding this right, the bot account you create for this is the one subscribing to every community, so it’s known to the local system, right?

      Yes

      As long as I’m not mixing up my main account and my bot account, there should be no observable change on my own account?

      Correct, I have it functioning this way and it works great.

      How is storage affected on this? If the bot account is subscribing to a number of communities across the fediverse, all that remote content is going to take up quite a bit of space, no?

      It does and it will continue to grow. This not not something the tool takes care of, not cleaning up anything old or stale. Space management and “unfollow” is on the roadmap! Currently I can only speak for myself and it is EVERYTHING and it is about 0.25 GB / day of database, and 6-10 GB / day of images.

      And will 2FA be supported at any point?

      Not on the roadmap. I don’t know how api calls in general work with 2fa since I have not tested or enabled it on my instance. :( Sorry.

      EDIT: Changed database/pictures ratio after double checking actual numbers and not looking at used filesystem. :(

      • eroc1990@lemmy.parastor.net
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        Hey, thanks for replying! Good to know about the subscription ownership. I only ran the discovery portion of the script just to dip my toe in the water, because I feared what would happen if I subscribed. That said, if I use the discovery flag, that’s just exposing the different communities to my instance, right? It’s not going to retrieve any remote content?

        Good to see that storage management is roadmapped. I probably won’t invoke the Subscribe side of this for my bot account until then.

        Understandable about 2FA. I’ll just be smart about my password usage and watch for any updates on that.

        Thanks again!

        • hawkwind@lemmy.managementOP
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 year ago

          It retrieves the last 10 posts and adds the community reference to your local database. It is the same as putting “!community@instance.com” in the search box and clicking search. The retrieval happens whether you look at the results or not.

    • hawkwind@lemmy.managementOP
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      4
      ·
      1 year ago

      When I discovered, I felt bad for not checking. As for the load stuff. I intended and wanted to see All the things, and I don’t currently have resource problems for my instance. :) We’ll see how that fairs as things continue to grow!

    • Iteria@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      7
      ·
      1 year ago

      I have been using lcs on another account for a small instance and it has been amazing for making the instance feel connected. Thanks!

  • palitu@lemmy.perthchat.org
    link
    fedilink
    English
    arrow-up
    8
    ·
    1 year ago

    A clean up would be nice, maybe something where if there are no subscribers, or local user actions on a community (votes, comments) after a while it starts to remove them.

  • idle@158436977.xyz
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    1 year ago

    Wouldn’t doing this result in a massive amount of unnecssary load on the larger instances?

    • hawkwind@lemmy.managementOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      It doesn’t matter. Most of the work is happening on the instance, regardless of where the script is running.

  • floofloof@lemmy.ca
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    1 year ago

    The script gets all of the publicly federated communities and “makes them known” to your local instance and then subscribes to them. “All” should be populated with activity from around the Lemmyverse.

    Doesn’t that significantly increase the load on your instance and, if many instances use it, all instances? This system isn’t designed with the idea that each instance receives everything from every other instance.

    It might be better to run this on a single dedicated site which people can come to to browse. If you could learn where each user had their account, you could send their upvotes, downvotes and comments to that instance.

    • hawkwind@lemmy.managementOP
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      5
      ·
      1 year ago

      It increases load during execution. Afterward it’s not significant. My instance is heavily instrumented and monitored. The load this incurs subscribing to 24000 communities is less than adding a single, moderately active user to your instance.

      It’s a huge miss if the intended design was to silo information.

      What this provides, as far as I’m concerned, is essential to prevent centralization to a few instances.

      Is there a better way to do it inherently in Lemmy itself? Probably, and I am excited to help with that!

      • wintermute@feddit.de
        link
        fedilink
        English
        arrow-up
        8
        arrow-down
        1
        ·
        1 year ago

        It is a significant difference if an instance has to federate literally every post made on the lemmyverse.

      • floofloof@lemmy.ca
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        1
        ·
        1 year ago

        Well that sounds quite reasonable then. It definitely answers a need for better discoverability of material on Lemmy. And it would be great if something like this could ultimately be integrated into Lemmy itself.

        • hawkwind@lemmy.managementOP
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          1
          ·
          1 year ago

          I think your idea is on the right track when thinking longer term and assuming the worst case in both design and admin behavior. :)

          The whole network needs to be split into “active” and “archive.” New activity (or at the very least stubs to where new activity is happening) needs to be updated regardless of where it occurs without having to capture anything extra.

  • hawkwind@lemmy.managementOP
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    3
    ·
    1 year ago

    It increases load during execution. Afterward it’s not significant. My instance is heavily instrumented and monitored. The load this incurs subscribing to 24000 communities is less than adding a single, moderately active user to your instance.

    It’s a huge miss if the intended design was to silo information.

    What this provides, as far as I’m concerned, is essential to prevent centralization to a few instances.

    Is there a better way to do it inherently in Lemmy itself? Probably, and I am excited to help with that!

    • jon@lemmy.tf
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      1 year ago

      Uhh… if your script is subbing to 24k remote communities, those will continue to grow from then on, unless you start purging communities at some point. After one user subscribes to a community, all new content gets indexed and stored on your instance. Pict-rs can cache images short term (and eventually clear them out), but Postgres will start growing very quickly and never slow down until it fills up disks.

    • wintermute@feddit.de
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      1 year ago

      Afterward it’s not significant.

      Sorry, but unfortunately, it is, forcing a instance to sync literally every single post made on the lemmyverse.

  • wintermute@feddit.de
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    1
    ·
    edit-2
    1 year ago

    Hosting an instance myself, I’m not amused, because if forces my instance to literally sync all content there is on the lemmyverse, drastically increasing traffic, storage use etc.

    Please don’t force resource consumption beyond any rational usage!

    • Peregrinus@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      edit-2
      1 year ago

      people should just block Federation from “Lemmy.management” to start with. one less activitypub abuser.

      • hawkwind@lemmy.managementOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        People can defederate from an instance for any reason they want, but if I get what you’re trying to say: you think people should defederate from any instance that has a user that subscribes to all of their communities.

      • maybe_its_flare@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        Personally, I think the solution for this, is better scheduling of activitypub messages, even possibly caching. What is not the solution, is defederating based off name alone. This leads to the slippery slope of eventual walled garden whitelisted-only Lemmy instance communities, which is not what federation is about.

  • maybe_its_flare@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    1 year ago

    As someone who has created a similar tool, I can understand where the concerns from other people come from, but your arguments have merits too, since as you’ve said, it only takes a user subscribing to the top communities to replicate what tools like these can do in a hundredth of the time.

    Much of the issues that can arise from the usage of this tool, or an overly enthusiastic user subscribing to all the communities, is simply the centralization of top communities in top instances. In an ideal federated universe, instances like lemmy.ml, lemmy.world or even burggit.moe wouldn’t be the top instances that everyone knows, but rather the communities they host, would have be properly and evenly spread out through the fediverse, greatly lowering any load that any one server might get. Unfortunately, that is not the case, and the top servers have to contend with growing traffic, lowering performance, and of course, being the target of subscriptions from the other smaller Lemmy instances, which would only grow worse with usage of tools like this, and my own.

    Is this socially acceptable? Is writing my own tool socially acceptable? Frankly, at this point, after reading all these comments, I’m not too sure myself. My only mitigating factor is that the tool I wrote for my personal Lemmy instance serves around ~50 people, thus I hope that, at the very least, those people would be able to benefit from having the communities pre-seeded for their viewing experience. No one really likes a barren front page after all.

    I see that you’ve added a configurable option to only subscribe to the top N instances in each instance, which seems a bit more harsh than my own tool (which subscribes to any instance above a threshold), but given the views in this thread, and your other cross-posted threads, perhaps I’ll be looking to implement that into my own tool as well, before I get witch hunted myself.

    That said, for anyone out there curious about numbers, subscribing to about ~800 communities, of which have about more than 50 users/month, my metrics have indicated a disk space usage of about 2GiB/day, 20% of a single CPU core, and about 8~10GiB/traffic a day.

    • hawkwind@lemmy.managementOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      1 year ago

      I actually wrote it with the flip side of your centralization argument in mind. If a community exists outside of the popular ones a user may never even know of its existence. Having more show up SHOULD be better to prevent centralization no? It requires the users to change their browsing behaviour but at least they don’t have gonsearching offsite.

      • maybe_its_flare@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        Well, yes, accessibility is what most Lemmy users are interested in. The majority of users don’t want to be told to manually crawl through lemmyverse.net, to find the communities that they might be interested in. It is for that reason that I wrote my own tool as well for my own instance, and the users on it.

        Unfortunately, because of that reason, most people would rather register on larger instances like lemmy.ml, or lemmy.world, simply because it is easier to find communities on the site itself of larger instances, than smaller instances that do not run this tool, thus exacerbating the problem of centralisation in current Lemmy era.

        Until Lemmy authors, or Lemmy admins start taking steps to reduce centralisation, be it by blocking registrations, or by somehow redirecting new users to newer or smaller instances, this will only lead to a feedback loop, where inevitably, an instance may grow so large to the detriment of the fediverse, be it sudden collapse of the instance because of funding (see vlemmy), or by hostile takeovers of the protocol (see Threads).

  • orca@orcas.enjoying.yachts
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    This is a cool idea. I was curious how subs work and it makes a lot more sense to me now that I’ve spent the time getting my instance setup and read a ton of docs. It feels weird trying to build your list and communities on your own account, while it also populates your instance’s All list. Feels like all of my interests are just out there flapping in the breeze lmao.