πŸ‘‹πŸ½ Cross-Team Collaboration Fun Times

Fostering cross-team collaboration in the Rust project

Logo

What is this meeting about?

The Rust teams and working groups have proven to be a really effective way to scale the project. As the teams have grown, though, they have come to operate more and more independently, and we need mechanisms for the whole project to stay in sync. The "Cross-Team Collaboration Fun Times" meeting (CTCFT for short) aims to be one of those mechanisms.

What are the goals of the meeting?

  • πŸŽ‰ To celebrate and raise awareness of what is happening in the project.
  • βœ… To track progress on important efforts and communicate requests between teams.
  • πŸ’¬ To give a forum for cross-team discussion and collaboration.

When's the next meeting?

The meetings section gives more details about the meeting, along with the agenda for upcoming meetings and links to the slides (which are hosted on our hackmd team). You can also check out the CTCFT Calendar which lists all our meetings and has Zoom links and the like.

Are there minutes and recordings?

Yes! We typically record the meetings and link to the recordings in the meeting minutes that are published on this site.

Can I come?

Yes! This meeting is open for anyone to come and observe. Even though the meeting is primarily meant as a forum for the members of the Rust teams, it can be hard to define the borders of a community like ours. We'd love to have people who work on major Rust libraries in the ecosystem, for example, or who work on the various Rust teams at different companies.

πŸ‘¨β€πŸ‘©β€πŸ‘§ Meetings

Every CTCFT Meeting has its own page, found on the left. The page contains the agenda and, after the meeting takes place, it is updated with notes and links to a recording (if any). Meeting agenda items are always announced at least one week in advance of the next meeting (often more).

Meeting slides

You can find the slides for the various presentations on our hackmd team page.

Meeting recordings

Meetings will be recorded and those recordings will be posted publicly. We may even attempt to stream them. Recording the meetings serves several purposes:

  • It makes the meetings accessible to folks who cannot attend in person or who must miss a week.
  • The recordings of the meetings become another channel for people to follow along with what is happening in Rust.

Rules for participation

  • The meeting is open for anyone to observe (read more).
  • We will use a meeting queue to ensure everyone who wants to speak has a chance. The queue is managed by the MC.
    • To add yourself to the queue, write o/ in the chat.
    • To remove yourself from the queue, write nm in the chat.
    • If you you prefer, you can also ask a question for the speaker in the chat and the MC can read it out loud.
  • Please keep your video off unless you are expecting to speak.
    • If you are enqueued or expect you may well enqueue yourself soon, then feel free to turn it on.
    • This way the set of folks visible reflects who is actively participating at that moment.
  • Stay muted when not speaking.
  • Please avoid extensive conversations in the chat -- quick Q&A is ok.

Timing of the meeting

The meetings are targeted for the third Monday of every month. The timing of the meeting varies month-to-month in an attempt to capture more time zones (and to accommodate the speakers). See the [CTCFT Calendar] for details.

2022-06-27

Info
Time13:00 US Eastern Time (see in your time zone)
Social hour calendar event (with Zoom details)link

Social hour

This month, there won't be a full CTCFT meeting. Instead, we'll just be holding a Social Hour. The idea is really simple: we will create breakout rooms in Zoom, and you can join any breakout room you like and hang out.

2022-05-16

Info
Time11:00 US Eastern Time (see in your time zone)
Calendar event (with Zoom details)link
Social hour calendar event (with Zoom details)link
Recordinglink

Agenda

