I am a Software Engineer by trade, and I'm right now trying to learn and contribute to their code base but unfortunately, it takes a lot of time to get used to someone else's code. Hopefully, contributions will pick up once we've all had some time to look at it.
Programming
All things programming and coding related. Subcommunity of Technology.
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
I've been programming as a hobbyist for a decade on and off but I've still never contributed to any projects but I've long wished to. Major imposter syndrome. Would working on this be next level difficulty?
No, it wouldn't be. The first step is honestly to get it running locally, then make sure debugging and breakpoints work, and then pick a feature you want to add or improve, use the debugger to see what code currently executes, and then hook your feature into it. Make sure to familiarize yourself with Rust syntax if you're not already, but I think you could do it.
Maybe I should learn Rust for this. I've never used it but otherwise I've got 20 years of programming experience so can probably pick it up. I'm very experienced with web development so maybe that's a better area where I can contribute.
Someone mentioned that kbin uses PHP which makes it tempting to switch over... I do experience with PHP.
I'm in the same boat. I'm thinking this might be the opportunity for me to give Rust a try.
I'm a professional dev who's been doing Rust for a few years, and I just looked into their repo for the core project this morning. They've tagged some issues as being good for newcomers, which is helpful. I already reviewed someone's code there to try to help.
I intend to try to pick off some issues. I like to write code, and I'd like to see this project improve.
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.
Don't shake it off! They need all the Iron Oxide they can get, from what I'm hearing.
They probably could use more manpower to some extent but everyone here's forgetting the mythical man-month; just chucking more bodies at a software project doesn't necessarily speed it up any more than nine women can have a baby in one month.
That said I'm happy to do the odd bit here and there if there's any call for it, either for lemmy itself or BeeHaw.
You're right of course, but there's tons of individual features which can be worked on in relative isolation. The devs need help with moderation tools, performance, frontend, etc. With 200+ open issues I'm sure more developers making proactive pull requests can make a difference.
I would love to participate. I've been doing Rust professionally for seven years now and I understand the language very well. Too bad there is just so much work already and adding a new project feels a bit too much. I'd love to read the source one day though, maybe I find some time.
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.
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.
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.
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
Front-end developers
There was a posting I saved about some people saying they were going to code on front-end: https://lemmy.ml/post/1199330
I wish so badly I could code, I spent 8 years trying to understand it and get into the industry, but it never quite clicked in my brain. Soooo I do IT infrastructure. I wish so badly to contribute code
I started looking into building a theme for Lemmy, but it was quite difficult to get everything to run well locally. When I did a checkout the main branch had an error in the Rust code and the main branch of the ui had an error that prevented the websocket from connecting to the back-en. I did get it to work by fixing the small error in rust and using a branch that fixed the websocket error. But it was hard to get started.
I was wondering if there is a Lemmy development community here on Lemmy. I tried searching for it on Lemmy.ml, but the cummunties about Lemmy and support don’t really look like they are about development.
That's a good point, there should be a community about developing Lemmy itself on the main Lemmy instance, pinging @dessalines@lemmy.ml and/or @nutomic@nutomic@lemmy.ml, it would be the place to recruit to help, maybe even make posts about specific issues that need attention or something
If you have a matrix account there is a chat for lemmy development: #lemmydev:matrix.org
@mobyduck648@mobyduck648@beehaw.org
They probably could use more manpower to some extent but we’re all forgetting The Mythical Man-Month; just chucking more bodies at a software project doesn’t necessarily speed it up any more than nine women can have a baby in one month.
Sure, but look at the rapid progress llama.cpp made in the past 3 months, especially in the 1-2 weeks after its launch
btw, my instance just linked to this community so I don't see your comment (which is why this is a root level comment)
If you copy a link to the comment and put it into a search bar (on your instance) you can force a server to prioritise this one comment to load on your instance. Then you can reply with your comment.
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. :(
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.
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.
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.
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.
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.
Unfortunately the complexity is what makes it so good. I don't know how you could make it simpler but remain just as powerful
The previous calls for forking were not convincing (political), but this post makes sense to, if the community is unable to contribute because of a lack of attention from external help.
I’m not sure if that’s the case and I’ll have to have a look myself.
I’m happy to contribute, and hopefully the process of new contributors (CONTRIBUTORS.md) is easy and straightforward, and the issues are triaged by someone dedicated, perhaps from the community.
i am a noob, but i'll try just help me when i make mistake.
Saly, I have no experience in programming, but I'll at least help with transations.
As a dev who never even heard of Rust, it sounds interesting.
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).
Seriously? What language do you use? How much experience do you have?
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
They wrote a web application in rust?
the back end is Rusty the front end is inferno which is very similar to react. Uses JSX.
Rust is the server for Lemmy. And it works just fine as a server.
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?
PHP is hugely popular. People just don't talk about it because the developers that use it mostly keep quiet and do their work :)