NCL Meta
A community for discussing this instance, Lemmy as a whole, and expressing concerns.
NCL Meta is also the home of "Foundations of Lemmy," a series where I do my best to write detailed, freely-licensed guides that address points of contention for new users.
Rules:
This community follows EP's Unified Community Rules.
Hey everyone, Two nights ago, we got hit with a wave of spam bot sign-ups. I couldn't figure out quite what it was at first, which led to something like 2500+ spam accounts making it through before I enabled CAPTCHAs. This wasn't an isolated incident, as it looks like just about any instance that was susceptible was targeted. That seemed to thwart their efforts, but we were left with a large number of accounts that were not trivial to remove. In the end, I used a few commands similar to the one listed below to remove the extraneous accounts. It's still likely there are a few spam accounts left over, but the vast majority are now banned. I will see what I can do about the remaining ones, but I thought I would let you know what was going on. Unless your email address happens to contain long strings of numbers or a bogus domain, your account should be safe. If your account was banned and you aren't a robot, feel free to email me at [email protected], and I'll unban you manually.
SQL command in question:
UPDATE person SET banned=true WHERE id IN (SELECT p.id FROM person as p LEFT JOIN local_user as l ON p.id=l.person_id WHERE p.local=true AND p.banned=false AND (l.email NOT LIKE '%@%.%' AND NOT l.email='' OR l.email LIKE '%@gmail.com' AND l.email ~'[0-9]{4,}') AND l.email_verified='f');
If you're interested in using this command to combat spam on your own Lemmy instance, it would be in your best interest to run a select command before running this one, just to make sure it's working correctly.
Oh, and here's how you get into your PostgreSQL database on a standard Ansible/Docker install:
docker exec -ti <instance_name>_postgres_1 psql -U lemmy
I'll tack this on the bottom here, but our SMTP Relay is now operational. If you get locked out of your account and need to request a password reset link, it should work.
Here's the donation link if you wish to help support us with server costs. A recurring monthly donation in the amount you choose would be greatly appreciated.
Current server specifications and associated costs:
$18/mo - VPS: 2 Intel vCPUs, 2 GB RAM, 25 GB Regular SSD
$3.60/mo - Weekly Backups
$0/mo - Sendgrid SMTP Relay
$2.48 ($0.21/mo) - First Year of Domain Registration
-----
$21.81/mo
Thank you to everyone who has already supported us. If you would like your username added to this post, please let me know.
In Chapter 2 of Foundations of Lemmy, we discussed how to use one account on your home instance to subscribe to communities on other servers. This post builds on this concept to address a few points of confusion I see within the community. If you're unsure how to use one account to access and subscribe to communities on federated servers outside of your own, Chapter 2 is worth a read.
Ultimately, the goal behind a federated platform like Lemmy is that it acts like one large social media site yet is decentralized and therefore hosted and controlled by many small individual servers. In general, you only need one account to access the entirety of what Lemmy has to offer. What seems to be causing most of the confusion is that, in some situations, you may end up accessing content from a different instance than your own. For example, a direct link to this post probably took you to NormalCity.life, even though you could have accessed this post directly from your home instance. You're in the right place if you're unsure how to do this. This is the main focus of this chapter. We will also explore how, in some cases, moving to a different instance may be advantageous if your home instance is defederated.
Dealing With Direct Links
Before we dive too deep into this topic, it's important to remind you that your account is only accessible from the instance in which you signed up for it. In other words, an account here on NormalCity cannot be used to log in directly to other instances. You can access and interact with content from other instances here, but the username and password you used for your account only authenticate with and are stored on this server (or your home instance).
With this in mind, it's clear that our goal is to navigate to the content we want to see, but we need to do so from our home instance in order to interact with it. There are a lot of ways you might come across a direct link somewhere on Lemmy, but let's explore the basic scenario of being sent a link via a message or a comment. Perhaps you're happily browsing all of Lemmy from your home instance, and you've even mastered subscribing to communities. In one of the comment threads you're participating in, another user on Lemmy.world sends you a link to a post about cats. If you click that link directly, you'll be taken to Lemmy.world, but your account is on (for the sake of this example) NormalCity.life. So, as far as Lemmy.world is concerned, you have no account, so it asks you to sign in to interact with the post.
By directly clicking the link, we end up on Lemmy.world, where we have no account registered. You might see a warning like this, which asks you to sign in or create an account. Of course, both of these things are pointless if you already have an account on your home instance.
Stand strong, Lemmy user. You need not listen to such lies; the power to access the post from the account you already have doth exist. The easiest way to access the content is, in fact, to navigate to the main community where the post is located. If you can copy the URL, you'll be able to search for the entire community on your home instance.
The aforementioned cat picture is located in this remote community. Remember, this is the remote server, Lemmy.world. We'll still need to go to our home search page to look for this community.
We covered this part in Chapter 2, but here's the relevant excerpt:
Once you have the link copied, proceed to the search page for your instance. If your account is located on this instance, NormalCity, our search page is located here. If not, it's simply <domain.com>/search, replacing with the domain name of your home instance. You can also access it using the magnifying glass icon at the top of the web UI. Once you're there, paste the URL you've copied and click the "Search" button. Wait, what? No results? It may appear so at first, but Lemmy is capable of reaching the community in question. The issue is that it can take a few seconds for the results to appear, so pressing the "Next" button several times will likely eventually lead to the result appearing. It may also appear if you give it some time, although spamming "Next" tends to work best for me.
Here's what the result should look like if you follow the above instructions. Obviously, you need to click on the search result to navigate to the community. This will take you to the community in question, but you will be browsing it from your home instance. In this case, I'm browsing on NormalCity, but the community is located on Lemmy.world's server.
Once you're browsing the community on your home instance, you have a few options. You can find the post you were linked to manually, as it's probably at the top of the sort. You can also try using the search feature again, but paste in the post link. Since your home instance has now cached the remote community, the search feature will work well for finding individual posts. That's the real hurdle with manually finding content on Lemmy, as searching for content from uncached communities is next to impossible. To continue with our scenario, I'll go ahead and search for the original post link. Remember, the previous steps were necessary for our home instance to cache the community.
After we helped our home instance cache the community by directly searching for and visiting it, searching for individual posts is a breeze. In this image, I simply copied the original direct link and searched for it.
Now we're in business. Once you're on the post and you've made sure you are still on your home instance (no warning asking for you to log in), feel free to interact with the post as you wish. Phew, that was a lot. A lot of these steps largely wouldn't be necessary if servers could anticipate and pre-cache searches for popular content, but that isn't really how Lemmy works, unfortunately. Instances hosted on overloaded servers can also cause sync problems, which is its own whole can of worms. If you remember, in Chapter 2, some communities may show "Subscribe Pending," even if you're actually subscribed. That problem, along with things like comments and metadata not fully loading, are also problems that can originate from overloaded remote instances.
Defederation
A chapter in the future may explore moderation further, but for now, defederation is when a Lemmy instance is blocked by another Lemmy instance. Just recently, Beehaw blocked Lemmy.world and sh.itjust.works. As you might expect, this was a controversial decision. When a Lemmy instance is defederated by another instance, all of the communities there become inaccessible to the instance that blocked it. The same is true for any instances that were blocked: in this case, Lemmy.world and sh.itjust.works users have lost access to any of the communities located on Beehaw. This might prompt some users to make accounts on other instances, especially if they rely on communities that have been blocked.
While we just finished explaining how to access content without creating additional accounts, additional accounts on other instances is the only real way to dodge defederation. There isn't much to explain about this, except that you'll obviously lose access to the history you built up with your old account if you do decide to permanently switch to a new instance and account. Smaller instances, much like NormalCity, are pretty decent candidates for jumping ship. Smaller instances tend to have more lax rules for content, they often don't make enough noise to be blocked, and they often don't police their users as much. Of course, choosing your instance is important as well. If you like starting communities on a wide variety of topics, an instance with a more general focus is a good fit. If you don't really care about creating communities, or you only really care about creating a community about a specific topic, finding an instance that has a specific area of focus may be a better fit for you.
To quickly summarize, accessing content from your main account is required to interact with something you've received a direct link to. It's a bit of a process to get there, but it's easier the more you get used to dealing with Lemmy's quirks. Defederation is when one instance blocks another and can lead to large disruptions for users of Lemmy. In those cases, finding a smaller server to jump ship to might be something worth considering. I'm not quire sure what the next chapter will focus on, but I'll update the end of this chapter with a link to the next when it is finished.
(C) EuphoricPenguin22 2023; Licensed under CC0
Hello,
I just wanted to let you all know that, due to potential legal issues arising from caching content from a few questionable smaller instances, we are defederating them based on our policy against illegal and sexually explicit material. While we generally adopt a policy of letting users on our instance do as they please, several smaller instances are venturing dangerously close to allowing CSAM material on their instances, which we'd like to distance ourselves from for legal and ethical reasons.
We won't mention the instances here by name to avoid sending them traffic, but they are fairly small, with <5k members. We may defederate other instances of this nature in the future, although this is something we will only do if it's deemed absolutely necessary. We only defederate instances based on exceptional cases that run counter to our instance-wide rules. We do not defederate instances for superficial reasons, like qualms with moderation practices or for mere political content. Our goal is and will always be to stay as fully connected to the rest of Lemmy as we can.
- EuphoricPenguin22
Since we're growing a bit, I thought it would be a good time to clarify our stance on political discussion, how we will moderate political speech, and what we mean by an "apolitical" instance.
Political bias tends to be magnified within smaller communities online, tinting the user experience and may make the experience for some feel welcoming and push away others. As instance admins, so long as user content does not break our instance-wide rules, we will not take action against user speech in posts or comments, federated content from outside this instance, and moderator positions in specific communities. It is our view that, aside from a basic set of rules that ensure some continuity between communities on this server, it is the job and responsibility of individual moderators to set more restrictive rules for their individual communities. To be clear: instance-wide rules do not take a stance on what types of political speech are allowed on a user level. However, moderators are welcome and encouraged to set community-specific rules that restrict what types of speech are allowed.
Our "apolitical" descriptor comes from Rule 2, which allows administrators to ban communities with an overt political focus. This means that certain communities, such as those heavily centered around political candidates, political movements, parties, or ideologies, are not allowed on this instance. As administrators, we will not play favorites on where this applies: if a community here is created with an undeniable political focus, we will remove that community. As an example, a group of middle-aged men talking about cool things on the Internet is fine, but a group of middle-aged men promoting conservatism is not. "Political" here does not refer to marginalized groups on their own, but rather communities that make an explicit effort to promote policy that caters to a specific political slant. For example, an LGBTQ+ community that focuses on artwork would be a great fit for this instance, but an LGBTQ+ community that focuses on promoting anarcho-syndicalism would not. There are plenty of examples I could use to illustrate this point, but I hope this makes it clear.
The point of NormalCity's existence is to promote a neutral platform where people can gather to discuss topics relating to creativity and technology; we do not have an interest in telling users how they should think. However, this does not mean we wish to encourage strong political messages on a community level, as those are simply outside the scope of this instance. We welcome moderators to set rules restricting what types of speech are allowed in their communities, as we understand different communities here will naturally have differing opinions on what should and shouldn't be allowed.
In short, NCL's administrators will not police political speech on the part of users with instance-wide rules, but we welcome moderators to do so in their own communities. We do not allow communities to form here that have an overtly political focus, but "political" does not mean banning marginalized groups who gather here for a topical (creative or technology-related) reason. We hope this clarifies how we view the political speech here on NCL and hope these policies help to ensure our instance and the communities that live here stay true to their purpose.
TL;DR We’re not banning political discussions that spring up in topical communities here, and we’re also not banning moderators from using their best judgment to moderate.
Hello everyone, I've been noticing an increase in gateway timeout errors, which coincides with large CPU and RAM usage spikes. In the hopes of preserving the quality user experience we've built so far here, I have little option but to upgrade the server. If the statistics are accurate, it would appear we have close to 30 users here now. This is an incredible amount of growth in a short period and something I was not expecting (this server has been running for only three days). At 9:30 PM EST, I will be temporarily taking the server offline and upgrading it to a higher plan.
If you would like to help support me with increasing server costs, a recurring monthly donation would mean a lot. All of the money (100%) donated to my Ko-fi (aside from PayPal fees) will be used exclusively for server costs, server backups, and SMTP relay (email).
Thank you for joining, and I hope to make this instance a place where you feel welcome!
EDIT: Looks like we're back up. Next time, I'll try to shut things down more safely, but I think we're ok. The server is now running on two CPU cores instead of one, 2 GB of RAM instead of 1 GB, and a fair bit more transfer. I will upgrade the SSD if needed, but keeping it at 25 GB will allow me to shrink the volume to a smaller amount of resources if usage drops off. Of course, my end-goal is to grow the server with the hopes that it is self-funded by donations.
In Chapter 1 of Fundaments of Lemmy, we introduced the idea behind federation, which is how individual Lemmy instances communicate to form the whole of Lemmy. We also discussed how rules are enforced and how one instance can be home to many communities. If you haven't read Chapter 1 already and are confused by the concepts mentioned above, it might not hurt to read it before delving into this chapter.
Subscribing to communities is, on the face of things, a fairly simple ordeal. If you can navigate to the community you're interested in subscribing to, it's really a matter of pressing the "Subscribe" button at the top of the sidebar. Of course, getting to where you want to go can be a bit more involved than you might imagine.
Oh, and a quick side note in case you encounter this issue. On some instances/communities, the "Subscribe" button may turn yellow and change to "Subscription Pending." If you can see content from that community in your feed, it's likely safe to assume that you are subscribed. I'm not sure what exactly causes this, but Lemmy.ml seems more troublesome in this area than other instances.
Subscribing to External Communities
The real hurdle in subscribing to other communities is getting there in the first place. There isn't a great way to do this inside of Lemmy itself, as the search function is only really useful to find communities you already know the address of (or content from communities that people on your home instance have visited). Lemmy is essentially blind to the existence of communities until you deliberately enter their address into the search field, so using an external tool to search is how most people find new communities to join. The Lemmy Community Browser is the tool most people are currently using, and it works quite well.
The Lemmy Community Browser allows you to search for new communities to join and explore.
Let's say you wanted to join a community about cats. If we search using the keyword "cats," we can see several communities that might be of interest. If we wanted to explore them with the hopes of subscribing, we'd need to do so from our home instance. To ensure this works right, you'll want to choose the option to copy the address of the community. Once you do this, you'll be able to paste it into your Lemmy instance's search field later.
This is where the aforementioned copy button is located.
Once you have the link copied, proceed to the search page for your instance. If your account is located on this instance, NormalCity, our search page is located here. If not, it's simply <domain.com>/search, replacing with the domain name of your home instance. You can also access it using the magnifying glass icon at the top of the web UI. Once you're there, paste the URL you've copied and click the "Search" button. Wait, what? No results? It may appear so at first, but Lemmy is capable of reaching the community in question. The issue is that it can take a few seconds for the results to appear, so pressing the "Next" button several times will likely eventually lead to the result appearing. It may also appear if you give it some time, although spamming "Next" tends to work best for me.
Here is the search page in question. Paste in the URL you copied and spam "Next" to ensure the result you're looking for appears.
Once you see the result you're looking for, click the search result, and you should navigate to the community from your home instance. Now you're federating with power! As mentioned at the beginning of this chapter, simply click the "Subscribe" button, and you're off to the races. It might take a few seconds to update, but you should see the button change to "Joined" with a green check. If you don't, you may want to revisit the beginning of this article, where we mention the "Subscribe Pending" message. You can also unsubscribe by navigating to a community and clicking the "Joined" button, which should return to its original "Subscribe" form.
This is what a successful subscription looks like.
Subscribing to Local Communities
Subscribing to local communities is much easier. Navigate to the "Communities" link at the top of the Web UI, which will bring you to a page that displays a list of communities located on your home instance. Click the one you want to join and follow the aforementioned steps to either subscribe or unsubscribe.
That's about it! If you choose your "Subscribed" sort on your main feed, you should see it populate with posts from communities that you've subscribed to.
Next Chapter: Using One Account for Everything, Defederation, and Navigation
(C) EuphoricPenguin22 2023; Licensed under CC0
Lemmy is one of those things you must use for a while to fully get. It all sounds a bit complicated at first, but the federation works well when it does work, and you really can have one account here (or anywhere in the Lemmy federation) and access the rest of Lemmy.
From the ground up, Lemmy is built on the idea of instances. If you're reading this, you're currently visiting NormalCity, the instance of Lemmy I personally host. Lemmy would be pretty difficult to use if you had to sign up for a different account on each instance you wanted to join, as a lot of great communities are spread across dozens of instances. That's where federation comes into play; it's essentially the magic word for "linking together," and it's how Lemmy can act like one site, even though there's no central server controlling things. In reality, Lemmy uses the ActivityPub protocol, which allows servers to "talk" with one another and exchange user interactions and information in real-time. So, what does that mean for you? It means that you can sign up for an account on, say, NormalCity, and still talk with, subscribe to, and be a part of communities on Beehaw. You can access and subscribe to every community, talk with every user, and have a front page like you might be used to on Reddit. As long as you find a place you feel comfortable signing up for an account and the server you're connected to is well-federated (like NormalCity), you're just as much a part of Lemmy as anyone else.
Now, I might add that choosing where to sign up for an account is more important than you think. For example, as an admin on this server, I can act like one of the Reddit fat cats; I can delete your account, I can control local communities, and I can even block you from seeing certain content out in the fediverse. Heck, if I wanted to, I could even block (defederate) a ton of instances willy-nilly. Obviously, this is a ton of power to have, so it's important to find a place that actually cares about the user experience. Oh, and problematic Lemmy instances are often defederated from most of the larger instances, and politically divisive instances are often the target.
This instance, NormalCity, is focused on providing an excellent experience disproportionate to our small size. We're open to federation and will only defederate content if users petition us to (subject to future rule changes). We're open to registration, which means you can sign up for an account at your leisure. We also have a basic set of instance-wide rules akin to Reddit's Code of Conduct. You are free to create communities here, so long as they are topical to NormalCity's focus on creativity and technology (and follow the aforementioned instance-wide rules). NormalCity wants to deliver a true vanilla user-first Lemmy experience while providing local communities that are apolitical and focused on topics that relate to creativity and technology.
Now, you might be catching on to the idea that communities and instances (servers) aren't the same thing. You're absolutely right! An instance (server) can have a bunch of different local communities, and each other instance on the fediverse can as well. It's analogous to having a network of little Reddits, each with its own site-level admin staff and moderators who oversee the individual communities. Just like how admins on Reddit can take actions that overrule moderators, so can admins on each Lemmy instance overrule moderators of local communities. So, in short, a community is likely subject not only to its own rules but the rules of the Lemmy instance where it is hosted. This can become a bit of a headache if you're just starting out, as instances we're federating with will have their own rules, and so will the communities that reside on them. What is that, three layers of rules to keep in mind? It sounds like a lot, and it is, but I assure you that you get used to reading the rules as you go along. My best advice is to behave in a friendly (not hateful, mean, or abrasive) yet casual manner, and you are not likely to run into major problems.
So, I think that's a fairly comprehensive overview of how Lemmy works, at least from the perspective of a user. There are a lot of other smaller topics that are worth exploring, but I wanted to have a good Introductory chapter that got the heavy stuff out of the way first. You will probably have questions after this and may even run into issues. Feel free to message me, ask questions, or provide suggestions for further chapters like this.
Next Chapter: How to Subscribe to Communities
(C) EuphoricPenguin22 2023; Licensed under CC0
Hello,
This is the full text of NormalCity's instance-wide server rules. Moderators of individual communities are encouraged to set more restrictive rules where necessary. These are simply to unify the disparate communities that live here under one set of sidewide rules. Regardless, all communities and members operating here are subject to these rules, and NormalCity administrators will take action where it is deemed necessary.
NCL Rules
1. No NSFW Content
Not Safe for Work (NSFW), adult content, and other forms of obscene material are strictly prohibited.
2. No Political Communities
While some topics will naturally lead to a more divisive discussion, communities overtly focused on politics are not allowed. This does not apply to federated content or the content of instance users as individuals.
3. No Illegal Content
Illegal content and links to illegal content are not allowed. Discussion of illegal content is generally allowable so long as it is genuinely separate from and does not directly reference the illegal content.
4. No Spam
Spam is disallowed. While NormalCity will allow local communities to set their own rules on what constitutes spam, purposeful misuse of this instance in such a way that leads to excess server strain may result in administrative action.
5. Mod Discretion
Both moderators and administrators at NormalCity have complete discretion in dealing with offending users. In essence, differing opinions between mods/admins on rules are allowed, so long as an attempt is made to interpret said rule in its plain meaning. Furthermore, community moderators have the ability and responsibility to make their own rules, so long as they do not conflict with these instance rules.