--- 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