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

You can see the thesis experiment orchestration code here: github.com/jonhoo/thesis/tree/. Huge thanks to @akshayknarayan for his work on adding async and Azure support to tsunami. And to @mycoliza for tracing which just continues to be awesome.

Show thread

So, a while back, I built a library called "tsunami" that lets you easily run multi-machine one-shot jobs on AWS. Now, it lets me run all of the distributed experiments for my thesis concurrently with a single command. Pretty neat! github.com/jonhoo/tsunami/

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 :)

I'm going to call it "Crust of Rust", hoping that a name will make me do more of these (assuming y'all find this one useful). It fits well, since I'm covering the scarier "edges" that come up for more intermediate Rust users in bite-sized chunks 🥧 If you have ideas for other Rust crusts, send them my way! Try to think of topics that could be covered in ~90m. I'll start curating a list of session topics, and hopefully I'll find the time to do another in not too long. In the meantime, stay safe!

Show thread

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 🤓

Apparently mastodon.at is shutting down, so had to move my profile to fosstodon.org! Luckily, I was able to also move the followers, though apparently Mastodon doesn't currently also let you move the "toots"... At least I have them backed up though, so maybe one day! Until the end of March, you can see my old toots at mastodon.at/@jonhoo.

Fosstodon

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