The theme for this month's CTCFT is Embedded Rust. We'll hear from some members of the Rust Embedded Working Group about the state of the ecosystem, as well as how async Rust is working for embedded systems. We also have some people coming in from the automotive industry to talk about how Rust use is starting to progress.

  • (5 min) Opening remarks πŸ‘‹ (angelonfira)
  • (15 min) A whirlwind tour of Embedded Rust (jamesmunns)
    • A brief history of the embedded-wg and use of Rust for embedded
    • A look at how developing embedded Rust looks like today
    • A sample of patterns that are special to embedded Rust, or differences from "desktop" Rust
  • (15 min) Async Rust for Embedded Systems (Dirbaio)
    • We'll explore how concurrency is traditionally handled in embedded, and how Rust's async makes it significantly easier while still requiring no runtime, no OS, and no allocation, and what Rust improvements could make it even more awesome.
  • (15 min) Rust in Automotive (cpetig, skade)
    • We'll look at Rust from a Functional Safety perspective, and continuing to the AUTOSAR architecture. We'll also look a bit at what Ferrocene's role is in all this, and look at the AUTOSAR Rust bindings. Finally, we'll see what's next for this space.
  • (5 min) Closing (angelonfira)

Social hour

Like always, we'll be running a social hour after the CTCFT. The idea is really simple: for the hour after the meeting, we will create breakout rooms in Zoom. You can join any breakout room you like and hang out.

2022-04-18

Info
Time21:00 US Eastern Time (see in your time zone)
Calendar event (with Zoom details)link
Social hour calendar event (with Zoom details)link
Recordinglink

Agenda

The theme for this month is Learning. Please submit talk proposals!

The theme of April's CTCFT is "learning". Doc Jones will speak about the Rustc Reading Club Phase II, and what was learned from the first iteration of the club. Jon Gjengset will talk about teaching advanced Rust concepts.

  • (5 min) Opening remarks πŸ‘‹ (angelonfira)
  • (20 min) Rustc Reading Club Phase II (doc-jones)
    • The Rustc Reading Club has two goals. First, to produce confident new contributors to rustc. Second, to deepen understanding of rustc for mid level contributors. The structure of RRC enables participants to gain experience working with other contributors making their future collaborations easier. Phase I of the Rustc Reading Club is complete and now we are ready to launch Phase II based on what we've learned. Phase I focused solely on rustc's name resolver module. We plan to expand and "read" other areas of the compiler in Phase II.
    • slides
  • (20 min) Teaching Intermediate Rust (jonhoo)
    • Over the past few years I've spent a lot of time trying to teach Rust "beyond the basics", focusing my attention on the problems that developers who have read all the introductory materials run into when they sit down to actually use Rust "for real'. In this session I'll talk about some recurring patterns I've seen while doing this, in the hope that they may spawn interesting discussion about possible solutions.
    • slides
  • (5 min) Closing (angelonfira)

Social hour

Like always, we'll be running a social hour after the CTCFT. The idea is really simple: for the hour after the meeting, we will create breakout rooms in Zoom. You can join any breakout room you like and hang out.

2022-03-21

Info
TimeSee in your time zone
Calendar event (with Zoom details)link
Social hour calendar event (with Zoom details)link
Recordinglink

Agenda

For this month's CTCFT meeting, the theme is "planning for 2022". Rebecca Rumbul, the CEO of the Rust Foundation, will give some insight into the Foundation's mission. Niko Matsakis and Josh Triplett will go over the lang team's roadmap of the priorities for Rust 2024.

  • (5 min) Opening remarks πŸ‘‹ (nikomatsakis)
  • (15 min) Planning for Rust 2024 (nikomatsakis, joshtriplett)
    • Now that Rust 2021 is behind us, it's time to start thinking about Rust 2024! The lang team has been working on a roadmap that proposes various priorities for Rust 2024 and discusses some of the language changes that can help support those priorities. @nikomatsakis and @joshtriplett will discuss the contents of that document. We would love feedback, both on the document and on whether it can be broadened to include other teams' efforts as well.
    • slides
  • (15 min) Rust Foundation 2022 (Rebecca Rumbul)
    • Bec will give an overview of the Foundation's current thinking on its mission and how to achieve it, and talk a little about some of the bigger questions that need to be addressed for the future. This will include more detail on the work programs that the Foundation is currently pursuing (such as the Community Grants Program), and some potential gaps / areas that the Foundation is considering in terms of what support and resources it could provide. Bec will also talk about the more operational/practical side of the Foundation, outlining how the organisation is growing and how the split of responsibilities between board and staff is working.
  • (5 min) Closing (nikomatsakis)

Social hour

