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.
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.
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
Saly, I have no experience in programming, but I’ll at least help with transations.
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. :(
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.
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.
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.
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.
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.
Sounds like a cool project!
Make sure to check the issues/PRs, it looks like people already worked on CTRL+Enter.
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.
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?
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.
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
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.
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.
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.
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.
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.
PHP is hugely popular. People just don’t talk about it because the developers that use it mostly keep quiet and do their work :)
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.
Too bad it’s on a Microsoft service. It would be a nice project to try and find little things to work on otherwise.