From Zero to Async in Embedded Rust

  Рет қаралды 33,129

The Rusty Bits

The Rusty Bits

Күн бұрын

Пікірлер: 138
@therustybits
@therustybits 4 ай бұрын
FAQ - 21:53 : Is `RefCell` really needed with `Mutex`? Doesn't `Mutex` already provide interior mutability? - The `critical_section::Mutex` is a bit different from the `std::sync::Mutex` in that the former does not provide interior mutability, for reasons described here: docs.rs/critical-section/1.1.3/critical_section/struct.Mutex.html#design
@Kaptime
@Kaptime 4 ай бұрын
This is the exact kind of top to bottom project breakdown that can onboard people very quickly 10/10 video.
@jackkendall6420
@jackkendall6420 5 ай бұрын
Now this is *content*.
@danjadave
@danjadave Ай бұрын
I've been programming for decades, but I'm quite new to Rust. Having watched about half of your videos so far, I really like how you don't just jump right to the end-state offloading all the inner workings to a library. Instead, you start from first principals and work-up a basic implementation that clearly demonstrates the concept before showing the library short-cut. This kind of teaching really helps developers grow from committers to _contributors_! ☺ Look forward to seeing more!
@FedynaPavlo
@FedynaPavlo 4 ай бұрын
I’m now half way through the genius „Zero2Prod in Rust“ book. You should *absolutely* write one but for embedded in Rust.
@therustybits
@therustybits 4 ай бұрын
Zero to Production is a fantastic book; I don't think I have it in me to write one though 😅 In my case, the video series is the book/course...
@vikaspoddar001
@vikaspoddar001 3 ай бұрын
@@therustybits you can write it, can you create a crate for extending cargo for managing embedded development. like we have platformIO
@JordanRobinson-w6w
@JordanRobinson-w6w 4 ай бұрын
I just recently watched your other videos and when I discovered that they were from 5+ months ago and you only had 3 others I was so sad. So imagine my surprise and absolute joy to find that there is a new video now. I'm so glad you're still continuing with these videos I find them imeasurably helpful and I am captivated by the way you present and discuss topics. Please never stop, your content is amazing!
@anandmoon5701
@anandmoon5701 5 ай бұрын
This comprehensive guide delves deeply into Rust programming, covering all the techniques used in this program. Great job!, I’ll try out this code on my end.
@heinzhaberle3326
@heinzhaberle3326 14 күн бұрын
It is a long one. And yes I was watching til the end. Amazing story from classic embedded over to more advanced state machines and finally into the full asyn executer connectd to the rust compiler. So many patterns done in simple code and even later on adapted to the real world. I am really impreessed. And I am also writing this as a true believer in embedded asyn.
@FernandoMumbach
@FernandoMumbach 5 ай бұрын
After developing for years C/C++ in anger for embedded, I can see now why people talk good about rust. A lot of verbosity, but things make sense. And it seems like it won't give you nightmares at night while you wonder if your medical unit will kill somebody some day because you had a dangling pointer!
@thegrandnil764
@thegrandnil764 4 ай бұрын
Arena allocators.
@FernandoMumbach
@FernandoMumbach 4 ай бұрын
@@thegrandnil764 ha, if only
@НиколаевВасилий-н3б
@НиколаевВасилий-н3б 4 ай бұрын
Ha. Like complete novice in embedded that seems to me like endless pulsing pain. I can say I'll take that pointer and heck I'll take the road. Metal oxidation forms let me begin.
@indierusty
@indierusty 5 ай бұрын
Loved that it is Project based explanation. I now understand how concurrent programming work. I was struggling with the concept for months really. Im a in high school student so this is very useful video. Thank you.
@jan_the_man
@jan_the_man 4 ай бұрын
Damn this is some quality explanation! Answered a lot of questions I had related to embedded. Keep it up man!
@timello
@timello 23 күн бұрын
I really liked how you presented the content. I bet you are one of the minds behind embassy-rs :). Embassy makes things so easy.
@therustybits
@therustybits 23 күн бұрын
I wish! Those guys are awesome.. next video will properly introduce embassy, should be out later this week.
@J-Kimble
@J-Kimble 4 ай бұрын
Great video! Low level async and embedded, two of my high interest topics at the moment!
@davidbronke5484
@davidbronke5484 17 күн бұрын
That was great, and showed why Embassy is so useful, since you don't have to implement all that stuff yourself! And despite what Ferris might have said, I did watch all the way to the end. 🦀
@namr2000
@namr2000 4 ай бұрын
Very nice video, I am thinking about using Embassy for some new embedded projects at work but was a little queasy on using something (async/await) that I did not fully understand. This video gave me a lot of insight and (slightly) more confidence. Thank you for taking the time to make such a great resource!
@Eekhoornz
@Eekhoornz 2 ай бұрын
You made me sit down and think how concurrent tasks are usually implemented using state machines, thanks for this amazing work!
@Jon4as
@Jon4as 5 ай бұрын
Waiting for a 1 hour Video was so worth it!
@philippsteiner1987
@philippsteiner1987 24 күн бұрын
I have never done anything with Rust in embedded, but actually this tutorial convinced me to learn Rust!
@jvcrules
@jvcrules 4 ай бұрын
This is awesome! Ive recently been working on an async executor using C++ coroutines for embedded systems at work, so it was really neat to see some of the parallels.
@mehmethekimolu
@mehmethekimolu 5 ай бұрын
Amazing work, was waiting your next video, perfect as always
@ChidleyITCompute
@ChidleyITCompute Ай бұрын
Excellent. I'll be rewatching this to understand how Embassy works "under the hood".
@thaejsooriya3313
@thaejsooriya3313 5 ай бұрын
Wooo new video! Love the content and super useful topic!🎉🎉
@irlshrek
@irlshrek 4 ай бұрын
Duuuuuude so sick!! Thanks for this!
@descriptionsuchandsuch4709
@descriptionsuchandsuch4709 5 ай бұрын
Oooooo NICE! A new video from my new favourite Rust channel! Can't wait to watch it this evening!
@farukhalilagic2070
@farukhalilagic2070 4 ай бұрын
Thanks!
@jeffthekiller229
@jeffthekiller229 24 күн бұрын
Hey, just discovered your channel, what a great start ! Subscribed instantly. keep going !
@MaxWeninger
@MaxWeninger 4 ай бұрын
Picking embassy going forward is a very good choice.
@Sillyvan
@Sillyvan 4 ай бұрын
Best Embedded Rust out there so far. For me a tick fast in some places due to not being to familiar with the embedded eco system in general but its probably smarter to pick up those skills with C first
@thelethalmoo
@thelethalmoo 4 ай бұрын
Awesome! the world needs rust content like this 11/10
@JeroenL111
@JeroenL111 4 ай бұрын
Excellent! Very well explained!
@auggiebuerkle6660
@auggiebuerkle6660 4 ай бұрын
i'm glad you're back
@indierusty
@indierusty 5 ай бұрын
This is a really good tutorial. Thank you so much for making quality education video.
@IvanDeMarino
@IvanDeMarino 5 ай бұрын
Yeah, new video! Just yesterday I was leaving a message asking for one, and here we go!!!
@MrMassaraksh
@MrMassaraksh 4 ай бұрын
Ahhhh, I just finally manage to make it using rtic and interrupts and here we go new pattern 😂😂 As always thank you! Thrilling to try it
@topper2kuk
@topper2kuk 3 ай бұрын
Dude! loving the execution and format of videos. Looking forward to the next rusty bit
@driedurchin
@driedurchin 4 ай бұрын
Instant sub. So good!
@oof-software
@oof-software 4 ай бұрын
I remember when first learning about futures and async, I somehow completely missed the concept of wakers and was really confused until I finally learned about them and it all clicked into place :D
@therustybits
@therustybits 4 ай бұрын
I think the approach to teaching async is often top-down, but I much prefer bottom-up: us low-level folks like to know what's going on at the lowest layers, and if you're coming from C then you're likely already familiar with state-machines, so this seems natural.
@unaimillian
@unaimillian 4 ай бұрын
Very great video and visuals during the discussion! 🎉
@ThomasLockney
@ThomasLockney 4 ай бұрын
I'm just here to appreciate the copy of Linux Programming Interface sitting on your table in the back. 😂 Seriously, though, love this content and happy to see you're back to it. Just ordered a Micro:bit finally to follow along.
@marcopaolovaleriovezzoli5776
@marcopaolovaleriovezzoli5776 4 ай бұрын
Excellent video as usual. I definitely need to find some time and do my homework.
@teuluPaul
@teuluPaul 4 ай бұрын
fabulous video (again!) - many thanks for sharing!
@HybridRobotix
@HybridRobotix Ай бұрын
I watched the whole video. PLEASE consider doing a complete tutorial for Rust. I like the way you explain things.
@jorgegomezreus7019
@jorgegomezreus7019 4 ай бұрын
The video I was waiting for
@evertonoriente7150
@evertonoriente7150 4 ай бұрын
Thanks very much about this video, I haven't seen yet but I know is going to be a lot of good information, all your videos it is really helpfull, thanks for this channel.
@trejohnson7677
@trejohnson7677 4 ай бұрын
some of your points map to react incredibly well, interestingly
@lorenzorossi2000
@lorenzorossi2000 4 ай бұрын
At 38:37 you may be able to use the mutex directly without the refcell since mutexes already implements mutually exclusive access so you already get a mutable reference. RefCell should ne used when you want to have mutability from an immutable setting (ex. Immutable ref to mutable ref) EDIT: Sorry, after some research this is the mutex of the critical section crate that confusingly does not provide interior mutability for better performance 0_o. Embedded rust is quite weird. Thanks for the great video! I'll surely recommend it to teach advanced embedded rust!
@nathanbanks2354
@nathanbanks2354 4 ай бұрын
I'm looking forward to the next videos where Embassy is assumed! It's somewhat interesting seeing the journey through different ways to do this, and I can see why someone would learn things this way. However it seems to be a video about why async is useful by showing how everything else is worse. The video builds A, replaces it with B, replaces it with C, where A, B, & C do the same thing. An alternative is building A, then go on to A' and A'' where each step adds new functionality using the same system (eg. start with 1 button & 1 LED, add movement, then add blinking, all with async). On the other hand, I've come across async in other languages and in rust web server libraries, and I never tried running or even fully grokking the code, so I thought "Oh cool, async for embedded" rather than "What's async? Why would I need it?" Embassy sounds great! I hope the five minute outro is a sign of things to come.
@joehopfield
@joehopfield 29 күн бұрын
I did lots of (painful) multi-thread safe kernel and library code back in the day. Lately I've been playing with some mcus using async/await on circuitpython. At least in my toys so far, far superior for code that doesn't need kernel-code level control.
@maexlich
@maexlich 4 ай бұрын
Amazing video, great job! It is very very helpful!
@PlayerOne1999
@PlayerOne1999 5 ай бұрын
Lets GOoooo. love your soft voice😊😊.
@daniellarson6279
@daniellarson6279 4 ай бұрын
Fantastic video! Async and embedded rust are something I've been meaning to get more comfortable with, and this is about as concise as the combination of those two things can be! One thing I noticed though while watching was that you used a Mutex, and I'm pretty sure Mutex has interior mutability on its own, so the RefCell isn't necessary. I could be mistaken, like I said, this isn't really my wheelhouse, but it just popped out to me.
@therustybits
@therustybits 4 ай бұрын
Thanks! The `critical-section` crate's `Mutex` doesn't provide interior mutability, for reasons described here: docs.rs/critical-section/1.1.3/critical_section/struct.Mutex.html#design
@daniellarson6279
@daniellarson6279 4 ай бұрын
@@therustybits D'oh, that's on me for not noticing it wasn't the std Mutex. That makes sense.
@driedurchin
@driedurchin 4 ай бұрын
What still blows my mind about Rust's async is that, in essence, it's identical to the original code, just smarter.
@therustybits
@therustybits 4 ай бұрын
Automatically generated state-machines FTW
@driedurchin
@driedurchin 4 ай бұрын
@@therustybits The even more fun part is I got to do this transition for real from state machines in a super loop to asynchronous rust at my work!
@The_Nova_Glow
@The_Nova_Glow 4 ай бұрын
Jackpot!
@matpala2
@matpala2 4 ай бұрын
Great video!
@cunningham.s_law
@cunningham.s_law 5 ай бұрын
you should probably test each change on the hardware to make the video more interesting by showing the effect of the change
@therustybits
@therustybits 5 ай бұрын
Ah yep, good call... did that in blinky but forgot in this one. Next time!
@krauterbaguette3645
@krauterbaguette3645 4 ай бұрын
Love this so much ❤
@danielprimostuart
@danielprimostuart 4 ай бұрын
Looking forward to the atomic ordering video!
@christopherpetersen342
@christopherpetersen342 3 ай бұрын
in english, it's usually pronounced few-jit which doesn't quite match the original latin "tempus fugit" - generally translated as "time flies"
@evertonoriente7150
@evertonoriente7150 3 ай бұрын
When is coming your video of embassy? :) Thanks for this amazing video explain everything inside of the logic of the embassy framework.
@therustybits
@therustybits 14 күн бұрын
The future is now! kzbin.info/www/bejne/pnXHZqCOd6tnqrs
@Flourish38
@Flourish38 17 күн бұрын
This video explains async better than anything else I’ve ever seen. Maybe I won’t complain as much about colored functions now that I know the demons that they’re hiding from me…
@Iswimandrun
@Iswimandrun 5 ай бұрын
Thank you for the great tutorials.
@orhundev
@orhundev 4 ай бұрын
big W
@vikaspoddar001
@vikaspoddar001 5 ай бұрын
He is back from the hiatus
@not_yet_implemented
@not_yet_implemented 5 ай бұрын
This is great 👍
@UsatiyNyan
@UsatiyNyan 5 ай бұрын
Actually 🔥
@commissariomontanaro2931
@commissariomontanaro2931 5 ай бұрын
babe wake up, an hour long got posted
@johnwu5908
@johnwu5908 5 ай бұрын
So babe can be polled?
@borkomne
@borkomne 4 ай бұрын
Great video, thanks! Btw, what software do you use to create text animations?
@therustybits
@therustybits 4 ай бұрын
Keyframes in Final Cut Pro, just changing position. The default behavior seems to have a nice acceleration/deceleration ramp at the beginning and end, which is nice..
@borkomne
@borkomne 4 ай бұрын
Thanks@@therustybits, the quality of your videos is excellent! Please keep up the great work!
22 күн бұрын
How does looking at the schematic for the buttons, shows that it is low when pressed, and how would the schematics look if it were the other way around?
@therustybits
@therustybits 22 күн бұрын
The diagram shows the buttons (symbols SW2 and SW3) connected on one side to ground (set of tapering lines), and the other side to VREG (supply voltage) through resistors R4 and R5. The buttons are normally open, which weakly pulls the BTN_A and BTN_B signal lines up to the positive (high state) voltage VREG through the resistors: when they're pressed, these signal lines get directly connected to ground, causing the voltage seen at the input pins to drop to 0 (the low state). The circuit could be rearranged so that the signal lines are instead pulled low by default, and high when pressed, by moving both the resistors and signal lines on the other side of the switch: one side of the switch would then directly connect to VREG, the other side to the signal & resistor (& ground).
@NotherPleb
@NotherPleb 5 ай бұрын
I was really confused by the Mutex pattern until I looked at the docs. The critical_section::Mutex does not offer interior mutability like the std::sync::Mutex.
@roiborromeo7921
@roiborromeo7921 4 ай бұрын
I'm a 4th year IT student of course I know so little about all these, but the async and concurrent code in esp32 sucks that it can't escape a loop and just blocks all these, I don't know how to do that, so I might be excited with these.
@takeiteasyeh
@takeiteasyeh 2 ай бұрын
My favorite part about Rust .. rewritting something you just wrote lol
@therustybits
@therustybits 2 ай бұрын
This is the way 😅
@skydandelion2560
@skydandelion2560 4 ай бұрын
Sir... Can you make another dedicated Video Tutorial for STM32 discovery development with RUST? A Complete guideline will be also ok. And This video was really helpful for beginners. Thank you!
@justinliu7788
@justinliu7788 4 ай бұрын
Walker getters is stabilized now!
@justinliu7788
@justinliu7788 4 ай бұрын
Rust pull 129919 btw
@therustybits
@therustybits 4 ай бұрын
Sweet!
@AdarshKumar370
@AdarshKumar370 5 ай бұрын
Thanks
@markocvejic6416
@markocvejic6416 Ай бұрын
Im curious, is async aproach good for lets say real time audio. For guitar amps or pedals.. When you have audio thread that is highest priority, and must not be blocked ever. Is classical RTOS aproach better than?
@therustybits
@therustybits Ай бұрын
In `embassy`, you can run multiple executors even in a single-core system, with lower priority tasks running on the default thread-mode executor, and higher-priority tasks running in interrupt executor(s) (running in ISRs). For extremely time-sensitive stuff, you can always run your own ISR logic in tandem with the normal async executor, or use a framework like RTIC that is usually better-suited for that type of thing. A long way of saying.. it depends 😀
@10e999
@10e999 4 ай бұрын
I'm not sure I understand why you use an ISR in the timer. Why not configure the RTC's prescaler of 32 (1000 Hz) ? Doing so, you get millisecond accuracy and an overflow only every 50 days. Thanks for the video!
@therustybits
@therustybits 4 ай бұрын
The RTC's low power oscillator frequency is 32,768 Hz, so a prescaler of 32 would get you 1,024 Hz, which might be OK for tracking system time if you can tolerate the error. But even then, the counter register is only 24-bits (counting up to 16,777,216), which is an overflow every 4.66 hours, so you still need somewhere to keep track of overflows. Alternatively, you could keep the native frequency and use one of the CC registers to count up to ~1ms (32 ticks, so still some error) and just increment a single 64-bit tick counter value in memory.
@10e999
@10e999 4 ай бұрын
​@@therustybits Thanks for your answer. What I don't understand is why you need more than a few seconds before overflow. With the unsigned integer overflow rule, the following code is garantee to work: u32 elapsed = now() - start; if elapsed >= 100 { do_something(); } Anyway, thanks for sharing !
@orrenjenkins289
@orrenjenkins289 4 ай бұрын
Is the RefCell needed inside the mutex??
@therustybits
@therustybits 4 ай бұрын
The `critical_section::Mutex` is a bit different from the `std::sync::Mutex` in that it does not provide interior mutability, for reasons described here: docs.rs/critical-section/1.1.3/critical_section/struct.Mutex.html#design
@mateusztocha9260
@mateusztocha9260 5 ай бұрын
wow
@thearrow4624
@thearrow4624 4 ай бұрын
Could I ask what a tool/plugin do you use to make your vscode's integrated terminal so powerful?
@therustybits
@therustybits 4 ай бұрын
I'm using "Oh My Zsh" to manage my zsh config, and have added `zsh-autosuggestions` (github.com/zsh-users/zsh-autosuggestions) and `zsh-syntax-highlighting` (github.com/zsh-users/zsh-syntax-highlighting). Basically just followed @typecraft_dev's video kzbin.info/www/bejne/rX-0oXeNgdhnitE
@JulianBolivarGaleno74
@JulianBolivarGaleno74 3 ай бұрын
It is a RTOS implemented on RUST? I only can find some old (dead) projects and some FreeRTOS wrappers... 🤔because the Embassy framework is most an event oriented framework.
@therustybits
@therustybits 3 ай бұрын
An RTOS is a bit of a different animal than what we build in this video, which is more like a stripped down version of embassy. And you’re right, AFAIK there aren’t many RTOS efforts in Rust at the moment. For real-time stuff there’s RTIC, but that works much differently than something like FreeRTOS.
@tommasoclini9902
@tommasoclini9902 4 ай бұрын
Will there be an stm32 version of this video?
@therustybits
@therustybits 4 ай бұрын
No: while the code is specific to the nRF series of controllers, the concepts are applicable to any microcontroller.
@erentas7391
@erentas7391 5 ай бұрын
What is the name of the book on the table?
@therustybits
@therustybits 5 ай бұрын
"The Linux Programming Interface" by Michael Kerrisk
@chris-duncan-arauz
@chris-duncan-arauz 2 ай бұрын
I see that you convert a Result type to an Option type in several lines of code using the the .ok function but not using the resulting value. Why convert the Result into an Option without using the value?
@therustybits
@therustybits 2 ай бұрын
I believe this is in reference to the calls to drive the LED: the `embedded-hal`'s `OutputPin` trait methods `set_low()`/`set_high()`/`toggle()` are specified to return a `Result`, but because this is effectively just a write to memory, the implementation in the HAL always returns `Ok(())`. This is the case for the `nrf52833-hal` used by the `microbit-v2` BSP, but I suppose maybe its possible in some other hardware that has to do something more complicated than an MMIO write might fail, so having that flexibility of returning a `Result` in the trait definition is probably a good thing, although having to deal with it in the vast majority of use-cases is a bit unfortunate..
@wlcrutch
@wlcrutch 26 күн бұрын
What motivated you to use the microbit? I was looking into that after discovering your channel, and people seem to think it’s for kids. You’re obviously not a kid, so what went into that decision?
@therustybits
@therustybits 26 күн бұрын
This is the board selected by the Rust Embedded Working Group for their most recent ‘Discovery’ book, that teaches about how to use Rust on a microcontroller (docs.rust-embedded.org/discovery/microbit/). I wanted to provide my own interpretation of that resource (which at the time was a bit outdated), so I figured I’d just use the hardware they used, and have just kind of continued with it ever since. Will have two more videos that use the microbit, then we’ll move on to other hardware.
@elijahpo3800
@elijahpo3800 4 ай бұрын
What code editor do you use?
@therustybits
@therustybits 4 ай бұрын
VS Code; check out this video for full setup: kzbin.info/www/bejne/ioCkqqGamc6oa68
@samuelhomberg9075
@samuelhomberg9075 4 ай бұрын
Here a comment for the algorithm, because you are still criminally low on subscribers!
@therustybits
@therustybits 4 ай бұрын
For the algorithm! 🙌
@billytalentrocks345
@billytalentrocks345 4 ай бұрын
A bit fast, but very good.
@urmok6iv
@urmok6iv 2 ай бұрын
I aprreciate the work put into this video. But when I tried following it myself I found the explanations to be too advanced to the point where I couldn't make sense of anything and I got really discoureaged by the experience.
@therustybits
@therustybits 14 күн бұрын
Sorry to hear it! You might find this one a bit more approachable: kzbin.info/www/bejne/pnXHZqCOd6tnqrs
@ederbarrero5585
@ederbarrero5585 4 ай бұрын
This looks like an awesome video, sadly I'm too stupid for it 😔
@therustybits
@therustybits 4 ай бұрын
I doubt that! I knew literally nothing about async a few months ago, and now I know.. slightly more! Seriously though, learning anything new is a process, you just need to stick with it 🙂
@ederbarrero5585
@ederbarrero5585 4 ай бұрын
@@therustybits Heh, I think I needed to hear that, thanks! I'll try my best to absorb more about the basic concepts and come back to this :)
@jad.k.haddad
@jad.k.haddad 4 ай бұрын
My dude rewrote embassy in one hour
@pierreyao7221
@pierreyao7221 4 ай бұрын
Please turn off the editor suggestions when typing the code. It's difficult to follow the code with the rust analyzer suggestions popping up. Especially at the accelerated render of the video
@therustybits
@therustybits 4 ай бұрын
Thanks for the feedback! In future videos I’ll be more selective about when RA is enabled.
@JeffHanke
@JeffHanke 4 ай бұрын
I assume it was a joke, but "fugit" is likely from "tempus fugit" (latin for "time flies") and would probably be pronounced "foojit".
@clivedsouza6213
@clivedsouza6213 2 ай бұрын
Pieces of this video went right over my head due to inexperience, but this talk [kzbin.info/www/bejne/fmixpa2vhZ6kbqcsi=eeVPFC9iHGsHWivR] by the Embassy creator helped clear things a lot more.
@therustybits
@therustybits 14 күн бұрын
Can confirm, Dario's embassy presentation from RustNL is excellent 👍 Made an 'Intro to Embassy' video you might also like: kzbin.info/www/bejne/pnXHZqCOd6tnqrs
@thegrandnil764
@thegrandnil764 4 ай бұрын
Hiding things under abstractions can get you in trouble in the type of code I write so C is preferred, however I see this being very useful as a embedded C++ replacement. I might incorporate futures into my own systems in C/asm.
@imanidioli
@imanidioli 4 ай бұрын
Do you really explain for "from zero" sort of learners?
@therustybits
@therustybits 4 ай бұрын
There is an extremely popular (and excellent) book “Zero to Production in Rust” by Luca Palmieri, and so this title is a play on that, though the “learn by doing” style is similar. Like Luca, my assumption is that you’ve read the Rust Book (link in description) and so have some familiarity with the concepts and now want to seem them in action. But yeah, if I also had to teach all the underlying concepts this video would be 10x longer.
@imanidioli
@imanidioli 4 ай бұрын
@@therustybits Thanks, I felt like a homo erectus around the middle of the tutorial 😂.
rust runs on EVERYTHING (no operating system, just Rust)
18:10
Low Level
Рет қаралды 368 М.
AI Is Making You An Illiterate Programmer
27:22
ThePrimeTime
Рет қаралды 121 М.
UFC 310 : Рахмонов VS Мачадо Гэрри
05:00
Setanta Sports UFC
Рет қаралды 1,2 МЛН
黑天使被操控了#short #angel #clown
00:40
Super Beauty team
Рет қаралды 61 МЛН
Catching up with async Rust
17:55
fasterthanlime
Рет қаралды 30 М.
Intro to Embassy : embedded development with async Rust
18:47
The Rusty Bits
Рет қаралды 16 М.
Async Rust Is A Bad Language | Prime Reacts
28:46
ThePrimeTime
Рет қаралды 113 М.
Rust Data Modelling Without Classes
11:25
No Boilerplate
Рет қаралды 187 М.
Async Rust Is The Bane Of My Existence | Prime Reacts
35:36
ThePrimeTime
Рет қаралды 110 М.
why rust libraries may never exist.
7:26
Low Level
Рет қаралды 295 М.
8 deadly mistakes beginner Rust developers make
14:14
Let's Get Rusty
Рет қаралды 181 М.
10 years of embedded coding in 10 minutes
10:02
Greidi Ajalik
Рет қаралды 424 М.
Async Rust in Embedded Systems with Embassy - Dario Nieuwenhuis
36:16
Rust Nederland (RustNL)
Рет қаралды 9 М.
The Dark Side of .reserve()
18:50
Logan Smith
Рет қаралды 180 М.