Like always, we'll be running a social hour after the CTCFT. The idea is really simple: for the hour after the meeting, we will create breakout rooms in Zoom. You can join any breakout room you like and hang out.

2022-02-21

Info
TimeSee in your time zone
Calendar event (with Zoom details)link
Social hour calendar event (with Zoom details)link
Recordinglink

Agenda

For this month's CTCFT meeting, the theme is "planning for 2022". We'll hear about the results of the 2021 Rust survey, and updates happening in the Async Working Group and the Compiler Team.

  • (5 min) Opening remarks πŸ‘‹ (angelonfira)
  • (20 min) Rust 2021 Survey Results (nrc)
    • Nick will summarise the results of the survey, highlight findings which might be of interest to Rust teams, and outline how teams can request more in-depth analysis.
  • (20 min) Compiler team ambitions (pnkfelix, wesleywiser)
  • (5 min) Closing (angelonfira)

Social hour

Like always, we'll be running a social hour after the CTCFT. The idea is really simple: for the hour after the meeting, we will create breakout rooms in Zoom with different themes. You can join any breakout room you like and hangout.

2022-01-17

Info
TimeSee in your time zone
Social Hour calendar event (with Zoom details)link

Agenda

This month, there will not be a regularly scheduled CTCFT meeting. However, the Social Hour will proceed like normal!

Social Hour

The idea of the Social Hour is really simple: for the hour after the meeting, we will create breakout rooms in Zoom with different themes. You can join any breakout room you like and hangout.

2021-11-22

Info
TimeSee in your time zone
Calendar event (with Zoom details)link
Social hour calendar event (with Zoom details)link
Recordinglink

Agenda

This meeting we've invited some of the people working to integrate Rust into the Linux kernel to come and speak. We've asked them to give us a feel for how the integration works and help identify those places where the experience is rough. The expectation is that we can use this feedback as an input when deciding what work to pursue and what features to prioritize for stabilization.

  • (5 min) Opening remarks πŸ‘‹ (nikomatsakis)
  • (40 min) Rust for Linux (ojeda, alex, wedsonaf) slides
    • The Rust for Linux project is adding Rust support to the Linux kernel. While it is still the early days, there are some areas of the Rust language, library, and tooling where the Rust project might be able to help out - for instance, via stabilization of features, suggesting ways to tackle particular problems, and more. This talk will walk through the issues found, along with examples where applicable.
  • (5 min) Closing (nikomatsakis)

Social hour

Like always, we'll be running a social hour after the CTCFT. The idea is really simple: for the hour after the meeting, we will create breakout rooms in Zoom with different themes. You can join any breakout room you like and hangout.

2021-10-18

Info
TimeSee in your time zone
Calendar event (with Zoom details)link
Social hour calendar event (with Zoom details)link
Recordinglink

Agenda

The theme for this meeting is exploring ways to empower and organize contributors.

  • (5 min) Opening remarks πŸ‘‹ (nikomatsakis)
  • (20 min) Sprints and groups implementing the async vision doc (tmandry)
  • (15 min) rust-analyzer talk (veykril)
    • The rust-analyzer project aims to succeed RLS as the official language server for Rust. We talk about how it differs from RLS, how it is developed, and what to expect in the future.
  • (<5 min) Community Metrics (estebank)
  • (<5 min) CTCFT update (angelonfira)
  • (10 min) Contributor survey (yaahc)
    • Introducing the contributor survey, it's goals, methodology, and soliciting community feedback
  • (5 min) Closing (nikomatsakis)

Social hour

Like always, we'll be runnin a social hour after the CTCFT. The idea is really simple: for the hour after the meeting, we will create breakout rooms in Zoom with different themes. You can join any breakout room you like and hangout.

2021-09-20

Info
TimeSee in your time zone
Calendar event (with Zoom details)link
Social hour calendar event (with Zoom details)link
Recordinglink

Agenda

All slides

