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.

34 points

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.

permalink
report
reply
21 points

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

permalink
report
parent
reply
3 points

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

permalink
report
parent
reply
3 points

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

permalink
report
parent
reply
8 points

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

permalink
report
reply
8 points

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. :(

permalink
report
reply
16 points

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

permalink
report
parent
reply
6 points

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

permalink
report
parent
reply
3 points

Hahah… Shit, now you got me intrigued… xD

permalink
report
parent
reply
8 points

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.

permalink
report
parent
reply
8 points

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

permalink
report
parent
reply
10 points
*

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.

permalink
report
parent
reply
8 points

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.

permalink
report
parent
reply
6 points

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.

permalink
report
parent
reply
3 points

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…

permalink
report
parent
reply
25 points

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.

permalink
report
parent
reply
7 points

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.

permalink
report
parent
reply
4 points

Sounds like a cool project!

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

permalink
report
parent
reply
7 points

Always a good opportunity to learn something new.

permalink
report
parent
reply
11 points
*

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.

permalink
report
parent
reply
7 points

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?

permalink
report
reply
6 points

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.

permalink
report
parent
reply
8 points
*

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.

permalink
report
parent
reply
11 points

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

permalink
report
parent
reply
3 points

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.

permalink
report
parent
reply
1 point

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

permalink
report
parent
reply
7 points

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.

permalink
report
parent
reply
6 points

Assembly isn’t ‘complicated’ either

permalink
report
parent
reply
5 points

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.

permalink
report
parent
reply
3 points

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.

permalink
report
parent
reply
3 points
*

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.

permalink
report
parent
reply
2 points

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.

permalink
report
parent
reply
7 points
*

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

permalink
report
parent
reply
4 points

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

permalink
report
parent
reply
6 points

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.

permalink
report
parent
reply
2 points

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

permalink
report
reply
19 points
*

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

permalink
report
parent
reply
3 points

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.

permalink
report
parent
reply

Programming

!programming@beehaw.org

Create post

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.

Community stats

  • 72

    Monthly active users

  • 320

    Posts

  • 3.3K

    Comments