Lemmy maintainer. Like programming in Rust.

Also posting at https://fedibb.ml/view_profile?u=2

  • 23 Posts
Joined 3Y ago
Cake day: Jan 17, 2020


Communities are completely independent from one another, even if they happen to share the same name. So if you are banned from community A, you can still post in community B. Another matter are instance bans, if you are banned from an instance then none of your posts will be visible there, or in any of its communities.

Also its called football.

It would be possible to implement that (Mastodon has it), but there are no current plans to implement it in Lemmy. After all its easy to create a new account.

Its the same for posts or comments, you need to paste the url in the search bar of your instance. For this you should copy the url from the colorful fedilink icon.

It sounds like you might be interested to host a new Lemmy instance. Right now the number of instances is still limited, and most of them cover niche topics. So it would definitely be good to have a Lemmy instance that is more mainstream. Hosting an instance requires some technical knowledge, but you can always ask for help in /c/lemmy_support or find someone else to take care of that aspect.

Creating a community on an existing instance is less effort. However it means that the instance admins have full control over your community, and you have to follow their rules. There is also no way to automatically migrate a community to another instance. Having your own instance gives you full control over the rules/moderation, and also lets you apply custom themes or change instance configuration (eg signup mode).

Thats not really how federation works. If you want Mastodon to render the data differently, you have to ask the Mastodon devs.

You can create a Lemmy account. If you are talking about Mastodon, you need to open an issue in their repo.

Thats not currently possible, you can open an issue. Or implement a bot which removes non-text posts automatically.

I dont think I found anything useful back then. So you can fill in the issue template and post it here, then someone can copy it to Github.

That depends entirely on the community where the post was made. If the community is on lemmy.ml, then the deletion federates to all other instances (including yours I think). Otherwise, if a lemmy.ml admin deletes a post in a remote community, that action isnt federated at all. At least thats how it should work, might be worth testing to confirm.

Its not so difficult to implement functionality that remote content can be fetched automatically on demand like you describe. It just takes a certain amount of work, and so far we are busy with other things. These things take time when there are only two developers funded with donations, and not some startup with millions in venture capital.

You can also fetch comments by pasting the url from the colorful fedilink icon into the search. For example https://feddit.it/comment/63117.

You should open an issue in that apps repository.

The difference is, the moderators moderation action will federate to other instances, but the instance admins will not.

Unless the admin and community are on the same instance, then admin actions will federate. Not so easy to explain…

It would be helpful if you include the urls of comments which are affected. Also any errors from browser console. Best open an issue with that info.

