If you really want to help Firefox succeed, file a bug on https://webcompat.com/ when you find a broken website. Don't just switch back to Chrome; let Mozilla know there's a problem so they can try to fix it.
When browsers lose market share, they fall into the "compatibility death spiral." Sites don't bother to test, they break, and users flee to the browser that "just works." Mozilla is fighting this battle every day, and it just got harder.
My GUADEC 2018 presentation - how did I forget to post this?
Patterns of refactoring C to Rust - the case of librsvg. https://people.gnome.org/~federico/blog/guadec-2018-presentation.html
this is Betty Holberton. she invented the concept of breakpoints for debugging. ever heard of her? you probably haven't, because our field sucks ass and constantly erases its own history.
EFF is resigning from the w3c over DRM and the Encrypted Media Extensions standardization process. This was probably inevitable once w3c leadership abandoned consensus in this arena, but it's still such a bummer to see https://www.eff.org/deeplinks/2017/09/open-letter-w3c-director-ceo-team-and-membership
How glib-rs works, part 3: Boxed types - https://people.gnome.org/~federico/blog/how-glib-rs-works-part-3.html
I had missed Gicmo's blog post on Emacs and the Rust Language Server: https://christian.kellner.me/2017/05/31/language-server-protocol-lsp-rust-and-emacs/
Interesting that https://github.com/KDE/rust-qt-binding-generator - the Rust Qt binding generator - has you write an API definition in JSON (not unlike .gir), and then it spits .rs files, into one of which you write your implementation, and the rest is boilerplate.
Then, the compiled Rust can be used from C++.
Gnome-class has a different approach - using procedural macros to extend the Rust syntax, to generate GObject ABI.
We could then generate .gir from that, or directly from the procedural macros.
The Magic of GObject Introspection - https://people.gnome.org/~federico/blog/magic-of-gobject-introspection.html
Librsvg's build infrastructure: Autotools and Rust - https://people.gnome.org/~federico/blog/librsvg-build-infrastructure.html
If you are looking for a small C-to-Rust project, xdgmime is a good place to start.
Libpng's error reporting is shit, but if you only care about "out of memory" and "invalid PNG", it's manageable. I'm assuming one feeds it data by hand instead of letting it use stdio.h plainly.
Then, Cairo has a bug in the way it converts PNG errors to cairo_status_t: https://bugs.freedesktop.org/show_bug.cgi?id=102142
I keep thinking that Rust's error chaining scheme is the greatest thing ever.
About C's implicit conversions - this prints "one point five" "wat".
float one_point_five = 1.5;
float one_point_one = 1.1;
if (one_point_five == 1.5)
puts ("one point five");
if (one_point_one == 1.1)
puts ("one point one");
If you use doubles, it works as expected. Explanation in the next toot.
Exploring Rust's standard library: system calls and errors - https://people.gnome.org/~federico/blog/rust-libstd-syscalls-and-errors.html #rustlang
Reminder that http://www.openhistoricalmap.org/ is the ancient world equivalent to OpenStreetMap. It needs filling in!
For systemd haters: https://people.redhat.com/bbreard/presos/Demystifying_systemd_Summit_2017.pdf
Learn it, love it.
My GUADEC talk was accepted! It's going to be "Replacing C library code with Rust: what I learned".
Re: MP3: As we all know, something is dead as soon as its original creator can no longer exclusively make money off it. This is why "Romeo and Juliet", "Peter Pan", and the collected works of David Bowie are no longer performed or played in any form. It's just facts.
Hm, if toot.cat is going whitelist-only, I think that's fine for toot.cat, but maybe not fine for me. Maybe I should move.
Any node recommendations I might consider?
A Mastodon instance for cats, the people who love them, and kindness in general. We strive to be a radically inclusive safe space. By creating an account, you agree to follow our CoC below.