Back in April, my undergrad CS advisor, Mark Sheldon, invited me to give a guest lecture in his Concurrent Programming class. I was excited for the chance to do this – I like teaching and public speaking, and Concurrent Programming was one of my favorite classes I took in undergrad. My friends and I made a multiplayer platformer game for our final project, and I discovered that I really like Erlang, and concurrent programming in general.

Since then, I’ve not had the chance to write much Erlang (womp womp), but I have been able to apply the concepts from the class at my job as a software developer, writing data pipelines over Kafka in C++. These days, boost::asio is how I scratch that concurrency itch, and I’d like to think I’ve gotten reasonably good at using it.

Tufts teaches their first two core programming courses in C++, and being a recent grad, I knew that Mark’s students would be familiar enough with C++ to follow my code examples, but probably not at all familiar with boost::asio. I put together these slides for a 45-minute presentation covering the basic when, why, and how of using the library.

These slides have been available on my site since April, when I gave the talk. At the time, I wasn’t happy with my solution to my own exercise, so I decided to brush up that code a bit before making a blog post.

Of course, it has taken me months and months to finally complete a task that took that only took about 20 minutes (thanks @Creepy_Weirdo on iFunny for uploading a screenshot of the tweet I’m thinking of), but the blog post is finally here.

I had such a great time giving this talk! It was fun to be back in a classroom again, sharing about a topic I enjoy. The students were really engaged with the material and asked great questions, both about boost::asio and about life as an early-career software developer. I hope to do something like this again soon!

Here are the slides.