• 1 Post
  • 66 Comments
Joined 1 year ago
cake
Cake day: July 2nd, 2023

help-circle

  • As of now all advice here is kinda missing the point or wrong… (Exept the one recommendation to do updates ;-) I wouldn’t use Cloudflare as it’s really bad for freedom, watches your traffic and most interesting things aren’t even in the free/cheap plans… You can’t restrict connections to the “Established state” or you can’t ever connect to your server… And SSH is a safe protocol. Just depends on the strength of your passwords… And yeah, opening ports is never 100% safe. Neither is using computers. They can be hacked but that’s not helping… And I’d agree using Wireguard or Tailscale would help. But you already said you don’t want a VPN…

    I didn’t have a proper look at the Forgejo Docker container. I’d say it’s safe. It’s probably using keys instead of passwords(?!) I hope they configured it properly if they ship it per default. And it’s running sandboxed in your Docker container anyways and not running a system shell on the machine.

    The issue with SSH is, there are lots of bots scanning the internet for SSH servers and testing passwords all day. Your server will be subject to a constant stream of brute-forcing attempts. Unless you take some precautions. Usually that’s done by blocking attackers after some amount of failed login attempts. This is either preconfigured in your Docker container (you should check, or watch the logs.) Or you’d need to use something like fail2ban on top. Or ignore the additional load and have all your users use good passwords.

    (What I do is use Git over https. That worked out of the box while ssh would have required additional work. But I also have lots of other ports forwarded to several services on my home-server. Including ssh. No VPN, no Cloudflare … I have fail2ban and safe passwords. I’m happy with that.)


  • I really agree with your premise. Less responsibility on the server means less depending on it. We’d gain independence, could move accounts and do some more nuanced things. But I really think the less your own server or relay does, the more you’re prone to suffer from network outages, other servers becoming unavailable etc. So you’d need to duplicate everything no matter what to compensate for that. And you introduce lots of additional traffic by fetching all the hashtags from everywhere. Or you’d end up in the same situation as before where they’re subject of availability on your instance or perspective on the network.

    Plus you want unsubscribed old posts showing up and a perspective that’s independant of the chosen instance. So you basically need to replicate everything everywhere. And this introduces additional complexity and resource usage and your goal was to reduce that. (And federation becomes just an inconvenience and additional unnecessary work at that point.)

    It’s not that it’s technically difficult. We could do that. And you’re right by pointing at XMPP and Movim and stuff. But that also doesn’t solve most of the issues you outlined in your initial post. It’s even more narrow in how you rely on your own server and shaping your perspective on the whole network.

    And sometimes this is what we want. People do dedicated instances to a topic. For example a Mastodon server for IT and tech people. Of course you want IT related stuff to show up on your main page. And we sometimes want moderation and a place to have civilized discussions. Not a place of anarchy and shitposting like on 4chan. That requires some form of hierarchy or democracy. And at the end of the day the server operators are responsible for what content is shared (publicly) via their infrastructure…

    So I’d say you can’t achieve all your goals with ActivityPub. You need to think bigger. Maybe do away with federation altogether. Since federation is all about having different instances with a different focus and perspective on the same network. Maybe focused on a language or subject or sub-community of users, different rules and moderation. And you want more a unified perspective, everyone gets the same and less intermediaries. I’d say that is fundamentally incompatible with this form of federation and kind of out of scope. You probably want a network without that hierarchy. And that comes with different technical challenges and advantages.

    (And suppose we extended ActivityPub. Instead of separating and moving stuff to the client, we could imagine you install a Lemmy or Mastodon server/instance on your computer or phone. Along your browser. You’d have it all on your device and could configure it like you wanted. I’m not sure if that’d be a superior solution.)


  • Ah, you’re right. Nostr uses relays. Now I know what the name stands for. Sounds a bit like your proposal in extreme. The “servers” get downgraded to relatively simple relays that just forward stuff. The magic happens completely(?) on the clients.

    I’m still not sure about the application logic. Sure I also like the logic close to me (the user.) The current trend has been towards the opposite for quite some time. Sometimes the explanation is simple: If you do most things on the server, you retain control over what’s happening. That’s great for selling ads and controlling the platforms in general. On the other hand it also has some benefits for power efficiency on the devices. I’m not talking about computing stuff, but rather about something like Google Cloud Messaging which has the purpose of reducing the amount of open connections and power draw and combine everything into a single connection for push messages. In order to do decide when to wake a device, it has access to to the result of the filtering and message priorization. Which then needs to be done server-side.

    I’m also not sure with the filtering of hashtags. I mean if you subscribe to a hashtag. Or want to count the sum to calculate a trend… Something needs to work through all the messages and filter/count them. Doesn’t that mean you’d need all Mastodon’s messages of the day on your device? I’m sure that’s technically possible. Phones are fast little computers. And 4G/5G sometimes has good speed. But l’m not sure what kind of additional traffic you’d estimate. 50 Megabytes a day is 1.5GB for your monthly cellular data plan. A bit less because sometimes people are at home and use wifi… But then they also don’t just use one platform, but have Matrix, Lemmy and Mastodon installed. And you can’t just skip messages, you’d need to handle them all to calculate the correct number of upvotes and hashtag use. Even if the user doesn’t open the app for a week.

    I don’t quite “feel it”. But I also wouldn’t rule out the possibility of something like a hybrid approach. Or some clever trickery to get around that for some of the things a social network is concerned with…

    Or like something I’d attribute more to edge computing. The client makes all the decisions and tells the edge (router) exactly what algorithm to use to do the ranking, how to do the filtering and when it wants to be woken up… That device does the heavy lifting and caches stuff and forwards them in chunks as instructed by the client.


  • Hmmh. But how would that then change Mastodon not displaying previous (uncached) posts? Or queries running through the server with it’s perspective?

    And I fail to grasp how hashtags and the Lemmy voting system is related to a client/server architecture… You could just implement a custom voting metric on the server. Sure you can also implement that five times in all the different apps. But you’d end up with the same functionality regardless of where you do the maths.

    And if people are subscribed to like 50 different communities or watch the ‘All’ feed, there is a constant flow of ActivityPub messages all day long. Either you keep the phone running all day to handle that. Or you do away with any notification functionality. And replicating the database to the device either forces you to drain the battery all day, or you just sync when the user opens the App. But opening Lemmy and it takes a minute to sync the database before new posts appear, also isn’t a great user experience.

    I’d say we need nomadic identity, more customizability with the options like hashtags, filters and voting. Dynamic caching because as of now Fediverse servers regularly get overwhelmed if a high profile person with lots if followers posts an image. But most of that needs to be handled by servers. Or we do a full-on P2P approach like with Nostr or other decentralized services. Or edge-computing.

    I don’t quite get where in between federated and decentralized (as in p2p) your approach would be. And if it’d inherit the drawbacks of both worlds or combine the individual advantages.

    And ActivityPub isn’t exactly an efficient protocol and neither are the server implementations. I think we could do way better with a more optimized, still federated protocol. Same with Matrix. That also provides me with a similar functinality my old XMPP server had, just with >10x the resource usage. And both are federated.


  • Because with all of that, messaging, email, xmpp, matrix and ActivityPub most of the magic happens on the server. Take email for example. The server takes care to be online 24/7. It provides like 5GB of storage for your inbox that you can access from everywhere. It filters messages and does database stuff so you can habe full text search. Same with messaging. Your server coordinates with like 200 other servers so messages from users from anywhere get forwarded to you. It keeps everything in sync. Caches images so they’re available immediately.

    That allows for the clients/Apps to be very simplistic. It just needs to maintain one connection to your server and ask if there’s anything new every now and then. Or query new data/content. Everything else is already taken care for by the server.

    OP’s suggestion is to change that. Move logic into the client/App. But it’s not super easy. If you now need to be concerned on the client with maintaining the 200 connections at all times instead of just 1 to see if anyone replied… Your phone might drain 200 times as much battery. And requiring the phone to be reachable also comes with a severe penalty. Phones have elaborate mechanisms to save power and sleep most of the time. Any additional network activity requires the processor and the modem to stay active for longer periods of time. And apart from the screen thats one of the major things that draws power.


  • That’s a nice idea but has some pretty obvious technical drawbacks that aren’t discussed in the blog article:

    The complexity of most networks grows about exponentially with the number of connections between the entities. It gets immensely more computationally expensive that way and you’re bound to use lots of additional network traffic and total cpu power that way.

    And some (a lot of) people like using social media on their phones instead of a computer. You’re bound to drain their batteries real fast by moving application logic there.

    Other than that I like the general idea. The Fediverse should be more dynamic. Caching and discovery have some big issues in the current form. That should be tackled and we need technical solutions for that. And the current architecture isn’t perfect at all.

    Furthermore, if talking about the edge where networks are smarter… Why then move it into the browser which isn’t at the edge? Wouldn’t that be an argument to invent edge-routers like in edge computing? I mean with c2s you have a server on the one side and a client on the other side with the edge somewhere in between. If you now flip it you end up in a different situation. But there’s still nothing at the edge where you could introduce some smarts…











  • Thanks. I’ve learned a lot.

    In the end I still don’t understand that specific culture. I’ve scrolled through a few of the hashtags and links you gave. Some of them I’d shorten to half the length. That some bubbles in an infographic have different color is completely useless information without telling what they’re trying to convey with the color and how that connects things. Other images I think they describe the details that are just fluff. Those details are irrelevant because they just set the atmosphere. Just say what the armosphere is, then. I think that’s making the text too long and all over the place. Making it difficult to focus on what’s really going on in the picture, what’s important, because there’s so much noise added.

    But some of the descriptions are really next level good. I wouldn’t have expected that. I think I need some more time to familiarize myself with that culture. I can’t tell if it’s some people being ultra good at it and some people mimicking it without really understanding its purpose… Or it’s me not grasping the concept / culture.

    If you say you’re already adding a concise description and a long one and adding that to the body text… Seems I’ve arrived with my reasoning somwhere near what you’ve already been doing.

    I see now why you’d like to talk about the Fediverse as you originally said. Seems to me like a matter of the Fediverse not interconnecting the way you’d need it to. And I see a fundamental problem here. I got that you’re using Hubzilla. But we’ve got to think about the perspective of a Mastodon user as long as most of your audience is there. And that platform is meant for short chunks of text. The whole platform and interface is designed to cater to that. And you’re doing long blog posts. There is a fundamental split between the two. Yet the platforms interconnect. I don’t see a way to make messages short and long at the same time. And the Fediverse is about connecting a diverse set of platforms. There is bound to be some difficulty and I don’t know if there is a good solution.

    And your perspective might be a bit spoiled. Since you’re on Hubzilla and that’s meant for a wide variety of tasks. And Mastodon on the other side is meant to narrow things down to the use-case of microblogging… It’s kind of per design that your content falls through in the process of narrowing it down. And lot’s of Fediverse platforms are meant for one task only. Either pictures or videos or threaded conversations like here. That also doesn’t translate to other platforms and looks weird on Mastodon. The users of “all-in-one” platforms like Hubzilla or Friendica etc get it all. But then it get’s problematic when interconnecting to users of “narrower” platforms. It’s always been that way. And I don’t see a way around that. At least fundamentally.

    And this manifests in the smaller issues you’re having. Like alt-text and culture that’s different amongst platforms. It’s all consequence of connecting diverse places. With your added explanation, I think I’ve now homed in on your issue…

    Lemmy seems to be the wrong place to discuss it. I don’t see the users here have and particular knowledge about such topics. And Lemmy doesn’t federate in any unique way that’d make it stand out concerning this. It’s a good place for discussion, though. Mastodon’s choice to narrow down social media is valid. So if they like not to have long text, it’s their choice. And I applaud them for developing their own culture. I’m not sure if there is a good place to discuss this. Maybe within the “all-in-one” platforms like Hubzilla. You’re bound to find more people with the same struggles there. But you also want to reach us and the Mastodon users. I mean these places are also about linking external content and blog posts. So linking a Hubzilla blog post starting a discussion about this is the best thing I can come up with. But you need to lay down the groundworks properly. I mean it also took me several back and forths to understand the core of the issue. And it’s kind of a niche topic in a niche. So brace for little engagement or interest.


  • Oh well. That’s a bit more complicated than I thought.

    First of all, it might be true that people here won’t understand you. And I’m not sure if Lemmy is the right choice for you anyways. The OpenSim community doesn’t seem very active. And since you’re talking about 13.000 character descriptions… That will also not fly on Lemmy. I think we have a 10k character limit for posts and comments here. You’d exceed that here, too.

    And then Mastodon is a microblogging platform. Originally intended for short messages. I know some people use it for a different purpose. And some people go there because of the short and concise messages. So I’m not really sure if that’s your place either. It might be you using the wrong tool for your task, since it’s intended for a different purpose and you’d need a different tool.

    I mean I don’t know where the community of 3D worlds mingle… Maybe you can take some inspiration from them if you’re not the only one.

    But it could very well the case that the alt-text and character limits of the platforms aren’t the issue here. But you choosing platforms that are not suited for your task. I’d say if your texts regularly exceed a few thousand characters, you don’t want a microblogging platform, but a macro-blogging (or just blogging) platform. There are some that are meant for long texts. And you can even use Wordpress or something like that, do your own blog and install an ActivityPub plugin if you want a connection to the Fediverse. I mean in the old times, people used more than social media and shared their thoughts in forums or on a personal blog, or a website dedicated to a topic. That comes with almost no restrictions.

    Ultimately, I haven’t seen your posts/toots. And I don’t really know the alt-text culture on Mastodon. Maybe my advice isn’t that good.

    Another thing: Is it really necessary to write that super detailed description in an alt-text? As far as I’ve learned about alt-text in webdesign, that is originally intended to give a concise description of the image in the context regarding the rest of the text. It is meant to be short and concise, like a tweet. It’s read by screenreaders and displayed if the image didn’t load. It’d be more something like: “a medieval market squares with dozens of booths, bustling with player activity.” But you won’t describe what’s sold in the market stand at the bottom right, or the portal on the left, unless it’s important in the context of the rest of your post. If you want to do a comprehensive analysis or a discussion like in art class, I’d say that goes into the main body text, and not into the alt-text. I’d consider that “abuse” of the alt tag. And it might even do a disservice to people who need accessibility, who now get a completely different experience than everybody else. I’d put that detailed description into the normal text. Maybe make it a spoiler so it collapses.

    In the end I’m not part of that community, and everything depends on what you’re trying to achieve. But that’d be my perspective: A blog would be better suited. And long descriptions go into the body text, not the alt-text. And if you choose to write longer blog posts, you can still link them on Lemmy, or post a link to it on Mastodon.


  • Hmmh. I’ve advocated for more nuanced content warnings here on Lemmy. Didn’t resonate well with neither the community nor the developers. I dropped the topic. I’m waiting for PieFed to come along and bring me an alternative backend for the Threadiverse.

    Thanks for the summary. I don’t really use Mastodon so I wouldn’t know. But I’m all for alt-text to images. I set them on every website I’m involved with…

    I’m not sure about Lemmy. I use this more for textual conversation. But now that I’ve learned how to do it in Markdown, I’ll add the description to the 5 (or so) pictures I post every year.

    I don’t think other places on the Fediverse have a distinct culture or vision. Like Mastodon has. For example Lemmy is quite random. And still dominated by the lots of ex-Reddit-users who migrated here. And we often can not agree on where we’d like to go. And I perceive a split/separation between the developers and the users. There isn’t really a conversation going on. Neither between users and developers, nor between the users themselves. So my prediction is: As of now we’re not going anywhere. Lemmy is going to stay relatively random and will also stay about the same size, until someone steps in and changes this place.

    Do you have a vision? Is there a reason why you started this conversation? Something you’d like us to do?

    (I mean you could post your comprehensive perspective in a post/thread here, and then also toot the link to Mastodon, or boost it or whatever that’s called. I think this is just a meta discussion and it’s probably not going anywhere… You got a bit of attention here, but ultimately we’re still not discussing the actual topic. At least I didn’t yet understand if you have a need or a proposal to make.)