@erlend Looks exciting! I haven't been following any of this... but have been wanting a way to send my friends digital letters through some kind of web interface that would ideally be e2e encrypted. Is that the kind of thing that could be built with this stuff?
@saul we’re more of a facilitator for that kind of thing. Weird can help make the initial connection, but the message transmission would be left to any of a number of E2EE messengers we’d defer to (by integration), like #matrix, #signal, #Veilid, #polyproto etc.
Straw-people love to say that #rustlang is terrible for quick-and-dirty scripting tasks: just write Python or Perl!
My experience with it has been great though: CLIs are so smooth to write, there's great crates for all the dumb little things you want to do, and path + string processing is super easy. And then you can actually read / modify the script in the future. We've been working on a generate-release script for @bevy with multiple contributors over the last month; it's been lovely.
@weberc2@bevy Yeah, that makes a lot of sense :) In this case, the tool is run on developer machines only, so it's less of a factor, but for most other applications that's a massive factor.
oct can now set up cards in #KDF mode, the text output format was improved for readability, and some minor bugs were fixed.
Finally, version 0.11.0 uses #rPGP, a pure #Rust OpenPGP library 🦀.
As a result, the binary on #Linux links to four fewer dynamic libraries, while at the same time being 10% smaller.
@hko awesome. I use the openpgp-card-agent on 5 machines already and it made my life so much easier. And oct is also an amazing tool when having to deal with opnepgp cards. Thank you so much for that awesome projects 😊
This week in the Bevy ecosystem we see Tiny Glade ship a Steam demo, live VJ sets powered by Bevy, screen space reflections in the deferred renderer and more.
We've also got the usual showcases and a couple really interesting crate release for 2d lighting systems and gpu particles.
@litchipi the other way around - panic=unwind is slowest, because it needs to preserve state for unwinding. panic=abort is less bad, because panic won't return, and panic=immediate_abort (unstable) is fastest, because it doesn't need any state preserved, and using return instead of panic is ideal because then llvm knows what they are and can move and coalesce returns.
✅ Custom Account Colors
✅ Linux System Tray Support
✅ Rust-Enabled Builds
And that's only half of the good news! This month's Thunderbird Development Digest from @alecaddd has some great updates as we step closer to the next ESR.
Ja und Nein, denn Rust ist im grunde sicherer aber auch das kommt darauf an wie mensch es umsetzt. Ich vertraue Rust mehr als anderes Coding, ich schau mir die Libs-Daten an.
»Speichersicherheit – Fast 20 Prozent aller Rust-Pakete sind potenziell unsicher:
Nach Angaben der Rust Foundation verwendet etwa jedes fünfte Rust-Paket das Unsafe-Keyword. Meistens werden dadurch Code oder Bibliotheken von Drittanbietern aufgerufen.«
@kubikpixel Sehr schade finde ich, dass der Artikel nicht darauf eingeht, dass viele der "unsicheren" Pakete tatsächlich nur Wrapper sind, die explizit diese eine Fremdbibliothek einbinden und evtl. abstrahieren - also tatsächlich eine zusätzliche Sicherheitsschicht, um diese Bibliotheken möglichst einfach aktualisieren oder auswechseln zu können.
Is there a way in Rust to use standard lib traits (Ord, Eq, Into/From...) with async functions?
Perhaps a crate or something?
Or must it be a separate function implemented for the structs?
@Soblow It's not possible. These traits require returning result immediately, and this is their guarantee that cannot be changed. You need to create your own methods for this, or preload data ahead of time.