Rustaceans / rust-cologne

Website for Rust User Group Cologne
http://rust.cologne/
40 stars 3 forks source link

March 2023 (was: February 2023) #103

Closed Florob closed 1 year ago

Florob commented 1 year ago

ToDo

Invitation draft

Dear Rustaceans,

our next Meetup will be on **Wednesday 2023-03-01, 19:15 CET**.

The theme of the evening will be traits, one of the core building blocks of abstractions in Rust which are used to make code generic and composable.

The first talk will be about traits in general: what they're good for, comparison with alternative approaches (such as static dispatch), trait objects and _blanket impls_.

The seconds talk will focus on the `Fn` traits, explaining how you can properly accept functions and
closures as function parameters, as well as give an overview of which closures implement which traits.

Following that there will be time to mingle, open discussions and questions.

**[You can register here](https://www.meetup.com/rustcologne/events/291774935/)**.

We are looking forward to seeing you. :-)

Yours,
Florian and Kai

---

The meetup will likely be held in German, we will however reevaluate this at the beginning of the evening and may switch to English if needed.

---

Due to COVID-19 still being around there are some precautions we feel are necessary to make
everyone feel at ease. We are of course aware that more and more restrictions are being lifted.
At the same time it's the prime season for colds and sneezes. In the spirit of inclusion we are
erring on the side of caution here.

We have restricted the maximum number of participants to ensure social distancing is possible.
Accordingly we need to know how many people will attend the meetup.
Please make sure to register and, in case you are no longer able to attend, cancel your registration.

Additionally we generally expect participants to wear masks. During warm weather the venue allows
for decent ventilation. There is also an air purifier. Participants may **unanimously** decide
masking is not necessary.

Rust News

Florob commented 1 year ago

@kawogi We still need a topic to announce.

My pool of ideas is always somewhat restricted to things I'm currently working on/with and things we haven't talked about in a while. Currently "working on/with" is proc-macro derive and embedded Rust. However, I don't really feel comfortable talking about either (yet). In terms of things we haven't talked about for a while traits come to mind. Topics like general overview, use-cases, and Fn traits. Possibly two smaller talks split among us if you'd be up for that.

kawogi commented 1 year ago

I'm also struggling to find a good topic. Embedded is on my list as well (but I'm not there, yet). Same with cranelift. I thought about talking about something very basic, like explaining Option to beginners. Niche optimization would be the most advanced bullet point then. Traits sound like a good topic, but it might be challenging to make it fit into the time available.

Florob commented 1 year ago

Traits sound like a good topic, but it might be challenging to make it fit into the time available.

There are recordings from last time around (overview, Fn* traits). Each talk was ~30min, so I wouldn't really worry about that.

kawogi commented 1 year ago

Ok, let's opt for traits then.

Some bullet points I could imagine (increasing complexity):

  1. use case: call functions with parameters of varying types; collecting trait objects in a collection
  2. approaches: static dispatch, manual dispatch (enums), dynamic dispatch
  3. simple examples using static dispatch (e.g. ToString is very approachable)
  4. same example using trait objects
  5. impl keyword to simplify method signatures
  6. Sub-/Supertraits
  7. Blanket impls (ToString as example again)
  8. Associated types (example Index or Iterator)
  9. Fn* traits

I could cover 1..=8 and leave 9 up to your experience. Are you okay with that?

If I don't find the time to prepare a presentation I'll resort to live coding.

kawogi commented 1 year ago

@Florob Oh damn, I totally forgot another personal appointment which collides with Feb 1st. Very sorry for the short notice, but can we delay the meetup to Jan 8th?

Florob commented 1 year ago

@kawogi Probably not. The other meetup that's on the 8th told me they were going to use the big room, projector, video equipment more in the future. I could still ask, but realistically that might mean I get a "No" tomorrow, leading to a very late announcement. Is it fine with you if I do the February meetup on my own?

kawogi commented 1 year ago

I'm ok with being absent this time. Still better than delaying too much. Just let me know if you want to do traits anyway or move that to the next meetup.

Sorry again for the trouble :(

Florob commented 1 year ago

I just canceled tomorrow's meetup as I feel a little sick. Nothing terrible, but also not where I would attend/lead a meetup in good conscience :/.

kawogi commented 1 year ago

Sorry to hear that. Get well soon!

kawogi commented 1 year ago

Shall we rename that issue to March 2023 and reset the status? What shall I prepare for the next meetup? "Introduction to traits" in general (as proposed in https://github.com/Rustaceans/rust-cologne/issues/103#issuecomment-1404121470). I don't want to overlap with what you have already done.

I re-started to work on embedded Rust so I feel confident that I could host a talk about that soon (e.g. April if we feel that easter-holidays wouldn't steal us to many participants).

Florob commented 1 year ago

Shall we rename that issue to March 2023 and reset the status?

Yes, let's do that. I was pondering moving this to the 22nd, but skipping a month is probably better than back to back meetups at that point.

What shall I prepare for the next meetup? "Introduction to traits" in general (as proposed in https://github.com/Rustaceans/rust-cologne/issues/103#issuecomment-1404121470). I don't want to overlap with what you have already done.

That would still be nice. I had a basic outline done before I got sick, but I would prefer having separate talks with separate speakers.

kawogi commented 1 year ago

Shall I send the meetup invitations or do you want to adjust something in the announcement? I guess this will be a new meetup rather than an update to the cancelled one, right? (I don't even know if meetup.com supports this).

Florob commented 1 year ago

I would do a new meetup on meetup.com, but probably modify the one on the website. My understanding was that you would be doing the intro talk. Did we miscommunication there? If you're going to, it would be nice to update the announcement to reflect that.

kawogi commented 1 year ago

I thought

There will be a talk about traits in general, showing how to use them to make code generic and composable.

would cover that introduction part, but now I see that the next paragraph doesn't introduce a second topic. I'll suggest an update …

kawogi commented 1 year ago

better?

Florob commented 1 year ago

Looks good to me.