It's time for the Q&A/AmA on /r/rust! I've create the post over at reddit.com/r/rust/comments/c71, and will start answering questions in about 20m. All questions welcome! πŸ“­

The recording of today's live-coding stream continuing our journey through David Tolnay's procedural macro workshop from the Rust Latam conference is now up! youtube.com/watch?v=KVWHT1TAir

The idea is that if you enjoy what I do, and have the means to do so, you can support me by getting me something from that list. It has things I'm looking to buy, and anything you buy will be shipped to me directly and put a big smile on my face πŸ˜„ And if this is not your thing, that's okay too! I so appreciate all you amazing people watching and commenting on the material I put out there, and the overwhelming positive response over the past year makes my day every day! You're all awesome πŸŽ‰

Hi all! As some of you may know, I had to close my Patreon a while back since my student visa in the US won't let me accept any source of income during my studies here. So, I've decided to start an Amazon Wish List instead! amazon.com/hz/wishlist/ls/EI8G
This is more of an experiment than anything else β€” it may be that donating physical things is too awkward, inconvenient, or weird for anyone to do it, but I figured I'd give it a shot since so many people have asked me since I closed the Patreon :)

Okay, second stream on procedural macros this Sunday at 4pm UTC (noon EST; everytimezone.com/s/9517e878)! We'll continue with David Tolnay's workshop exercises from where we left off. Live @ twitch.tv/jonhoo (note the new username) and youtube.com/c/JonGjengset/live \o/

First procedural macro stream is done! We finished the first exercise in David Tolnay's excellent workshop from the Rust Latam Conference. The video is up at youtube.com/watch?v=geovSK3wMB. Also, a question to you all: would you like to see a second proc-macro stream, or should we move on to the next topic?

I decided to make this the last TCP stream even though we're not quite done since the streams are becoming very technical (and hard to follow) as we get deep into the weeds. I think it'll be better to switch to a new topic from scratch like we've done in the past! So let me know what you'd like to see in the next stream over at jon.thesquareplanet.com/live-c! Remember that you can vote for more than one topic, and that the ranked voting will take into account your order of preference as well πŸ—³οΈ

Today's Rust stream is now on YouTube! Our TCP implementation now supports reading + writing data, and we _nearly_ got it all to work with a real-world client πŸŽ‰ This was the third and last video (for now) in the series, and you can see them all at youtube.com/watch?list=PLqbS7A.

It's finally time for the next Rust live-stream! This will be the last TCP implementation stream, and will happen Saturday at 4pm UTC (noon EST; everytimezone.com/?t=5cd61080,). As always, it'll be live on twitch.tv/jonfrg and youtube.com/c/JonGjengset/live. Come join us! :D You can see the two previous streams at youtube.com/playlist?list=PLqb. What stream we do next is up to you! Head over to jon.thesquareplanet.com/live-c and leave your vote for what you'd like to see πŸŽ‰

Hi all! We'll do more live streams soon, I promise. In the meantime though, I was recently interviewed on the CoRecursive podcast about Noria, Rust, evmap, and live-coding, and the episode dropped this morning! Give it a listen @ corecursive.com/030-rethinking

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!

Show more
Mastodon

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