Federation to lemmy.world restored. System response might slow as we sync back up.

@SorteKanin@feddit.dk avatar

SorteKanin

@SorteKanin@feddit.dk

This profile is from a federated server and may be incomplete. Browse more on the original instance.

SorteKanin , (edited )
@SorteKanin@feddit.dk avatar

Base 1 does make a huge difference though. In base 1, number length is linear with respect to the size of the number - i.e. the number 10 needs 10 tallies. For any other base, the number length is logarithmic, i.e. the number 10 needs just 2 numerals in base 10 and still only 4 in base 2.

This is actually important in theoretical computer science, since computers would be much slower if you don't assume an "efficient encoding" of numbers, i.e. a logarithmic sized encoding. Base 1 is not efficient.

SorteKanin ,
@SorteKanin@feddit.dk avatar

Log base 1 is undefined, no? It's like division by zero.

SorteKanin ,
@SorteKanin@feddit.dk avatar

Not really a comment on this specific case, but isn't it a bit strange to refer to Mastodon as a thing or community as a whole?

I get it when you have a platform like Twitter, you refer to the users of that platform. But Mastodon is many different platforms with different rules and social norms and communities that are more or less (in case of defederation) connected. Treating that as a single user base sounds a bit strange in my head.

Thoughts?

SorteKanin ,
@SorteKanin@feddit.dk avatar

If your computer sends my computer an image and some text via [email], without any further communication, may I…

Isn't the answer just the same if you consider it as email? I mean ActivityPub is basically just email but with "social media" features. Surely lawyers already have answers to the question when it comes to email.

If I send an email to the whole world, what is anyone allowed to do with it?

In some ways, I feel like ActivityPub is just public. It's not reasonable to be able to enforce any license, so it may as well just be considered public domain. But IANAL.

SorteKanin ,
@SorteKanin@feddit.dk avatar

Isn’t the entire point of these kinds of platforms that this kind of content is shared between sites?

I have the same thoughts. I feel like when you post on the Fediverse, it's just public. It's like shouting something in the town square - it's out there, anyone can hear it. If you're not cool with that, maybe you shouldn't use ActivityPub.

SorteKanin ,
@SorteKanin@feddit.dk avatar

"Refused", I mean there is an open issue for it. I don't think most users want to think about licensing when posting their stuff either.

SorteKanin ,
@SorteKanin@feddit.dk avatar

“Higher education must return to its essential foundations of academic integrity and the pursuit of knowledge instead of being corrupted by destructive ideologies,” Florida’s commissioner of education, Manny Diaz Jr, said. The actions, he added, would ensure taxpayer money won’t be spent on DEI and “radical indoctrination that promotes division in our society”.

This is coming from a commissioner of education? Wow I am glad I don't live in the US.

SorteKanin ,
@SorteKanin@feddit.dk avatar

The part where he calls diversity and inclusion a destructive ideology or radical indoctrination. I wouldn't want my education officials saying stuff like that.

SorteKanin ,
@SorteKanin@feddit.dk avatar

The US is a country of its own with internal states, like Germany also has internal states.

The EU is not a country. You cannot compare the EU and US like this.

SorteKanin ,
@SorteKanin@feddit.dk avatar

I dunno... The idea might work for some instances perhaps. But this is kind of what StackOverflow has done for a long time and that site isn't exactly known for being super welcoming to new users.

It would also make it really inconvenient to create new accounts (for example when moving instances).

SorteKanin ,
@SorteKanin@feddit.dk avatar

Well if you want to make a new account, for whatever reason, your whole point score resets. Or if you want to move instances, it also resets. That seems inconvenient.

I also don't really think this necessarily needs to have anything to do with the Fediverse, in the sense that ActivityPub doesn't need to support this, I think. An AP server can provide this functionality and use the existing protocol I think.

What I'm saying is, this feature could be added as an option to existing Fediverse software (like Lemmy or Mastodon or whatever) without having all other Fediverse software adjust their use of the protocol. So perhaps it could be experiemented with and we could see how it goes. Unless I'm misunderstanding the proposal somehow.

SorteKanin ,
@SorteKanin@feddit.dk avatar

I don't really agree that the reddit moderation style sucks. If admins keep a close eye on mods to ensure there's not too much power tripping and such, I think it's a pretty good system. If you nurture it well, it can be very good.

Of course reddit has done everything it can to screw mods over for a while, so yea, not well nurtured there. But the Fediverse can do better.

SorteKanin ,
@SorteKanin@feddit.dk avatar

As someone living in Copenhagen, a city built for biking around, I find this take kind of weird. Bike lanes just make sense to separate car and bike traffic. Nobody wants that traffic mixed, not drivers or cyclists.

