h3ndrik

joined 2 years ago
[–] h3ndrik@feddit.de 8 points 1 year ago (1 children)

Haltet uns auf dem Laufenden. ☺️

[–] h3ndrik@feddit.de 1 points 1 year ago* (last edited 1 year 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 2 points 1 year ago* (last edited 1 year ago)

Hmmh. I can't really make an informed statement. I can't fathom qemu being experimental. That's like a 20 year old project and used by lots of people. I'm not sure. And I've yet to try Box64.

I looked it up. The Snapdragin X Elite "Supports up to 64GB LPDDR5, with 136 GB/s memory bandwidth" while the Apple M2/M3 have anywhere from 100 GB/s memory bandwith to 150/300 or 400. (800 in the Ultra). And a graphics card has like ~300 to ~1000GB/s)

(Of course that's only relevant for running large language models.)

[–] h3ndrik@feddit.de 1 points 1 year ago* (last edited 1 year 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 1 year ago* (last edited 1 year 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 1 year ago* (last edited 1 year 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.

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

Well, the obvious answer to nearly all those broad questions is: "It depends..."

But I mean what "work" and "effort"? I mean using Matrix isn't exactly hard... You need to install an App, register for an account, think of a password and log in... That's pretty much the same complexity as with Facebook or Discord?!

Surely issueing big tech companies a blank cheque for your life is easy. And you get free services in return. But I don't think using privacy respecting services and even Linux to do your office stuff is substancially more difficult than giving away all your data.

[–] h3ndrik@feddit.de 35 points 1 year ago (3 children)

Klagen? Einstweilige Verfügung / Eilentscheid?

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

Wow. That settles the discussion pretty quickly...

I'm not sure with the transition layer... Isn't there things like qemu and box64... And multiarch support is part of most of the Linux distributions as of today? I always thought it's just a few commands to make your system execute foreign binaries. I mean I've only ever tried cross-compiling for arm and running 32bit games on amd64 architecture so I don't know that much. In the end I don't use that much proprietary software, so it's not really any issue for me. >99% of Linux software I use is available for ARM. But I can see how that'd be an issue for a gamer, regardless of the operating system being Windows or Linux or MacOS.

And I'm not really interested in the AI coprocessor itself. The real question for me is: Can it do LLM inference as fast as a M2/M3 Macbook? For that it'd need RAM that's connected via a wide bus. And then there's the question what does a machine with 64GB of RAM cost. That's the major drawback with a Macbook because they get super expensive if you want a decent amount of RAM.

[–] h3ndrik@feddit.de 14 points 1 year ago* (last edited 1 year ago) (19 children)

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

[–] h3ndrik@feddit.de 14 points 1 year ago

As far as I know you want a web application firewall to block attacks. A reverse proxy is just to proxy requests and doesn't necessarily care if it forwards legitimate traffic or attacks.

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

Maybe you can find a guide/tutorial on how to set it up?

Usually you need the correct packages installed on your system to enable something like VAAPI or QSV. Then you need a version of ffmpeg with that enabled. And then configure it in Jellyfin correctly.

I don't have any specific insights on how to do it with Fedora. I suppose it's very similar to how it's done on other Linux distros.

view more: ‹ prev next ›