Recording of today's #rustlang stream on making the concurrency primitive behind evmap's fast concurrent reads generic is now up! I think it turned out pretty great, and am excited to see what people might do with it! https://www.youtube.com/watch?v=eLNAMEoKAAc
The PR (which still needs some cleanup before it'll land) is here for anyone who just wants to see where we ended up: https://github.com/jonhoo/rust-evmap/pull/73
Recording of yesterday's Crust of Rust stream is now up! We made our way through #rustlang implementations of bubble-, insertion-, selection-, and quicksort, and also benchmarked them all. And, crucially, we covered a bunch of Rust topics along the way! https://www.youtube.com/watch?v=h4RkCyJyXmM
I'll be doing another Crust of Rust stream on sorting implementations this weekend. I'm thinking that since the algorithms are well-known, we can focus specifically on various #rustlang-isms! The stream will be Saturday at 6pm UTC: https://everytimezone.com/s/15d26ae2. As usual I'll stream to both Twitch and YouTube, and upload the recording to YouTube after. This stream should hopefully be ok to follow even if you come from another language, so if you've been on the fence, now's a good time to watch ๐ฟ
Good news everyone! I passed my thesis defense yesterday, and now only have some minor revisions to the thesis itself left before I am completely done ๐ You can find a recording of the thesis presentation here: https://youtu.be/GctxvSPIfr8.
Since the thesis isn't _completely_ done, I haven't posted the actual document yet, though I will make it public once it's finalized. You can find the slides at https://jon.thesquareplanet.com/slides/thesis.pdf.
I'm live-streaming a practice run of my thesis defense in ~18h (https://everytimezone.com/s/97fc42c0). I recommend you watch the "real" talk on Wednesday instead (https://everytimezone.com/s/ac18c799 โ https://twitter.com/jonhoo/status/1315816753679622144) unless you specifically want to see an early draft and give feedback! But you're of course all warmly welcome โค๏ธ
As the goal of this chapter is to make the broad strokes of the work approachable to a general audience, I figured I'd get as many eyes on it as possible. If something in there doesn't make sense, please let me know and I'll see what I can do to improve it! No promises though ๐
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 โค๏ธ https://jon.thesquareplanet.com/noria-in-simpler-terms.pdf
Oh, and I was recently interviewed by a new podcast called "Humans of Open Source" (https://pod.co/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 (https://everytimezone.com/s/ca44742c)! You can still submit and vote on questions at https://www.menti.com/n5t48w9kgz, 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 @ https://menti.com/n5t48w9kgz ! I don't know exactly when it'll be, but my current best guess is either this Tuesday or Wednesday at 8:30pm UTC (https://everytimezone.com/s/ca44742c). 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 (https://everytimezone.com/s/297cd425)!
Today's stream on #rustlang 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! https://www.youtube.com/watch?v=b4mS5UPHh20
Time for another stream! In tomorrow's Crust of Rust we'll cover a simplified version of #rustlang'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 (https://everytimezone.com/s/076c2397). 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 :)
https://www.youtube.com/watch?v=J_43268iAMI
There seems to be a decent amount of interest in https://fosstodon.org/web/statuses/104563514764595789, so let's dig into my PhD thesis evaluation on Saturday at 5:30pm UTC (https://everytimezone.com/s/d88b7a8c). 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 https://twitch.tv/jonhoo and https://youtube.com/c/JonGjengset/live, and the recorded stream will be uploaded to YouTube afterwards.
The Crust of Rust episode on Rc/RefCell/Cell and Arc/RwLock/Mutex is now up โ get it while it's hot! We covered #rustlang smart pointers and interior mutability, and even did a quick-dive into UnsafeCell and the Drop Check ๐ฎ https://www.youtube.com/watch?v=8O0Nt9qY_vo
Several of you have asked me for a Crust of Rust on smart pointers (Arc/Rc/Deref) and interior mutability (RefCell/Mutex/Cell) in #rustlang, and I think it's about time. Let's do a stream on Wednesday at 8:30p UTC (https://everytimezone.com/?t=5ee95d00,4ce) as usual. Come one come all! ๐บ ๐ฆ
Yesterday's Crust of Rust on #rustlang 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! ๐ฅง https://www.youtube.com/watch?v=yozQ9C69pNs
You can see the thesis experiment orchestration code here: https://github.com/jonhoo/thesis/tree/master/benchmarks/orchestration/src. 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.