this post was submitted on 14 Jul 2023
238 points (98.4% liked)

No Stupid Questions

36172 readers
515 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 2 years ago
MODERATORS
 

I'm not sure I completely understand the differences. Are they seperate or somehow connected?

Also I've read you can view kbin instances on Lemmy somehow. How does that work if they're two different things?

I'm using Liftoff is it somehow possible to view kbin instances on there?

top 50 comments
sorted by: hot top controversial new old
[–] muzzle 107 points 1 year ago (3 children)

They are two separate projects with similar goals (implement a Reddit clone). They both use the activitypub protocol, so they can generally interoperate. Other activitypub based services, such as mastodon, can also interact with either Lemmy or kbin, but in a more limited and clunkier way.

Lemmy was started first so there are more servers and more users, kbin is more recent.

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

A good visualization of this can be found on FediDB. Active users on kbin has recently surpassed those on Lemmy.

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

That's a huge jump on the 13th, I wonder what happened...

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

It’s very obvious a bug. They did not almost double their active users in a day.

load more comments (2 replies)
[–] [email protected] 9 points 1 year ago

Kbin saw more relative growth in comparison recently though. How well they can communicate with each other always depends on the implementation. For example, I think the microblogging in kbin could definitely be more fleshed out to be able to communicate better with actual Mastodon. Right now it goes more in just one direction.

[–] electrogamerman 3 points 1 year ago (2 children)

So are they in direct competition? Or are we able to see what each other is posting?

[–] original2 14 points 1 year ago

We can see the posts on both platforms (except for the case of de-federation).

Competition is an odd topic for open source software. For example, whilst mastodon, kbin and lemmy are all competing for attention, they are collectively making the activitypub ecosystem more attractive.

A similar thing happens with linux: Oracle, red hat, canonical etc all compete for market share, but pay for developers to work on the wider linux ecosystem (the kernel as well as GNOME and other apps etc)

[–] Kazevic 7 points 1 year ago

They interoperate, so a Kbin user can see everything on Lemmy and vice versa.

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

They are two disparate software that both work on the ActivityPub platform.

Lemmy is a thread aggregator(like reddit) only, where kbin does thread aggregation and microblogging(Like Mastodon).

Both software federates with others, so you can see lemmy communities on kbin, and you can see kbin magazines on lemmy.

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

So will posts in a kbin magazine also appear on the lemmy front page? Or do I have to specifically seek them out and subscribe to them for them to appear in my subscribed feed?

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

If your instance already discovered then, then they should be available in all feed. If you subscribed to them, then they should also be in subscribed feed.

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

So will posts in a kbin magazine also appear on the lemmy front page?

Yes, and visa-versa

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

I think by default you don't see the domains of the instances & users, but at least for kbin there's userscripts that enable them, making it easier to differentiate where a user or community / magazine comes from. Generally though, as long as your instance hasn't defederated from the kbin instances, the threads should just appear like all the other instances.

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

After reading these comments since I also wanted to know the differences, I have determined I am still "technologically challenged". I basically understood the punctuation.

You know you are old when you think there should be something like a "Technology and Federation for Dummies"!!

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

What part are you having trouble understanding?

Lemmy and Kbin basically just use the same protocol for exchanging information.

Both are similar in that they interpret and present that information in a way that looks similar to Reddit which is why you can see a community on Lemmy as a magazine on kbin and vice versa. In addition Kbin also can interpret it in a way that resembles twitter.

They both started with the protocol but the way they store, serve, and present the information from the protocol is different. For example, I think Kbin stores the information that shows who upvoted what, but I don't think Lemmy does.

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

The part about PHP and Rust, the differences of which is the better code?/foundation?

Most of my confusion lies with which instance is the better option as a whole. Is PHP not as reliable as Rust even thought Rust is new? I can not read code so I have no idea what any of that means.

Apologies for my ineptness. I would like to understand better.

[–] [email protected] 15 points 1 year ago* (last edited 1 year ago) (2 children)

A car can run on petrol, LPG, diesel, electricity or hydrogen. The result is still the same - a thing that moves when you push on the go pedal.

For almost everyone, it makes no practical difference which fuel makes the website work.

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

I like that!! Thank you!

[–] Galluf 3 points 1 year ago

I disagree with that analogy. There's a very noticable difference between how the cars goes (and sounds) among those fuel types. They may all get you to your destination, but the experience is moderately different.

And maybe that actually makes it a good analogy. I'm not really sure.

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

Ahhh. Well what's better overall is gonna be fairly subjective. Php in itself was made for serving web pages with dynamic content. It came first so there's a lot of resources to learn it, more established libraries, and there are more people who know how to code with it. Ernest having experience with PHP is likely a big contributor in his choice to use it

