TMI: More talk preparations
Jun. 6th, 2013 09:51 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Almost done with a very rough draft of my slides for my Open Source Bridge talk! Visually, they're crap, and reminding me why I'm not a graphic designer even though I pretend sometimes to have opinions about visual presentation. But they're good enough for me to give my practice talk to my team tomorrow; hopefully I'll have enough time to clean them up that the form won't distract everyone from the content.
The main thing I'm frustrated about is my own inability to find Good Examples. I could, of course, write examples that illustrate what I want to teach; mainly, I want to show how Rust's trait system works and how borrowed, managed, and owned pointers work. I think traits and the memory model are two of the biggest advantages of Rust, and rather than trying to cover everything about the language in an hour and a half (impossible), I want to focus on two features that are likely to be at least somewhat different from languages the audience members will have used. That's all very well, but I've had a hard time finding particularly good examples in existing code -- I found some small examples, but the slides I worked on today were ones I'd planned to use to present two "extended examples" that would each take several slides to cover. Traits are used less in existing code than I would have thought (being a relatively new feature) and are often just used as containers for methods rather than abstractions that have meaning that could be explained independently of code. Borrowed pointers are used everywhere, but most uses of them are actually pretty simple.
So that I would have something there, I used code from the Container and Map traits and the HashMap module in the standard library, but that feels unsatisfying since hash maps are such a textbook example. I really want to show what makes Rust different! So, I posted a query on the mailing list, and already got two good suggestions -- one from Jeaye pointing me to glfw-rs and one from Daniel Micay suggesting using iterators rather than hash maps if I'm going to use an example from the standard library. I think that's an especially good suggestion; iterators almost qualify as a third central-aspect-of-Rust aside from traits and borrowed pointers.
I give talks infrequently enough that I forget how much work preparing one is. rustpkg is getting sadly neglected, at least over the past two days. I envision weekend work on the horizon, and a lot of it.
The main thing I'm frustrated about is my own inability to find Good Examples. I could, of course, write examples that illustrate what I want to teach; mainly, I want to show how Rust's trait system works and how borrowed, managed, and owned pointers work. I think traits and the memory model are two of the biggest advantages of Rust, and rather than trying to cover everything about the language in an hour and a half (impossible), I want to focus on two features that are likely to be at least somewhat different from languages the audience members will have used. That's all very well, but I've had a hard time finding particularly good examples in existing code -- I found some small examples, but the slides I worked on today were ones I'd planned to use to present two "extended examples" that would each take several slides to cover. Traits are used less in existing code than I would have thought (being a relatively new feature) and are often just used as containers for methods rather than abstractions that have meaning that could be explained independently of code. Borrowed pointers are used everywhere, but most uses of them are actually pretty simple.
So that I would have something there, I used code from the Container and Map traits and the HashMap module in the standard library, but that feels unsatisfying since hash maps are such a textbook example. I really want to show what makes Rust different! So, I posted a query on the mailing list, and already got two good suggestions -- one from Jeaye pointing me to glfw-rs and one from Daniel Micay suggesting using iterators rather than hash maps if I'm going to use an example from the standard library. I think that's an especially good suggestion; iterators almost qualify as a third central-aspect-of-Rust aside from traits and borrowed pointers.
I give talks infrequently enough that I forget how much work preparing one is. rustpkg is getting sadly neglected, at least over the past two days. I envision weekend work on the horizon, and a lot of it.
(no subject)
Date: 2013-06-07 06:36 am (UTC)(no subject)
Date: 2013-06-08 06:59 pm (UTC)