We're going to try something a bit different this time! The agenda is going to focus on Rust interest groups and domain working groups, those brave explorers who are trying to put Rust to use on all kinds of interesting domains. Rather than having fixed presentations, we're going to have a panel discussion with representatives from a number of Rust interest groups and domain groups, led by AngelOnFira. The idea is to open a channel for communication about how to have more active communication and feedback between interest groups and the Rust teams (in both directions).

Social hour

Like last time, we are going to try an experimenatal social hour after the CTCFT. The idea is really simple: for the hour after the meeting, we will create breakout rooms in Zoom with different themes. You can join any breakout room you like and hangout.

2021-07-19

Info
MCnikomatsakis
TimeSee in your time zone
Calendar event (with Zoom details)link
Recordinglink

Agenda

As they are prepared, you will be able to find the presentations on hackmd, or linked below.

  • Opening remarks (nikomatsakis)
  • Mentoring (doc-jones)
    • The Rust project has a number of mechanisms for getting people involved in the project, but most are oriented around 1:1 engagement. Doc has been investigating some of the ways that other projects engage contributors, such as Python's mentored sprints. She will discuss how some of those projects run things and share some ideas about how that might be applied in the Rust project.
  • Lang team initiative process (joshtriplett)
    • The lang team recently established a new process we call initiatives. This is a refinement of the RFC process to include more explicit staging. Josh will talk about the new process, what motivated it, and how we're trying to build more sustainable processes.
  • Driving discussions via postmortem analysis (pnkfelix)
    • Innovation means taking risks, and risky behavior sometimes leads to process failures. An example of a recent process failure was the Rust 1.52.0 release, and subsequent 1.52.1 patch release that followed a few days later. Every failure presents an opportunity to learn from our mistakes and correct our processes going forward. In response to the 1.52.0 event, the compiler team recently went through a "course correction" postmortem process inspired by the "Correction of Error" reviews that pnkfelix has observed at Amazon. This talk describes the structure of a formal postmortem, and discusses how other Rust teams might deploy similar postmortem activities for themselves.
  • Open floor
    • Open time for comments or questions.

Social hour

Like last time, we are going to try an experimenatal social hour after the CTCFT. The idea is really simple: for the hour after the meeting, we will create breakout rooms in Zoom with different themes. You can join any breakout room you like and hangout.

The themes for the breakout rooms will be based on suggestions. If you have an idea for a room you'd like to try, you can post it in a dedicated topic on the #ctcft Zulip stream. Or, if you see somebody else has posted an idea that you like, then add a πŸ‘ emoji. We'll create the final breakout list based on what we see there. The breakout rooms can be as casual or focused as you like. You might, for example, talk about your favorite crates, or we might continue some of the discussions from the meeting.

2021-06-21

Info
MCnikomatsakis
TimeSee in your time zone
Calendar event (with Zoom details)link
Recordinglink

Agenda

As they are prepared, you will be able to find the presentations on hackmd, or linked below.

  • (5min) Welcome
  • (5min) About the social hour -- yaahc
    • yaahc will present her plans for a social hour that follows the CTCFT (see below).
  • (15min) Turbowish and Tokio console -- pnkfelix and Eliza (hawkw)
    • Rust programs are known for being performant and correct -- but what about when that's not true? Unfortunately, the state of the art for Rust tooling today can often be a bit difficult. This is particularly true for Async Rust, where users need insights into the state of the async runtime so that they can resolve deadlocks and tune performance. This talk discuss what top-notch debugging and tooling for Rust might look like. One particularly exciting project in this area is tokio-console, which lets users visualize the state of projects build on the tokio library.
  • (20min) Guiding Principles for Rust -- nikomatsakis
    • As Rust grows, we need to ensure that it retains a coherent design. Establishing a set of "guiding principles" is one mechanism for doing that. Each principle captures a goal that Rust aims to achieve, such as ensuring correctness, or efficiency. The principles give us a shared vocabulary to use when discussing designs, and they are ordered so as to give guidance in resolving tradeoffs. This talk will walk through a draft set of guiding principles for Rust that nikomatsakis has been working on, along with examples of how they those principles are enacted through Rust's language, library, and tooling.
  • (10min) Open floor
    • Time for people to make short announcements, ask questions, whatever.
  • (5min) Closing -- nikomatsakis

