h3ndrik

joined 1 year ago
[–] h3ndrik@feddit.de 2 points 5 months ago* (last edited 5 months ago) (1 children)

Hmm, if you have a home network anyways... Maybe you can run AdGuard/PiHole there. I've switched to blocky.

I made it listen externally and just configure it in the network settings of my devices to override the automatic DNS server. That way I don't need to install sth like AdAway on all of my laptops and phones, because I have one central instance.

Is there anything else that blocks video ads? I've never found anything except for uBlock which actually works. And I've recently learned that you can enable developer mode in Firefox based browsers on Android and install all the Plugins they don't like you to use on mobile. Like SponsorBlock etc.

[–] h3ndrik@feddit.de 11 points 5 months ago* (last edited 5 months ago) (6 children)

You mentioned exactly the two ROMs I'm currently using. GrapheneOS on my Pixel phone. And LineageOS for microG on my Samsung tablet. I'm really happy with both of them.

I don't use that many proprietary tech so there is little issues for me. My car only has regular old plain bluetooth, so I wouldn't know. And instead of some add-on firewall/dns adblocker solutions, I'm just using the ~~Librewolf~~ Mull browser with the uBlock plugin.

[–] h3ndrik@feddit.de 3 points 5 months ago

I think you're doing it wrong. There are lots of people on Mastodon.

[–] h3ndrik@feddit.de 3 points 5 months ago* (last edited 5 months ago)

It depends on the exact specs of your old laptop. Especially the amount of RAM and VRAM on the graphics card. It's probably not enough to run any reasonably smart LLM aside from maybe Microsoft's small "phi" model.

So unless it's a gaming machine and has 6GB+ of VRAM, the graphics card will probably not help at all. Without, it's going to be slow. I recommend projects that are based on llama.cpp or use it as a backend, for that kind of computers. It's the best/fastest way to do inference on slow computers and CPUs.

Furthermore you could use online-services or rent a cloud computer with a beefy graphics card by the hour (or minute.)

[–] h3ndrik@feddit.de 1 points 5 months ago* (last edited 5 months ago)

Hmm, I get you. But I don't think that's what this discussion is about. I'm more concerned with the technical difficulties / impossibilities / inconsistencies with the approach. Less so if it should replace the current solution or a possible upgrade path. That's something to worry about later. It's more like I don't think it's going to work properly. It's more combining the disadvantages of two different approaches.

But I'm happy if someone goes ahead and does a better approach. I also see the shortcomings of the current solution. Maybe I'm being too pessimistic.

[–] h3ndrik@feddit.de 1 points 5 months ago* (last edited 5 months ago) (2 children)

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.)

[–] h3ndrik@feddit.de 5 points 5 months ago* (last edited 5 months ago) (1 children)

I have Debian on my servers for a decade or so, and on several workstations. My past experience doesn't quite reflect that. The Debian guys and gals have always been pretty quick with patching the vulnerabilities. Like outstanding fast.

There is some merit to the bugfixing. But that's kind of the point of Debian Stable(?!) Like in the meme picture of this post I don't want updates each day. And I also don't want the software on my servers to change too much on their own. I know my bugs and have already dealt with them and I'm happy that it now works seamlessly for 6 months or so...

And that's also why I have Debian Testing on my computer. That gives me sort of an unofficial rolling distro. With lots of updates and bugfixes. I mean in the end you can't have no updates and lots of updates at the same time. It's either - or. And we can choose depending on the use-case. (I think the blame is on the admin if they choose a wrong tool for a task.)

[–] h3ndrik@feddit.de 5 points 5 months ago (3 children)

Meh. No Flatpak, no worries. And no updates, no new software or security patches.

[–] h3ndrik@feddit.de 1 points 5 months ago* (last edited 5 months ago) (1 children)

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.

[–] h3ndrik@feddit.de 1 points 5 months ago* (last edited 5 months ago) (3 children)

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.

[–] h3ndrik@feddit.de 3 points 5 months ago* (last edited 5 months ago)

I think I can agree with that. For me it's a bit the other way around. My friends aren't on Discord. But the network effect is kind of hard to overcome. I'd say you can learn about privacy and new (to you) software and protocols by spending two or three evenings of your life. But convincing all your friends so it becomes any fun is considerably harder. I'd just name the actual issue, then. Otherwise people confuse it with Linux or Signal/Matrix/whatever being harder to operate.

[–] h3ndrik@feddit.de 4 points 5 months ago* (last edited 5 months ago) (5 children)

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.

view more: ‹ prev next ›