EDIT: Since posting, I’ve started such a community: https://lemmy.ml/c/learningrustandlemmy, !learningrustandlemmy@lemmy.ml. Please come and join in.


The idea comes from the discussion that occurred over the new lemmy-clone or alternative, SubLinks and how its main feature is that its tech stack is different from lemmy’s which should enable all of the developers who don’t know rust to contribute.

One of the core lemmy devs (dessalines I believe) said responded to these general sentiments by saying something to the effect of rust being a good technical choice and that learning rust in order to contribute would be a good expenditure of time (as tech people need to learn new things all the time anyway).

Soooo … for those interested … how about we all learn together rust through learning about ActivityPub and Lemmy’s codebase and solving problems and making contributions? We could have a community dedicated to asking questions, sharing solutions or ideas and generally discussing all things we’re learning about rust, activitypub, fediverse and lemmy? If an actual community can be built around the desire to learn rust and give back to lemmy with all us newbs working together as much as posslbe … that would have to be a win right?

Even better if those who know more about the topic could use the community as a chance to post or write up what they know for us to learn from. For instance, I’ve glanced at lemmy’s code base (without knowing rust of course) and I feel like it could do with an architecture birds-eye perspective on how the code base works.

Obviously chatting on matrix might be a good place for this, especially as devs and admins are chatting there already … but I feel like the structure of lemmy might be a better place for a sort of reading club.

