Today's stream on channels is now up! We built our own unbounded mpsc channel using Mutex and Condvar, and talked about synchronization, different channel types, and other possible implementations along the way. Hope you learn something! youtube.com/watch?v=b4mS5UPHh2

Time for another stream! In tomorrow's Crust of Rust we'll cover a simplified version of 's mpsc channel type, plus some discussion of other channel implementations. The stream will be on YouTube and Twitch at 8:30p UTC as usual (everytimezone.com/s/076c2397). See y'all there!

The Crust of Rust episode on Rc/RefCell/Cell and Arc/RwLock/Mutex is now up — get it while it's hot! We covered smart pointers and interior mutability, and even did a quick-dive into UnsafeCell and the Drop Check 😮 youtube.com/watch?v=8O0Nt9qY_v

Several of you have asked me for a Crust of Rust on smart pointers (Arc/Rc/Deref) and interior mutability (RefCell/Mutex/Cell) in , and I think it's about time. Let's do a stream on Wednesday at 8:30p UTC (everytimezone.com/?t=5ee95d00,) as usual. Come one come all! 📺 🦀

Yesterday's Crust of Rust on iterators and trait bounds is now on YouTube, fresh out of the oven (literally; my apartment was ~95°F at the end). We re-implemented Iterator::flatten, including the DoubleEndedIterator parts! 🥧 youtube.com/watch?v=yozQ9C69pN

The second Crust of Rust video is up! We went over how to implement the vec! macro, including how to get it to efficiently pre-allocate memory for the provided elements. Get it while it's hot! 🥧 youtu.be/q6paRBbLgNw

The Crust of Rust mini session on lifetimes seems to have been helpful, so let's do more! I'll cover declarative macros (macro_rules!) on Wed at 8:30p UTC (everytimezone.com/s/2761f055). As before, it'll assume you have some
experience already, but anyone is welcome ❤️ 🥧 Just like always, the stream will be live on youtube.com/c/JonGjengset/live on twitch.tv/jonhoo, and I'll upload it to YouTube after :)

The recording of my first mini session is now up! We covered lifetime annotations through a real code example, and people seemed to follow along and understand why the lifetimes were needed and how they worked 🎉 Watch it at youtube.com/watch?v=rAl-9HwD85.

In about 6 hours, I'll do a shorter and more beginner-friendly stream on multiple lifetimes, strings, and some generics. As usual, the stream will be live on twitch.tv/jonhoo and youtube.com/c/JonGjengset/live, and I'll upload it afterwards. While it'll be *more* beginner-friendly than my usual streams, it won't be *introductory*. I'll assume that you've read the Rust book, and that you have written some Rust code. But as always, anyone is welcome, so stop by even if just to say hi ❤️

Recording of the Noria stream is up! I think it went well — people seemed to follow the system design and the bug we ended up partially fixing, even though it was quite technical! If you're stuck at home and craving some research-y , give it a try: youtube.com/watch?v=kiMUI0y91Y. You can find the project website with code, papers, and other related material at github.com/mit-pdos/noria

It seems like there's a lot of interest in a live-stream where I work on Noria, my research database written in . So, I will do one *tomorrow* at 8:30pm UTC (4:30p Eastern; everytimezone.com/s/c34ddd6c) on YouTube and Twitch as usual. Come do research with me 🤓

Fosstodon

Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.