@vancha The slides I'll use and the code will be online afterwards, but that's of course missing then everything I was actually saying during the course :) I don't know how useful the slides are by themselves, but the code at least will be commented verbosely.
At the Linux Application Summit in Barcelona I'm going to do a Rust GTK/GStreamer workshop again.
November 15th, coincidentally only 3 days after RustFest, which is also in Barcelona this year!
RMS pulls a serious power move (read: dick move), unilaterally appointing a maintainer to Guile without consulting the other co-maintainers or community, because the current co-maintainers disagree with him on governance https://lists.gnu.org/archive/html/guile-devel/2019-10/msg00005.html
fsf, rms, etc
"On Recent Controversial Events" -- from Bradley Kuhn's blog http://ebb.org/bkuhn/blog/2019/10/15/fsf-rms.html
The fight for diversity, equality and inclusion is the fight for software freedom. Our movement will only be successful if it includes everyone. RMS does not speak for these values.
rms, fsf, conservancy
@conservancy just published a blogpost: "Richard Stallman Does Not and Cannot Speak for the Free Software Movement" https://sfconservancy.org/news/2019/sep/16/rms-does-not-speak-for-us/
If someone looks for a smallish project to get started with GStreamer in Rust, a FLAC decoder around claxon or an Y4M encoder/decoder around y4m seem like good starter tasks.
Feel free to ask for more details / help!
Since today there exists a pure Rust GStreamer decoder plugin for Vorbis, using the lewton Vorbis decoder crate.
This should be more or less feature-equivalent with the C, libvorbis-based, decoder plugin from gst-plugins-base.
Finally finished my GUADEC 2019 BoF work: subclassing support for GInput/Output/IOStream and GSeekable in the GTK/GIO Rust bindings.
And as bonus, there's a subclass included that allows to use any Rust Read/Write/Seek impl as in/out stream
On responsible vulnerability disclosure - https://people.gnome.org/~federico/blog/on-responsible-vulnerability-disclosure.html
At GUADEC on 26 Aug in Thessaloniki there will be a GTK & GStreamer in Rust workshop.
If you're interested in learning more about using GNOME technologies from Rust, sign up! No prior Rust experience needed.
@firstname.lastname@example.org @brainblasted Sure no problem! Feel free to ask more questions if something's not clear
@email@example.com @brainblasted In the `parent_XXX` functions? All those lines are unsafe, they do C/Rust translation in both directions and work on raw pointers. They have to poke into the C structs for finding the function pointer, then convert all the Rust types to something C can handle (raw pointers, enums to integers, etc), then call the C function pointer, then convert any return values (or out parameters) back to the corresponding Rust types. Each of these steps is unsafe.
They're the other side of the `unsafe extern` trampoline functions at the end of the file, which are called from C, have to do the FFI translations, call the Rust code, translate back to whatever C wants.
Thanks to @brainblasted the Rust GTK bindings now have support for subclassing various GTK widget classes, namely GtkWidget itself, GtkContainer, GtkBox and GtkEventBox.
We're slowly getting to full API coverage, good work!
If you want to help reforestation, it's important to know about a process called ecological succession. This is how nature does it.
The plants most people think of as weeds are very important in this. Botanically, they're known as pioneer species. They're tough, tenacious, and will grow even in unforgiving places.
Pioneers lay the groundwork for larger plants to gradually take over, eventually making a comfortable environment for climax species, like forest trees.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!