Rust Nation UK
Rust Nation UK
  • 69
  • 398 801
Aida Getoeva - Async C++/Rust Interoperability
Bringing asynchronous C++ code to the safe grounds of Rust can be scary. Segmentation faults and memory leaks can make their way across the bridge and hide under the safe wrapper-covers. So let us delve into the inner workings of asynchronous interaction and ensure safe C++/Rust interoperability using CXX library.
มุมมอง: 1 901

วีดีโอ

Tim McNamara - 4 levels of error handling
มุมมอง 7K7 หลายเดือนก่อน
Rust's errors can be confusing. Strengthen your code one level at a time. Learn how to start with an easy path and grow as you knowledge increases. We start with 'good enough' approaches, then move towards something that's more idiomatic over time. This talk is highly interactive with lots of live coding and examples to follow. So grab your laptop and follow-along!
Mithun Hunsur - Ambient: A Rust and WebAssembly Runtime for Cross-Platform Multiplayer Games
มุมมอง 2.5K7 หลายเดือนก่อน
Mithun Hunsur - Ambient: A Rust and WebAssembly Runtime for Cross-Platform Multiplayer Games
Alice Ryhl - What it takes to keep Tokio running
มุมมอง 4.8K7 หลายเดือนก่อน
Alice Ryhl - What it takes to keep Tokio running
Chris Biscardi - Bevy: A case study in ergonomic Rust
มุมมอง 16K7 หลายเดือนก่อน
Chris Biscardi - Bevy: A case study in ergonomic Rust
Pietro Albini - How Ferrocene qualified the Rust Compiler
มุมมอง 2.6K7 หลายเดือนก่อน
Pietro Albini - How Ferrocene qualified the Rust Compiler
Ben Wishovich - Full Stack Rust - Building Rust Websites with Leptos
มุมมอง 10K7 หลายเดือนก่อน
Ben Wishovich - Full Stack Rust - Building Rust Websites with Leptos
Natalie Serebryakova - Rustic Persistence: Automating PVC Lifecycles with Rust in Kubernetes
มุมมอง 6177 หลายเดือนก่อน
Natalie Serebryakova - Rustic Persistence: Automating PVC Lifecycles with Rust in Kubernetes
Daniel McKenna - Creating a Text-To-Speech System in Rust
มุมมอง 1.3K7 หลายเดือนก่อน
Daniel McKenna - Creating a Text-To-Speech System in Rust
Konstantin Grechishchev - Java and Rust Integration
มุมมอง 1.1K7 หลายเดือนก่อน
Konstantin Grechishchev - Java and Rust Integration
Heiko Seeberger - EventSourced - async_fn_in_trait in anger
มุมมอง 1.6K7 หลายเดือนก่อน
Heiko Seeberger - EventSourced - async_fn_in_trait in anger
Tim Janus - Let's get interdisciplinary: Rust Design Patterns for Chemical Plants
มุมมอง 9007 หลายเดือนก่อน
Tim Janus - Let's get interdisciplinary: Rust Design Patterns for Chemical Plants
Marco Ieni - How Rust makes open-source easier
มุมมอง 7587 หลายเดือนก่อน
Marco Ieni - How Rust makes open-source easier
Nicholas Matsakis - Rust 2024 and beyond
มุมมอง 15K7 หลายเดือนก่อน
Nicholas Matsakis - Rust 2024 and beyond
Nikita Lapkov - Type-safe and fault-tolerant mesh services with Rust
มุมมอง 3K7 หลายเดือนก่อน
Nikita Lapkov - Type-safe and fault-tolerant mesh services with Rust
Tim McNamara - Unwrapping unsafe
มุมมอง 3.2K7 หลายเดือนก่อน
Tim McNamara - Unwrapping unsafe
Nicholas Yang - Porting Turborepo From Go To Rust
มุมมอง 3.3K7 หลายเดือนก่อน
Nicholas Yang - Porting Turborepo From Go To Rust
Andre Bogus - Easy Mode Rust
มุมมอง 9K7 หลายเดือนก่อน
Andre Bogus - Easy Mode Rust
Marco Concetto Rudilosso - Building a profiler for web assembly
มุมมอง 7307 หลายเดือนก่อน
Marco Concetto Rudilosso - Building a profiler for web assembly
David Haig - What’s that behind your ear? An open source hearing aid in Rust.
มุมมอง 1.5K7 หลายเดือนก่อน
David Haig - What’s that behind your ear? An open source hearing aid in Rust.
Amanieu D'Antras - The path to a stable ABI for Rust
มุมมอง 3.6K7 หลายเดือนก่อน
Amanieu D'Antras - The path to a stable ABI for Rust
Luca Palmieri - Pavex: re-imaging API development in Rust
มุมมอง 11K7 หลายเดือนก่อน
Luca Palmieri - Pavex: re-imaging API development in Rust
Lachezar Lechev - Typed for Safety
มุมมอง 2K7 หลายเดือนก่อน
Lachezar Lechev - Typed for Safety
Hannah Aubrey - A Web of Rust: The Future of the Internet Depends on Trust
มุมมอง 1.7K7 หลายเดือนก่อน
Hannah Aubrey - A Web of Rust: The Future of the Internet Depends on Trust
Lars Bergstrom - Beyond Safety and Speed: How Rust Fuels Team Productivity
มุมมอง 10K7 หลายเดือนก่อน
Lars Bergstrom - Beyond Safety and Speed: How Rust Fuels Team Productivity
Frédéric Ameye - Renault want to sell cars with rust!
มุมมอง 3.7K7 หลายเดือนก่อน
Frédéric Ameye - Renault want to sell cars with rust!
Jon Gjengset - Towards Impeccable Rust
มุมมอง 31K7 หลายเดือนก่อน
Jon Gjengset - Towards Impeccable Rust
JD Nose - Rust Infrastructure: What it takes to keep Rust running
มุมมอง 2K7 หลายเดือนก่อน
JD Nose - Rust Infrastructure: What it takes to keep Rust running
Rust Nation UK is an event you don't want to miss in 2024!
มุมมอง 23K9 หลายเดือนก่อน
Rust Nation UK is an event you don't want to miss in 2024!
Rust Nation UK 2024 Workshops
มุมมอง 25810 หลายเดือนก่อน
Rust Nation UK 2024 Workshops

