Lemmy Lead Developer and father of two children.

I also develop Ibis, a federated wiki.

  • 1 Post
  • 9 Comments
Joined 6 years ago
cake
Cake day: January 17th, 2020

help-circle
  • This is not possible with the way Lemmy is implemented, because each post belongs to exactly one community. This is not something we can realistically change. We are considering to show comments from different posts with the same url together, but that is controversial.

    In any case NodeBB, Lemmy and Piefed are different platforms with different implementations and different users. So it makes sense that some features are implemented differently, or only available in a subset of platforms.






  • Nutomic@lemmy.mlOPMtoAnnouncements@lemmy.mlLemmy AMA March 2025
    link
    fedilink
    English
    arrow-up
    1
    ·
    8 months ago

    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.


  • Nutomic@lemmy.mlOPMtoAnnouncements@lemmy.mlLemmy AMA March 2025
    link
    fedilink
    English
    arrow-up
    1
    ·
    8 months ago
    • 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).

  • Nutomic@lemmy.mlOPMtoAnnouncements@lemmy.mlLemmy AMA March 2025
    link
    fedilink
    English
    arrow-up
    1
    ·
    8 months ago

    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.


  • Nutomic@lemmy.mlOPMtoAnnouncements@lemmy.mlLemmy AMA March 2025
    link
    fedilink
    English
    arrow-up
    1
    ·
    8 months ago

    Its hard to say because these things always take longer than expected. Now we are finally getting to the point where all the breaking database and api changes are almost finished. After that it will take some months to update lemmy-ui for all the backend changes and new features, and the same for all other apps. Then a testing period to fix all the problems that come up. So maybe around autumn for the final release, although lemmy.ml and some other instances may upgrade some months before already.