I was interviewed on The Virtual World Podcast this weekend! It was an interesting conversation, and hopefully not just to me 😅 https://twitter.com/tytr_dev/status/1338628727635316736
I'm going to try out a new type of #rustlang stream on Saturday @ 6pm UTC (https://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!
@schrieveslaach Hmm, I think that probably still won't do what you want. If I'm reading this right, it creates a new `ReadHandle` for every request, which is basically the same as taking a `Mutex` for each request (that's what `ReadHandleFactory::handle` does internally).
@schrieveslaach Hmm, I'm not sure if `State: Clone` will be sufficient, since you'll still then need exclusive access to the `State` in order to use `ReadHandle`. And it particularly won't help if it still requires that the inner type is `Sync` (which `ReadHandle` is not)... I think this may just not fit Rocket's idea of `State`, which seems to be "something shared among all requests".
@schrieveslaach Hmm, yeah, evmap is very opinionated in that the `ReadHandle` types can't be used concurrently from multiple threads at the same time. You need each future/task/thread to have its own `ReadHandle`. I feel like there should be a way to get that with Rocket, but don't know. With HTTP/2 you'd probably want something like a `ReadHandle` per request. Or you could try to go the route of thread-locals to hack around it, but pain lies that way. Maybe dashmap/flurry is a better fit?
Thanks! Always cool to hear about my things being used. If you had to stick it in a Mutex anyway though, why use evmap?
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
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 ❤️
@chiasm I'm glad you found it possible to follow! I developed Noria over the course of my PhD, though the actual research contribution of my thesis are the "upqueries" and the partial state that they enable. The other "stuff" already existed in one form or another in other systems.
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!
@janriemer Hehe, yeah, it was a tonne of work, but I also figured that the VOD would basically be useless without it :p
Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.