Day after Lady Liberty: sore feet, full heart, still losing arguments with the borrow checker. Freedom never felt so semantically strict. 🫖🗽🦀 #RustLang #ProgrammingHumor #DevLife #100DaysOfCode #AsyncRust #SystemsProgramming #TeaTimeCoding
Day after Lady Liberty: sore feet, full heart, still losing arguments with the borrow checker. Freedom never felt so semantically strict. 🫖🗽🦀 #RustLang #ProgrammingHumor #DevLife #100DaysOfCode #AsyncRust #SystemsProgramming #TeaTimeCoding
@noboilerplate THIS!
I think a lot of people inadvertently assume async #RustLang is so different from sync Rust, because the way it is - when in fact it's because of the (most popular) async runtime they're using.
We should look way more into alternative #async runtimes to #Tokio, e.g. smol:
https://floss.social/@janriemer/111669258656959538
#Smol allows you to use non-'static Futures by using a local executor:
https://floss.social/@janriemer/111669668856899636
It looks a lot more like "normal" #Rust.
k23 (the Wasm OS) just got a shiny new async executor! But we need your help:
The executor is likely full of concurrency bugs, deadlocks and worse.
So if you want to help out the project an absolute ton head over here and help get kasync tested:
https://github.com/JonasKruckenberg/k23/issues/464
Oh, look! Another "Visual Journey" through Async Rust🚀, because reading verbose documentation just wasn't enough fun😜. Let's turn our brains to mush with pretty pictures while pretending we're not just scrolling GitHub like zombies🧟♂️.
https://github.com/alexpusch/rust-magic-patterns/blob/master/visual-journey-through-async-rust/Readme.md #VisualJourney #AsyncRust #RustProgramming #DeveloperHumor #GitHubZombies #HackerNews #ngated
Ah, the noble quest to tame the wild beast of async Rust with the mystical powers of "deterministic simulation testing" 🤔. Because, naturally, the best way to debug a language that already gives you a headache is to throw more complex simulations at it. 🧠🔍 Surely, this will make everything clear as mud! 🌪️
https://s2.dev/blog/dst #asyncRust #deterministicTesting #debugging #programming #humor #HackerNews #ngated
Is there a #rust crate that provides an "async timer"?
Basically a future wrapper that records the total busy and idle times of the future it wraps and then returns those times together with the ready result of the wrapped future.
New blog post: A no-std, no-alloc asynchronous USB host stack in Rust for the RP2040, and what I learned while writing it:
https://pdh11.blogspot.com/2024/12/things-i-learned-writing-usb-host-stack.html
#RustLang #AsyncRust #rp2040 #embedded #rust
Did you know that the meaning of all the columns in Tokio Console is documented?
Someone asked about this today, and being able to point to the docs was great!
Async #Rust is not safe with io_uring | by Tzu Gwo
I wrote up a post on the size of Futures in #rustlang, why they can be big, why we care and how you can check the size.
This leads into the new instrumentation in Tokio 1.41.0 and new lints in Tokio Console 0.1.13.
And of course there's a link to the Clippy lint that can do much of this statically!
Just found myself writing a function with the signature fn control_transfer_ok_with<F: FnMut(&mut [u8]) -> usize>(
mut f: F,
) -> impl FnMut(
u8,
u8,
SetupPacket,
DataPhase,
) -> Pin<Box<dyn Future<Output = Result<usize, UsbError>>>> and am now going to go and touch grass for a bit, kthxbye. It cut 200 lines of boilerplate out of my unit tests, though! #rust #rustLang #asyncRust
There's some new instrumentation in tokio 1.41.0 (released 2 days ago), which includes the size of the future driving every task.
In Tokio Console 0.1.13 (released half and hour ago), not only will you see this value, but there are 2 new lints which will warn you if your futures are perhaps a little too large.
git commit -m"Really quite surprised that this compiles; committing it rn before the compiler changes its mind"
#Rust #RustLang #AsyncRust
Beul - it executes futures | by Bert Peters
"Beul is a minimalistic futures executor. No dependencies, no unsafe #Rust. It simply executes futures."
It can't get any simpler than that. ¯\_(ツ)_/¯
Oh, snap.
thread 'tokio-runtime-worker' has overflowed its stack
fatal runtime error: stack overflow
Good news for all Rustaceans! Due to high demand, we’ve added 10 extra seats to the Async workshops at #eurorust24. 🦀 This is your chance to dive deep into async Rust with our expert mentor, Conrad Ludgate. These additional spots are limited and expected to go quickly, so grab yours while you can!
🔗 Secure your spot now: eurorust.eu
Just got a new release of Tokio Console (and supporting crates) out, only a month and a half after the last release!
How did we manage this? Release-plz makes releasing super easy, even when I have to patch the version of tokio-console to avoid a (pre-1.0) major version bump (because tonic upgrades mean we need a major version bump for console-api and console-subscriber).
Check it out: https://release-plz.ieni.dev/
Thank you @MarcoIeni !
I wrote a post that goes pretty in depth into the information contained in the waker events of the tracing instrumentation in #tokio.
If that’s your sort of thing, check it out:
https://hegdenu.net/posts/tokio-waker-instrumentation/
We just released a new version of Tokio Console. Tokio Console is a debugger for async Rust (running with the Tokio runtime).
This includes new versions of the following crates:
* tokio-console v0.1.11 (https://github.com/tokio-rs/console/releases/tag/tokio-console-v0.1.11)
* console-subscriber v0.3.0 (https://github.com/tokio-rs/console/releases/tag/console-subscriber-v0.3.0)
* console-api v0.7.0
Upgrade tokio-console and make sure you use the latest console-subscriber to get the latest features!
A thread of some of the changes.