There are smaller streets in Copenhagen where there are no bike lanes, but that's because the traffic volume in those streets is so small that a car and a bike are unlikely to even use the road at the same time.

SorteKanin ,
@SorteKanin@feddit.dk avatar

“people on bikes don’t pay their way”

I don't even understand this argument - what is the reasoning? Why do car owners pay their way more than cyclists do?

SorteKanin ,
@SorteKanin@feddit.dk avatar

That doesn't really make much sense when you look at Copenhagen. It is frequently faster to get somewhere by bike than it is to go by car because bikes don't block each other in traffic as much as cars do. If cars were on the same road as bikes, it would be bikes that would be going slower, not cars.

SorteKanin ,
@SorteKanin@feddit.dk avatar

Well couldn't you just say the car taxes and such pay their way on the car road and the bikers "pay" for the bike lanes (which needs much less maintenance)? Just a rhetorical question, I'm guessing the people who make this argument never think this far.

People in many communities around the world use bicycles for most of their daily errands.

Haha, you don't have to tell me, I live in Copenhagen and do that myself :)

SorteKanin ,
@SorteKanin@feddit.dk avatar

I don't think any specific tax is needed. Road maintenance is just an expense that should be paid through regular taxes.

SorteKanin ,
@SorteKanin@feddit.dk avatar

You'll likely see even more bikes in Copenhagen haha! :D

Moving to Denmark is not easy though, especially if you're not in the EU. But it is possible.

SorteKanin ,
@SorteKanin@feddit.dk avatar

Yea basically

SorteKanin ,
@SorteKanin@feddit.dk avatar

the “Lemmy” network

There isn't a Lemmy network, there's just ActivityPub or more colloquially the Fediverse :)

SorteKanin ,
@SorteKanin@feddit.dk avatar

I can see it being useful for admins on their own instances to detect brigades or vote manipulation coming from different servers, but I don’t like that they are public, because it could discourage people from voting honestly on topics where they could potentially be harassed for engaging

Well, if someone gets harassed for voting then the harasser should be banned, just as if you get harassed for any other reason. So it's not any different than posts or comments in that way.

SorteKanin ,
@SorteKanin@feddit.dk avatar

There’s no “algorithm” per se, so you can actually discover new things in your feed, rather than just being fed what they think will keep you scrolling.

Well, there is an algorithm but currently they are quite simple. Certainly not taking any kind of personal data or advertisement data into account, which is nice.

More advanced sorting algorithms could be made in the future to sort more personally, maybe based on the communities you follow or things like that. But the key point is that for Lemmy, the algorithm will always be open source and transparent, while the Reddit algorithm is a black box and you have no idea how much personal info its using.

What I'm trying to say is, algorithms aren't bad. Opaque, closed-source, privacy-invading algorithms (or anything else) is bad.

Recommendations for a bug tracker/forum?

Does anyone have any recommendations for bug trackers with a forum feature? Basically something where users can report issues, request features, and ask questions, all about a specific service. Preferably, I’d like something that integrates with GitHub issues, but that’s not a requirement. Also I’d like something like a...

SorteKanin ,
@SorteKanin@feddit.dk avatar

GitHub repositories can also have "Discussions" which are separate from issues. There's also a project concept on GitHub. I think you could just use what GitHub already has built in.

TIL about Sublinks, a Java-based alternative to Lemmy's backend ( github.com )

Today I learned about Sublinks (here), an open-source project that aims to be a drop-in replacement for the backend of Lemmy, a federated link aggregator and microblogging platform. Sublinks is designed to be initially API-compatible with Lemmy, allowing existing Lemmy clients, such as Lemmy-UI, to integrate seamlessly....

SorteKanin ,
@SorteKanin@feddit.dk avatar

This is a very subjective take. I think Rust is much easier to read than Java. It's really just a matter of what you're used to (and that can easily change by just learning the other language).

SorteKanin ,
@SorteKanin@feddit.dk avatar

if you develop your java application correct, then you have no issues of any kind.

No issues of any kind? That's absurd. The idea that you can "just" write "correct" code in any language and then you won't have "any issues of any kind" is not any developer's experience ever. Humans are just not reliable enough for that.

SorteKanin ,
@SorteKanin@feddit.dk avatar

There are plenty of very nice Rust web frameworks, like axum and actix-web (which lemmy uses). They are very ergonomic. Rust is perfectly fine for REST APIs. It's not like Java was made expressly for the purpose of REST APIs either.

SorteKanin ,
@SorteKanin@feddit.dk avatar

At the scale of having a handful of contributors, it's more likely random variance than due to the language you've chosen. The sample size is simply too small.

