Web Developer (I ❤️ PHP). Admin of remy.city kbin instance.

  • 2 Posts
  • 18 Comments
Joined 1 year ago
cake
Cake day: June 18th, 2023

help-circle




  • I think that would be worth it, yeah. Of course if you are hosting it on your home network there will be some added security concerns (and that might make it better to only allow signups to friends/friends of friends/etc). The way I see it is that some instances are going to host the largest communities, and therefore those instances are going to need to handle all of the incoming/outgoing updates to posts in those communities. Right now they can’t do that reliably and push updates out to all of their users’ devices.

    So in the long run I think having small/medium instances (say a couple hundred, not tens of thousands of users) will be the way to grow. These smaller communities can push updates to their smaller user count reliably, and then have more resources to handle federated content coming in and going out.




  • This is the problem we are having with fast growth on a few select communities. The largest servers are being bogged down simply because the software has not been tuned for these large types of instances yet. ActivityPub works best (in it’s current state) by spreading users over smaller/medium sized instances. Folks need to take a look at other instances (and I agree it is hard to find them for a newcomer). You can look at https://fedidb.org/ to look at instances that have been indexed running kbin, lemmy, and other software.

    Joining a smaller instance means that your server is not being bogged down by tens of thousands of other users trying to pull updates to their devices at the same time. You can still see the content from other instances, and in many cases it is more reliable because your smaller instance actually has the resources to handle pulling in the posts you want to see. The server-to-server communications that make content federation possible are less resource intensive than pushing updates to user devices. Less users on an instance = more server resources to actually federate content. In the future I am sure instances like lemmy.world will be able to handle the user traffic and federation traffic smoothly, but for now the best way to ensure stability is to join a smaller instance.

    (Plug for my instance: https://remy.city, a general purpose Kbin instance. I set it up for personal use but anyone is free to join me in using it. I have defederated from the instances with more extreme viewpoints userbase-wide (like lemmygrad and exploding-heads), and from lemmynsfw.com because of content hosting concerns. I’m open to suggestions on others.)


  • There are ways to write links in such a way that they should keep you on your instance, but I’m not too familiar with them. I wonder if it would be possible to “precheck” links that load on a page, and if any point to content that can be federated, kick off the process of pulling that content in. Then when the user clicks that link, it would take them to the content on their home instance, where they can interact. That way users wouldn’t need to deal with formatting links a certain way, it would just happen automatically (if your home instance software supports it).






  • That’s something I want to get into. I want to set up that self hosted software, forget what it’s called, but you can integrate with IoT devices just like you can with a mainstream assistant service like Google Home.

    What I really want to do is automate my blinds, which are the chain loop type, so I can say “house, open the living room blinds” like they did in Smart House, the Disney channel original movie (or maybe that was Home Alone 4, but we don’t talk about that one). I found a little motorized device that integrates with these chain blinds but it was a bit pricey. Of course if I tried to make it with my own Arduino etc it would be an ugly mess.


  • On Lemmy that is. Kbin I believe replicates everything (unless I set my server up wrong). My server at the moment pulls in around 1.5 GB a day it seems. There is a pull request open on the kbin git repo for a feature to auto-remove old media. Personally I’d like the ability to turn on/off media replication. If an instance wants a complete copy in case of defederation/disconnection somehow, they can opt in and mirror all media that comes in. Most servers should just link to the original image source on the originating instance though.




  • You can run your own instance and not allow anyone else to sign up, though I do agree the effort it requires if it’s just for a single person is a lot. Spread out amongst friends, or other folks who don’t mind chipping in, makes it seem a bit more sensible. But there is always the option to turn off registrations, and on Lemmy at least you can make registrations require approval.

    The only other way your instance could incur more running costs than you’d like is if you have a community on your instance that gets very popular, and folks from all instances start posting to it (think stuff on Beehaw, Lemmy.world, etc.) Then your server needs to be the man in the middle, facilitating communication between users of other communities. But you always have the option of not allowing communities to be created, or stopping federation altogether if it gets to be too much. There really isn’t a way it would suddenly cost you more money than you thought, unless you aren’t monitoring it enough (which isn’t much more than setting up notification emails for storage use, system crashes, etc).

    Running your own instance is the only way to really be sure that the costs are being covered on the up-and-up. Otherwise you’re just taking folks at their word. Your data, in the end, could always be sold to anyone. It is publically available through the ActivityPub protocol, after all. But that also means there’s really no need to pay for it, so no one would buy it.


  • Your knock on the door analogy is exactly right–when I started my instance, I had to search every community that I wanted to see directly by URL. Then my server would send a message to that community’s server saying that I subscribed to that community. Now, every time a post is made at that community, it’s server sends my server an update. If I post a comment to a community on lemmy.ca (like I am now), from my kbin instance (remy.city), and you are reading it from kbin.social, that means my server first saved my comment locally, then sent it to lemmy.ca, and lemmy.ca sent it to your kbin.social because you subscribed to the community. So in that case, lemmy.ca is the ‘authority’, and is responsible for sending updates out to subscribed parties.

    There is no such thing for instances–each new instance has to manually make a connection to another (i.e. a user on the new instance must subscribe to something from another instance). I think the tools like fediverse.observer are reading comments or other activity from popular instances, and are then compiling a list of the instances they find by doing that. But there is no central server/authority that makes communication between instances possible. Each instance has to talk to each other instance for it to happen. It’s a bit inefficient but is necessary for decentralized communication.


  • The best way to know who owns the service you use it to own it yourself. That does come with a lot of overhead, though. I started my own kbin instance because I, like you, was worried about “what if one day I go to login and my home instance decided to shut off forever?” That can’t happen now, besides if I forget to pay/something goes wrong with the server. But I enjoy tinkering so it works out in my case.

    I think ultimately users are responsible for which instance they choose to sign up for. If there isn’t much transparency on a certain instance, it may not be the one for you. I agree that the sign up pages could have some areas where more information could be shared. Of course, it is up to each instance admin to share accurate and factual information as to who they are/where the money comes from/goes etc.