tbqh xmpp is a good standard
- it works over shitty networks, like when I drop to 2g
- extensible as hell
- e2e encryption!!!
- open!!!!!
- federation!!!!!
- conversations is a rad client
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.
Check out @slomo's sample implementation of GObjects completely in #rustlang, with automatically-generated bindings to JS and Python: https://github.com/sdroege/gobject-example-rs
20 years of a great free software desktop. http://www.happybirthdaygnome.org/
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".
#include <stdio.h>
int
main (void)
{
float one_point_five = 1.5;
float one_point_one = 1.1;
if (one_point_five == 1.5)
puts ("one point five");
else
puts ("wat");
if (one_point_one == 1.1)
puts ("one point one");
else
puts ("wat");
return 0;
}
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!
Wiki at https://wiki.openstreetmap.org/wiki/Open_Historical_Map
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?
Awesome write-up on the Rust+GNOME hackfest, where-in you can learn about how the GObject integration works.
Today 31 years ago three men gave their lives to stop a second thermonuclear blast in Chernobyl, most probably saving thousands of lives across Europe.
Valeri Bezpalov, Boris Baranov and Alexie Ananenko knowing it ment their deaths dived into radioactive water with subpar gear. All died within days afterwards - their bodies so radioactive they had to be buried in lead lined and sealed coffins
http://knowledgenuts.com/2014/04/13/when-three-divers-swam-into-the-jaws-of-chernobyl/