Any thoughts or takers? I feel like creating the community on lemmy.ml would make sense, maybe having one of the core devs as a mod too?

  • Lambda@lemmy.ca
    link
    fedilink
    English
    arrow-up
    15
    ·
    9 months ago

    That would be an excellent idea. But I feel like an even broader community should be created. Like a generic book club, but for code bases! Could even have a small handful of different code bases on the go at a time. I’d love to get to know lemmy’s, but also e.g. neovim, or even unciv :)

    Maybe one day it could even start tackling Moby Dick!

    • maegul (he/they)@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      6
      ·
      9 months ago

      Not sure about a broader community TBH. Depends on what is meant by “reading club”.

      If the idea is to look into nuggets or to sort of dip in and out of codebases to find interesting things … then yea, a general community makes sense.

      The sort of reading club I’m talking about is more like a study group … for people who are learning but want to get to the point of having practical ability in the language + codebase. For that sort of activity, focusing on the one thing for a bit of time without distractions is actually pretty valuable … plus having a single community with all of the discussions of people learning and figuring things out can turn into a valuable repository of material for newcomers to dig into.

    • sorrybookbroke@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      4
      ·
      9 months ago

      That’d be a great long term goal but I’d argue a focus on one to begin would be a better idea. If we go full out with many codebase to start we’ll atomize quickly with what might already be a quite small group

  • sorrybookbroke@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    12
    ·
    edit-2
    9 months ago

    You know what? I’d be up for it. Sounds like a cool idea and we might be able to contribute as a team where possible.

    We should likely have a bi-weekly, monthly, or whatever voice call discussion on the code we’ve reviewed on mumble (or discord if more convinient)

    • maegul (he/they)@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      7
      ·
      9 months ago

      Yea, that’d definitely be part of it. As a group, we could try to take on some issue, try things and report back etc … could be fun, educational and productive … or at least one of those!

    • maegul (he/they)@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      7
      ·
      9 months ago

      Yea cool … the idea is that there are probably a bunch of people on lemmy interested … so why not band together and learn together while working with a code base we’re all clearly using?

  • maegul (he/they)@lemmy.mlOP
    link
    fedilink
    English
    arrow-up
    11
    ·
    edit-2
    9 months ago

    So, before I go around posting in other communities (rust, programming and the two fediverse communities come to mind) …

    I’ll just tag the current core devs and other contributing devs I’m aware of (@nutomic@lemmy.ml , @dessalines@lemmy.ml , @phiresky@lemmy.world , @CannotSleep420@lemmygrad.ml , @sunaurus@lemm.ee ) … and ask them if they have any thoughts or input on this idea.

    As far as its value and meaning for the lemmy project as a whole, I see it as:

    • Building a contributor community, especially by leveraging the interest in rust but countering the intimidation by or ignorance of rust
      • Which of course feeds back onto lemmy community building too. Creating a sense of shared ownership over one’s social media platform is surely a good thing.
    • Providing a more dynamic CONTRIBUTING.md … by assisting the would-be-contributor’s on ramping by providing a space in which they can search for answers to questions (in addition to dropping into the matrix chat) and have more general technical discussions that out of scope for issue tracker threads.
    • Also extending what seems to be the core devs’ interest in rust into a rust-learning community with lemmy itself as a practical example.

    As I’ve said elsewhere in the thread, I don’t see myself being the sole leader in this at al, as I’m only a learner/newb here on the technical front too, and I think some degree of involvement from anyone with some more experience with either rust or the lemmy code base could go a very long way. Obviously that’s more work for the devs, perhaps more distraction, which I’m rather mindful of. But still, any involvement, any pointers or guidance, and any looping in others who could be helpful or linking to helpful resources for particular purposes … all of that could be invaluable.

    Additionally, should a decent community around this form, any direct interaction with the lemmy devs would also be valuable … even if it’s just a general awareness so that any appropriate issues for the community to tackle can be forwarded with some quick guidance.

    Anyway … thoughts?!


    EDIT:

    One clear point relevant to the lemmy.ml admins is whether such a community would be appreciated on the lemmy.ml instance? To me it makes sense given the alignment with the lemmy project, and IIRC, new community creation was turned off on lemmy.ml so this would require your blessings.

    • nutomic@lemmy.mlM
      link
      fedilink
      English
      arrow-up
      8
      ·
      9 months ago

      I think this is a great idea. I would be happy to help with this by answering questions or other things that need to be done.

      Community creation has been enabled for a while on lemmy.ml, so you can just create it yourself.

  • Binette@lemmy.ml
    link
    fedilink
    English
    arrow-up
    7
    ·
    9 months ago

    I would also like to join in! Is there a way to be notified as to when the reading club would start?

    • maegul (he/they)@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      9 months ago

      Well at the moment I’m just making a suggestion … so who knows what happens. But should something get started, there’ll posts about it around the place and no doubt one in this community … so I’d check in here every so often.

      Editing this post would also be something that should be done … so favouriting this post as a reminder might help.

      Great to hear about your enthusiasm!

      EDIT: and just to clarity, my personal approach on this would be to let the idea breath for a bit and allow others to put their hands to help manage and push it forward, including maybe the core or contributing devs. I personally am not the right person to be a sole leader of such a thing, not at all really, but am happy to contribute to making it a thing, so I’d wait a little bit before pushing really hard on it.

      Which isn’t to say that you or someone else shouldn’t push to make things happen … the opposite actually! But yea, me personally, I’ll probably be trying to talk to some others, post the idea elsewhere a bit too, put together a more formal suggestion and see if anyone else is interested in taking on more of a leadership role.

  • mozz@mbin.grits.dev
    link
    fedilink
    arrow-up
    7
    ·
    9 months ago

    Honestly the idea sounds fantastic, I’m just not sure I’d pick Lemmy as the codebase to do it with. There are some software projects that are worth some serious study – Chromium, Wordpress, Linux kernel, git, Redis, Python, lichess. Just because Lemmy is in Rust doesn’t automatically mean it’s great code.

    I’m not saying it’s not good code or trying to talk down on the level of accomplishment or anything, just you got a whole symphony of pretty outstanding options to choose from.

    • maegul (he/they)@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      10
      ·
      9 months ago

      Oh for sure … I agree the idea is generally applicable to lots of things.

      I’m suggesting one for the codebase we happen to be relying on right here for those interested. Part of the significance being, for those interested … the project leads are admins/mods here too, so some good feedback loops could be brought up, where the idea is to actually practically contribute in the end.

      But I agree, as an idea, there are plenty of other candidates.

      • mozz@mbin.grits.dev
        link
        fedilink
        arrow-up
        5
        ·
        9 months ago

        Yeah, makes sense. Overall I think the idea is a great one. Reading existing code is a thing that’s vital for learning how to write good code, and for some reason it’s not a real big part of “how to make software” education.

  • Remy Rose@lemmy.one
    link
    fedilink
    English
    arrow-up
    7
    ·
    9 months ago

    Yes please! I’m kind of a novice at coding and foolishly decided to try doing my own Rust + Activitypub project, so obviously I’m in wayyyy over my head. This would be really really helpful!

    Luckily the Rust documentation is very good, but the Activitypub documentation is very bad, and the Activitypub-in-Rust documentation is nearly nonexistent. It must be in the Zeitgeist right now or something, I was literally just wishing that something like what you propose existed.

  • Nix@merv.news
    link
    fedilink
    English
    arrow-up
    5
    ·
    9 months ago

    That’s a great idea but definitely keep it on Lemmy not matrix. That way it’s easy to come back to and for people to find when googling about the codebase. Also it’s way easier to keep track of questions etc that need answers instead of things getting lost in the chat format of matrix

  • pseudo@jlai.lu
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    9 months ago

    I’m very interested. Participating in active open-source project is very intimidating. Especially when not very strong technically or when suffering of imposter symptom.

    I would like to build a place so people feel welcome and at ease to start contributing.
    And I would love to be part of a group of people who would start discovering the topic of rust and Lemmy code base at the same time as I do.

  • ExLisper@linux.community
    link
    fedilink
    English
    arrow-up
    3
    ·
    9 months ago

    Sounds interesting. I’ve been programming in rust for some time now but didn’t get to looking at lemmy’s codebase yet. This would motivate me to do it.

      • ExLisper@linux.community
        link
        fedilink
        English
        arrow-up
        2
        ·
        9 months ago

        I used rust as a backend for a simple web app (axum and sea-orm), did some scripting for integrating couple of service (simple REST calls and some data processing) and recently I’ve been learning to build desktop apps using Tauri and Leptos. All personal projects so far but I contributed to one Leptos library a bit. Lemmy looks like interesting next step but there’s always another project I would like to do and not enough time :)

    • nutomic@lemmy.mlM
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      9 months ago

      You can start with a bug to be fixed, or a small feature to be implemented. Find out where the relevant code is and understand how it works. Then think about what needs to be changed. You can also look for other ways to improve the code along the way, like writing comments or tests. All of that could be done collaboratively in a thread.

    • maegul (he/they)@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      9 months ago

      Yea basically what nutomic said … it’s not really a pure “reading club” but a collection of threads/conversations about trying to understand something about lemmy’s code base, rust in general and any issues, bugs, implementations, feature ideas/projects.

      A basic “reading club” activity would also be included, which would actually be very valuable … trying to outline and understand the basic structure/architecture of the code base (on which I’m sure any contributors could certainly provide some guidance).

      Then there’s also the aim of having people learn rust using lemmy as a practical example as well as the community itself.

  • Jomn@jlai.lu
    link
    fedilink
    English
    arrow-up
    2
    ·
    9 months ago

    It may be a good way for me to get into Rust a bit more. And if it could help Lemmy as a whole at the same time, it would be positive for everyone.

    So I’m definitely interested in this group.