Federation with continents with open registration becomes an issue on an island, because one of the advantages of an island network is that all signups at least require manual review, there are no open registration servers.
-
Federation with continents with open registration becomes an issue on an island, because one of the advantages of an island network is that all signups at least require manual review, there are no open registration servers.
This is to close a porous hole in the network where people can create infinite puppet accounts, or spawn up a new one, every time they get banned. It prevents scripted bot attacks, too.
On an archipelago, the other islands you federate with are all closed or reviewed signups.
But as soon as your island federates with an open registration server, you've created a potential hole or vector for harassment against members of your island (the rest of the network remains protected, however). You can't guarantee random spammers might not send out crypto spam DMs to members of your island in such a case, whereas you can be reasonably well assured such spamming will never come from within the archipelago.
So if I was creating a 'safe' allowlist for an island, (something I'm building will let you do this yourself) I'd not include a single open registration server on it.
-
Oliphantom Menacereplied to Oliphantom Menace last edited by
The only reason I have Follow Requests turned on for my account is literally open registration servers.
-
Oliphantom Menacereplied to Oliphantom Menace last edited by
Once again, the GTS defaults have this covered. There is no open registration with GoToSocial. If signups are enabled in GTS, they still require manual review.
If you have open signups, you have a problem, and GTS without having open signups, technically has a problem, too: Unless someone is there to push the "approve" button, you can't just signup and get in right away. There's a waiting period.
But is it a problem to solve? Consider one of the key guiding principles in my life:
The Bigger Problem Problem
It starts thus: Consider that outside of math, there is no such thing as solving a problem.
No. Wait. Let me state that even more clearly:
There is no such thing as solving a problem without creating more problems.
Simple example: You keep your racist uncle from showing up to the wedding, but now half the family is pissed at you, and now some of them aren't coming. At the very least, he's pissed at you. Solved one problem, created more problems.
There's an old joke in programming circles with regards to regular expressions.
I had a problem, so I used a regular expression. Now I have two problems.
(The same has been said of caching or numerous other programming techniques.)
So like, you have a performance problem, so you add caching to solve it. But now you have a new problem: expiring the cache and managing it. You also have to periodically update your caching library, as well as update the cache itself (redis?). This might be worth doing anyway, but you should not act like you did not introduce new issues that will need to be addressed later, because you have. If the cache breaks, does your whole site go down? Did you build in some kind of hard dependency? It never ends!
Wise programmers learn early to adhere to the YAGNI principle and to recognize that you might think you're solving a problem, but many times, you're also creating a new one. You may be creating several. Worse, you may in fact be creating a bigger problem, that will take even longer to solve, thus forcing you into doing a faster JHAW (janky, half-assed workaround) that will continue to plague your existence. (We call the creation of this new problem made out of your spit, band-aids, and Monster energy drink: "code debt.")
Ideally, you have to be very pragmatic about it, and ask yourself:
What problems am I willing to live with?
You can do this analysis with various areas of your life, too. Decide what the deal breakers are, which problems need to be solved, and foresee what new problems solving these issue might create. If you're willing to live with the existing problem, leave it alone. If the new problems are worse than the current problem, leave it alone. Before you solve the problem, consider if you're truly ready to deal with the new problem(s) that arise.
Start thinking of some problems as a feature, that gets you out of having other problems.
There's only so many spoons, there's only so much of you, so many hours in the day, so much money in the budget for the project--it's all the same thing.
Life is problems, and programmers are professional problem-solvers. It's got to be applicable elsewhere in life besides just programming....right?
When a family member asks "What do programmers do?" I've tried giving what feel like simple explanations and their eyes almost instantly glaze over.
There's a simpler answer.
What is a programmer? A programmer is a professional problem-solver.
You literally get paid to figure out how to solve problems, which also means you need to be a skilled "problem assessor" and recognize the fractal nature of problems, and that in solving one, you're likely creating another.
Software Bugs are usually an exception to this rule, and that's why fixing bugs is so emotionally satisfying. You get to literally cross something off a list and know that no new problem is taking its place. I'm sure solving higher math problems feels even more like this, if I could do higher math.
Of course, there's a downside to being a programmer and seeing the world as problems to be solved, especially when a loved one keeps telling you to stop trying to solve the "problem" that they are sad, and just listen to them. Just as a...random example.
HOW did I get on this thread?
Oh. Right.
GoToSocial technically has a "problem". The software doesn't support open registration, all registrations require manual review, this creates the "problem" that someone must always approve registrations.
And GoToSocial decided, "We're willing to live with this problem, in fact we WANT this problem" and as such they don't need to add captchas and shit to the signup process, or worry about AI bots signing up, among other things.
Successfully navigating the Bigger Problem Problem and making it a feature.