cross-posted from: https://beehaw.org/post/570507
After the (temporary) defederation announcement of earlier i checked the Lemmy repo to see if there was already a ticket on the federation limiting option like Mastodon’s that people mentioned Lemmy doesn’t yet have. Not only i didn’t find it, i also saw that there’s about 200+ open tickets of variable importance. Also saw that it’s maintained mostly by the two main devs, the difference in commits between them and even the next contributors is vast. This is normal and in other circumstances it’d grow organically, but considering the huge influx of users lately, which will likely take months to slow down, they just don’t have the same time to invest on this, and many things risk being neglected. I’m a sysadmin, haven’t coded anything big in at least a decade and a half beyond small helper scripts in Bash or Python, and haven’t ever touched Rust, so can’t help there, but maybe some of you Rust aficionados can give some time to help essentially all of Lemmy. The same can be said of Kbin of course, although that’s PHP, and there is exacerbated by it being just the single dev.
It’s on my radar and I’m sure it’s on a number of other people’s as well. It just takes a little onboarding time like all good projects.
Worth noting: the ui is in inferno js
the ui is in inferno js
I haven’t used Inferno but it looks similar to React. Is knowledge of React transferrable to Inferno or should I spent a bit of time learning Inferno specifically? I’ve got ~10 years React experience (started using it the same year it was open-sourced).
I haven’t messed with it much, but they do offer a high-level diff list about midway down the home page: https://www.infernojs.org/
It’s also on my “wishlist” for contribution. I’m learning Rust but didn’t know what project to bring the skill to practice.
Finally some good distractions for my Saturdays!
It’s difficult problem to solve. Lemmy’s stack is a bit unconventional. The rust backend is not idiomatic and the ui is based off a template of an isomorphic not-quite-react framework. Its not impossible, but it will take a while for alot of programmers come onboard.
That being said, there’s more to it than writing code. Better bug reports, reproduction, updating docs and triaging/managing the issues is possibly more important than writing PRs. Don’t be discouraged!
Would it make more sense to just go all in on API support for the main codebase and leave UI up to 3rd parties/separate project? Seems like that would be the ultimate anti Reddit at least
So the backend is coded in Rust? I’ve been learning the language but haven’t actually used it outside of tutorials yet. I’m experienced in C++ and know how to program so I may look into it while I’m unemployed.
I will be working on this when I get cycles. Barring the issues already above, there are a lot of areas for optimizations, for instance how images are handled (i.e., they can be handled through object storage like Cloudflare R2 to decrease bandwidth/ram costs). Some is more dev-ops on how common instances are setup, others are code changes to make things more efficient.
Perhaps we should start a community or communication group for this?
The dev group is on matrix
Do you have a link?
isnt that what github should be?
It’s often useful to have a discord or something to throw around approaches and discussions more conversationally before formalizing an issue or RFC imo, but happy to do it via github too.
I would think it helps newer people to get set up and hacking on it as well
The lemmy.ml instance is primarily for Lemmy development IIRC. There is probably a good reason to “dogfooding” and making Lemmy itself good for discussing Lemmy-based issues, development, coordination, etc. etc.
Do you know which specific communities the conversations are occurring on?
I feel like [email protected] would be appropriate, and maybe [email protected]
I crossposted to the Rust Lang community here on Lemmy as well.
It may be worth posting on some Rust forums too.
I’ve been hacking a bit trying figure out activity pub, are folks interested in a programming centric ActivityPub community to focus on learning?
A place to learn about the inner workings of ActivityPub would be nice. I’d also love to be able to informally share and discuss ideas about ways to use the protocol or improvements proposals
Sounds pretty cool, if you end up making it, drop the link?
Frankly I have no time to mod a community :)
But I will keep an eye out for one if it pops up, might be reasonable to post on here for now
I’d be interested as well.
Ive made an activitypub focused community on here over at https://programming.dev/c/activitypub
Nice! Subscribing
Edit: can’t see it on Lemmy.World yet, will have to try later
Sometimes youll need to search for it in the search bar before it pops ups. Either with the link or with [email protected]
Yeah it should up eventually in search, probably just an eventually consistency issue with ActivityPub
That would probably be very helpful.
What about trying to contact rust devs from outside the fediverse/lemmy community? Maybe some of them don’t know about the lemmy project, but they’ll find it interesting and join the dev team.
Maybe that is the problem, rust, not a popular choice for web development.
The backend is rust! The frontend is typescript with a react-type framework. So feel free to pitch in on the frontend if you are familiar with TS!
Relax my friend, would you like some Mojito? You see that doesn’t take rust out of the equation here (read again the op body text).
Give me the mojito ! (but don’t tell me to relax, I don’t wanna relax, I just want the mojito)
Those were friendly exclamation marks. Not angry ones.
I’m thinking that kbin might pick up speed since it’s PHP, and the code base seems quite well organised.
Yeah, I’m looking to jump to Kbin when I can, but right now it looks like a lot of the instances are having major federation issues, which makes it a bit untenable.
What kind of issues?
Quite a few instances just aren’t populating posts on other instances. I suspect this is due to ddos protections large instances have had to put in place during this high load period.