@andybalaam @learningrustandlemmy
This is an inception level of fediverse layers … I’m just rolling with it!
A collaborative space for people to work together on learning Rust, learning about the Lemmy code base, discussing whatever confusions or difficulties we're having in these endeavours, and solving problems, including, hopefully, some contributions back to the Lemmy code base.
Rules TL;DR: Be nice, constructive, and focus on learning and working together on understanding Rust and Lemmy.
See also:
Thumbnail and banner generated by ChatGPT.
@andybalaam @learningrustandlemmy
This is an inception level of fediverse layers … I’m just rolling with it!
Also, the lemmy - Peertube interop is cool! Fediverse should do more group actors!
(And yes this is partly just to add to the inception depth)
Be aware that you won't see a lot of the comments on any particular post in a Lemmy community when following via Mastodon. There's a bit of a stalemate between the Lemmy Developers and the Mastodon Developers where they are each asking the other to bridge the gap of the incomplete federation.
Using another Mastodon-like service probably comes with additional similar issues.
I also discovered Lemmy by following communities from Mastodon.
The former is topic-focused, the latter people-focused, we need both, and better interaction between.
One issue for discoverability: Mastodon now has full-text search (used to be only hashtags), but only if a user opts in to this (settings). So can a Lemmy community or user opt in to be searchable from Mastodon ?
Not currently, I don't think. Compare the results of:
curl --location --header 'accept: application/activity+json' https://mastodon.social/@learningrustandlemmy@lemmy.ml | jq .
with the results of:
curl --header 'accept: application/activity+json' https://mastodon.social/@andybalaam | jq .
The first needs that --location because it just redirects back to lemmy.ml (unlike Lemmy, which has it's own copy for all remote actors).
The second has 2 fields - 'indexable' and 'discoverable' - which probably dictate how searchable you are. The first doesn't have these. If they they were added, it might mean that community activity which had made its way to Mastodon would be searchable.
But we can't add these ('cos we don't have the private keys for the Community) and Lemmy devs are unlikely to add them, 'cos they're meaningless to lemmy (could be wrong, but a lot of potential fediverse interaction is stymied by 'No, you fix your service to work with mine' cat fights)
Thanks, such experiment taught me a trick. And I see that a lemmy user - also followable from mastodon- also lacks those two fields. Maybe it's not so hard to add that info (with an option in settings), but devs have their own priorities, so I suppose the point of this community is that more people learn how to submit PRs for details in lemmy?
Hmm, I'm not sure what the end goal is. More devs would be the ideal I suppose. More people who can respond to questions is good too (I posted a while ago, asking why Lemmy sent an Undo of a Dislike as an Undo of a Like, and people gave their opinions, but it ended up being me who eventually answered the question).
I can't imagine myself ever submitting a PR - aside from my rubbish programming abilities, the GitHub politics of many open-source projects is often the biggest hurdle (taking ages to craft a PR right, for it to be dismissed by a lead dev with an airy "I'm not sure we need this ..." or "Oh, I've solved that problem - and so much more - on my private branch ... [that'll never see the light of day]").
Also, whilst I've seen the suggestion that the front-end is being re-done in Rust, for now it's in NodeJS, and for me it's the UI that needs the most work (erroring, rather than waiting for unknown remote Communities to resolve, stops so many of them from ever taking off). Other UIs are available of course (who handle stuff like this better) but the implosion of Tesseract suggests that anything that isn't the official one will ever get any back-end support - see https://lemmy.world/post/9014308 for evidence of some GitHub drama. Same is true of mobile apps too - Jerboa is arguably the worst, but it's the only one that'll ever be official - and that's a whole different bunch of technologies.
Sorry for such a long reply. I just meant that even if a bunch of us learn Rust from this Community, it won't necessarily lead to a better Lemmy, 'cos knowing Rust is only a small piece of the puzzle.
Sure, I'm also far from being likely to submit PRs, but the potential is there.
About Lemmy UIs , I'm now using Alexandrite - for a better layout of columns etc, easily setup on a local docker.
I'd be surprised if Rust makes sense for UI, but we'll see what they come up with.
It is convenient to use the same language back and front.
For my interactive climate model I use scala.js and am happy with that.
So here to learn what rust can do that scala can't (if anything, beyond not needing GC)?
so I'm here to learn what rust can do
Me too. So far for Lemmy, I've done a 'trending communities' bot, an ActivityPub-based AutoMod, and a virtual Lemmy Community that posts stuff from Mastodon. An embarrassingly huge proportion of it is written in Bash - so I'm only just now learning that all variables aren't supposed to be global.
My personal thinking was that while there'll naturally be large variation in what people will get out of this community and what, if anything, they'll be able to contribute back to the lemmy project ... having the lemmy code base, the fediverse and ActivityPub as projects with generally shared interest and awareness as well as the actual core devs more or less around ... all made sense as a sort of umbrella motivation for applying rust. That the lemmy core devs seem to be rust fans too means that they'd appreciate this place to some extent too.
Of course there's no need for anyone to feel compelled to contribute back to lemmy. I'd personally be happy if I or someone else from here got to that point. But the overriding goal, IMO, is to learn together for sure.
So how did you follow from Mastodon?
Any lemmy community is federated to mastodon as a user. So you follow by addressing the community as you would on lemmy, but with an “@“ instead of a “!” at the beginning. So @learninglemmyandrust@lemmy.ml
.
That “user” then boosts all posts and comments that occur in the community, which is generally annoying when there are piles of posts and comments. For this community though it probably makes a lot of sense and might be more useful at this size than what lemmy does.
Additionally, mastodon has lists which can be made exclusive so that items which go into a list do not show up in your home feed. So you could make one just for this community and check the list for any updates on anything that’s happening here. I might actually do this.
If you like, you can then post to the lemmy community from mastodon. See https://hachyderm.io/@maegul/110483509521476095 for a demo. Mainly useful if you want to connect communities on both platforms.
Yup, this is the whole point of federation instead of just decentralisation.
This stuff is honestly incredible and the more I learn about it the more there is to appreciate.