Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)M
Posts
26
Comments
317
Joined
2 yr. ago

  • I am yet to hear a justification for opposing illegal immigration that doesn't tie back into racism or racial prejudice, let alone a justification that actually makes sense if you take it apart.

    Someone prove me wrong, and I'll change my mind.

  • Nothing wrong with paying for biased journalism, as long as it's high quality.

    New York times and walk street journal both publish a bunch of propaganda, but also have high quality stuff and I find it worth subscribing.

  • I tried using bubble wrap for this purpose, but it's too difficult and doesn't seem to target this use case.

  • NSFW Deleted

    Permanently Deleted

    Jump
  • First of all, I would ask them if they're familiar with the boycott and the reasons why it is happening. If they are, ask them them if they have a reason not to participate. Based on that, and how serious the cause behind the boycott is, I would judge.

  • Deleted

    Permanently Deleted

    Jump
  • I love open platforms, open standards, open source, and interoperability! I like that I can choose lemmy as my preferred way of posting to social media, but someone can read my content in their preferred format as lemmy supports federating to other platforms as well as distributing content via RSS.

    I also love the lemmy culture. Anytime I ask questions here, I get some very thoughtful, educated and unique answers that I cannot seem to get anywhere else. The content I see on lemmy is the exact type I wish for. I only wish there was more of it.

  • bringing up RSS feeds is actually very good, because although you can paginate or partition your feeds, I have never seen a feed that does that, even when they have decades of history. But if needed, partioning is an option so you don't have to pull all of its posts but only recent ones, or by date/time range.

    I would also respectfully disagree that people don't subscribe to 100's of RSS feeds. I would bet most people who consistently use RSS feed readers will have more than 100 feeds, me included.

    And last, even if you follow 10,000, yes it would require a lot more time than reading from a single database, but it is still on the order of double digit seconds at most. If you compare 10,000 static file fetches with 10,000 database writes across different instances, I think the static files would fare better. This isn't to mention that you are more likely to have to write more than read more (users with 100k followers are far more common than users with 100k subscriptions)

    And just to emphasize, I do agree that double digit seconds would be quite long for a user's loading time, which is why I would expect to fetch regularly so the user logs onto a pre made news feed.

  • Sure, but constantly having to do it is not really a bad thing, given it is automated and those reads are quite inexpensive compared to a database query. It's a lot easier to handle heavy loads when serving static files.

  • Yes, precisely. The existing implementation in the Fediverse does the opposite: everyone you follow has to insert their posts into the feed of everyone that follows them, which has its own issues.

  • Oh my bad, I can explain that.

    Before I do, one benefit of this method is that your timeline is entirely up to your client. Your instance becomes primarily tasked with making your posts available, and clients have the freedom of implementing the reading and news feed / timeline formation.

    Hence, there are a few ways to do this. The best one is probably a mix of those.

    Naive approach: fetch posts and build news feed when user requests it

    This is not a good approach, but I mention it first because it'll make explaining the next one easier.

    • User opens app or website, thereby requesting their timeline / news feed
    • server fetches list of user's subscriptions and followees
    • for each followee or subscription, server fetches their content via their static file wherever they are hosted
    • server performs whatever filtering and ordering of content they want
    • user sees the result

    Cons: loading time for the user may be long, depending on how many subscriptions they have it could be several seconds. P90 may even be in double digits.

    Better approach: pre-build user's timeline periodically.

    Think like a periodic job (hourly, or every 10 min, etc) , which fetches posts in a similar manner as described above, but instead of doing it when user requests it, it is done in advance

    Pros:

    • fast loading time compared to previous solution
    • when the job runs, if users on the same instance share a followee or subscription, we don't have to query it twice (This benefit already exists on current fediverse implementations) Cons: posts aren't real-time, delayed by the batch job frequency.

    Best approach: hybrid

    In this approach, we primarily do the second method, to achieve fast loading time. But to get more up-to-date content, we also simultaneously fetch the latest in the background, and interleave or add the latest posts as the user scrolls.

    This way we get both fast initial load times and recent posts.

    Surely there's other good approaches. As I said in the beginning, clients have the freedom to implement this however they like.

    1. I write a post, and send a request to the server to publish it
    2. The server takes the post and preprends it to the file housing all my posts
    3. Now, when someone requests my posts, they will see my new one

    If a CDN is involved, we would have to properly take care of the invalidations and what not. We would have to run a batch process to update the CDN files, so that we are not doing it too often, but doing it every minute or so is still plenty fast for social media use cases.

    Have to emphasize that I am not expert, so I may be missing a big pitfall here.

  • Fediverse @lemmy.ml

    Why not Fanout via static files or CDNs in the Fediverse?

  • My journal is electronic (offline) and I have been doing it for 10 years or so.

  • Typically Arabs would be very impressed to see you even try to speak Arabic. I have never seen someone make fun of a foreigner for their accent. It's also quite rare for a foreigner to speak without accent.

  • Is this an alternative to bitwarden and keepass? Is it better in terms of security?

  • Fediverse @lemmy.ml

    An open (or federated) searchable catalog of hikes and hiking trails (alltrails alternative)?

  • Can you clarify what you mean by Chromecast support? I have a Chromecast device and it has the jellyfin app on it. Works like a charm without issues. I have a feeling you mean something else though?

  • Deleted

    Permanently Deleted

    Jump
  • Anyone looking for the best package manager needs to look only at portage/emerge and nix

  • But mullvad stopped allowing port forwarding. Is there an exception for tailscale??

  • How does this work??? I thought I wouldn't be able to use Mullvad with port forwarding. Would I need to have a vps? Would the VPS not disallow me for connecting to VPN or detecting p2p traffic?

  • I tried LFS one time, and accidentally ran one or more of the commands on my host machine, rendering it unusable

  • ahh, so the game itself can use vulkan and it is not necessary for sway itself to use vulkan?? wow well that makes me very happy, thanks a lot!!

  • Linux Gaming @lemmy.ml

    Gaming without vulkan: bad idea?

  • Linux @lemmy.ml

    flatpak "Couldn't find file object" Error when installing - flatpak repair does not fix it

  • Fediverse @lemmy.ml

    A platform for posting (or searching) user-created RSS feeds - Does this exist?

  • Linux @lemmy.ml

    Am I limited if I use ffmpeg for screen recording?

  • Fediverse @lemmy.ml

    Developing a Lemmy client to have a Facebook-like experience? (Personal profile, groups, pages, etc)

  • Linux @lemmy.ml

    Has anyone used nsjail? Any thoughts?

  • Fediverse @lemmy.ml

    A general fediverse client for multiple content types? (mastodon, lemmy, pixelfed, etc.)

  • Selfhosted @lemmy.world

    Suggestions for Improving Linux Server Security: Beyond User Permissions and Groups?

  • Selfhosted @lemmy.world

    Is there a fork of telegram that works with a self hosted XMPP or other chat server?

  • Linux @lemmy.ml

    A local database with a command line interface? (sqlite?)

  • Linux @lemmy.ml

    Should I make this: (distroless) containers builder, by taking list of packages or a gentoo ebuild file

  • Linux @lemmy.ml

    Wayland tiling compositor that will work okay with nvidia?

  • Linux @lemmy.ml

    What is the appeal of a binary-tree only in a tiling window manager (bspwm) vs. nested splits (i3 and sway)?

  • Asklemmy @lemmy.ml

    Where to shop for gaming laptops and find good prices?

  • Linux @lemmy.ml

    DuckDB as the New jq

    www.pgrs.net /2024/03/21/duckdb-as-the-new-jq/
  • Selfhosted @lemmy.world

    How to self host public services without legal trouble? (USA resident)

  • Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ @lemmy.dbzer0.com

    How can I upload books (to libgen, et al) without a trace back to me?

  • Selfhosted @lemmy.world

    Up-to-date OpenSSL guide or tool for creating a certificate authority and self-signing TLS certificates?