@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.

Sign up here: meetup.com/Barcelona-Free-Soft

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 lists.gnu.org/archive/html/gui

fsf, rms, etc 

"On Recent Controversial Events" -- from Bradley Kuhn's blog ebb.org/bkuhn/blog/2019/10/15/

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.

@oraklu@merveilles.town Nice! It's an interesting language to learn. Or at least for me it is :)

If you happen to move to Thessaloniki I can only recommend the Greek courses at ΑΠΘ.

rms, fsf, conservancy 

@conservancy just published a blogpost: "Richard Stallman Does Not and Cannot Speak for the Free Software Movement" sfconservancy.org/news/2019/se

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!

Show thread

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


During GSoC this year, sfanxiang worked on creating Rust bindings for GTK 4.

These are now all merged into the gtk-rs organization as separate crates, eg github.com/gtk-rs/gtk4

Examples can be found here github.com/gtk-rs/examples4

Next step: Making a release!

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.

Details at wiki.gnome.org/GUADEC/2019/Hac

@hirojin@dev.glitch.social @brainblasted Sure no problem! Feel free to ask more questions if something's not clear

@hirojin@dev.glitch.social @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!

@alcinnz @bugaevc @MatejLach @federicomena @alatiera

Where did you get that part about "grand decisions"? There's no CEO of Gnome who decides that everything's going to be done *that* way now :) People do the work they want to do (or are paid to do), and that's how things move forward.

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.

Show older

On the internet, everyone knows you're a cat — and that's totally okay.