Rustaceans / rust-cologne

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

February 2020 #90

Closed Florob closed 4 years ago

Florob commented 4 years ago

ToDo

Invitation draft

Title: CGN ###: Save The Date

Dear Rustaceans,

our next **open space** style Meetup will be on **Wednesday YYYY-MM-DD, 19:15 CET**.

Imagine a bazaar, where you can suggest topics and spontaneously join any discussion you find interesting. It all depends on your interests. You can enjoy some drinks, meet nice people and discuss about Rust.

**[You can register here](...)**.

We are looking forward to seeing you. :-)

Yours,
Pascal and Florian
―  
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.

Rust News

mre commented 4 years ago

I wonder if we should do another "Introduction to Rust" talk to kick off the year. Wasn't there last time, but I assume a few people decided to learn Rust as sort of a new-years resolution and it might help them get up to speed. I recently gave another talk on the topic at another (non-Rust) meetup that I could present. Doesn't have to be me, though. We have plenty of talent who could give a fresh perspective on things. 😄 Thoughts?

Florob commented 4 years ago

@mre sounds like a plan. I'd like to announce the meetup today or tomorrow. If you have a short abstract for your talk that would help. I also still have my ancient Rust introduction slides. Depending on what you're going to talk about I could condense that into a "thread-centric introduction" to get some contrast.

mre commented 4 years ago

Sure! Here we go:

Title could be

A gentle introduction to Rust (Web-Developer friendly)

Abstract:

Rust is a modern programming language that combines performance and security. It is close to the system and offers powerful abstractions that are strongly reminiscent of dynamic languages such as Ruby or Python. Rust offers memory security without a garbage collector and makes low-level programming easier and safer. We discuss possible use-cases for web assembly, cloud computing and more.

Slides are here: https://speakerdeck.com/mre/einfuhrung-in-rust It's really high-level so maybe you can take over the in-depth part after that?

Florob commented 4 years ago

@mre Thanks. I'll try do a talk centered around ownership then. It seems your slide deck doesn't really deal with that at all. Correction on your slide 57 (or at least what I think it is supposed to mean): Rust absolutely doesn't prevent deadlocks. Depending on what they tracked with "synchronization error" I'm a bit doubtful Rust prevents those either (cf. atomics with invalid Ordering). Also "null pointer" is in there twice. Hard to tell whether that's the papers mistake since the fulltext link seems to be inaccessible by now.

mre commented 4 years ago

Rust absolutely doesn't prevent deadlocks

True. Fixed.

Hard to tell whether that's the papers mistake since the fulltext link seems to be inaccessible by now.

Oh my. Fortunately the University still has a copy: https://web.cs.ucdavis.edu/~filkov/papers/lang_github.pdf:

The synchronization errors are mostly related to message passing (MPI) or shared memory operation (SHM). Erlang and Go use MPI (which do not require locking of shared resources) for inter-thread communication, which explains why these two languages do not have any SHM related errors like locking, mutex etc. In contrast, projects in the other languages use SHM primitives for communication and can thus have locking-related errors.

There are ways around it (unsafe), but I'd say this error-scenario is mostly prevented by Rust's ownership model and its smart pointer types (e.g. Arc in combination with Mutex, RefCell,...). Would you agree?

Florob commented 4 years ago

There are ways around it (unsafe), but I'd say this error-scenario is mostly prevented by Rust's ownership model and its smart pointer types (e.g. Arc in combination with Mutex, RefCell,...). Would you agree?

Mostly. Misusing atomics is sort of the big exception. That still enables SHM mistakes in safe code. Maybe make it yellow?

mre commented 4 years ago

Sounds good.