ความคิดเห็น

  • @akam9919
    @akam9919 วันที่ผ่านมา

    "Shush please!"

  • @xExekut3x
    @xExekut3x 2 วันที่ผ่านมา

    "rust requires you to deal with the possibility of an error" .. i love this about rust, ngl

  • @albizutoday2754
    @albizutoday2754 6 วันที่ผ่านมา

    m.th-cam.com/video/e0xAmR_iIAs/w-d-xo.html

  • @utx0
    @utx0 22 วันที่ผ่านมา

    Wow I looked at this year's ago and was super impressed, at the time I was even think this would have been better in rust. Now I find you again just as I need an embedded dB in my rust app. Woohoo I'm excited

  • @codeguy7309
    @codeguy7309 24 วันที่ผ่านมา

    Leptospirosis? really?

  • @AK-vx4dy
    @AK-vx4dy หลายเดือนก่อน

    @6:36 What is sense of this code anway ? Iterate over items and add copy of them to the same collection if predicate is true ? Also without a clone we may end in endless loop if we add items to collection we iterate ? (depends on iterator implementation). Anyway doing it in any other language without using index or some form of .clone/.copy is asking for trouble.

  • @tubeincompetence
    @tubeincompetence หลายเดือนก่อน

    "Going to introduce Barbaras intern Alan".. well.. he's Captain Disillusions intern.. I'm now so confused

  • @gazapo
    @gazapo 2 หลายเดือนก่อน

    This guy has no clue about presentations and talk to public , horrible presentatation hearing this guy speak like running 😊

    • @roychan2190
      @roychan2190 หลายเดือนก่อน

      agreed

  • @nealshin1247
    @nealshin1247 2 หลายเดือนก่อน

    Very helpful talks 🎉

  •  2 หลายเดือนก่อน

    With tokio::join! you get structured cooperative concurrency, with tokio::spawn you get unstructured cooperative/parallel concurrency.

  • @adrianscarlett
    @adrianscarlett 2 หลายเดือนก่อน

    0:06 nice try chris, but there's no 'h' in ayup... great presentation, I'm learning a lot from your knowledge of rust.

  • @hychung2333
    @hychung2333 3 หลายเดือนก่อน

    Greate!

  • @rinket7779
    @rinket7779 3 หลายเดือนก่อน

    lol, in the case of the C++ code you're using a low-level API (poll() syscall directly) yet, in teh Rust you're using high-level APIs that wrap all that. Comparing these two is idiotic. That is NOT idiomatic C++ - that looks and smells like C code. Not C++. There's plenty of high-level wrappers for this in c++ yet you use low-level C-style code. Nice one.

    • @NotherPleb
      @NotherPleb 3 หลายเดือนก่อน

      Your critic is targeted at whoever wrote that code, but that's just valid and common C++ code (unfortunately? still, we don't know the reason it's that way) I'd also add that in Rust the main abstraction to poll is made by the async runtimes which C++ lacks, what C++ abstraction do you have in mind?

    • @rinket7779
      @rinket7779 3 หลายเดือนก่อน

      @@NotherPleb asio is the main one and it has decent async abstractions. C++26 is getting senders/receivers as an async abstraction together with co-routines. Async in modern C++ is really nice.You can already use it in C++23 via the reference implementation.

    • @rinket7779
      @rinket7779 3 หลายเดือนก่อน

      @@NotherPleb asio

  •  3 หลายเดือนก่อน

    Unwraps aren't bugs, they're unhandled errors. When you start writing Rust, you write programs for yourself and when invalid input is passed, you just use the panic report for info. You don't fix "the bug" for unwraps, you handle the error to remove them.

  • @spartan_j117
    @spartan_j117 3 หลายเดือนก่อน

    Люди, которым нравится писать ТАКОЕ на раст - не от мира сего. Им нравится натягивать сову на глобус при помощи микроскопа. Зачем?

  • @JasonIvey-u4n
    @JasonIvey-u4n 3 หลายเดือนก่อน

    Huawei sells minorities' info to the CCP to punish and track them.

  • @Ipowne3g
    @Ipowne3g 4 หลายเดือนก่อน

    Why the fuck are you sponsored by Huawei? Do you have any integrity?

  • @enigmaticsaini
    @enigmaticsaini 4 หลายเดือนก่อน

    great efforts

  • @rainerwahnsinn3262
    @rainerwahnsinn3262 4 หลายเดือนก่อน

    2:54 "after you children are dead!". Ugh, that escalated quickly.

  • @blaster_pro
    @blaster_pro 4 หลายเดือนก่อน

    Thanks for the talk, this is genious... code should be written to be as easy as possible to read ... in 99.9% of the cases, the easy mode rust will be already faster than all the other languages... so reducing the barries of entry should be the target... if the rust comminity understands that there will be no challenge to take over. I am a 20 years xp developer learning rust for the past weeks... I am in love but I recon that it might be hard for begginers. Cheers!

  • @headlibrarian1996
    @headlibrarian1996 4 หลายเดือนก่อน

    Can windowing be disabled so messages are sent immediately? Can messages be broadcast to all actors in a group?

    • @paul-loyd
      @paul-loyd หลายเดือนก่อน

      > Can windowing be disabled so messages are sent immediately? It can be achieved by using `unbounded_send`. It ignores the capacity of mailboxes for local actors and the window for remote ones. > Can messages be broadcast to all actors in a group? Yes, Outcome::Broadcast in routers

  • @headlibrarian1996
    @headlibrarian1996 4 หลายเดือนก่อน

    How is a two-phase struct different from a type state?

  • @jordcodes
    @jordcodes 4 หลายเดือนก่อน

    This is looking awesome and should definitely help the rust web backend development experience. Excited to give this a go.

  • @linkernick5379
    @linkernick5379 4 หลายเดือนก่อน

    Interesting talk, never heard of rhai before 😎

  • @KushLemon
    @KushLemon 4 หลายเดือนก่อน

    Genocide enabler.

    • @bic4
      @bic4 3 หลายเดือนก่อน

      unemployed

    • @Insomiotic
      @Insomiotic 2 หลายเดือนก่อน

      Literally. Helsing claims they will only work for "democratic" countries like that somehow is the litmus test that separates the good from the bad. Yet ppl in the comment section call us childish that we don't follow their black and white logic: democracies are not free from bad politics such as fascism, and who gets to make those prescriptions anyway?

  • @wtfisgoingon535
    @wtfisgoingon535 4 หลายเดือนก่อน

    Nice talk :) Really good for new users or people that don't know how cargo work.

  • @vegangojo
    @vegangojo 5 หลายเดือนก่อน

    Great presentation Jon! Thank you

  • @KodosUnofficial2-jq5oo
    @KodosUnofficial2-jq5oo 5 หลายเดือนก่อน

    I've been surprised that functional solution is so easy to think, since people assumed that functional programming is hard.

  • @Yotanido
    @Yotanido 5 หลายเดือนก่อน

    I have implemented a lite version of this dependency injection myself now. It was... an experience. Basically I wanted callback functions, but one of the parameters could have an arbitrary type parameter, and the return type could also have an arbitrary type parameter. (Bounded by traits, actually, but arbitrary enough) I think it's based on three traits and a struct wrapper... Took me a long time to even understand some of the issues that cropped up. (The most important one being the ability for a type to have multiple Fn implementations. I just didn't consider that at all and was wondering why it kept claiming my blanket impls weren't bound properly... So if you want to do something like this, keep that in mind.)

  • @artxiom
    @artxiom 5 หลายเดือนก่อน

    Great talk! I don't agree though that platforms are best at UI - technically this may be true but it just doesn't scale. Needing two separate teams for basically the same application is just not a good enough solution in my opinion. Being idiomatic on a platform is hugely overrated - none of the "big" apps really are, they just follow their own UI/UX guidelines. It's only important to be consistent and provide a good user experience without conflicting with the underlying OS. Also the web is a mess anyway and people use it everyday. I worked previously on a pretty big cross-platform project and we resorted to Qt/Qml, which I really don't like, but it was okayish at least. UI/UX for sure wasn't the problem - no one ever complained, not a single user! The main issues were related to C++ and Qt bugs. We really need a solid platform-independent UI framework. Flutter could have become it if Google didn't make the really stupid decision to base it on Dart. Maybe Slint will fill this role in future? I don't know. Unfortunately they don't really support mobile very well as of today.

  • @artxiom
    @artxiom 5 หลายเดือนก่อน

    Great talk! Leptos is amazing, I hope it get's the attention it deserves. Together with Tauri it's the best thing since sliced bread for writing cross-platform apps.

  • @msmeraglia
    @msmeraglia 5 หลายเดือนก่อน

    i was excited to use it but after a speed comparison with postgres, postgres smoked surreal

  • @maksimivanov5417
    @maksimivanov5417 5 หลายเดือนก่อน

    Thanks! It was great to see these real-world examples.

  • @JE0RB
    @JE0RB 5 หลายเดือนก่อน

    Leptos helped me build a website and API for an event last year and it was delightfully easy and fast (after a little help from Greg). I updated that site and API a month ago with the latest Leptos version and was again delighted with how all the changes made things easier with less boilerplate. Leptos's rate of development is amazing 🚀

  • @ozanmuyes
    @ozanmuyes 5 หลายเดือนก่อน

    Frédéric could easily be the first ever person that doesn't grind my gears as a Frenchman, and yet he is. Great talk 👏🏻👏🏻👏🏻

  • @toadtws
    @toadtws 6 หลายเดือนก่อน

    Giving a talk is not easy, and the best delivery comes when you plan ahead and know exactly what you’re going to say and demonstrate. I think this one would have benefited from more prep, and less wandering around in the editor dealing with irrelevant compiler errors.

    • @timClicks
      @timClicks 3 หลายเดือนก่อน

      100% It would have been nice to have had more than 2h of notice before talking, but sometimes you get asked to fill in a slot for a speaker who pulled out.

  • @ozanmuyes
    @ozanmuyes 6 หลายเดือนก่อน

    Is it Zellij running in Alacrity?

  • @Myiyk
    @Myiyk 6 หลายเดือนก่อน

    I am not sure about use case for Leptos. It looks like React in Rust.

    • @ozanmuyes
      @ozanmuyes 6 หลายเดือนก่อน

      What are the use-cases for React?

    • @magnifico689
      @magnifico689 4 หลายเดือนก่อน

      It is not React at all. It's Leptos Signal

    • @crono102
      @crono102 3 หลายเดือนก่อน

      State management in Leptos is realized through signals and derived values, while React uses hooks amd context. Combined with fine-grained reactivity (compared to React's heavy weight component-level approach), the performance and latency gains are incomparable. That also allows teams iterate much more frequent

    • @pookiepats
      @pookiepats 2 หลายเดือนก่อน

      Wow you look dumb 😂 non dev spotted!

  • @NeotenicApe
    @NeotenicApe 6 หลายเดือนก่อน

    i hate that amazon has infiltrated rust

    • @LibreGlider
      @LibreGlider 6 หลายเดือนก่อน

      Why? No different than RHEL paying Kernel devs to do stuff.

    • @jjpp1993
      @jjpp1993 4 หลายเดือนก่อน

      ??? do you think mercurial is a worst project since facebook “infiltrated” it

  • @brokenumbrellagames
    @brokenumbrellagames 6 หลายเดือนก่อน

    Exactly what I was looking for. Thank you!

  • @kibarpro
    @kibarpro 6 หลายเดือนก่อน

    Yet another Jon awesome presentation 👏👏

  • @icemojo
    @icemojo 6 หลายเดือนก่อน

    The whole thing doesn't feel like an "easy" Rust. It feels more like a collection of weird, contrived dance moves that beginners need to learn in order to avoid those invisible, contrived barriers that the language put up for the name of safety. "If you wanna avoid using lifetimes, use Arc. What is Arc you might ask? Well, let me explain about Rc first before we go into Arc, so that you can "easily" avoid lifetime annotations." Only Rust people think this is ok. Don't get me wrong. I'm totally onboard with the capabilities the language brings. But if those capabilities come with a learning curve, then just let people climb that curve, properly, and maybe even painfully to an extend, in order to bring them the full benefits.

  • @boenrobot
    @boenrobot 6 หลายเดือนก่อน

    I do wonder... What is the most used package that includes an unsafe block? I mean, including transient uses. If one knows what that is, and re-implement the unsafe blocks in a safe way (or provide extra features in core to do it), the number of projects with unsafe would go way down.

    • @tylerfusco7495
      @tylerfusco7495 3 หลายเดือนก่อน

      including transient uses? std. even Vec<T> just uses pointers (which are unsafe) to get the max performance

    • @boenrobot
      @boenrobot 3 หลายเดือนก่อน

      ​@tylerfusco7495 I don't think uses of std "count" in this stat... Certainly not in the analysis the presentation is about. We're talking about userland rust code that has an "unsafe" block anywhere in it, not the compiler itself. If something is in std, any memory safety issues are a responsibility of the rust team, not a package maintainer who may or may not be willing to deal with further updating their package if a soundness issue is discovered.

    • @tylerfusco7495
      @tylerfusco7495 3 หลายเดือนก่อน

      @@boenrobot okay, but I'm looking at all of the most used rust crates, and serde, serde-json, syn, clap, rand, tokyo, etc etc. literally all use `unsafe` (to varying extents)

    • @boenrobot
      @boenrobot 3 หลายเดือนก่อน

      @tylerfusco7495 Yeah, all of those definitely do count... So the next question is if there is any feature rust could provide to allow the unsafe blocks to be turned into a safe ones... Even if actually implementing that feature would break BC. At the pace in which Rust operates, I wouldn't be surprised if, for many of those popular crates, there's already a combination of unstable nighly features to address the unsafe blocks... But because it is nightly only, and you never know how those features would change... it is not implemented by the crates yet.

    • @tylerfusco7495
      @tylerfusco7495 3 หลายเดือนก่อน

      @@boenrobot well from what i saw, no - usually unsafe blocks arent addressing a problem that safe rust can fix. it's stuff like avoiding utf8 validation checking, `unsafe impl Send/Sync`, or FFI calls.

  • @theycallmesloth
    @theycallmesloth 6 หลายเดือนก่อน

    wow, this was pretty cool talk. thank you.

  • @bocckoka
    @bocckoka 6 หลายเดือนก่อน

    Very hard to listen to due to his pronounciation.

  • @mbczxaydbzrkmszj
    @mbczxaydbzrkmszj 6 หลายเดือนก่อน

    I learned a lot, thanks Chris!

  • @arubaga
    @arubaga 6 หลายเดือนก่อน

    At 34:08 it should be // unlock the mutex

  • @flippert0
    @flippert0 6 หลายเดือนก่อน

    Title is inadvertently hilarious

  • @androth1502
    @androth1502 6 หลายเดือนก่อน

    i thought this was easy mode.

    • @blaster_pro
      @blaster_pro 4 หลายเดือนก่อน

      I think he means the easy mode to lecture someone or to start a project with begginers. From my understanding he is not trying to teach rust to the audiance... the rust book is a very nice place to begin the jouyrney, ot is free on rust site. Cheers

  • @jeffg4686
    @jeffg4686 7 หลายเดือนก่อน

    Wait, who's on first? Not a hit on the speaker, oc. It's just another part of rust that's a bit wonky atm.