Rust is more efficient in terms of performance because it's purpose was to replace C, a language that is "close to hardware" (not really but for the purpose of this explanation just assume it). Meaning a coder can deal with things manually that PHP normally does for them. This is a double edged sword because manually doing things allows you to find efficiency in things that something like PHP would miss, but it also gives a lot more opportunities to mess something up.

So in terms of performance I would say

Perfectly Written Rust > PHP > Badly written Rust.

The subjective part comes from how well you think the Rust is coded in Lemmy. So just choose which one you like more.

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

Thank you!!

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

Lemmy stores who upvoted what but does not make it easily available to everyone like kbin does - you can set up a Lemmy instance to grab upvoted and read them from the DB if you are so inclined, or you could just look at kbin to see the same info

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

People should really mention the protocol used more often.

These services can work together because they support the 'ActivityPub' protocol. Any service that supports ActivityPub can communicate with any other service that does.

This is why we have protocols.

[–] DannyMac 8 points 1 year ago (1 children)

Let's say the fediverse is texting, Lemmy is Android, and kbin is iOS. They can text each other, despite being made by different companies.

load more comments (1 replies)
[–] Kwaker76 17 points 1 year ago* (last edited 1 year ago) (1 children)

They're what is called federated. They use the same protocols which allow each to see the other. The best comparison I've heard to describe it is like how you can read emails irrespective if someone used Google Mail, Yahoo Mail, or Microsoft Outlook, or whatever email sending software.

[–] mylemmyname745 2 points 1 year ago (4 children)

Do you mean that their API's are similar or the same? That's why they can interconnect?

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

Not APIs, they use the same communication protocol. Like email does, or like websevers do with HTTP (HyperText Transport Protocol).

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

Yes and no. It's not just the protocol but also the fact that Lemmy and bin both are fairly similar in function, making interoperability / connectivity much easier. kbin is probably even a little closer to Reddit in its native desktop layout than Lemmy, which most Lemmy apps also are following. It's one of the reasons why I went with kbin instead, but I also have a beehaw account which I primarily use for mobile testing, as kbins API isn't released yet, which means there's a distinct lack of proper mobile apps at the moment. Here's how my regular frontpage looks like at the moment, with a couple userscripts.

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

Thanks for a reminder that I should look into userscripts for kbin. — For now, I'm using the Stylus extension (in desktop Firefox & Chrome) to apply custom CSS. Nothing fancy yet, just simple overrides to remove some margins and padding to make the "compact" view more compact.

load more comments (1 replies)
[–] [email protected] 3 points 1 year ago

Simply put, the difference between a protocol and an API are that a protocol is how you communicate, while an API is a way for software to not just communicate with a server but get it to do things as if the software were a human using different, less efficient means.

Let's take pre-Elon Twitter for example: Twitter's API allowed automated programs to tweet things without simulating a browser, "clicking" on "new tweet", putting text in the text box and then "clicking" on "send". Instead they could directly send the text and identification info to a part of Twitter's API. This communication with the API happened through a protocol, most likely HTTP/HTTPS, because protocols have in-built ways to handle communication failures, encryption, etc.

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

They are both built on the ActivityPub protocol which allows them to connect with each other.

[–] [email protected] 10 points 1 year ago* (last edited 1 year ago)

There is a standard for sharing tweet style information and for threaded type information between websites.

You have software which implements the tweet standard (Mastodon), the threaded standard (lemmy) and both (KBin).

You'll notice some communities will be [email protected] or [email protected], etc.. this indicates they are not local to the website your using and those addresses are KBin instances, its just your website has a copy of the information.

KBin is newer than Lemmy, it has a fairly simple responsive design that works well on mobile. Lemmy has a REST api so its easier to build mobile applications, a lot of people seem to expect/need to access websites via mobile applications.

The key difference is Lemmy is developed by Tankies, they think China's genocide of Ughurs is justified and they administer lemmy.ml.

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

It's also worth considering that kbin currently has around 600 stars on GitHub, Lemmy has 11k. Kbin is written in PHP, Lemmy in Rust. PHP is older and more mature as an ecosystem than Rust, but Rust is really popular. I've heard few people say nice things about PHP.

Take from all that what you will, but to me it says kbin will grow more slowly. Also if you use an app to browse you'd hardly know the difference between Lemmy or kbin anyway

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

Github stars is not a good metric, firstly because KBin is hosted on codeberg but mainly because a healthy project has lots of unique contributors and regular updates/enhancements.

