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.
Thank you so much. This is a terrific insight. A little later I’m going to sit down at my PC and type something up I think will help.
I’d ask you as a fellow ADHDer ✊ if I forget to please remind me to write up my response 😂
EDIT: Response now posted here
I’m a programmer of 25+ years. Everything WatTyler has written is spot on. I started with C and I still love that thing like first born. It is so immensely satisfying writing something in C that a) works b) doesn’t leak memory and c) passes all your unit tests. Nothing else compares.
I too looked at React and hated it with a passion. Then I saw VueJS and kind of liked it. Then I saw Nuxt and now I’ve gone all in on NuxtJS. It is so simple and well-thought out compared to the shambles that is React. It’s very satisfying to use. Rust is next for me.
I’ve learnt well over 10 languages over the years. Some well, some well enough. Learning a language is bit like reading a book. If you’re a third of the way in and it’s doing nothing for you, don’t waste your time. Grab another one off the shelf and try that. Don’t put pressure on yourself - it shouldn’t be stressful. Learning a language should be an enjoyable process. Just chip away at it bit by bit and enjoy the little discoveries.
Don’t worry so much about your coding style. From the examples you gave, yours is much easier to follow than the second one. And, you know what? Most ‘senior programmers’ I’ve worked with have been bad coders. The bar is not as high as it may appear.
Sounds like you’re currently a systems guy with a bit of programming skills. That’s an awesome combination to have, and mirrors my own all those years ago. The best bit is your have the freedom to learn programming as a hobby, without the pressure. Enjoy the process. Watch some videos by Sebastian Lague on Youtube, they’re magical.
Best of luck with your programming journey. It is an immensely enjoyable hobby, and ridiculously useful skill to have.
Thank you for taking the time to read my response. I really appreciate having the approval of someone with decades of experience (which, I very much don’t). Out of curiosity, when you started programming would have been the early days of Java, C++ etc. and the start of the ‘OOP revolution’. Can you recall why you started with C, when OOP was very much en vogue?
That’s a very good question. Java and OOP really were new and exciting things when I first entered the workforce. But, I first started programming long before Uni and joining the workforce. I first started programming on one of these: https://en.wikipedia.org/wiki/Intellivision using an ‘Intelliputer’. Then I learnt Logo on an Apple IIe. Then GW-BASIC on MSDOS, then PASCAL, then C. Then I stuck with C for a long time, including most of Uni.
So, by the time Java and OOP came along, I already had 10+ years of procedural programming behind me. That actually made it really difficult for me to to learn OOP. It was some weird paradigm that didn’t align with anything I knew. So I gave Java a mostly wide berth for as long as I could and focused instead on Perl, then PHP.
Both of those ended up getting OOP abstractions crammed into them, so eventually I did end up learning OOP, but it was more through osmosis. By then Java had largely come and gone. As much as it saddens me, Perl too largely died. That left me with PHP which, to be fair, was becoming quite a nice language by then.
By now I was a devout OOP developer and really enjoyed the OOP changes to PHP. Python, being object based, was the next logical choice. Javascript was still a pile of poo. Then Javascript got OOP abstractions too and suddenly was all the rage. Then they started putting the frontend on the backend (Node) and I was truly lost at sea. To me it it was twice as much work to build something (API + frontend) compared to the old server side rendering. It seemed way to much effort just to avoid a page load.
Nevertheless, I tried React and I hated it, it made no sense - though Javascript was looking a lot nicer by then. So I held off a little longer on adding ‘frontend dev’ to my resume, then NuxtJS came along and here we are.
So, long story short, I’ve been doing this forever. I technically review team code all day, every day. I know good code, I know bad code and have seen shit that still gives me nightmares.
The funny thing is, I have written dozens of cool tools that I think are pretty damn clever, yet I have never open sourced anything. My reason is the same as yours: Because I still don’t think any of it is good enough.
Likewise, you gave an amazing response and I want to dedicate some time to properly reading and responding to it, so I’ll be responding when I have a good opportunity to commit :) Thank you so much for such a thoughtful and thorough response, I really look forward to going over it