Lemmy is in serious need of more devs

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.

Bobo_Palermo,

As a dev who never even heard of Rust, it sounds interesting.

CoderKat,
CoderKat avatar

You never heard of Rust? Today's lucky ten thousand then. I've personally never had a chance to use Rust, but it's my #1 most interested in language based on all the things I've heard about it.

Though I'm personally on kbin and naturally there's the most interest in fixing issues that are on your instance. Kbin sadly is just PHP, but whatever. I was gonna make a bug fix yesterday, but the steps to turnup a dev instance are so long that I got lazy and didn't bother. I'm spoiled by all the servers at my work that I can just start running with a single command that having to spend potentially a few hours turning up a server feels like too much now (and let's be honest, setting up a dev env is the most boring and annoying part of our job).

Magzter,

Just really needs some time invested in a docker compose solution, can easily spin up a dev env even with PHP.

VerifiablyMrWonka,
VerifiablyMrWonka avatar

It has one. Minus an undocumented step (that's sat fixed in a pr). Bringing it up amounts to 4 lines in a console; 1 to bring up the stack and 3 to start a JS watch for asset compilation.

CoderKat,
CoderKat avatar

How did you find the config file setup? That was where I looked at the file and decided "ah, I don't wanna deal with this". I just wanted to test what I expected to be an easy fix. If the code in question had unit tests, I would have just used those, but I didn't see tests. Actually, now that I think about it, I'm used to test files living alongside dev files, as is the Go convention, but maybe it's like the Java convention with tests being in a mirror folder tree. I should check later.

VerifiablyMrWonka,
VerifiablyMrWonka avatar

There are tests (and if the readme is to be believed a 71% coverage) they live in the top level tests/ folder.

As to the .env file you just need to rename the example one and either amend these values (with appropriate urls)

SERVER_NAME=localhost
KBIN_DOMAIN=localhost:9443
KBIN_STORAGE_URL=https://localhost:9443/media

MERCURE_URL=https://localhost:9443/.well-known/mercure
MERCURE_PUBLIC_URL=https://localhost:9443/.well-known/mercure
CADDY_MERCURE_URL=https://localhost:9443/.well-known/mercure

Or add them to a new .env.local file.

Start it all up and jobs done*

*well, you need to run the asset pipeline and add an admin user but that's all in the Readme.

nii236,

Seriously? What language do you use? How much experience do you have?

Dee_Imaginarium,
@Dee_Imaginarium@beehaw.org avatar

Them programming in COBOL and never leaving their room for forty years is the only explanation I can think of for not at least hearing of Rust lol

There's a lucky ten thousand every day though.

imperator,

I've heard of Rust. I'm not a developer, just use python occasionally.

nii236,

Just blows my mind. Then again, there are plenty of people who program for work, go home at 5pm, and never venturing outside their walled garden.

kresten,

They aren't in serious need. The lemmy and lemmy-ui projects have 4-5 regular devs as I can see it. It's just only 2 people being listed. I believe they are also working on getting help managing lemmy.ml.

As I see it, neither of them spend their time on jerboa either, it has two other regular devs.

A lot of the issues that are created are either duplicates, unimportant or useless suggestions. But there are still some major design decisions that are being actively discussed.

Nutomic and dessalines are just the only paid full-time developers of the projects.

nii236,

Who are the other devs if they’re not listed?

kresten, (edited )

The ones listed are the ones with write access as far as I'm concerned. The others just work with pull requests. You can go try see for yourself. No matter though, of course more developers is desirable, but my takeaway is that it isn't as serious as OP makes it out to be

nii236,

If a commit is brought in via PRs, they will be listed as contributors. It is at 153 contributors with 2 main ones. Not too shabby.

https://lemmy.jtmn.dev/pictrs/image/215b5a73-4732-4ca1-85cb-adc837b35ba3.png

ipkpjersi,

There are some pretty serious bugs, though. One serious bug is that when a registration application is denied, the applicant has no way of knowing, it doesn't send an email like it does for approvals - you can find out more here: https://github.com/LemmyNet/lemmy-ui/issues/1096. Another serious bug is after rebooting, active/hot have trouble updating, which makes Lemmy appear much less active than it actually is: https://github.com/LemmyNet/lemmy/issues/3076

These are just two serious bugs I know about, they are practically tier 0 bugs IMO, and I'm sure there's even more serious bugs that are even more serious than these two.

kresten,

I'll admit that those are serious issues. With that said, one of them is in progress of being solved by one of the maintainers and a volunteer instance host. But yes, it could use more people

jherazob,
@jherazob@beehaw.org avatar

There's the ticket about clearing deleted messages after 30 days (right now it's keeping every deleted message in the DB until account deletion which is bonkers to me), and i recall seen a couple other rather important ones when i was looking for one relevant to federation options (which i DID NOT find, and which would have prevented the defederation of those two instances). So yeah, there's non-urgent tickets and duplicates and whatnot, but there's important stuff too.

ipkpjersi,

With the clearing deleted messages after 30 days, I take it that would also delete the username visibility after 30 days too, or would it still leave the username of the deleted comment even after 30 days?

jherazob,
@jherazob@beehaw.org avatar

That probably must be another ticket, this is specifically about it keeping the contents of deleted messages in it's current state, which is not good.

ipkpjersi,

Ah I see, fair enough, thanks.

s900mhz,

Interesting.. lol didn’t know that. I feel like it should be configurable per instance

jherazob,
@jherazob@beehaw.org avatar

Remember, Lemmy is RECENT, many things are still in development, that's why i said that the Reddit shitstorm was bad timing, should've happened in a couple years or so :P

XTL,

Too bad it's on a Microsoft service. It would be a nice project to try and find little things to work on otherwise.

stephenc,

You're going to have a tough time finding projects to contribute too. A mind-boggling number of projects are hosted on GitHub. Probably a majority of all open-source code in existence.

kresten,

If that is what's precenting you from contributing, then it's a bad excuse. In my mind, contributing to FOSS outweighs a blackout from Microsoft

fastfinge,

How is PHP doing these days? It used to be hugely popular, but seems to have fallen into disregard in a lot of circles. I wonder if PHP being seen as a "easier" language than rust will attract more kbin developers?

tiredofsametab,

I'd rather work in rust, personally. I've heard newer PHP has a lot of things that are better than previously, but I've not worked with it personally.

slashzero, (edited )

I still use PHP extensively for a lot of my projects at work. It’s my favorite language.

I’ve been experimenting with rewriting one of my UI based reporting tools with Laravel (moving from slim/twig).

The fact kbin uses PHP piqued my interest there but I went with lemmy for my standalone instance anyway because I’d like to get familiar with Rust.

stephenc,

PHP used to be my main language. When they started adding more advanced type features it interested me. Then I got bitten by the strong typing bug and started teaching myself Haskell. I didn't end up getting very far, but now I strongly prefer strong and static typing.

I don't dislike PHP, even now. If I wanted to use an interpreted language for a web project, I'd probably pick PHP. I sure like it better than Python, Ruby, and JS. I just don't find myself wanting that kind of language anymore though.

dan,
@dan@upvote.au avatar

PHP is hugely popular. People just don't talk about it because the developers mostly keep quiet and do their work :)

Whar,
@Whar@beehaw.org avatar

Every time someone says PHP is dead, it lives for another year 😬

dan,
@dan@upvote.au avatar

People were saying that PHP was dying when I started using it - that would have been around 2003 I think, with PHP 4.3. 20 years later, apparently it's still dying!

WordPress powers a crazy number of websites. I think around 35%? All of those sites are using PHP. I wouldn't be surprised if it was the most widely deployed backend technology across all websites.

Whar,
@Whar@beehaw.org avatar

According to this, WordPress powers 43% of the internet, when you think about it it's crazy!

CoderKat,
CoderKat avatar

But on the other hand, Rust is a highly desirably language whereas PHP has a historically bad rap. I don't think devs necessarily want easiest. They want whatever is most enjoyable to use. Tooling support also matters. Stuff like static typing, for example, makes unfamiliar code way easier to understand. I've contributed to a lot of unfamiliar servers and I've noticed that ones in languages like Go are a lot easier because the static typing means it's easier to read the code. In particular, I found servers written in Python hard to work with, and it's not for lack of experience with the language (I've been using Python for longer than Go).

