If you’re comparing stock Android against stock iOS, Apple has more privacy protections against tracking because of App Tracking Transparency.
Her sidder jeg, med mit hjerte brudt // Prøvede at skide, men slog kun en prut
If you’re comparing stock Android against stock iOS, Apple has more privacy protections against tracking because of App Tracking Transparency.
I have two phones as daily drivers, one Android and one iPhone. Compared to Android, the iPhone is very restrictive and locked down. Adblockers don’t work and you’re forced to use whatever iOS interface it throws at you. Buttons and gestures move around with every update. There’s no way to view and manage internal files, no sideloading, lots of options that are just not accessible to normal users.
The positive side is that iPhones are very optimized and I can get similar performance to my Android phone despite the iPhone being older and having worse specs. The closed ecosystem also has its benefits, because it makes data very hard to get out, so I use the iPhone as a device to sandbox all the Meta crap that I’m forced to use.
Federated actions are never truly private, including votes. While it’s inevitable that some people will abuse the vote viewing function to harass people who downvoted them, public votes are useful to identify bot swarms manipulating discussions.
There should be a patch for it that hides the “recommended” feed in the homepage. I’m not certain because I never use Youtube with an account or the official website/app, so I don’t get targeted recommendations.
Hate speech laws in real life are also very ambiguous and rarely stand alone in court without another more easily proven charge.
Upvote to you too anyway, although I’m still guilty of using downvote as a disagree button.
That’s why I suggested Revanced with “disable recommendations” patches. It’s still Youtube and there is no new platform to learn.
I didn’t bother to check who it is because I’m not petty enough, but there’s a guy on my instance who downvotes everything. I think some people are using downvotes to “hide read posts” as voting counts as reading a post.
“Discussions became binary”. And yet you subscribe to the binary of “hateful vs. non-hateful opinion” as if it’s clearly identifiable.
This is happening across the entire continent. Mass immigration is a common strategy to destabilize social systems and force voters to accept bad compromises.
I watch a ton of videos there, literally hours every single day and basically all my recommendations are about stuff I’m interested in.
The algorithm’s goal is to get you addicted to Youtube. It has already succeeded. For the rest of us who watch one video a day, if at all, it employs more heavy-handed strategies.
I think it’s sad how so many of the comments are sharing strategies about how to game the Youtube algorithm, instead of suggesting ways to avoid interacting with the algorithm at all, and learning to curate content on your own.
The algorithm doesn’t actually care that it’s promoting right-wing or crazy conspiracy content, it promotes whatever that keeps people’s eyeballs on Youtube. The fact is that this will always be the most enraging content. Using “not interested” and “block this channel” buttons doesn’t make the algorithm stop trying to advertise this content, you’re teaching it to improve its strategy to manipulate you!
The long-term strategy is to get people away from engagement algorithms. Introduce OP’s mother to a patched Youtube client that blocks ads and algorithmic feeds (Revanced has this). “Youtube with no ads!” is an easy way to convince non-technical people. Help her subscribe to safe channels and monitor what she watches.
Using Piped/Invidious/NewPipe/insert your preferred alternative frontend or patched client here (Youtube legal threats are empty, these are still operational) helps even more to show you only the content you have opted in to.
Lemmy: Oldest federated link aggregator, better documentation compared to Kbin, easy to self-deploy, less resource consumption, provides the most similar experience to Reddit
Kbin: Poorer documentation, no API access yet, harder to self-deploy, terminology and UI differences from Reddit can turn people off (I really don’t like “magazine” for a community)
Tildes: Centralized, invite-only and elitist. Not comparable to Lemmy and Kbin
They can. My country’s right wing parties supported mass immigration together with the left, and once the consequences of it became too severe to ignore, they switched to “drain the swamp” campaigning to get votes. Now that they got the votes and are a majority in government, no concrete action is being taken to solve the problems of mass immigration, but corporate subsidies are being handed out.
Why do you have to use NGINX? Caddy does the proxying to the Lemmy containers for you. That docker-compose.yml file is my entire deployment, there is no hidden NGINX container or config file that needs to be added. Just remove your broken Lemmy deployment with docker compose down
and delete the containers, then docker compose up
my docker-compose.yml (after you edit the postgres variables) with config.hjson in the same folder.
Oh shit, I forgot that your Caddy would be running on a bridge network by default because mine is on the host network where all ports are already exposed to it! (It’s generally a bad idea to use the host network, so don’t do this if you’re only using Caddy with containers on the same network) I edited the Gist to expose 80 and 443 for HTTP/S on that container, the updated file uses the same Github link. Really sorry about that!
Ugh, that one is a problem with indentation because pasting the config into a Lemmy comment destroys the formatting. I uploaded it on Github to preserve the correct indentation.
Yeah, the config file on the documentation sucks. I had to poke through several discussions on /c/selfhosting to find a config that wasn’t the extremely minimal one linked in the documentation. Your config.hjson
is fine from what I can tell, although I’m not sure why you censored the hostname
there as it’s supposed to be lemmy.emphisia.nl
and not anything confidential.
Honestly, I don’t have enough understanding of NGINX to debug its config, so I’ll just share my docker-compose.yml for leddit.danmark.party which worked correctly and federated out of the box, with a few adjustments to match your deployment. Note that you’ll have to tear down your existing deployment if you want to use this docker-compose.yml because they use the same ports.
version: "3.9"
x-logging:
&default-logging
options:
max-size: '10m'
driver: json-file
services:
caddy:
image: caddy:2
volumes:
- ./volumes/caddy:/data
- ./volumes/caddy:/config
# See Caddy's documentation for customizing this line
# https://caddyserver.com/docs/quick-starts/reverse-proxy
command:
- /bin/sh
- -c
- |
cat <<EOF > /etc/caddy/Caddyfile && caddy run --config /etc/caddy/Caddyfile
{
debug
}
(common) {
encode gzip
header {
-Server
Strict-Transport-Security "max-age=31536000; include-subdomains;"
X-XSS-Protection "1; mode=block"
X-Frame-Options "DENY"
X-Content-Type-Options nosniff
Referrer-Policy no-referrer-when-downgrade
X-Robots-Tag "none"
}
}
# Lemmy instance
lemmy.emphisia.nl {
log
import common
reverse_proxy http://lemmy-ui:1234 # lemmy-ui
@lemmy {
path /api/*
path /pictrs/*
path /feeds/*
path /nodeinfo/*
path /.well-known/*
}
@lemmy-hdr {
header Accept application/*
}
handle @lemmy {
reverse_proxy http://lemmy:8085 # lemmy
}
handle @lemmy-hdr {
reverse_proxy http://lemmy:8085
}
@lemmy-post {
method POST
}
handle @lemmy-post {
reverse_proxy http://lemmy:8085
}
}
EOF
lemmy:
image: dessalines/lemmy:0.18.1-rc.9
ports:
- 8085:8536
volumes:
- ./lemmy.hjson:/config/config.hjson
depends_on:
- postgres
- pictrs
restart: always
logging: *default-logging
lemmy-ui:
image: dessalines/lemmy-ui:0.18.1-rc.9
ports:
- 1234:1234
environment:
- LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy:8085
- LEMMY_UI_LEMMY_EXTERNAL_HOST=localhost:1236
depends_on:
- lemmy
volumes:
- ./volumes/lemmy-ui/extra_themes:/app/extra_themes
restart: always
logging: *default-logging
postgres:
image: postgres:15-alpine
ports:
- 5432:5432
environment:
- POSTGRES_USER=MyPostgresUser
- POSTGRES_DB=MyPostgresDb
- POSTGRES_PASSWORD=MyPostgresPassword
volumes:
- ./volumes/postgres:/var/lib/postgresql/data
restart: always
logging: *default-logging
pictrs:
image: asonix/pictrs:0.4.0-rc.7
user: 991:991
hostname: pictrs
environment:
- PICTRS__MEDIA__VIDEO_CODEC=vp9
- PICTRS__MEDIA__GIF__MAX_WIDTH=256
- PICTRS__MEDIA__GIF__MAX_HEIGHT=256
- PICTRS__MEDIA__GIF__MAX_AREA=65536
- PICTRS__MEDIA__GIF__MAX_FRAME_COUNT=400
volumes:
- ./volumes/pictrs:/mnt
restart: always
logging: *default-logging
postfix:
image: mwader/postfix-relay
environment:
- POSTFIX_myhostname=lemmy.emphisia.nl
restart: "always"
logging: *default-logging
I don’t use NGINX as my proxy server, but it’s a bit strange that you would need two configs for this while mine runs perfectly with one config and two open ports (:8536 for Lemmy-BE and :1234 for Lemmy-UI). And why are you using different versions of Lemmy-BE (18.1-rc9) and Lemmy-UI (18.1-rc4)?
If you are using the default docker-compose.yml
on the Lemmy repo, that part of the NGINX config uses https:// + the name of the Docker containers. And you always give NGINX the external port (the number on the right side of the colon defined in ports:
, like 1234 in 1234:5678
). The port on the left is only known to the container the port is defined for.
If it’s still broken after you correct the NGINX config, what are your docker-compose.yml
and config.hjson
like? There’s several versions of them floating around and you might have combined incompatible versions with each other.
No, it’s 100% economics. Why do you think that having “careers, lives and travel” (as if having a family is not having a life?) is more appealing to modern first worlders? Because it doesn’t impact their finances severely. Having more children in impoverished countries is a financial gain because children are free labor and lottery tickets to get the entire family out of poverty. In wealthy countries, children are only a financial loss.