If I have several backends that more or less depend on each other anyway (for example: Lemmy + pict-rs), then I will create separate databases for them within a single postgres - reason being, if something bad happens to the database for one of them, then it affects the other one as well anyway, so there isn’t much to gain from isolating the databases.
Conversely, for completely unrelated services, I will always set up separate postgres instances, for full isolation.
They specifically called it “child abuse content”, not “child abuse”. This seems perfectly valid, no?
By the way, just because these are digital renderings does not mean that there is no harm. Seeing such content can still be harmful to past victims. Just try to put yourself in this situation: imagine just playing some video game online, and suddenly being exposed to people recreating traumatic experiences from your past. Not only that - you also discover that the creators of the video game are involved & actively enabling such content. Seems completely messed up to me.
As a test, I ran this on a very early backup of lemm.ee images from when we had very little federation and very little uploads, and unfortunately it is finding a whole bunch of false positives. Just some examples it flagged as CSAM:
Do you think the parameters of the script should be tuned? I’m happy to test it further on my backup, as I am reasonably certain that it doesn’t contain any actual CSAM
Any thoughts about using this as a middleware between nginx and Lemmy for all image uploads?
Edit: I guess that wouldn’t work for external images - unless it also ran for all outgoing requests from pict-rs… I think the easiest way to integrate this with pict-rs would be through some upstream changes that would allow pict-rs itself to call this code on every image.
This approach makes so much sense from a business perspective.
How many here have this experience: out of my entire friend group that I grew up playing video games with, I can’t think of a single person who kept pirating games after acquiring disposable income, even though we all exclusively played pirated games as teenagers. Without piracy, none of us would have had access to any games, and very likely none of us would still be into gaming today, spending probably thousands of euros every year on games, consoles, PC components, etc.
I would recommend reconsidering that solution - I’ve already seen some malicious image uploads which Cloudflare has caught and prevented. For example:
Maybe you can check which specific rule from the ruleset was being triggered? For me, legit uploads are still working with the default ruleset (as you can see by the screenshot I uploaded in this very comment), so maybe you enabled some extra rules?
There has been some very loud opposition to this, but thankfully it’s a minority. Great to see that our constitutional right of not being discriminated against based on sex finally also applies to marriage as well.
By the way, shameless plug, we have a small Estonian community going at !eesti@lemm.ee - if anybody wants to chat about Estonia or with Estonians, then English posts are more than welcome as well 😃
I use a 50%-50% mix between git
CLI and the built-in git tools in JetBrains IDEs.
To be honest, I could quite easily get by with just the JetBrains GUI - they have a super sophisticated GUI that can easily handle things like interactive rebase, cherry-picking, etc + they have a great conflict resolution tool. I just use the cli every now and then if I want to get something done quickly while I don’t have an IDE window open.
The fragmentation is not inherent to how Lemmy works - the exact same fragmentation can and does happen on Reddit. Just a random example: https://imgur.com/inXBMMA
On Reddit, it usually works out in the end in one way or another. Either mods decide to team up and combine their communities, or the users just naturally pick one community as the “winner”.
A lot of people feel the same way. The good news is that there is work underway to imporve https://join-lemmy.org as we speak, hopefully new users will start seeing some improvements there soon!
Reddit admins are just protecting lemmy.ml from being further overloaded!
In all seriousness, it’s best to direct people to https://join-lemmy.org rather than any specific instance - the list of instances there is constantly being updated and can be used to spread out the load between different instances. Even so, your post would most likely still have been removed from Reddit, regardless of what specific Lemmy url you’re posting.
I just want to point out that you don’t need to use neither Docker nor nginx to run Lemmy.
At the end of the day, the really required pieces are:
lemmy_server
binarypict-rs
binaryHow you get those things to talk to each other is totally up to you. There’s nothing stopping you from just using Apache as a reverse proxy, for example.
One possible Dockerless setup is described here: https://join-lemmy.org/docs/en/administration/from_scratch.html. This should give you some idea of how it could be done.
I think there are two separate things I want to address here:
First, agile isn’t a project management methodology, it’s just a set of 4 abstract priorities and 12 abstract principles. It’s very short, you can check it out here:
https://agilemanifesto.org/
Nothing here says that you’re not allowed to write documentation, write down requirements, etc. In fact, the principles encourage you yourself as a software team to create the exact processes and documentation that you need in order to meet your goals.
“Working software over comprehensive documentation” does not mean you aren’t allowed to have documentation, it just means that you should only write documentation if it helps you build working software, rather than writing documentation for the sake of bureaucracy.
“Individuals and interactions over processes and tools” does not mean that you should have no processes, it just means that the individuals in your team should be empowered to collaboratively create whatever processes you need to deliver good software.
Secondly, in terms of practical advice:
a. You have metrics about how your system is used.
b. You have automated tests covering any requirements, so that you can feel confident when making changes to one part of the system that it isn’t violating any unrelated requirements.
c. You actually document any confusing parts in the code itself using comments. The most important thing to cover in comments is “why is this logic necessary?” - whenever something is confusing, you need to answer this question with a comment. Otherwise, the system becomes very annoying to change later on.
If you are missing any of the above, then propose to your team that you start doing it ASAP