How easy it is to run the code also matters. Has anyone tried that with Lemmy? I was gonna run a dev kbin instance to try and make some changes, but the amount of work it seemed to require just to run the server was more than I wanted to do at the time (I really just want as close as possible to a single command way to run the server locally to test my changes so I can verify they work). Ease of contributing is very important for me to actually bother to contribute.

fastfinge,

Lemmy has Ansible deploy scripts, and everything is dockerized. It's as easy as spinning up a machine, setting some config values, and running a playbook.

mrmanager,
@mrmanager@lemmy.today avatar

Almost everything is easier than rust, except stuff like Elixir or Assembly and stuff...

But rust is just better than the others. Golang is also decent, it's fast (half the speed of rust is still very fast) and much easier to learn.

ollien,

I find it funny you put Elixir In the same boat as Assembly. It's not that complicated of a language, it just has interesting process mechanics.

kresten,

Assembly isn't 'complicated' either

Da_Boom,
@Da_Boom@iusearchlinux.fyi avatar

I wouldn't say rust is harder, just different. There aren't really many languages that are safe in the way rust is safe... Ive done a bunch of intermediate rust tutorials and i actually got the hang of it pretty quickly

toadmode,

a lot of rust's safety is basically the compiler enforcing things that are already considered modern c++ best practices