Welcome Reddit refugees!
We are happy to see that many of you are exploring Lemmy after Reddit announced changes to its API policy. I maintain this project alongside [@dessalines@lemmy.ml](https://lemmy.ml/u/dessalines). Lemmy is similar to Reddit in many ways, but there is also a major difference: Its not only a single website, but consists of many different websites which are interconnected through federation. This is achieved with the ActivityPub protocol which is also used by Mastodon. It means that you can sign up on any Lemmy instance to interact with users and communities on other instances. The project website has a [list of instances](https://join-lemmy.org/instances) which all have their own rules and administrators. We recommend that you sign up on one of them, to avoid overt centralization on lemmy.ml. Another difference compared to Reddit is that Lemmy is open source, and not funded by any company. For this reason it relies on volunteer work to make the project better, whether it's programming, design, documentation, translating, reporting issues or others. See the [contributing guide](https://join-lemmy.org/docs/en/contributing/contributing.html) to get started. You can also [donate](https://join-lemmy.org/donate) to support development. We also recommend that you read the [documentation](https://join-lemmy.org/docs/en/index.html). It explains how Lemmy works and how to setup your own Lemmy instance. Running an instance gives you full control over the rules and moderation, and prevents us developers from having any influence. Especially large communities that want to use Lemmy should host their own instance, because existing Lemmy instances would easily be overwhelmed by a large number of new users. Enjoy your time here! If you have any questions, feel free to ask below or in the [Matrix chat](https://matrix.to/#/#lemmy-space:matrix.org).

You can use that search field or the one in the top right of any page. And either search @[community]@[instance] or https://lemmy.ml/c/decentralized.

I managed to reproduce the problem on enterprise.lemmy.ml, but after searching the address a few times in a row it worked. You can give that a try, if it doesnt work ask your admins to check the server logs for any errors.

Looks good! Just a quick note, the rate limit applies equally to HTTP and websocket, you cant avoid it by using websocket.

There is a documentation page with instructions for changing the domain name, however its a bit outdated. Instead of user_ it needs to be person, and site.actor_id, site.inbox_url need to be updated as well.


Did you change the domain of your Lemmy instance? You said you didnt change anything, but it could explain the problems you are seeing. This includes adding or removing a subdomain like www.

Which Friendica group are you trying to follow, and do you see anything in the server logs? Would be nice if you can open an issue on Github.

This is not true, Lemmy already federates communities from Friendica, Peertube, Lotide and more. Guppe might also work but I need to see an example group to know how it federates.

You can already create a community for your blog and use the setting “only mods can post”. That should be all you need in terms of functionality.

Looks like there is still something wrong with the installation from crates.io. In this case you will have to clone the git repository manually and compile from there.

git clone https://github.com/LemmyNet/lemmy.git
cargo build --release

I published that release manually and messed something up. Anyway the latest version is 0.17.2 so you should use that. I just noticed that it also wasnt published correctly on crates.io but that should be fixed now.

The crawler is fixed now and site is updated. There is also another problem with builds so that crawl results wont get updated automatically every day.

Odd, joinlemmy is updated now but it contains even less instances than before. Something is wrong with the crawler, you can run it yourself to test or debug.


Fix is here: https://github.com/LemmyNet/lemmy-stats-crawler/pull/1

There is currently a TLS certificate problem on Github, once that is fixed join-lemmy.org should be updated automatically with sopuli and other missing instances.

Yes its a bug in the crawler, it throws an error about too many files. The problem seems to be due to recursion, because there are up to 2700 concurrent active tasks. Need to find a way to optimize this.

Can you open an issue for this? Its a tricky issue because it only happens randomly, without a clear way to reproduce it. So if you have any useful information like steps to reproduce or logs (browser console and server) then post that on Github as well.

Reports federate between Lemmy instances. I dont know about Mastodon, someone would have to test and report if there are problems.

The language should be chosen automatically if possible: For posts: - If the community only allows one language, it should select that - If the user only has one language, it should be selected by default - Otherwise, if the overlap of user languages and community languages contains one item, that should be selected by default

  • For comments it should automatically select the language of the parent post/comment

So communities should definitely set their allowed languages to help automate this. Instances as well, as this will also limit community languages to be a subset of instance languages.

Its possible that there are still some bugs. I also think that for the default language selection when posting, “undetermined” should not be considered

cc @dessalines@lemmy.ml

Posts would get federated once they are approved by an admin.

For that it might be more effective to sort by new comments on the main page.

I am working on a feature which might help with that. What do you think about it?


Request for build servers
We are looking for someone who would be willing to provide a build server for Lemmy's continuous integration. This is used to ensure that new changes and pull requests pass all the checks, and that the code is written well. At the moment we are using a small VPS for this purpose (2 vCPU, 2 GB RAM). This works but is quite slow, and can slow down the development process with unnecessary waiting times. For this reason we are looking for a community member with a spare server or computer, who would be willing to provide it as a build server. There are no specific hardware requirements, but the faster the better. The build server has to run 24/7 and run the [Drone Docker Runner](https://docs.drone.io/runner/docker/overview/). The setup is very easy, especially if your machine is already running docker. If you have such a server and are willing to provide it, please comment below with the specs. Additionally we are also looking for an ARM builder, so that we can provide official releases for this platform as well. Note that some Raspberry Pi models seem unable to build Lemmy (our 4GB memory builder failed), so please try if the compilation works on your device. If you can provide an ARM builder, also comment below with the specs.

fedibb.ml is open for signup!
Give it a try if you are interested in the project. If you notice any problems, you can [open an issue](https://github.com/LemmyNet/lemmyBB/issues). Contributions are also more than welcome. In a few days I will publish the first release, and make a proper announcement.

New domains for Weblate, Gitea, Drone (updated)
I have just finished migrating the services mentioned above to new domains, and also to hosting on the lemmy.ml server, instead of my personal server. This makes sense because all of them are used almost exclusively for Lemmy development. It will also allow [@dessalines@lemmy.ml](https://lemmy.ml/u/dessalines) to administrate the services in case of problems. The new domains are: Gitea: git.join-lemmy.org Weblate: weblate.join-lemmy.org Drone: drone.join-lemmy.org There are redirects in place, so you will automatically be forwarded from old domains to new ones.

I have finished writing instructions for deploying lemmyBB on a production server, which you can follow at the link above. Right now the project is still in a very early stage, nevertheless main funcionality is already working. This includes browsing communities, posts and comments, writing posts/comments and registration/login. Before developing the project further, I would like to get some feedback from users and admins. If you are interested, you can follow the instructions to install lemmyBB on your own server. This setup also installs lemmy-ui, in order to access functionality which is not yet available in lemmyBB (particularly moderation). You can also try out lemmyBB on a test server with this setup, namely [lemmybb.lemmy.ml](https://lemmybb.lemmy.ml/). It runs lemmy-ui at [lemmyui.lemmy.ml](https://lemmyui.lemmy.ml/), which shows the same data in another format, and the same account login works on both domains. Registrations are currently open, but keep in mind that this instance is only meant for testing, until other instances are created. If you notice any bugs or want to request new features, please open an [issue](https://github.com/LemmyNet/lemmyBB/issues) or comment here.

LemmyBB, a new frontend based on phpBB
Lemmy is structured in a way that backend (database, api, federation etc) and frontend (html, css, javascript) are completely separate. This makes it possible to create other frontends which can take the place of lemmy-ui. I have long been playing with the thought of having a Lemmy frontend that looks more like a traditional forum. Now I finally found some time to work on this, and get an initial proof of concept working. ![](https://lemmy.ml/pictrs/image/91170cff-8737-4a84-b70d-5e2c4d85bf72.png) ![](https://lemmy.ml/pictrs/image/da0d0bd8-5dcd-4ea8-a3ab-3b8eabf8b85a.png) To reduce the amount of work, the project uses HTML templates and CSS themes from [phpBB](https://www.phpbb.com/), which are open source under GPLv2. This also has the advantage that many preexisting phpBB themes can be used for lemmyBB. It is written in Rust, because it allows for tight integration with the Lemmy API, and is generally a great language for webservers. For now the funcionality is very basic, but nonetheless its already usable. You can: - browse the local post listing - browse comments - login and logout - create new posts and comments To give it a try, run the following commands on your local computer, replacing lemmy.ml with your own instance: ``` git clone https://github.com/Nutomic/lemmyBB.git LEMMY_INTERNAL_HOST=https://lemmy.ml cargo run ``` If there is any specific feature that you would like to see added, please [open an issue](https://github.com/Nutomic/lemmyBB/issues). For now there arent any instructions for deploying lemmyBB to a server. If you would like to do that, please open an issue as well. This post was made from lemmyBB.

making a test post
hello world

Presenting Activitypub-Rust crate
[Activitypub](https://www.w3.org/TR/activitypub/) is decentralized social networking protocol recommended by the W3C. It provides a client to server API for creating, updating and deleting content, as well as a federated server to server API for delivering notifications and content. As part of the work on [Lemmy](https://join-lemmy.org/), we have implemented some high-level abstractions for handling the server-to-server protocol in Rust. These abstractions are now available as a standalone library. The main features are: - Data structures for federation are defined by the user, not the library. This gives you maximal flexibility, and lets you accept only messages which your code can handle. Others are rejected automatically during deserialization. - ObjectId type, wraps the id url and allows for type safe fetching of objects, both from database and HTTP - Queue for activity sending, handles HTTP signatures, retry with exponential backoff, all in background workers - Inbox for receiving activities, verifies HTTP signatures, performs other basic checks and helps with routing - Generic error type (unfortunately this was necessary) - various helpers for verification, (de)serialization, context etc Documentation is currently lacking. If you want to get started with the library, best look at the example. The code has already been used in production as part of Lemmy for a long time, without any notable problems. However, ergonomics are lacking and need to be improved. There are also many additional features which would be worth implementing. See the project readme for details. Contributions and suggestions are very much welcome! You can find the project here: [https://github.com/LemmyNet/activitypub-federation-rust](https://github.com/LemmyNet/activitypub-federation-rust) [https://crates.io/crates/activitypub-federation](https://crates.io/crates/activitypub-federation)

Free hosting for liberal/mainstream political instance
Lemmy.ml has long had some political conflict among the userbase, especially in communities like worldnews. This is because the instance is composed of both leftists (anarchist/communist) and liberals (those who agree with the mainstream political views in western countries). Additionally, the instance admins all belong to the former group. Recently we made an announcement offering [free Lemmy instance hosting](https://join-lemmy.org/news/2022-03-17_-_Free_Lemmy_instance_hosting) for one year, for non-politics instances. We are hereby making a similar offer to host a liberal or mainstream political instance, which can accomodate those who are unhappy with lemmy.ml moderation. This has many advantages. Instance admins have full power to set the rules, block federated instances (like lemmygrad.ml), or remove unwanted content. An administration team that is closer aligned politically would certainly be an improvement for some of the users here. So if you are interested to host such an instance, send an email to contact@join-lemmy.org some relevant details about yourself. You will also have to buy a domain. We will only host one such instance, so if multiple people are interested, you should coordinate among yourselves. As in the original offer, the hosting will be limited to one year. On a side note, we would also like to help with the creation of a general-purpose instance that is less focused on politics than most of the existing instances. This is fully within the terms of the initial "free instance hosting" announcement, so if you are interested, send us an email!

The domain was included in a spam list, which meant that confirmation emails couldnt be delivered, and signup was impossible. Now the problem is fixed, so if you would like to translate Lemmy into your language, register an account and get started. You can also join the [Lemmy Translations](https://matrix.to/#/#lemmy-translations:matrix.org) Matrix chat.

Promoting Lemmy
I think most of us agree that the main problem which Lemmy has today is its lack of users. This is not for technical reasons, as we know it is quite stable and usable. The main cause is that the project is not widely known yet. In this post I will propose what we can do to change that. First, lets clarify why we should promote Lemmy. Clearly there are many different reasons, and every person prioritizes them differently. So I will just give some common examples: - Promote open source (and all the benefits that entails) - No advertising or tracking - Allow communities to manage themselves, instead of being controlled by corporations - Making Lemmy more active, particularly if you would like to see more discussions on certain topics So how can we promote Lemmy? I think one of the most effective thing we can do at this point is to post about Lemmy in other communities where we are active. This has the benefit that other people already trust us to some degree. Open source projects looking to setup a forum might also be a good target. When doing this, we should consider which aspects of the project would be most important to the target audience, and emphasize those. Another option is to contact bloggers, video creators, podcasters or others, and suggest that they report about Lemmy. As above, it is important to adjust the message to the target audience. Because Lemmy is quite small, it is unlikely that major tech magazines or professional content creators would care about it. Instead we should focus on smaller creators. This will also lead to more sustainable growth, and give us some legitimacy in the eyes of bigger creators. In both cases, we should avoid doing anything that might be perceived as spam. It is better to create one or two high-quality messages, which will give a good impression of the project, rather than a dozen generic ones that tarnish the reputation. It is worth noting that some important features are still missing in Lemmy, particularly mod tools (we are going to implement them in the next ~12 months). There also aren't many different instances yet. When promoting Lemmy like this, please avoid linking to lemmy.ml directly. This instance is already too big relative to other instances, and it is not meant to be a "flagship instance" ([What is lemmy.ml?](https://lemmy.ml/post/70280)). Instead you should try to find an appropriate instance on [join-lemmy.org](https://join-lemmy.org/instances) and link to it, or link to the joinlemmy site directly. You can also explicitly encourage the creation of new instances. On a side note, it might be worth mentioning the many ways that people can contribute to Lemmy (again depending on the audience). There are the obvious ones, like writing code for lemmy and lemmy-ui, writing documentation or translating. There are also multiple interesting options to create new projects, such as: - Create an [alternative frontend](https://join-lemmy.org/docs/en/client_development/custom_frontend.html): nojs frontend like [lemmy-lite](https://github.com/IronOxidizer/lemmy-lite), a traditional forum frontend or something like stackoverflow - Create a new client, be it for mobile, desktop or terminal. - Gather instance statistics using [lemmy-stats-crawler](https://yerbamate.ml/LemmyNet/lemmy-stats-crawler), and build some nice graphs. By the way, Lemmy is not just a Reddit alternative, so there is no reason to limit the promotion to Reddit. To help with these promotion efforts, [@dessalines](https://lemmy.ml/u/dessalines) and I would be happy to give interviews via email (in English, German or Spanish). For that, they can get in touch by mailing contact@lemmy.ml.

Recently there have been some discussions about the political stances of the Lemmy developers and site admins. To clear up some misconceptions: Lemmy is run by a team of people with different ideologies, including anti-capitalist, communist, anarchist, and others. While @dessalines and I are communists, we take decisions collectively, and don't demand that anyone adopt our views or convert to our ideologies. We wouldn't devote so much time to building a federated site otherwise. What's important to us is that you follow the site rules and [Code of Conduct](https://join-lemmy.org/docs/en/code_of_conduct.html). Meaning primarily, no-bigotry, and being respectful towards others. As long as that is the case, we can get along perfectly fine. In general we are open for constructive feedback, so please contact any member of the admin team if you have an idea how to improve Lemmy. ## Slur Filter We also noticed a consistent criticism of the built-in slur filter in Lemmy. Not so much on lemmy.ml itself, but whenever Lemmy is recommended elsewhere, a few usual suspects keep bringing it up. To these people we say the following: we are using the slur filter as a tool to keep a friendly atmosphere, and prevent racists, sexists and other bigots from using Lemmy. Its existence alone has lead many of them to not make an account, or run an instance: a clear net positive. You can see for yourself the words which are blocked (content warning, [link here](https://github.com/LemmyNet/lemmy/blob/main/crates/utils/src/utils.rs#L10)). Note that it doesn't include any simple swear words, but only slurs which are used to insult and attack other people. If you want to use any of these words, then please stay on one of the many platforms that permit them. Lemmy is not for you, and we don't want you here. We are fully aware that the slur filter is not perfect. It is made for American English, and can give false positives in other languages or dialects. We are totally willing to fix such problems on a case by case basis, simply open an issue in our [repo ](https://github.com/LemmyNet/lemmy/issues)with a description of the problem.

NLnet funding, and Lemmy v0.7.0 with new image hosting!
Let's start with the biggest news first: Lemmy is receiving funding from the [NLnet foundation](https://nlnet.nl/)! The funding is for a total amount of 45.000 €, which will allow [/u/dessalines](/u/dessalines) and me ([/u/nutomic](/u/nutomic) ) to work on Lemmy full-time for at least half a year. We have created various milestones for the work we are planning to do. Most of them are about getting ActivityPub federation ready for production. In addition, we will work on: - better accessibility - private communities and instances - reworking search - creating a `joinlemmy.ml` type site - the option to block other users or communities The details of the milestones will be posted on our github issue tracker soon. We're very excited about this opportunity, and can't wait to finish federation. In other news, we have just released [Lemmy v0.7.0.](https://github.com/LemmyNet/lemmy/blob/master/RELEASES.md#lemmy-v070-release-2020-06-2x) Most importantly, this update switches to [Pict-rs](https://git.asonix.dog/asonix/pict-rs/) for image hosting, due to various performance-related issues with Pictshare. Pict-rs was coded from scratch in Rust by the amazing @asonix, who also created the ActivityPub library for Rust. We can't thank him enough for all the work he is doing for Lemmy! We'd also like to thank the following people for their contributions: - @iav for their work in building arm compatible rust docker images and builds. - @ernestwisniewski and @bytesnake for code contributions. - Many others for contributing translations via the [Lemmy weblate.](https://weblate.yerbamate.dev/projects/lemmy/) - Our [Patreon](https://www.patreon.com/dessalines) and [Liberapay](https://liberapay.com/Lemmy/) supporters who help us devote more time to Lemmy (We're still very far from these being able to sustain two developers) - Everyone else who contributes to Lemmy, be it by coding, hosting instances or just using it and spreading the word! Other than that, since v0.6.0 in January [we've closed over 100 issues](https://github.com/LemmyNet/lemmy/milestone/16?closed=1), fixed tons of bugs and added many new features. [You can find the full changelog and upgrade instructions here](https://github.com/LemmyNet/lemmy/blob/master/RELEASES.md#lemmy-v070-release-2020-06-2x). Edit: [Here are the milestones for the funding](https://dev.lemmy.ml/post/35612)

Performance comparison with Reddit
![](https://dev.lemmy.ml/pictshare/fnzfkv.png) ![](https://dev.lemmy.ml/pictshare/i9ocuh.png) ![](https://dev.lemmy.ml/pictshare/wc3voy.png)