Social hour

After the CTCFT, we are going to try an experimental social hour. The idea is really simple: for the hour after the meeting, we will create breakout rooms in Zoom with different themes. You can join any breakout room you like and hangout.

The themes for the breakout rooms will be based on suggestions. If you have an idea for a room you'd like to try, you can post it in a dedicated topic on the #ctcft Zulip stream. Or, if you see somebody else has posted an idea that you like, then add a πŸ‘ emoji. We'll create the final breakout list based on what we see there.

The breakout rooms can be as casual or focused as you like. For example, we will have some default rooms for hanging out -- please make suggestons for icebreaker topics on Zulip! We also plan to have some rooms where people are chatting while doing Rust work: for example, yaahc suggested for folks who want to write mentoring instructions.

2021-05-17

Info
MCnikomatsakis
TimeSee in your time zone
Calendar event (with Zoom details)link
Recordinglink

Agenda

You can find the presentations on hackmd, or linked below.

βš™οΈ Meta: For the organizers

This page documents the procedures that we use as CTCFT organizers. It's mostly for our own reference!

Week before CTCFT

  • Check in with speakers
  • Encourage people to put their slides in the hackmd page
  • Create the agenda slide deck

Day of CTCFT

  • Tweet from CTCFT account

Orientation emeting

The week after each CTCFT, we hold an orientation meeting with the following agenda:

  • Brief retro: How did that CTCFT go?
  • For next month:
    • If not enough talks have been submitted to make an agenda, brainstorm people to ping.
  • For ΓΌber-next month:
    • Select theme and time
    • Create a page for it on the CTCFT repository
    • Create calendar event
    • Create github label

Definition: The ΓΌber-next month of March is May.

After each CTCFT

  • Post video to YouTube playlist, update page with link
  • Get slides from people, if none were submitted, and link to them
  • Tweet about it

Frequently Asked Questions

Who can attend the meeting?

This meeting is open for anyone to come and observe. Even though the meeting is primarily meant as a forum for the members of the Rust teams, it can be hard to define the borders of a community like ours. We'd love to have people who work on major Rust libraries in the ecosystem, for example, or who work on the various Rust teams at different companies.

I have 222+ unread Github notifications in rust-lang/rust. Why is this meeting worth my time?

This meeting is meant for busy people. It's not just a bunch of random status updates. It's a carefully selected set of topics meant to spark both discussions and new ideas for how the Rust teams operate, and a place for us to coordinate on cross-cutting technical projects.

One other point: because the agenda will be circulated in advance, it may be that you pick and choose which meetings to attend based on whether this is a discussion topic that you have a lot of interest in.

Who will MC and who will assemble the meeting agenda?

To start, nikomatsakis plans to do those things. Assuming the meeting is a success, we'll figure out next steps then.

What kinds of things would be a good fit for the agenda?

We're looking for three kinds of things:

  • Status updates on projects that could affect multiple teams;
  • Experience reports with insights to share;
  • "Rough draft" proposals that are ready to be brought before a wider audience.

How can I propose an agenda item?

Open an issue on the CTCFT repo to let nikomatsakis know about it!

What if I have something sensitive to discuss?

For sensitive items, this is likely not the right meeting, but you can reach out to nikomatsakis privately to discuss it.

Does this really have to be synchronous?

Yes. For this to work, we need people to pay attention for an hour. We're all really busy, and asynchronous communication is all too easy to ignore.

What can we do to make this accessible to people around the globe?

The Rust project includes people from all over the world, and some time zones are just plain incompatible. We've put some thought into how to structure the meeting to make it accessible to folks from different time zones:

  • We will alternate between different times so that folks in different time zones can more readily attend.
  • We will also distribute recordings of the meeting (and perhaps consider livestreaming as well) so that people can watch.
  • Per Rust's 'No new rationale' principal, we will not use the meeting to make decisions, particularly on controversial issues, but rather to generate discussion and distribute information. (See the next question.)

