Show newer

Hey folks! I'm still hacking away at my thesis, but wanted to share one chapter draft ahead of time: "Noria in simpler terms". It is my attempt at explaining my thesis work to those who do not have extensive database or systems experience, like my mom ❤️

Oh, and I was recently interviewed by a new podcast called "Humans of Open Source" ( The episode is up on their website and other podcast apps now. I really like the premise of the podcast — to talk to "big" usernames in open source to highlight that there's a *human* behind each one. With a normal life, ups and downs, successes and failures. I'm hoping it might help reduce that common feeling of "otherness" in OSS!

I'm going to do another Q&A today at 8:30pm UTC (! You can still submit and vote on questions at, and we'll use the same page during the stream if more questions come up. Come ask me things 😅

Hey folks! It looks like the Q&A was pretty popular, though many people who couldn't make it live also wanted to ask questions. So, I'm going to do one more next week before I pack up my computer to move, and this time you can submit+vote for questions @ ! I don't know exactly when it'll be, but my current best guess is either this Tuesday or Wednesday at 8:30pm UTC ( I'll announce once the final time is decided.

A side project of mine got delayed, so am finding myself with a bit of unexpected free time. So why not do an impromptu stream? It'll just be an informal chat/Q&A/AMA/office hours type thing, so bring on the questions 🦙 Starting in ~90m at 7pm UTC (!

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!

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 ( See y'all there!

Hi folks! My (first?) thesis stream is now up! We talked through my thesis at a high level, and then walked through the current draft of the evaluation chapter. Along the way, I also did Q&A about PhDs and thesis writing. Hopefully it's interesting :)

There seems to be a decent amount of interest in, so let's dig into my PhD thesis evaluation on Saturday at 5:30pm UTC ( I'll be focusing on the research/academic aspects of the work, not the Rust parts this time :) Bring questions if you have any! As always, I'll be live on and, and the recorded stream will be uploaded to YouTube afterwards.

I wonder — is there interest in a shorter stream where I walk through some of my thesis evaluation work so far? Relatively informal, just chatting about what the thesis work focuses on, how I'm evaluating it, what the figures show, how I got to these particular figures, etc.?

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 😮

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 (,) 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! 🥧

You can see the thesis experiment orchestration code here: 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!

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! 🥧

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 ( As before, it'll assume you have some
experience already, but anyone is welcome ❤️ 🥧 Just like always, the stream will be live on on, 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

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 and, 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 ❤️

Show older

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