I haven't been able to stop thinking about 3blue1brown's video on their Wordle-playing algorithm — youtube.com/watch?v=v68zYyaEmE — so I'm going to try to implement it in Rust this Saturday at 6pm UTC (everytimezone.com/s/116b2d6e). We'll write a very naive implementation of the 3b1b algorithm first, and then iteratively profile and improve to make it fast!

I... accidentally another 7 hours video on implementing hazard pointers in . Implemented some neat optimizations added to folly since last time, and then added some tests with loom!

The full digital version of Rust for Rustaceans is now up on nostarch.com/rust-rustaceans! I don't have a final schedule for the print version yet, but you can at least start reading it in pixel form 🎉 I hope you end up finding it useful ❤️

Also, I just submitted the last round of edits (in theory) for the last chapter of Rust of Rustaceans. What remains now is mostly procedural stuff, like indexing the book, and then it'll go to print! Such a weird feeling — my evenings will be my own again 😮 If you haven't already, you can get both the early access ebook and preorder the final, published thing at nostarch.com/rust-rustaceans. There's even a 25% off discount code on there now!

Forgot to post here! The Crust of stream on async/await is now up! My hope is that it's a bit more approachable than the deep-dive video I did a while ago, and that it provides some of the intuition and mental model that comes in handy when _using_ async/await. youtube.com/watch?v=ThjvMReOXY

Part two of the Hazard Pointer in implementation series now up — get it while it's fresh 🦀 youtu.be/_LK7qvBWNYo

Recording of today's stream on implementing hazard pointers in is up! We actually got to running tests, which is good progress for the first iteration. Still some known TODOs and missing features, but a great start! youtu.be/fvcbyCYdR10

The video of our first steps into implementing "A Practical Wait-Free Simulation for Lock-Free Data Structures" in is up! I miss these longer streams — they're a lot of fun. Still some way to go, but we made good progress! youtu.be/Bw8-vvtA-E8

I'm very happy with how today's stream on atomics and memory ordering in turned out. Hopefully this'll help clear up the confusion and mystery that surrounds the std::sync::atomic module, and allow more people to write good concurrent code! youtube.com/watch?v=rMGWeSjctl

Video of the Drop Check stream is now up! This was a fun one — the topic is pretty niche already, but we got into some deliciously obscure (but educational) corners towards the end. Hopefully this should shed some light on PhantomData<T> and #[may_dangle]!

My Crust of Rust episode on subtyping and variance in is now up at youtu.be/iVYWDIW71jk. Even though it's a thorny topic that I'm fairly new to myself, I _think_ we managed to explain the concepts and their practical implications without too many 🍿 moments.

My segment on New Relic's "The Relians" 24h stream is now up on twitch.tv/videos/897132746! My stream partner, Aisha Blake, started out with no experience, yet we got all the way to a CSV-to-JSON converter 🎉 Good stream for anyone curious about this "Rust thing" coming from the world of JavaScript 🍿

I was interviewed on The Virtual World Podcast this weekend! It was an interesting conversation, and hopefully not just to me 😅 twitter.com/tytr_dev/status/13

First episode of The Unsafe Chronicles is now up on YouTube! We talk through some particularly funky unsoundness around aliasing a Box, and how to deal with it the context of the left-right concurrency primitive. youtube.com/watch?v=EY7Wi9fV5b

I'm going to try out a new type of stream on Saturday @ 6pm UTC (everytimezone.com/s/86025e61): "The Unsafe Chronicles". The idea is to go through an interesting experience with unsafe Rust code and how to fix it. It'll be more "explainer" than "coding" like my usual streams — but will hopefully be interesting nonetheless!

Recording of today's 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! youtube.com/watch?v=eLNAMEoKAA

The PR (which still needs some cleanup before it'll land) is here for anyone who just wants to see where we ended up: github.com/jonhoo/rust-evmap/p

Recording of yesterday's Crust of Rust stream is now up! We made our way through implementations of bubble-, insertion-, selection-, and quicksort, and also benchmarked them all. And, crucially, we covered a bunch of Rust topics along the way! youtube.com/watch?v=h4RkCyJyXm

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 -isms! The stream will be Saturday at 6pm UTC: 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: 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 jon.thesquareplanet.com/slides.

Show older

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