I can speak for myself - I know Rust very well but I simply don't have the time to contribute to Lemmy's code (I'm also spending some time already being an admin for Feddit.dk and I feel that is all I can muster).

Getting contributors to open source projects is never easy, regardless of programming language.

But I mean... there is no problem with competition right. Maybe it'll turn out that sublinks will have more development with more contributors. But it has yet to be shown, there are also only 1 or 2 developers working on sublinks at the moment, if you check the github contributor stats.

SorteKanin ,
@SorteKanin@feddit.dk avatar

It could be - time will tell. But that has nothing to do with Rust vs Java.

Personally, I feel that if your goal was to make a clone of Lemmy with better structured tickets and a roadmap and all that... why don't you just talk to the Lemmy devs about organizing their issues, creating a road map and contributing as a project manager? That is work and a skill that is often sorely lacking in open source development. That seems much easier and more iterative than trying to rewrite the whole thing in a different application.

SorteKanin ,
@SorteKanin@feddit.dk avatar

If you compare the contributors on the lemmy backend and the sublinks backend there is really not much of a difference.

Any open source project rides on a very small sample of individual contributors.

SorteKanin ,
@SorteKanin@feddit.dk avatar

You don't see it on lemmy.ml because dubvee.org has defederated from lemmy.ml.

SorteKanin ,
@SorteKanin@feddit.dk avatar

what exactly they mean by “toxic development community”?

I'm not sure exactly what they mean by it either, but I do think Lemmy could do more to be welcoming to more outside contributors. It would probably also be a better use of your time - to scale Lemmy development, it would be better to spend time recruiting and training contributors rather than just spend all your own time coding. You (the main two devs) know the code better than anyone else. It would be great use of your time to spread that knowledge to more contributors.

Sublinks for instance also uses the GitHub projects as a kind of publicly viewable backlog of issues and a roadmap. I think especially a roadmap is something a lot of users would like for Lemmy as well. It would be good use of your time to produce a roadmap of some kind. Doesn't have to be on GitHub obviously, but just any kind of roadmap.

SorteKanin ,
@SorteKanin@feddit.dk avatar

Once the new round of NLnet funding is finalized we will publish those milestones.

That sounds great :)

Im not sure if a backlog like the one you linked is really helpful

I think the GitHub issue tracker that you're already using is plenty as a backlog. The more important part was the road map.

Do you have any concrete suggestions how to recruit and train them?

It's a good question. I would recommend taking a look at the Bevy game engine project. They've had a success story with lots of contributors and they also use Rust. Obviously they have it easy because game development is something a lot of people are passionate about while online forums aren't as hot... But still, I think they've done some really good stuff and it seems like a really well-managed open source project.

One of the bevy project managers did a talk at RustConf 2022 that I'd recommend watching: https://youtu.be/u3PJaiSpbmc?si=AtdmdalfFidWOJYq

SorteKanin ,
@SorteKanin@feddit.dk avatar

I mean, the same is true for Lemmy.

SorteKanin ,
@SorteKanin@feddit.dk avatar

Okay but if you develop your Rust application correctly, then it's obviously also correct. It doesn't matter what language you use then.

rust would be a more difficult language than java and less documented

That is just like, your opinion, man. I disagree. I'd rather not have null references and exception-handling if I was going for stability. Rust also has very nice documentation.

your programming language needs maturity, stability and a community to support it. Most of it rust doesnt have.

Okay, Rust is not as old as Java. This is true. But at this point, you cannot say that Rust is immature, unstable or doesn't have a community.

The community online is huge, bigger than most other communities. If you want a number, see for instance the number of active users on /r/rust versus /r/java. I checked it now and it was 1096 versus 195. Nobody is hyped about Java any more, it's an old language that many people don't like. Check also for instance how many people like Java or Rust in the StackOverflow developer survey. ~87% of Rust users love using Rust while only ~46% of Java users love using Java - that means that there are more Java devs that would rather not use Java than Java devs who want to use Java!

Rust has very strong backwards-compatibility guarantees (just like Java). It's very stable and things mostly "just work" if it compiles (unlike Java).

I would call Rust much more reliable than Java, and I think most people who have tried both would agree. Exception-based error handling just makes it notoriously difficult to cover all error cases.

Anyways m8, unless this somehow sways you I think we need to just agree to disagree. I would encourage you to actually try the language and see for yourself and see what I mean though.

SorteKanin ,
@SorteKanin@feddit.dk avatar

it will be taken over by faster developing platforms

Well, we've yet to see that. But I mean if it does then... great? I just don't believe it will right now. I don't think just switching the programming language will have such a large effect as you expect.

hipster language like rust

You really can't call something hipster when it is being adopted by the largest technology companies in the world and is even being used in the Linux kernel. That's not what hipster means.

If performance and memore is so dramatically NASA rocket computer limited, than why not use assembly. Its the fastest, memory efficient and speaks directly to the computer.

