this post was submitted on 23 Jan 2024
281 points (95.5% liked)

Fediverse

27800 readers
310 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy

founded 1 year ago
MODERATORS
 

Seems like an interesting effort. A developer is building an alternative Java-based backend to Lemmy's Rust-based one, with the goal of building in a handful of different features. The dev is looking at using this compatibility to migrate their instance over to the new platform, while allowing the community to use their apps of choice.

you are viewing a single comment's thread
view the rest of the comments
[–] deegeese@sopuli.xyz 73 points 7 months ago (3 children)

I have a hard time believing that rewriting the backend from scratch would be faster than getting PRs approved on the main project.

Forks like this with one guy who "knows best" usually die a slow quiet death as they get left behind by the main project.

[–] spaduf@slrpnk.net 46 points 7 months ago (2 children)

I think how quickly this project has gotten to near feature parity is a testament to how slow Lemmy development has been. Think about scaled sort (a feature that has been hotly requested since the migration) and how long that took to get merged in. A sort should not by any means be slow to implement.

[–] cosmic_slate@dmv.social 24 points 7 months ago (2 children)

IMO slow development isn’t necessarily a bad thing.

I like that there was a two month period for apps to adopt the new login mechanism and that they smoke test releases for a fair bit on lemmy.ml before releasing to the world.

That said, a few months ago I wanted to do a light fork of Lemmy to proof out a few very minor things on my mental wishlist but just haven’t had the free time to meddle with Rust.

[–] spaduf@slrpnk.net 22 points 7 months ago* (last edited 7 months ago) (1 children)

IMO slow development isn’t necessarily a bad thing.

Sure but even just recently there was the example of breaking federation over Christmas. Some of those issues persist through 0.19.3 which came out today

Similarly scaled sort would have made a huge difference for small communities in the period directly after the migration.

[–] cosmic_slate@dmv.social 10 points 7 months ago

Yeah, that was definitely annoying. I would’ve preferred to have some kind of official workaround but I figured something out that got me through until the updates.

I probably lean too hard into forgiveness on this stuff but I know a number of open source devs who have burned out for various reasons this past year and would much rather see slow development than risking a rush towards burnout.

[–] Carighan@lemmy.world 5 points 7 months ago

IMO slow development isn’t necessarily a bad thing.

Quite the opposite, often it's a benefit as you don't end up wasting time and changing code for features where you don't actually know yet whether your current usage demands or supports them. There's a lot of genefit in not moving fast and not breaking things. Mostly that, well, you don't constantly break things.

[–] deegeese@sopuli.xyz 4 points 7 months ago (1 children)

A sort should not by any means be slow to implement.

Sure, if the sort key is something readily available. But for scaled sort they have to compute relative size/activity of the communities the specific user is in. The cost isn't the sort, it's computing the metric.

[–] spaduf@slrpnk.net 8 points 7 months ago* (last edited 7 months ago)

I'm not talking about the literal sorting algorithm. Pretty sure scaled sort is exactly one more operation than hot.

[–] skullgiver@popplesburger.hilciferous.nl 21 points 7 months ago* (last edited 7 months ago) (2 children)

[This comment has been deleted by an automated system]

[–] deegeese@sopuli.xyz 15 points 7 months ago (1 children)

I’m a Java developer and I would much rather pick up Rust to join an active project than try to rebuild something that already works using a less-marketable language.

[–] sik0fewl@kbin.social 12 points 7 months ago (1 children)

Sure, but it’s a lot more work for you to get to a point where you can be an active contributor.

[–] deegeese@sopuli.xyz -3 points 7 months ago* (last edited 7 months ago) (3 children)

Is it really a lot of work for an experienced dev? I can pick up most new languages in a day or 2 unless it's a total paradigm shift.

[–] sik0fewl@kbin.social 16 points 7 months ago

1-2 days is enough to learn the basics, but I doubt you’ll be as nearly as productive as with something you’ve been using for years. Keep in mind that new languages also mean new frameworks, etc, some which take years to actually master, but at least months to get a good handle on them.

Also, from my understanding, Rust is a bit of a paradigm shift.

[–] Carighan@lemmy.world 4 points 7 months ago

Yeah but there's a big difference between having "picked up" a new language and being on the level where you can viably add useful code to a distributed federated deployed platform.

I have 12 years in Java by now, I'm fairly confident with it. Rust, yeah no, not for production code.

[–] magic_lobster_party@kbin.social 1 points 7 months ago

Sure, anyone can pick up a new language or two over a weekend. That doesn’t mean they are confident enough to contribute to large scale programs with it. That takes much longer to learn.

[–] kaffiene@lemmy.world 2 points 7 months ago

Yeah I agree. Rust is an excellent language when you absolutely must be as safe as possible but don't want garbage collection. But there is a level of precision required of developers which makes it slower to development in. Other languages like Java, Python and Go are all quicker to develop in. Java is much easier to refactor IMO

[–] MeanEYE@lemmy.world 5 points 7 months ago

Depends on amount of technical debt really. Sometimes rewrite is the only way. But in general fixing things can be done. It's just matter of time, focus and effort.