Skip Navigation

Posts
111
Comments
902
Joined
6 yr. ago

  • There is documentation for running a Lemmy instance over Tor, and one of the many frontends probably works without JS. If not someone could implement it with the API. Anyway there doesnt seem to be much interest in practice, because the clearnet works good enough for now.

  • A bit tired because my whole family is half sick. Luckily the kids are still okay to go to school.

    Otherwise Im excited for this AMA, because I rarely have such direct conversations with users about Lemmy. The discussions on Github are usually quite technical.

  • Not that I know of, only some open source projects as mentioned by others.

  • You can export your settings, community follows etc and import them in another instance. Moving your existing posts and comments doesnt work well with federation.

  • There is an API so you could write a script to import any kind of data.

  • The main question is how this can work in terms of federation. When creating a new post it directly references the community url. If the user and community are on different instances then the community instance cannot rewrite the post to reference a different community. So it would have to tell the post creator to (automatically) resubmit the post to the new community. Same for all comments, they would have to be recreated by the respective author's instance in the new post. Seems quite complex to implement.

  • Will there be any way to block users from certain instances to hide their comments?

    I dont think theres an issue for this yet, feel free to open one. It could be a checkbox for "Blocked Instances" setting, eg "Also block users".

    What are the plans the improve discoverability?

    There is an issue for easier discovery of federated communities which is part of our roadmap. Piefed recently implemented a similar feature which we will take inspiration from. It also helps if you block communities that you dont want to see. Are there any other ideas you are thinking of?

    Will there be any type of word filtering?

    This is work in progress.

  • This, content is already mirrored to federated instances and stored forever (though media may not be included).

    What I’d like to know is if I linked a sh.itjust.works link to one of those threads could a user of a more recent instance load the content?

    Lemmy only loads content from the original instance where it was created, otherwise it would be possible to impersonate users. So it is not possible to load that.

  • The stack is great, I wouldnt want to change anything. Postgres is very mature and performant, with a high focus on correctness. It can sometimes be difficult to optimize queries, but there are wizards like @dullbananas@lemmy.ca who know how to do that. Anyway there is no better alternative that I know of. Rust is also great, just like Postgres it is very performant and has a focus on correctness. Unlike most programming languages it is almost impossible to get any runtime crashes, which is very valuable for a webservice.

    The high performance means that less hardware is required to host a given number of users, compared to something like NodeJS or PHP. For example when kbin.social was popular, I remember it had to run on multiple beefy servers. Meanwhile lemmy.ml is still running on a single dedicated server, with much more active users. Or Mastodon having to handle incoming federation activities in background tasks which makes the code more complicated, while Lemmy can process them directly in the HTTP handler.

    Nevertheless, scaling for more users always has its surprises. I remember very early in development, Lemmy wasnt able to handle more than a dozen requests per second. Turns out we only used a single database connection instead of a connection pool, so each db query was running after that last one was finished, which of course is very slow. It seems obvious in retrospect, but you never notice this problem until there are a dozen or so users active at the same time.

    With the Reddit migration two years ago a lot of performance problems came up, as active users on Lemmy suddenly grew around 70 times. You can see some of that in the 0.18.x release announcements. One part of the solution was to add missing database indexes. Another was to remove websocket support, which was keeping a connection open for each user. That works fine with 100 users, but completely breaks down with 1000 or more.

    After all there is nothing I would do different really. It would have been good to know about these scaling problems earlier, but thats impossible. In fact for my project Ibis (federated wiki) Im using the exact same architecture as Lemmy.

    1. There is no specific maximum capacity, in theory it can scale indefinitely with horizontal scaling. Also see my reply here regarding scaling.
    2. 0.19.10 already includes a fix to remove private messages when a user gets banned which should help a lot. There is an issue about disabling private messages by default, but Im not sure if that will be necessary. Also 1.0 will include a plugin system, so other devs and instance admins can write their own checks. That way spam waves can be fought in a more flexible way, without having to get a change merged into Lemmy and then waiting for a new release.
  • We offered free instance hosting for some time, in order to encourage the creation of new instances. That was before the Reddit migration when lemmy.ml was still by far the largest instance. It was a success because numerous instances like slrpnk.net and aussie.zone were started that way. But after the migration there was no need for it anymore as plenty of instances were created without our help.

  • I would reply directly to that post, but it looks like the admin (who is also the Tesseract dev) has completely blocked federation with lemmy.ml by IP block or useragent block. So Im going to respond here to his complaints:

    Lemmy didnt have a single breaking change since version 0.19 which was released 1 year and 4 months ago. And the breaking changes in that version were quite minor. Before that was 0.18, 1 year and 6 months earlier. That version only removed websockets, so most third-party app devs who used the HTTP API didnt notice any difference. Meaning the API has been almost unchanged for over three years which is quite long for a project that hasnt reached a stable version yet. 1.0 includes all the breaking changes that were held back over the years, so that we dont need any more breaking changes for a long time.

    That said it would be great if we could keep backwards compatibility with the existing API in Lemmy 1.0. Problem is with all the major changes we are doing now, it would take a huge amount of work to implement this kind of backwards compatibility. If we had twice as many fulltime developers working on Lemmy this would be doable, but our resources are very limited so we have to make some compromises.

    • Tags are work in progress
    • Not exactly sure what you mean by "direct messages outside Lemmy", but in version 1.0 they will be compatible with Mastodon and other platforms
    • Its a known problem with Mastodon because it only renders Note objects properly, which are meant for short texts less than a paragraph. Lemmy uses Page which is meant for longer text. Some platforms like Wordpress (iirc) have an option to federate even long posts as Note so that it gets rendered fully in Mastodon, but that seems like a bad idea to me. In the end its up to Mastodon how to render different types of federated content on their frontend, so it needs to be fixed by them. Here is an entire discussion about this by developers of different Fediverse platforms (including a Mastodon dev).
  • So a spoiler tag for post links? This could potentially be added later as an addition to the post tags feature.

  • You can load a different robots.txt in your nginx config, something like this:

     
        
    location /robotx.txt {
        index /path/to/my/robots.txt;
    }
    
      

    Additionally 1.0 will change the "private instance" to work with federation enabled (see https://github.com/LemmyNet/lemmy/pull/5530). Then only logged-in users will see content, while AI scrapers wont see anything except the login page.

  • I believe they are still active. User numbers have been stable for a long time, and there are some names that I recognize from the very early days 5 years ago.

  • Its a Lemming!

  • Yes this is a major benefit of an open network. Lemmy is a very large project already, so it takes a lot of effort to implement new features, because they have to meet high standards for quality and performance and also work together with all the existing features. A project like Piefed is much smaller and can implement new features more quickly. This allows for more experimentation, and successful features can later be added to Lemmy.

    Also users who are not happy with Lemmy for any reason can switch to a different platform while still interacting with those on Lemmy. So if Piefed and Mbin grow that is also a benefit for Lemmy.