CoderKat,
CoderKat avatar

I love Go. Sure, it has downsides like it's error handling is annoyingly verbose, terrible support for functional programming, the standard library is very tiny, and it doesn't have much syntax sugar. But damn if it isn't the most easy language I've ever used. I think it has the fewest gotchas, the code is generally the easiest to read, and it performs well (especially with goroutines). Code is read far more often than it's written and ease of understanding unfamiliar code is very helpful for getting people to contribute to your project.

XTL,

Have you looked at the size of your executables and the runtime with go?

Maybe if you've making a web browser or some server process is useful but not for most tools because of the gigantic baggage it pulls along.

SuitedUpDev,
@SuitedUpDev@feddit.nl avatar

One of the first things I did when I learned about Lemmy and joined an instance is see if I could contribute in some way, shape or form.

But unfortunately it's written in Rust, a language in which I have 0 experience and 0 knowledge. :(

bdonvr,

0 experience and 0 knowledge so far, right? :)

XTL,

That's the point where you can make more and faster progress than any other!

SuitedUpDev,
@SuitedUpDev@feddit.nl avatar

Hahah.... Shit, now you got me intrigued... xD

greybeard,

If you are familiar with programming in general, you should be able to use those skills in Rust. Also, there is front end developing to do. I haven't looked into what tool kits they use for the front end, but I imagine CSS, HTML, and JavaScript/TypeScript knowledge would be useful.

SuitedUpDev,
@SuitedUpDev@feddit.nl avatar

On the frontend, it's primarily React and Bootstrap. I do have some experience with React (with TypeScript), so that's good! And Bootstrap, that has been a few years....

squaresinger,

Yeah, of course you can learn a new language. But it's only moderately helpful for a FOSS project for random people who don't really know the language and really don't know the project to just dip their toes in and commit something.

Often this causes more work that it helps.

greybeard,

I agree with you on driveby PRs don't help much at all. And I'm not going to pretend I'm going to sink the time required to understand how lemmy works and give quality PRs, and I don't expect you to either. I just wanted to say, don't let the language be what stops you.

squaresinger,

True that. I just meant, if you are really good in that language, a driveby PR might at least be mildly useful, while if I as a Java dev start messing with a project in a language I don't know, chances are pretty low that I'll be able to produce something worthwhile.

ollien,

