this post was submitted on 01 Feb 2024
10 points (91.7% liked)

Learning Rust and Lemmy

393 readers
1 users here now

Welcome

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.


Running Projects


Policies and Purposes

  1. This is a place to learn and work together.
  2. Questions and curiosity is welcome and encouraged.
  3. This isn't a technical support community. Those with technical knowledge and experienced aren't obliged to help, though such is very welcome. This is closer to a library of study groups than stackoverflow. Though, forming a repository of useful information would be a good side effect.
  4. This isn't an issue tracker for Lemmy (or Rust) or a place for suggestions. Instead, it's where the nature of an issue, what possible solutions might exist and how they could be or were implemented can be discussed, or, where the means by which a particular suggestion could be implemented is discussed.

See also:

Rules

  1. Lemmy.ml rule 2 applies strongly: "Be respectful, even when disagreeing. Everyone should feel welcome" (see Dessalines's post). This is a constructive space.
  2. Don't demean, intimidate or do anything that isn't constructive and encouraging to anyone trying to learn or understand. People should feel free to ask questions, be curious, and fill their gaps knowledge and understanding.
  3. Posts and comments should be (more or less) within scope (on which see Policies and Purposes above).
  4. See the Lemmy Code of Conduct
  5. Where applicable, rules should be interpreted in light of the Policies and Purposes.

Relevant links and Related Communities


Thumbnail and banner generated by ChatGPT.

founded 1 year ago
MODERATORS
 

Open question, obviously.

The challenge is that some top-down structure and prompting, IMO, can help get things going. Moreover, some structure in the way people interact here might actually help collaboration.

My thoughts (I may have overthought this) ...

  • Generally structure things in order to combine both top-down structure and organisation and bottom-up self-organisation.
  • Top Down (mods and "senior" community members)
    • Guide and encourage operations
    • Managing pinned posts for quasi-wiki style content
    • Regular posts
      • Maybe collect interesting questions and thoughts from the activity in the community?
      • Maybe just ask my own interesting questions
      • Maybe collect interesting issues and PRs from the repo.
    • Encouraging and gathering participation and posts/content from people that may have something to contribute.
  • Bottom Up (learners)
    • Ask questions!
    • Try to get setup to experiment and work things out for yourself (rust environment and then lemmy development setup)
    • Collect and digest relevant learning materials
    • Post insights and learnings, however rough and uncertain they may be
    • Post ideas for something to explore and work out or work on together

  • Use posts and aggregating posts with links to other posts as quasi wiki. IE, Use running threads and link lists to provide places for general discussion and links to general or past discussions.
    • EG, "Lemmy's Codebase Structure and Overview". No need to have multiple posts on this question. Instead, there can be a running thread on it. People can make new top-level comments, and others can visit the post and sort by new to catch up and reply to new questions and thoughts.
      • Danger being that people don't know where to go to engage.
      • Fuzzy line between what fits in a running thread and what deserves its own post ... idea would be when a question or issue feels large and general enough to warrant a separate conversation.
      • But, running threads can contain links to other relevant posts and so be link-lists too.
      • Possible "running threads":
        • Overview of Lemmy's codebase
        • Rust Basics
        • Moderate and Advanced Rust
        • ActivityPub Fundamentals
        • Getting Started on Running Lemmy for development

  • Tags for kinds of posts? EG [META], [RUST BASICS], [RUNNING THREAD].
    • No need to be too strict about this I think, at least in the early stages.
    • The aim is just to help people find content relevant to them and where they are up to.
    • There would be some overlap here between these tags and any extant "running threads" (if people adopt them), but that's fine IMO, as they differ in their function (general discussion v discrete post/project/topic) with conversations freely flowing between them where appropriate.
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 1 year ago

So, having gotten comments here and a couple of other places, and thought about it a bit ... my thoughts going forward:

  • My idea/hope of having "running general discussion posts" isn't going to work ... like at all ... people rely on their feeds which means new posts need to happen.
  • Instead, we should have regular posts around certain themes, projects and/or events. EG, regular reading club, like the planned twitch stream and any follow up posts. Similarly for digesting the lemmy code base. Probably also for "general rust problem" or "lemmy codebase problem" posts.
  • So, as for measures in structuring this place:
    • I'm thinking tags. Yea, they're not native, but square brackets at the end of the title works well enough (eg: "My Post Title [MY TAG]"). We just have to agree to a list, likely in the side bar, and gently encourage people to adopt them.
    • In reality, they shouldn't be enforced as things get started. But there may be a point down the line when it will make sense to be more stringent about them. Laying them out now is really just about setting down ideas about what the community is about (and so I can use them).
    • And then I (and other moderators) can write up digests and link aggregating posts to keep things better organised and give people a basis from which to browse the community.

Thoughts?

My suggestions for a set of tags (aiming for minimal and effective):

  • [RUST]: Anything to do with learning and understanding rust
  • [LEMMY]: Ditto for the lemmy codebase/application
  • [ACTIVITYPUB]: Ditto for the activity pub protocol and federation over it
  • [DEVELOPMENT]: Beyond specific aspects of any of the above and about bigger work such as developing a new feature or fixing an issue or deploying a test instance etc. A fuzzy one, but basically anything bigger/broader than the above
  • [META]: meta discussion about the community itself.