KBin has 79 open Pull Requests, while Lemmy has 29. From a visual check PR's seem to be older than 2 weeks. Its hard to say one is "healthier" than the other, without scraping information into a spreadsheet.

Secondly Rust is new and has a lot of hype surrounding it, as a result you get a lot of people using it on random projects.

Languages have strengths and weaknesses and developer ecosystems build on the strengths.

For example if I was writing a web application with a database backend I would choose C#, Java or Node.js because there are loads of libraries, tools and frameworks to make it really easy.

Rust is gaining a lot of adoption by embedded system users (replacing C mostly). Lemmy is the only Rust based web server project I am aware of. Which means the level of work to do anything and to keep it updated falls on the Lemmy devs rather than spread out amongst a larger community.

Everyone loves to insult PHP but it has a niche in webservers and won't disappear anytime soon. KBin effort will thus be spent on KBin.

[–] Stuka 2 points 1 year ago (1 children)

I'm not sure how Development language is relevant here...but I hated PHP.

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

It's relevant in open source because folks like you who are proficient in PHP are less likely to contribute to the project because it's just not fun for you to work in that language.

PHP also seems to be really unpopular in general. I'm not insulting it as I've never used it but no one that has seems to have many nice things to say about it in my experience

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

PHP has a lot of rough edges and somewhat archaic paradigms (OOP), and thus not liked by many, especially those who got used to more modern languages and its features.

Also PHP lacked type safety for a long time, which is almost only disliked by young inexperienced programmers, who think typing int instead of var is scary because their teacher said so.

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

Is OOP considered archaic now? What is a more preferable paradigm nowadays?

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

Pure OOP is now archaic, but the principles are still used. More modern OOP languages incorporate functional programming concepts and are more of a hybrid. C# is probably the best example of a language with strong OOP and good functional support. Java is also heading that way slowly.

Functional programming is gaining steam again, but in its pure form, it's not as useful in many domains. A hybrid approach of take all the best ideas and use whatever fits best with the problem at hand is going to become the next paradigm, but I don't think it has a name.

load more comments (2 replies)
load more comments (1 replies)
load more comments (1 replies)
[–] Jakdracula 4 points 1 year ago (2 children)

I’m using Memmy. How can I see and subscribe to kbin content?

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago)

Same way as a lemmy community. eg [email protected].

load more comments (1 replies)
[–] [email protected] 3 points 1 year ago (1 children)

If I can piggyback with a question: Does anyone know how "Read" status for posts is stored and accessible on both softwares? I know that it's stored and it would be cool if it was private, but I'm guessing it can be collected and used.

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

This information exists wherever your account exists. It's nonfederated data, similar to things like your email address, hashed password, and 2FA master key. No other instance has any need to know what notifications you've viewed, so they are never made privy to that information.

To clarify: federation is not like P2P where everyone gets a copy of everything. Federation only shares exactly what needs to be shared for the software to function. In the case of Lemmy, this boils down to the following data:

  • User profiles
  • Communities
  • Posts
  • Comments
  • Votes
  • Follows
  • Blocks
  • Private Messages

Some of you may be raising eyebrows at this list. Does this mean that anyone can see your votes & PMs at any time? No, not exactly. There's two big things to keep in mind here:

  1. When possible, the smallest possible amount of federation is used (e.g.: votes are only sent to the instance where the post/comment is, Blocks/PMs only get sent to the instance where the other user is, etc.)
  2. Unless it's something the website shows, only instance admins can view the data that gets federated with it. Your PMs may not be secure, but they're not exactly out on Google either.

At worst, here's what information can be captured by a random bad actor running their own evil instance:

  • Your username
  • Your public bio
  • Your home instance
  • Your moderated communities
  • Your moderation history
  • Your comment history
  • Your post history
  • Your votes specifically for posts/comments belonging to the bad instance
  • Your follows specifically for communities belonging to the bad instance
  • Your PMs specifically to users belonging to the bad instance
  • Your blocks specifically of users belonging to the bad instance

The majority of this information is already publicly searchable on your home instance's website. Pretty much all of the scary stuff requires you to actually directly interact with the bad guy's instance. If you're about to vote or follow something sketchy, consider double-checking who runs the instance before you attach your name to it (that's what the rainbow link is for).

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

Thank you so much for the detailed answer

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

Kbin can view and interact with Mastodon toots as well as participate in nested reply discussion threads like reddit.

I personally find this a superior method of browsing lemmy and Mastodon content all in one website.

load more comments (3 replies)
[–] Tolstoshev 2 points 1 year ago
load more comments
view more: next ›