this post was submitted on 14 Jul 2023
234 points (98.3% liked)

No Stupid Questions

36179 readers
974 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
[–] [email protected] 106 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] 12 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] 3 points 1 year ago (2 children)

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

[–] [email protected] 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)

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

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

[–] [email protected] 58 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.

[–] arandomthought 15 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

[–] ItsComplicated 23 points 1 year ago (10 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] 7 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)
load more comments (9 replies)
[–] [email protected] 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.

[–] [email protected] 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

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.

[–] abraham_linksys 10 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.

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

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

[–] abraham_linksys 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?

[–] ryathal 2 points 1 year ago (1 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.

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

"Pure paradigm" programming languages are really just toys for research and experimentation, IMO. I remember taking various courses on these sorts of things and, for example, the OOP prof would say "one of the cool things about pure OOP is that there are no loops or if statements. Now, here's how you go about faking a loop or if statement using pure OOP, because it turns out you really need that to accomplish anything."

In the real world you'll want to use whatever works best, which often means a language that contains a bunch of features from different paradigms merged together. Ideally in a rational and well-structured manner, but given how much usage Python gets that's clearly not a fundamental requirement.

[–] ryathal 2 points 1 year ago

You also have to balance the ability to get shit done makes a language more widely used, see perl. Eventually things also need to get modified, so languages that are easy to follow become popular, see perl losing popularity.

load more comments (1 replies)
[–] Fibby 1 points 1 year ago

Is there an app for kbin? I've been using Jerboa for lemmy and like it. Browsers and web pages don't feel right on mobile. But I do like the idea of kbin being connected with mastodon.

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

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

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

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

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

Tap the blue globe icon at the top right and make sure “All” is selected.

[–] [email protected] 2 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
load more comments
view more: next ›