Lodra

joined 1 year ago
[–] Lodra@programming.dev 2 points 7 months ago (1 children)

I’m generally not a big fan of big social media like e.g. Facebook where you might have many thousands of followers, purposefully grow the numbers, etc. I personally think these things are an everyday evil. Yes, it’s a bit melodramatic 🙂but that’s how I feel. Reddit, and now Lemmy are about as far as I like to go with it.

So the isolation of geo-local-only federation is a feature. The feature, actually. I want an entire social media platform that isn’t capable of focusing on single accounts. Where you are near guaranteed to interact with your local community only. Where it would take a dramatic effort for a single actor to influence global opinions. I want a social media platform that isn’t so easy to manipulate. I could go on and on.

[–] Lodra@programming.dev 4 points 7 months ago (3 children)

After reading your responses, it seems like we’re describing two different methods of building this system.

Your ideas seems to depend on having many instances for various regions, where all instances are federated with each other. So my local instance somewhere in the US would still be federated with for example, an instance in Germany. But the content I receive would be heavily focused on “nearby” content. Interesting

My ideas are based on an important difference. An instance for my town would only federate with instances for the surrounding towns. Maybe one or two more “hops” away. So sharing content between my local instance and one in Germany would be impossible. Content on my local instance would only be accessible to users in nearby instances. Local content enforced by local federation.

[–] Lodra@programming.dev 34 points 7 months ago (7 children)

I spent several weeks thinking about this exact idea.

Federation is cool. You could set up each instance to only federate with instances for nearby towns and cities. Maybe a “2 district” radius. Users would only see content for their local communities. Local news stays local. Local government could officially participate if they wish. People you talk to are actually neighbors you might see in person. Larger regions like counties, states, provinces, or even countries, could also have dedicated instances and federate similarly. I think this is the big appeal and it sounds awesome!

There are a few problems 🙂

First is a little bit of confusion with posting. Let’s say that I see a post about a cool new restaurant in my town. I share it with a friend who lives a few towns away and that’s outside the “federation radius”. I can’t share the post with that friend very easily. Maybe the tools could be enhanced to make this viable?

Second is a matter of privacy. How do you know that new accounts belong to people associated with the geographic location of each instance? If you don’t validate, the system will certainly be abused. If you do validate, then users need to supply some real info! Home address, ID, etc. that’s a big deal for users and instance admins.

Third. What happens if you move? Do you have to abandon your old account and start over? Again, the system itself can be developed further to solve this. But that’ll take time and money.

Next is the operating costs. You would need to build thousands of instances to build this system up. And each one would have to be tied to a geographic region. You need new features to handle signups this way. You have the simple cost of running these servers. You probably need a lot of staff to manage it all. This is an expensive platform for one party to run. Alternatively…

It doesn’t have to be one party running this entire system. That’s the point of the Fediverse, right? The operational costs go way down if anyone can run their own instance. But how do you enforce the rules of federating with instances for geographically nearby locations? I don’t see a reasonable way to solve this one.

I could probably keep listing issues. But these are the big ones IMO. If you solve these, the system is viable and could be amazing.

[–] Lodra@programming.dev 3 points 7 months ago

I ditched chrome (chromium + google propriety spyware) some years ago in favor of Brave browser (chromium + Brave stuff). It was a decent user experience but Brave also does some shady stuff, which you can google easily if interested.

Last year, google poisoned chromium with DRM stuff. They rolled back the changes after a few months but the damage was already done. I, and many others, jumped ship to Firefox and other non-chromium based browsers. Firefox isn’t perfect, but it’s an excellent browser. I’m sticking with it for the foreseeable future. And absolutely use uBlock Origin. Between that and proton VPN features, I don’t see ads anymore. It’s fantastic.

[–] Lodra@programming.dev 19 points 7 months ago (7 children)

Strange. I’m not exactly keeping track. But isn’t the current going in just the opposite direction? Seems like tons of utilities are being rewritten in Rust to avoid memory safety bugs

[–] Lodra@programming.dev 23 points 7 months ago* (last edited 7 months ago) (2 children)

At first, I found this funny. Then I realized how scary, sad, etc. the reality is.

Companies typically prefer users to use a native app for two reasons. First, the software is sometimes easier to build. Second, they are capable of scraping a vastly larger and more valuable set of data from the user.

Browsers can hit many differs sites, many of which are dangerous. Thus, web browsers have to be as secure as possible to protect users from malicious sites. This includes Facebook, TikTok, every medical site you’ve ever logged into, etc.

I know a lot about software. Personally, I view every installed app as a means of attacking my privacy. If you have the choice and your experience isn’t diminished, use a web browser instead of a native app.

Edit:

Something else to note. The larger companies are almost always much worse. Take a look at Facebook on the Apple Store: https://apps.apple.com/us/app/facebook/id284882215

Go down to App Privacy and View Details. It’s absolutely terrible how much data they collect. Unethical at a minimum. Now compare to Voyager for Lemmy: https://apps.apple.com/us/app/voyager-for-lemmy/id6451429762

“Data Not Collected”

[–] Lodra@programming.dev 20 points 7 months ago (1 children)

I recently discovered k3d. It’s a light wrapper around k3s, which is kubernetes on docker. It’s amazingly easy to use! If you have docker installed, you can learn the commands and create a k8s cluster in under 5 minutes.

For anyone like me that likes k8s, k3d is a fantastic alternative to docker compose!

[–] Lodra@programming.dev 37 points 7 months ago (1 children)

This is regulated. And there are penalties for violating those regulations. But it’s just not enough. Even a class action lawsuit won’t help the victims. Most of that money goes to lawyers.

Honestly, I don’t expect any of it to change until the penalties are so severe that major companies go under. Aka a corporate death penalty (which the US used to have). But even then, good software security is extremely hard. Almost everyone screws up something.

[–] Lodra@programming.dev 4 points 8 months ago

I agree in full!

I’ve thought quite a bit about corporate funding of the fediverse. The only possibility good way that I currently see is if there’s a not-for-profit acting as a middle man to dispense the funds. And that not-for-profit can’t voice opinions on how the fediverse is developed. Even this is wishful thinking.

I’ve actually given thought to creating this non-for-profit but I don’t really know how to get started or get attention for significant donations.

[–] Lodra@programming.dev 15 points 8 months ago (3 children)

Well this confuses me. I’m only aware of upvotes and downvotes. What do the 4 colors mean? And what do the left and right arrows mean? Arrow size?

[–] Lodra@programming.dev 4 points 8 months ago* (last edited 8 months ago)

The simplest way is certainly to use a hosted service like GitHub Pages. These make it so easy to create static websites.

If you’re not flexible on that detail, then I next recommend Go actually. You could write a tiny web server and embed the static files into the app at build time. In the end, you’d have a single binary that acts as a web server and has your content. Super easy to dockerize.

Things like authentication will complicate the app over time. If you need extra features like this, then I recommend using common tools like nginx as suggested by others.

[–] Lodra@programming.dev 2 points 8 months ago

Absolutely a good perspective on the surrounding infra! I fully agree. Thanks for sharing.

view more: ‹ prev next ›