---
tags: "2021-09-20"
title: "Interest Group Roundtable Minutes"
---
# 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 communities...where 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