Lemmy maintainer. Interested in politics, video games, and many other things.

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

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.

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)

Did you install manually? Then you need to ensure that the ports for lemmy and lemmy-ui are set correctly in nginx config. You also need to apply changes with nginx -s reload

Go to the original instance where the community is hosted, it has the total subscriber count. Or use command line: curl -H 'Accept: application/activity+json' https://lemmy.ml/c/lemmy_support/followers | jq .totalItems

Wow i had no idea. Looks like it could easily take a day to install with all those steps.

Ubuntu even installs the snap service on servers which makes no sense for me.

When fetching a community or post for the first time, votes or comments are not fetched. You can subscribe, and will later receive new content.

Your instance is currently not configured correctly for federation. The following request should return json, but gives error 404: curl -H 'Accept: application/activity+json' https://lemido.freakspot.net/u/lemmy (compare with curl -H 'Accept: application/activity+json' https://lemmy.ml/u/nutomic). The default Lemmy installation has an nginx config which takes care of this.

There were some major bugs with federation that were fixed in Lemmy 0.16. If you tried other instances before that version, it would be worth giving it another try now.

The documentation is outdated then, as most instances use open federation by now. So what you need to do is simply take the url of a community/post on another instance, and paste it into the search bar of your instance. It will get fetched and you can directly interact with it.

This is a good find. It would make a lot of sense for Lemmy to format mentions in that way too. Could you open an issue in the Lemmy repo please?

By the way, the fetch problem you mention is already fixed in this pr (but not yet released).

Did you do the same actions from both instances? For now, Lemmy can only handle Notes from Friendica. Support for Articles has been merged, but not released yet. Sorry i dont know how these are called in the Friendica UI.

That could work, but it seems hard to figure out a good value for x. Plus it is likely that there would still be low-quality instances at the top sometimes. A hardcoded list of recommended instances gives much more control.

I dont think that would work well, because there is a large number of tiny instances with 1-2 monthly users that would show up at the top. Those are probably not the best place for new users.

I see, you make a good point. Your instance has been running for a year, but received very few users compared to lemmy.ml. My guess is that you receive new users mainly via join-lemmy.org/instances, is that correct? The problem is that most people only look at the top 2-4 instances, as you can see in the stats (removed everything thats not a Lemmy instance).

Problem is, that list is sorted by most popular and strongly favors established instances. I think it would help a lot of we put 2-4 “recommended instances” at the top of that page, particularly small or general-purpose instances like yours. It would also be pretty simple to have different recommendations for each language, which should help regional instances. There could be a sort of tag system as well, but thats a bit more effort to implement. What do you think?

cc @dessalines@lemmy.ml

Its better if someone else hosts such an instance, we are already quite busy with development.

I think that this is the better solution for the problem you mention.


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!

Its just a single person doing the attack from one IP at a time, so no DDoS. At worst it slows down the site a bit, and besides it allows us to discover and fix these vulnerabilities.

Lemmy 0.15.4 released
We just released a new patch which fixes an important federation problem. Due to a mistake in the code, activities were only sent out once, even if delivery failed (e.g. because the target instance is down, or a temporary connection issue). Instance admins should definitely upgrade. This problem is fixed, so that failed deliveries are retried up to 9 times, with exponentionally increasing intervals. The only limitation now is that it will not keep retrying after Lemmy is restarted, but that case should be less common. [PR link](https://github.com/LemmyNet/lemmy/pull/2109)

Pretty interesting video, if you stop watching at 21:10. After that its just "china bad" scaremongering and other nonsense.

Signups for weblate.yerbamate.ml are working again
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.

Do we really need self upvotes in Lemmy?
I never really thought about the automatic self upvote on Reddit and Lemmy. But after reading this article [Dont let me like my own post](https://yujiri.xyz/theory/selflike), i'm wondering if we should just get rid of it. Its not really adding anything, or does it? Plus removing it would slightly simplify the code, and slightly less federation messages would get sent (probably unnoticable in practice).

Do they want users to switch to the fediverse? [Bonus](https://twitter.com/iamRahul20x/status/1455950490366263301?t=ONrAR3u0MTM8HLXqei233Q&s=19)

https://ds9.lemmy.ml/post/1717/comment/2202 https://greenish.red/notice/ACr3wLTInIOMRAoO1o

When will Lemmy reach 100k users?
From [the-federation.info](https://the-federation.info/lemmy): ![](https://lemmy.ml/pictrs/image/Sw4h0dN0mu.jpg) There is also [lemmy-stats-crawler](https://yerbamate.ml/LemmyNet/lemmy-stats-crawler): ``` "crawled_instances": 18, "failed_instances": 7, "total_users": 17671, "total_online_users": 118, ```

A "Lemmy federation map", showing linked, allowed and blocked instances. cross-posted from: https://feddit.de/post/184