Try   HackMD

Interest Group Roundtable Minutes

  • Not so much as a presentation about what working groups are
  • Goal of these disussions to promote collaboration between interest groups and Rust teams
  • It's been interesting to see that interest groups have different problems from one another
  • Have some starter questions, but also looking for people who have particular questions to raise them
  • Forest A, game dev
  • Adam Greig, embedded
    • most of the work is maintaining a set of core crates
    • help to coordinate and aid in collaboration
    • in principle, help to enable needs to embedded users with Rust teams, but that hasn't happened as much
    • maintain various books and things for people new to embedded and new to Rust
  • Tony Arcieri, cryptography
    • organize on Rust Crypto Interest Group with Ernest
    • work on rust-sec vulnerability database
    • within purview of Rust Crypto, work on the nuts and bolts things
    • found people were working in silos, impetus was to solve some cross-functional problems, maybe a bit of trying to brainstorm how we could improve lang for cryptography
  • Ricky Hosfelt, ML IG
    • saw the need for an interest group, because ecosystem was pretty fractured
    • ML IG took over "Luca" crate (?)
    • writing a book
    • maintain arewelearningyet.com (answer is still no)
    • finding the areas of machine learning where we need to lay groundwork
  • Looking at communitieswhere does community gather?
  • in gamedev, focus a lot of different Discord servers
    • e.g. bevy, amethyst engine have their own discord servers
    • but also have a central hub: a github org where overarching issues can be discussed
  • ml?
    • organized mostly on Zulip, which has worked out well, can have channels
    • people are subscribed to a default set
    • once every other week have a Zoom call around roughly 2pm Eastern time, which matches European times well
    • Zulip stream is a place to meet and talk, coordinate meetings
    • One big thing is people post links about crates, articles, etc, and decide whether to put them on arewelearningyet.com
      • Zulip works well to manage that kind of async work
    • Forest: one thing I find interesting is that a lot of the goal is gaining knowledge together, moving things to arewelearningyet, would you say that's the best way for people to get into ML in rust?
      • Ricky: I'd say that's a good place to get started and learn what exists in Rust
      • Org-wise, we also have a github group
    • forest: interesting about scheduling meetings, we've had some areas of the world (e.g. Russian group) break off and find a time
  • crypto
    • The RCIG has been doing monthly sync meetings for about the past few months
    • In terms of the wider community, Rust is this sleeper language that came in and dominated crypto space
    • I go to a lot of crypto conferences, conferences on Zero-Knowledge Proofs, and over the past 5 years there's been a cohort of people doing things with crypto that wouldn't be possible without Rust
    • But crypto people often do things in silos and don't discuss general state of Rust crypto so much as crypto overall
    • Ernest: felt like there was a need for cross-polination, that was our mandate
    • Making sure there was an apex point, where people leave their agendas at the door, and we work towards forming up this part of the Rust ecosystem
    • This is where the "sync up" calls come in
    • Doing blue-sky thinking about what we want to see done, how we can work together to make that happen
    • Look and take inspiration from other groups
  • Forest: interesting to hear about the agility that comes up with an interest group
    • with game-dev wg, since there are so many parties, there is the common interest around game dev, but hard to coordinate and move in a large forward direction
  • embedded: community
    • like game dev, it's harder to bring everyone together
    • reasonably large group, maybe 40 members, people pull in different directions
    • use matrix almost exclusively
    • have a weekly meeting over matrix, 8pm Berlin time
    • used to be strutured, we were writing a book, planning that work
    • but these days it tends to be more open-ended, discussing issues on crates and things, specific issues being nominated for discussion
    • as number of people doing embedded in rust has gotten bigger, the specific responsibilities of the wg have gotten smaller; more concerned about maintaining crates and backwards compat, feeling less pressure to solve specific problems
    • have a github org and teams maintaining sets of crates
    • at some points we had teams create wishlists and goals they wanted to accomplish
      • what have embedded users said they are missing
      • e.g. a real time operating system :)
    • but that's slowed down, most of the dev is happening outside the working group
    • lots of projects flourishing that aren't maintained directly within the group
  • problems experienced by interest groups
    • game-dev:
      • one of the bigger problems is compilation time
      • for example, bevy has specific instructions for how to get faster compilaton times
    • crypto:
      • don't really feel we need to make language changes, but there are some that would be helpful, though we don't expect them to get solved any time soon
      • need some kind of "minimum viable property" to have a constant time code, figuring out what that has to touch, but it intersects all layers (e.g., LLVM)
      • one of them would be how to get "CMOV" (branching in constant time)
    • embedded:
      • not compilation time
      • corner cases in the memory model
      • twice we've discovered that the fundamental thing we use across the operating system is unsound
      • tricky as they require a lot of domain expertise
      • many different types of embedded users:
        • hobbyists, who need really easy things to get going
        • people who need safety critical stuff
        • helping both of those groups share same resources is hard
      • so many kinds of hardware, supporting all of them is very hard
    • machine learning:
      • one challenge has been organizing people who know ML and people who know Rust and be able to have them communicate
      • haven't hit too many rust issues
      • compilation time wise, people who do ML, are used to training models
    • crypto:
      • one thing that would be nice is some "first class" way to ensure that Rust is panic free
      • saw some techniques there like prusti
  • niko: wondering about coherent things, is it just cataloging all the things?
    • ricky: for ML, people are moving very fast, people tend to want to be on the forefront, not so much building the basics
    • forest: for getting started, there are really cool engines, but a similar dynamic happens sometimes
    • crypto: it's something we're trying to feel out and solve. When I go to meetups, people ask "what should I use for "Rust crypto" but there's not really a good resource.
      • We have a giant list of crates but I'm not sure how helpful that is.
      • "ring has been fairly popular" is probably the right answer
      • but it's generally an unsolved problem
      • curious how folks have put together a "new to rust" guide thing
    • embedded:
      • a long time back we wrote this "discovery book" that is specific to a particular board
      • basically a long tutorial that introduces a lot of embedded + rust concepts
      • good, but the book is starting to get out of date
      • one challenge is that when people get to the end, it's like "great you're up to the start of the art 3 years ago"
      • we're not getting more and more async stuff in rust, but we have no tutorials about that whatsoever
      • now an effort to update this book using modern hardware, programs, etc
  • forest:
    • I was reviewing a book by the author of this RLTK (Rogue-like toolkit) and intrigued by the idea that a lot of the tech was being used may quickly fall out of date
      • locking down on a 2-year-old version of Rust will miss out
    • but it still helps you to get you started
  • tony, crypto:
    • I hope the landscape is pretty good today if you are trying to use standard algorithms
    • One of the questions was "what are the boss crates", but there are so many crates, trying not to bless anything yet
    • A lot of very cool stuff happening right now, if you see gaps, please let me know, I could probably point you at something
  • forest:
    • interesting to see the contrast between the various groups
    • might be nice to have a newsletter grouping together updates from the various interest group ecosystems