Even as someone with Rust experience, I found the experience of attempting to add a change to be frustrating. Aside from the fact that there's quite a bit of unidiomatic Rust (which I can't be too mad about, but does mean there are a lot of function signatures that just aren't what I'd expect and caused me some pain), the compile times for even small changes are long. After just changing a struct initializer, running cargo check took nearly a full minute, due to all the dependencies between the crates.

mrmanager,
@mrmanager@lemmy.today avatar

It's really the best language right now for a lot of things. It's not easy to learn but once you start to get parts of it, it's a great feeling.

It's sadly complicated and that's the only problem with it. If it was less complex it would take over everything because it's just so much better.

Stumblinbear,
@Stumblinbear@pawb.social avatar

Unfortunately the complexity is what makes it so good. I don't know how you could make it simpler but remain just as powerful

nachof,

Always a good opportunity to learn something new.

camelcdr,
@camelcdr@beehaw.org avatar

Maybe you know more about web or android development, then you could look into contributing to the lemmy-ui or jerboa.

Yesterday I was annoyed at wide code blocks being wrapped, instead of having a horizontal scrollbar, so I took 20 minutes of googling and hacking around with my minimal css skills and wrote a PR, it's already merged and will probably show up on instances soon.

SuitedUpDev,
@SuitedUpDev@feddit.nl avatar

Yesterday I was annoyed at wide code blocks being wrapped, instead of having a horizontal scrollbar, so I took 20 minutes of googling and hacking around with my minimal css skills and wrote a PR, it’s already merged and will probably show up on instances soon.

Very nice!! Congratulations!

Maybe you know more about web or android development, then you could look into contributing to the lemmy-ui or jerboa.

Yes that's definitely one the things I am leaning towards. On my main "gripes" with Lemmy right now, is the lack of keyboard shortcuts (think of stuff like, CRTL+enter to send a reply for example). So I wanna see if I can add that in the frontend repository.

camelcdr,
@camelcdr@beehaw.org avatar

Sounds like a cool project!

Make sure to check the issues/PRs, it looks like people already worked on CTRL+Enter.

SuitedUpDev,
@SuitedUpDev@feddit.nl avatar

Make sure to check the issues/PRs, it looks like people already worked on CTRL+Enter.

Oh damn! That's nice! But that means I have to find another thing to do :P

camelcdr,
@camelcdr@beehaw.org avatar

I just though of one, you know how you can insert images with the "upload image" button, drag and drop doesn't seem to be supported yet.

Idk how hard that is to implement cross platform, but many sites support it.

SuitedUpDev,
@SuitedUpDev@feddit.nl avatar

Usually it isn't hard to implement..but that largely depends on the backend.

Might take a crack at this, this weekend.

JohnDumpling,

Saly, I have no experience in programming, but I'll at least help with transations.

Domiku,

Maybe this is a good excuse for me to (apologies) shake off the Rust and contribute some. I’ve only contributed once or twice to a FOSS project, though, so I’ll need to read up a little on best practices and etiquette.

druppel,

Kind of thinking the same thing, I want to learn rust, but have not gotten an excuse to start using it. Maybe dedicating 8-16 hours per 2 weeks could help me learn rust and do something more complex than writing hello world. I have some additional time in a month or so, so might as well try

s900mhz,

Yeah don’t let fear inhibit you too much. I started contributing and everyone has been very helpful in the PRs , no one made me feel like an annoyance

Hedup,

Don't shake it off! They need all the Iron Oxide they can get, from what I'm hearing.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • programming@beehaw.org
  • GTA5RPClips
  • magazineikmin
  • InstantRegret
  • everett
  • osvaldo12
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • kavyap
  • Durango
  • ngwrru68w68
  • thenastyranch
  • DreamBathrooms
  • JUstTest
  • khanakhh
  • Leos
  • cisconetworking
  • ethstaker
  • modclub
  • tester
  • cubers
  • tacticalgear
  • provamag3
  • normalnudes
  • anitta
  • megavids
  • lostlight
  • All magazines