this post was submitted on 15 Jun 2023
224 points (98.3% liked)

Programming

17398 readers
97 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

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.

top 37 comments
sorted by: hot top controversial new old
[–] [email protected] 37 points 1 year ago* (last edited 1 year ago) (2 children)

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

[–] [email protected] 11 points 1 year ago (1 children)

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).

[–] [email protected] 8 points 1 year ago

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/

[–] [email protected] 9 points 1 year ago

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!

[–] [email protected] 25 points 1 year ago
[–] [email protected] 25 points 1 year ago (1 children)

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!

[–] [email protected] 9 points 1 year ago

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

[–] [email protected] 24 points 1 year ago

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.

[–] [email protected] 23 points 1 year ago (3 children)

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?

[–] [email protected] 5 points 1 year ago (1 children)

The dev group is on matrix

[–] [email protected] 1 points 1 year ago

Do you have a link?

[–] [email protected] 4 points 1 year ago (1 children)

isnt that what github should be?

[–] [email protected] 3 points 1 year ago

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

[–] [email protected] 1 points 1 year ago (1 children)

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.

[–] [email protected] 1 points 1 year ago (1 children)

Do you know which specific communities the conversations are occurring on?

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

I feel like [email protected] would be appropriate, and maybe [email protected]

[–] [email protected] 23 points 1 year ago (1 children)
[–] [email protected] 12 points 1 year ago

It may be worth posting on some Rust forums too.

[–] [email protected] 17 points 1 year ago (6 children)

I've been hacking a bit trying figure out activity pub, are folks interested in a programming centric ActivityPub community to focus on learning?

[–] [email protected] 8 points 1 year ago* (last edited 1 year ago) (1 children)

Sounds pretty cool, if you end up making it, drop the link?

[–] [email protected] 2 points 1 year ago

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

[–] [email protected] 8 points 1 year ago

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

[–] [email protected] 6 points 1 year ago

you can always join the programming.dev discord, and we can make a room for it!

[–] [email protected] 3 points 1 year ago

I'd be interested as well.

[–] [email protected] 1 points 1 year ago

That would probably be very helpful.

[–] [email protected] 1 points 1 year ago (1 children)

Ive made an activitypub focused community on here over at https://programming.dev/c/activitypub

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Nice! Subscribing

Edit: can’t see it on Lemmy.World yet, will have to try later

[–] [email protected] 14 points 1 year ago (1 children)

Maybe that is the problem, rust, not a popular choice for web development.

[–] [email protected] 51 points 1 year ago (1 children)

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!

[–] [email protected] 14 points 1 year ago

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.

[–] [email protected] 8 points 1 year ago (1 children)

I'm thinking that kbin might pick up speed since it's PHP, and the code base seems quite well organised.

[–] [email protected] 2 points 1 year ago (1 children)

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.

[–] [email protected] 1 points 1 year ago (1 children)
[–] [email protected] 2 points 1 year ago

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.

load more comments
view more: next ›