What if I can't make some meeting or other? Am I going to miss out on key decisions?

Per Rust's 'No new rationale' principal, we will not use the meeting to make decisions, particularly on controversial issues, but rather to generate discussion and distribute information. This means that folks who couldn't attend the meeting can watch the recordings and then participate in the follow-up discussion.

How will this be better or different than the project leadership sync meeting?

Some time back we attempted a Project Leadership Sync Meeting. The structure was basically status reports and -- after a time -- it petered out in favor of (sparsely used) Zulip streams.

This meeting has a different structure. To start, it will have more active curation of the agenda, and it will not have a "round robin" format. We'll not be looking to find out what is going on, but rather to distribute the key points of that information, and to focus conversation on interesting agenda items that merit discussion.

Further, the scope of the meeting is broader. The meeting will representatives from project groups like error handling and other key efforts of the Rust project.

How did you arrive at those times? Can we try different ones?

The timing for the meeting is something I would like feedback on. I think it's important that we make the meeting accessible, but I also think we should take into account the time zone that the majority of participants are coming from. Here is a kind of survey of possible times and how accessible they are to folks from different time zones:

BerlinNYSFBeijingSydneyAucklandπŸ”—
12:00 πŸ₯°06:00 ❌03:00 ❌18:00 πŸ₯±20:00 ❌22:00 ❌link
15:00 πŸ₯°09:00 πŸ₯°06:00 ❌21:00 πŸ₯±23:00 πŸ₯°00:00 ❌link
17:00 πŸ₯°11:00 πŸ₯°08:00 πŸ₯°23:00 ❌01:00 ❌02:00 ❌link
21:00 πŸ₯±15:00 πŸ₯°12:00 πŸ₯°3:00 ❌5:00 ❌7:00 ❌link
01:00 ❌19:00 πŸ₯±16:00 πŸ₯°7:00 ❌9:00 πŸ₯°10:00 πŸ₯°link
02:00 ❌20:00 πŸ₯±17:00 πŸ₯°8:00 ❌10:00 πŸ₯°11:00 πŸ₯°link
03:00 ❌21:00 πŸ₯±18:00 πŸ₯±9:00 πŸ₯°11:00 πŸ₯°12:00 πŸ₯°link

Key:

  • πŸ₯° working hours (9:00..18:00)
  • πŸ₯± rather late (18:00..22:00) -- which could be good for some folks!
  • ❌ totally unreasonable (22:00 - 9:00)

I love the logo. Who designed it?

Glad you asked! I love it too! @Xfactor521 made it! πŸ™

Internets

Schitt's Creek Image

Here are links to various Rust CTCFT related internet things:

(Yes, this page was mostly an excuse to embed that GIF.)

πŸ’– Code of conduct

Rust code of conduct

All participants in the CTCFT meeting are expected to observe the Rust code of conduct.

  • We are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other similar characteristic.
  • Please avoid using overtly sexual aliases or other nicknames that might detract from a friendly, safe and welcoming environment for all.
  • Please be kind and courteous. There’s no need to be mean or rude.
  • Respect that people have differences of opinion and that every design or implementation choice carries a trade-off and numerous costs. There is seldom a right answer.
  • Please keep unstructured critique to a minimum. If you have solid ideas you want to experiment with, make a fork and see how it works.
  • We will exclude you from interaction if you insult, demean or harass anyone. That is not welcome behavior. We interpret the term β€œharassment” as including the definition in the Citizen Code of Conduct; if you have any lack of clarity about what might be included in that concept, please read their definition. In particular, we don’t tolerate behavior that excludes people in socially marginalized groups.
  • Private harassment is also unacceptable. No matter who you are, if you feel you have been or are being harassed or made uncomfortable by a community member, please contact moderation@ctcft.com immediately. Whether you’re a regular contributor or a newcomer, we care about making this community a safe place for you and we’ve got your back.
  • Likewise any spamming, trolling, flaming, baiting or other attention-stealing behavior is not welcome.

CTCFT Rules for participation

Please observe the meeting rules for participation.

Moderation contact

Please contact moderation@ctcft.com.