Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

February 2020 #90

Closed
Florob opened this issue Jan 28, 2020 · 7 comments
Closed

February 2020 #90

Florob opened this issue Jan 28, 2020 · 7 comments

Comments

@Florob
Copy link
Collaborator

@Florob Florob commented Jan 28, 2020

ToDo

  • Settle for a date and location: Wednesday 2020-02-05, 19:15 CET at C4 (default: first Wednesday each month)
  • Send "Save the Date" info (with link to this ticket)
  • Basic Agenda (default: Open Space)
  • Final invitation (deadline ???)
    • [meetup]
    • [website]
    • [twitter]
    • [community calendar]
    • [reddit]
    • [rust-lang forum]

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

This comment has been minimized.

Copy link
Contributor

@mre mre commented Jan 28, 2020

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

This comment has been minimized.

Copy link
Collaborator Author

@Florob Florob commented Jan 29, 2020

@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

This comment has been minimized.

Copy link
Contributor

@mre mre commented Jan 30, 2020

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

This comment has been minimized.

Copy link
Collaborator Author

@Florob Florob commented Jan 30, 2020

@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

This comment has been minimized.

Copy link
Contributor

@mre mre commented Jan 31, 2020

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

This comment has been minimized.

Copy link
Collaborator Author

@Florob Florob commented Jan 31, 2020

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

This comment has been minimized.

Copy link
Contributor

@mre mre commented Jan 31, 2020

Sounds good.

@Florob Florob closed this Feb 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.