- 63
- 395 172
Rust Nation UK
United Kingdom
เข้าร่วมเมื่อ 16 ก.ย. 2022
Rust Nation UK is the first conference dedicated to the Rust programming language. It will be held at The Brewery in the heart of London on the 19th & 20th of February 2025.
We'll be sharing video of all of our talks.
We'll be sharing video of all of our talks.
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 836
วีดีโอ
Tim McNamara - 4 levels of error handling
มุมมอง 7K6 หลายเดือนก่อน
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.5K6 หลายเดือนก่อน
Discover the power of Rust in WebAssembly with Ambient: an open-source runtime for high-performance multiplayer games and 3D applications (using WebGPU) that runs projects built in WASM, with the runtime itself running on WASM for the web. Learn how Rust's unique strengths enable Ambient and make it an ideal choice for complex projects. Explore how Ambient supports cross-platform development, r...
Alice Ryhl - What it takes to keep Tokio running
มุมมอง 4.7K6 หลายเดือนก่อน
Most people don't see the work that goes into maintaining open source software. It's not just about writing code - it's also about reviewing PRs, helping new contributors, answering questions, fixing bugs, and writing documentation. In this talk, you will hear stories that explore the invisible work of open source software maintenance and discuss the challenges and rewards of this important work.
Chris Biscardi - Bevy: A case study in ergonomic Rust
มุมมอง 16K6 หลายเดือนก่อน
The Bevy game engine is a project with a massive scope… yet it still remains a modularly usable collection of crates with ergonomic APIs. In this talk we’ll dive into the approaches Bevy uses to make game programming accessible to beginners and experts alike, and how you can use the same techniques to build more ergonomic Rust APIs.
Pietro Albini - How Ferrocene qualified the Rust Compiler
มุมมอง 2.6K6 หลายเดือนก่อน
Industries like automotive or aerospace require safety-critical software to be certified according to international standards, recommending the development with qualified tooling. Ferrocene is an open source distribution of Rust qualified for automotive and industrial use, bringing Rust to safety-critical industries. In this talk, I'll show what is needed to qualify a compiler toolchain, what c...
Ben Wishovich - Full Stack Rust - Building Rust Websites with Leptos
มุมมอง 10K6 หลายเดือนก่อน
Rust has been proven to be a strong choice for backend web services, but new and upcoming frameworks like Leptos have made it a strong choice for building interactive frontend web UIs as well. Come learn how to build a full stack Rust web app with Axum and Leptos, leveraging the power of Rust to deliver web apps rivalling any Javascript stack.
Natalie Serebryakova - Rustic Persistence: Automating PVC Lifecycles with Rust in Kubernetes
มุมมอง 6066 หลายเดือนก่อน
This talk will cover how easy it is to develop Rust-based Operator in Kubernetes using an example of an operator for Managing the PVC Lifecycle. The featured Kubernetes Operator proactively manages PVCs and associated Persistent Volumes (PVs), overseeing their states to automate tasks such as backup and restoration. The utilization of Rust's capabilities for safe memory access and advanced conc...
Daniel McKenna - Creating a Text-To-Speech System in Rust
มุมมอง 1.3K6 หลายเดือนก่อน
Daniel McKenna - Creating a Text-To-Speech System in Rust
Konstantin Grechishchev - Java and Rust Integration
มุมมอง 1.1K6 หลายเดือนก่อน
Konstantin Grechishchev - Java and Rust Integration
Heiko Seeberger - EventSourced - async_fn_in_trait in anger
มุมมอง 1.6K6 หลายเดือนก่อน
Heiko Seeberger - EventSourced - async_fn_in_trait in anger
Tim Janus - Let's get interdisciplinary: Rust Design Patterns for Chemical Plants
มุมมอง 8876 หลายเดือนก่อน
Tim Janus - Let's get interdisciplinary: Rust Design Patterns for Chemical Plants
Marco Ieni - How Rust makes open-source easier
มุมมอง 7496 หลายเดือนก่อน
Marco Ieni - How Rust makes open-source easier
Nicholas Matsakis - Rust 2024 and beyond
มุมมอง 14K7 หลายเดือนก่อน
Nicholas Matsakis - Rust 2024 and beyond
Nikita Lapkov - Type-safe and fault-tolerant mesh services with Rust
มุมมอง 2.9K7 หลายเดือนก่อน
Nikita Lapkov - Type-safe and fault-tolerant mesh services with Rust
Nicholas Yang - Porting Turborepo From Go To Rust
มุมมอง 3.2K7 หลายเดือนก่อน
Nicholas Yang - Porting Turborepo From Go To Rust
Marco Concetto Rudilosso - Building a profiler for web assembly
มุมมอง 7277 หลายเดือนก่อน
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
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!
มุมมอง 23K8 หลายเดือนก่อน
Rust Nation UK is an event you don't want to miss in 2024!
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
Leptospirosis? really?
@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.
"Going to introduce Barbaras intern Alan".. well.. he's Captain Disillusions intern.. I'm now so confused
This guy has no clue about presentations and talk to public , horrible presentatation hearing this guy speak like running 😊
agreed
Very helpful talks 🎉
With tokio::join! you get structured cooperative concurrency, with tokio::spawn you get unstructured cooperative/parallel concurrency.
0:06 nice try chris, but there's no 'h' in ayup... great presentation, I'm learning a lot from your knowledge of rust.
Greate!
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.
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?
@@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.
@@NotherPleb asio
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.
Люди, которым нравится писать ТАКОЕ на раст - не от мира сего. Им нравится натягивать сову на глобус при помощи микроскопа. Зачем?
Huawei sells minorities' info to the CCP to punish and track them.
Why the fuck are you sponsored by Huawei? Do you have any integrity?
great efforts
2:54 "after you children are dead!". Ugh, that escalated quickly.
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!
Can windowing be disabled so messages are sent immediately? Can messages be broadcast to all actors in a group?
> 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
How is a two-phase struct different from a type state?
This is looking awesome and should definitely help the rust web backend development experience. Excited to give this a go.
Interesting talk, never heard of rhai before 😎
Genocide enabler.
unemployed
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?
Nice talk :) Really good for new users or people that don't know how cargo work.
Great presentation Jon! Thank you
I've been surprised that functional solution is so easy to think, since people assumed that functional programming is hard.
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.)
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.
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.
i was excited to use it but after a speed comparison with postgres, postgres smoked surreal
Thanks! It was great to see these real-world examples.
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 🚀
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 👏🏻👏🏻👏🏻
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.
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.
Is it Zellij running in Alacrity?
I am not sure about use case for Leptos. It looks like React in Rust.
What are the use-cases for React?
It is not React at all. It's Leptos Signal
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
Wow you look dumb 😂 non dev spotted!
i hate that amazon has infiltrated rust
Why? No different than RHEL paying Kernel devs to do stuff.
??? do you think mercurial is a worst project since facebook “infiltrated” it
Exactly what I was looking for. Thank you!
Yet another Jon awesome presentation 👏👏
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.
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.
including transient uses? std. even Vec<T> just uses pointers (which are unsafe) to get the max performance
@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.
@@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)
@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.
@@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.
wow, this was pretty cool talk. thank you.
Very hard to listen to due to his pronounciation.
I learned a lot, thanks Chris!
At 34:08 it should be // unlock the mutex
Title is inadvertently hilarious
i thought this was easy mode.
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
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.
YOU MADE MY DAY, I WAS STUCK WITH LEPTOS AND YOU HELPED ME GET IT WORKING,... thanks for the sharing of your knowledge ☕
If you are looking for how bevy’s Query system implemented, this may be a wrong place😂 to start
This talk made me more invested in rust after 3 years of partial use. Would love to use it full time.