this post was submitted on 03 Jul 2023
220 points (97.4% liked)

No Stupid Questions

35888 readers
1079 users here now

No such thing. Ask away!

!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must be legitimate questions. All post titles must include a question.

All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.



Rule 2- Your question subject cannot be illegal or NSFW material.

Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That's it.



Rule 5- No baiting or sealioning or promoting an agenda.

Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding META posts and joke questions.

Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.

On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.

If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.



Rule 7- You can't intentionally annoy, mock, or harass other members.

If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.



Rule 8- All comments should try to stay relevant to their parent content.



Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here.



Credits

Our breathtaking icon was bestowed upon us by @Cevilia!

The greatest banner of all time: by @TheOneWithTheHair!

founded 1 year ago
MODERATORS
 

I know that Lemmy is open source and it can only get better from here on out, but I do wonder if any experts can weigh in whether the foundation is well written? Or are we building on top of 4 years worth of tech debt?

you are viewing a single comment's thread
view the rest of the comments
[–] legion 176 points 1 year ago (6 children)

There are no good code bases, only less bad ones.

[–] andyli 55 points 1 year ago* (last edited 1 year ago)

The only valid measurement of code quality: WTFs/minute

[–] [email protected] 23 points 1 year ago (1 children)

Is Lemmy less bad or more bad than a typical open source project?

[–] [email protected] 46 points 1 year ago (3 children)

From some comments I've read, it's at least in better shape than kbin? A few people expressed interest in helping with that project and then went running for the hills after reading through the code.

[–] ritswd 52 points 1 year ago (2 children)

It’s probably not the only reason, but Rust is a much more attractive language/platform for devs to work with than PHP. (Source: https://survey.stackoverflow.co/2023/#section-admired-and-desired-programming-scripting-and-markup-languages)

It’s also more scalable, because it’s a compiled multi-threaded technology, while PHP is interpreted and mono-threaded.

[–] [email protected] 22 points 1 year ago (3 children)

Mother. Of. God. Did they really write Kbin in PHP?

I may be talking shit because I'm not a PHP coder, but the times I've seen it, it was a nightmare.

[–] DrWorm 18 points 1 year ago (1 children)

Which... makes sense. The creator of doesn't like coding.

I actually hate programming, but I love solving problems. I really don't like programming. I built this tool to program less so that I could just reuse code. PHP is about as exciting as your toothbrush.

So PHP it born out of a dislike of coding. In turn the documentation is all over the place and inconsistent.

[–] [email protected] 7 points 1 year ago

Makes sense. And JavaScript is born out of a dislike of coders🤣

[–] [email protected] 6 points 1 year ago (1 children)

To be fair, PHP has slowly been getting it's shit together since PHP 7, and 8 seems to be in a reasonably great shape compared to the horrors of 5.6

[–] ritswd 7 points 1 year ago

It has become really solid over time.

But it will always be a mono-threaded and interpreted technology, and therefore never a good choice for a high-scale solution like a Fediverse application.

[–] Sir_Simon_Spamalot 4 points 1 year ago

There are good PHP codes out there as well...

[–] [email protected] 0 points 1 year ago (2 children)

PHP is really old isn't it? I remember using phpBB forums some twenty years ago. They worked really well, but that's going pretty far back.

[–] [email protected] 8 points 1 year ago

PHP is an interpreted language which is inherently slow compared to a compiled language, such as Rust which is very fast. Modern PHP isn’t so bad kinda but I’m guessing a guy who hates programming and decided to start a new PHP project in 2023 isn’t really optimizing anything. Also, you’ll never get anyone you help you write PHP because gross. It’s a dead language with a small community of masochists and maintainers of legacy projects.

It would be like if you saw someone building a fighter jet and thought “hey, I can do better!” and then started getting your paper mache out to start playing air plane designer.

[–] ritswd 6 points 1 year ago

It is, but it aged pretty well.

Devs wanted to store state in objects, so it became object-oriented. It also gained a really solid full-fledged web framework with a strong community, with Symfony; and some strong micro-frameworks like Laravel.

But it will always be interpreted and mono-threaded, and therefore never a good choice for high-scale solutions. Facebook has to invent a brand new language (Hack) and runtime (HHVM) that was close enough to PHP so they could spend millions spending their PHP codebase to it, in order to make it compiled and multi-threaded, and make it scale.

[–] [email protected] 10 points 1 year ago

I read from one admin that a Lemmy instance is a lot easier to set up and maintain than a kbin instance. It's initially more complicated to set up and updates are just a super headache to deal with. That sounds like a showstopper. I mean kbin is not going to get too far if it's that difficult to run and maintain an instance, no matter how good or bad the code.

From a user perspective kbin has a really nice looking interface, though Lemmy has more features. I'd like to see kbin do well. It's younger than Lemmy so it's going to be behind, but hopefully the overhead in running an instance can be resolved.

[–] [email protected] 9 points 1 year ago

That’s PHP for ya

[–] boeman 18 points 1 year ago (1 children)

The best code base is the repo I just created and haven't committed anything to.

[–] [email protected] 16 points 1 year ago

Just clone this one. Guaranteed the best repo ever! https://github.com/kelseyhightower/nocode

[–] [email protected] 10 points 1 year ago

Yup, code is bad, more code is worse. And unparseable specialist code is a technical debt.

[–] [email protected] 9 points 1 year ago (1 children)

Wait, so the answer is, “it depends?” 🌎👨‍🚀🔫👨‍🚀

[–] [email protected] 21 points 1 year ago (1 children)

No the answer is that it is written in a modern language, is in its infancy and needs a lot of work to be really great, but it's based on a certified protocol ActivityPub, that Mastodon and other "fediverse" systems use. It's going to be really great, eventually.

[–] [email protected] 6 points 1 year ago (1 children)

"It depends" is a reference to an inside joke between developers. I agree with you that it could be really great, whether or not a code base is "good" or "bad" is just a complicated and highly subjective question to answer

[–] [email protected] 3 points 1 year ago

thanks - yes, I suspected it was. Lemmy is what it is - and agree the question is difficult to answer concisely. Understanding that interpretation of "good" vs "bad" codebases is subjective, there are plenty of production systems that are unambiguously "not good". The great thing about lemmy isn't the UI, it's the threading and reddit-like communities built on the ActivityPub foundation. It's the right foundation.

[–] [email protected] 5 points 1 year ago (1 children)

Hey, my code base is fantastic if you ignore all the stuff I had to inherit, did in a time crunch, or didn't understand what I was doing!

[–] psilves1 1 points 1 year ago

It's always the crunch time. There's so many things I'd like to do or do better but I legitimately don't have enough hours in the day to get it done right