I didn't say it was "NASA rocket computer limited", I just said memory matters for price. And it does. This reads to me like you are frustrated and it comes across as a bit snarky and sarcastic. If we are actually to talk about programming language pros and cons, then at least let's talk about it genuinely.

SorteKanin ,
@SorteKanin@feddit.dk avatar

Java seems to get a lot of hate

Well, lots of people don't like it. Actually according to StackOverflow's 2022 survey, more people who have used Java don't want to keep using it than those who do want to keep using it (54% vs 46% roughly). So yea, you are in the minority in that way.

Meanwhile Rust is well-liked by most people who use it (roughly 87%).

SorteKanin ,
@SorteKanin@feddit.dk avatar

The documentation has some info about the architecture as well as how to start contributing. Is there anything particular missing, or do people not find these docs?

That is a very short description. It doesn't really go into details of critical modules, how things are built and setup, what important libraries are used etc. I would expect such docs to be longer and more detailed to make it easier to get an introduction to the code. I would expect each repository to have its own detailed ARCHITECTURE.md - the Lemmy backend is much too large to describe in just a few sentences.

And yea producing and maintaining that kind of documentation isn't "glorious" work and probably not particularly fun either - but I do think it's a good way to spend your time, and the people donating do want you to spend your time on the highest impact possible obviously.

Well if anyone opens a pull request we give feedback as part of the review process. And if anyone has questions we also answer them in the issue tracker or on Matrix. But in practice there seems to be little demand in this regard.

I don't think just waiting for contributors to pop up is going to work. You're right, there is little demand - or more likely, people don't know where to start or what to do. My suggestion would be to actively advertise a mentorship that people can sign up for and then choose someone from the lot of applicants. Actually dedicate hours to train and mentor the new contributor to be familiar with the code base. Being passive in this case won't attract anyone - you need to be proactive. (that is my 2 cents at least)

SorteKanin ,
@SorteKanin@feddit.dk avatar

That could be part of the explanation, but I don't think it upweighs the ~40% difference between Java love and Rust love. That is quite a large gap.

SorteKanin ,
@SorteKanin@feddit.dk avatar

You don’t need any of that for a web server

I disagree - any software is better with more reliability. Static analysis becomes more and more important as the code base grows.

Java should be just as good if not better (by the nature of being a VM that doesn’t have unsafe blocks) when it comes to the memory safety side of things. Java also optimizes quite well for long running applications like web servers.

(Safe) Rust and Java are both memory safe. I don't think any is better than the other in this aspect. Many projects use #[forbid(unsafe)] to make sure they only use safe Rust. Unsafe Rust is not necessary in 99.9% of cases, certainly never for a web server like Lemmy.

It’s really not a bad language and it continues to get better.

It's subjective obviously. I don't like it personally, some people do. To be fair I think there are worse languages out there - Python for instance. At least Java has static typing, which is nice. We'll just have to wait and see what happens with the different fediverse forum implementations.

SorteKanin ,
@SorteKanin@feddit.dk avatar

Not sure if genuinely asking but there are no instances currently as it's still being developed. I believe they will make it so Lemmy apps are compatible? But unsure for how long this will be true.

SorteKanin ,
@SorteKanin@feddit.dk avatar

There is this issue for it: https://github.com/LemmyNet/lemmy/issues/4445

SorteKanin ,
@SorteKanin@feddit.dk avatar

Isn't it more like the other way around? Lemmy was written in Rust, then this clone is in Java - isn't that more like "damn you for using Rust"?

SorteKanin ,
@SorteKanin@feddit.dk avatar

I do think the developer experience with Rust is better in general though, so even if Rust was used elsewhere, it would still be liked more than Java, I would guess.

But we won't know who's right for another 10 years maybe :P

SorteKanin ,
@SorteKanin@feddit.dk avatar

Python is just about the best general-purpose interpreted language out there right now.

I agree with you actually - I think Python is better than Ruby and much better than JavaScript.

But dynamically typed interpreted languages is just not what you want when building large systems. As the code base grows, static analysis becomes exponentially more important and Python provides roughly 0 static analysis. A thousand lines of Python is easy to manage. Ten thousand lines of Python is... questionable, but perhaps barely managable, if you're careful. 100 thousand or even more? It's impossible to keep track of.

Just as a basic example, if you have a million lines of Python and you make some change somewhere in your code, Python won't help you in any way to find out where you need to update things to handle that change.

Meanwhile, if you do the same in with a million lines of Rust, the Rust compiler will point to every single place where you need to update your code to make it work again.

I don't know if you've worked with large Python code bases, but I have and it's not fun.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • news
  • ServerNonsense
  • movies
  • stillalive
  • istillthinkofyou
  • oneorangebraincell
  • MBBS
  • All magazines