My co-authors and I wrote an article about Noria (the data-flow database I'm building for my research) for USENIX ;login: that has now been published in their Spring 2019 volume. It presents a slightly more practical view of Noria than the OSDI'18 paper, and you can find it here: jon.thesquareplanet.com/papers

Second part of our live-coding quest to implement a user-land TCP stack in @rustlang is now up at youtube.com/watch?v=OCpt1I0MWX! This time we focused on the crate's external interface, and in particular how we could get as close as possible to std::net::Tcp* and std::io::Read/Write. This will sadly be the last stream until early May due to a major upcoming deadline, but there should be enough recordings up at youtube.com/c/JonGjengset by now that there's plenty of material to keep you busy ^_^

Oh, and you should probably watch part 1 (youtube.com/watch?v=bzja9fQWzd) before you watch this one as I won't be covering the basics again. The plan is still to roughly follow tools.ietf.org/html/rfc7414 with the ultimate goal of being able to interact with real internet hosts!

I started getting requests for the next "Implementing TCP in " immediately after I posted the first one, so no time to waste! Let's do part 2/n this Saturday at 4pm UTC (noon EST) — everytimezone.com/s/a539fecc. Come fiddle with one of the Internet's core protocols with me :D

As always, the stream will be live at twitch.tv/jonfrg and youtube.com/c/JonGjengset/live. Do not fret if you miss the live stream though — part 2 will be uploaded to YouTube like all my past streams :)

The first part of our @rustlang TCP implementation journey is now up at youtube.com/watch?v=bzja9fQWzd. Definitely some way left to go, but we got to the point where we can perform a TCP handshake with a "normal" client and then shut down the connection cleanly :D Stay tuned for more!

For those looking for more resources, my hope is that by the end we'll be in a position to test it with tools.ietf.org/html/rfc2398, and that we'll make sure we don't run into any of the common issues outlined in tools.ietf.org/html/rfc2525

The implementation will be entirely user-level, and will (likely) use github.com/libpnet/libpnet to do the low-level network interaction. To write the implementation, we'll follow tools.ietf.org/html/rfc7414 , with the ultimate goal of being able to interact with real internet hosts!

Time to implement the TCP protocol in ! We'll do it at 5pm UTC (noon EST) on youtube.com/c/JonGjengset/live and twitch.tv/jonfrg as always: everytimezone.com/zones/18ca96 . I recommend giving tools.ietf.org/html/rfc1180 a read if you're new to TCP.

The port of stackcollapse-perf we implemented on the live-stream today is ~10x faster than the one that comes with flamegraph, so the bottleneck is now perf script itself! Recording is up at youtube.com/watch?v=jTpK-bNZiA. Part 2 will probably be in ~2 weeks, so stay tuned!

Back in November I gave a talk at Two Sigma on and Noria, the research database prototype I've been building at MIT over the past three years. I just got permission to share the recording of it, so if you're interested it's now up at youtube.com/watch?v=s19G6n0Ujs 🎉 You can find the slides at jon.thesquareplanet.com/slides, the prototype and link to the paper at pdos.csail.mit.edu/noria , and the conference publication and presentation at usenix.org/conference/osdi18/p!

Recording of the big futures stream is now up! We got through futures 0.1, executors, async I/O and tokio, futures 0.3, async/await, and Pin, and I think it should be approachable even for those with little async experience!
youtube.com/watch?v=9_3krAQtD2

As planned, I wrote up a website for voting on upcoming stream ideas using ranked-choice voting yesterday! You can now vote for what you'd be more interested in seeing on jon.thesquareplanet.com/live-c. The stream recording is at youtube.com/watch?v=8LSNN-Y9Ft, and you can see the source @ github.com/jonhoo/vote.rs.

I might also write a simple stream idea voting site this week. I'll use rocket.rs , diesel, and github.com/LivingInSyn/rcir to do ranked choice voting so that people can vote for multiple ideas! Could do it live if there's interest?

This stream should also be accessible to less experienced Rustaceans! I'll cover the Future trait, combinators, how futures are executed, the Tokio runtime model (incl. the tokio thread pool), and how tokio provides asynchronous I/O. If we have time, I'll also try to dig into the adoption of futures into std + Pin/Unpin for async/await.

Time for another live-stream! This time I thought I'd tackle futures/tokio directly. I'll explain what futures are, how they work, and how tokio executes them. Maybe even async/await + pin! Noon EST this Saturday on youtube.com/c/JonGjengset/live and twitch.tv/jonfrg. For those of you in other timezones, this is the time: everytimezone.com/#2018-11-17,. This will be more of a talking stream than a programming stream, though we'll likely also read some code and write some just for exposition.

@jonhoo @alishir well, our bus factor is still 1, but I guess as long as I stay away from busses, we shouldn't be going away anytime soon. :blobgrin:

(Regarding the single-column thing, you might enjoy Pinafore's UI! We have an instance running at light.mastodon.at/, or you can use the one hosted by the creator at pinafore.social/).

@QuietMisdreavus I wonder why they keep it off by default. Seems like they could save people a lot of pain!

@QuietMisdreavus
Maybe it's off by default... That's what I get for being too slow I guess. Maybe next time!

Show more
Mastodon

mastodon.at is a microblogging site that federates with most instances on the Fediverse.