> In my experience, the most natural way to write things in Rust is usually the fastest (or close enough) as well.
Well, a lot of C/Odin/Zig people will point out that Rust's stdlib encourages heap allocations. For actually best performance you typically want to store your data in some data-oriented data model, avoid allocations and so on, which is not exactly against idiomatic Rust, but more than just a typical straighforward Rust just throwing allocations around.
Fair point, I don't tend to do much with heap in Rust (or any language) as I do hard realtime. You allocate all you will need up front.
As for data oriented design: yes, and it depends on your usage pattern. E.g. arrays of structs can still be better than struct of arrays if that matches your cache line access pattern. Zig probably makes SOA easier for the cases where that is more efficient (I haven't used Zig, but I have read a bit about it. It has some cool ideas (comptime), but also things I can't get behind such as lack of RAII, and generally lack of memory safety.)
Because the BBC has been shown to be heavily biased towards the 'metropolitan' and 'liberal' sides - where London goes, so does the BBC. Trusting the BBC on its word is just as unwise as trusting e.g. NPR/PBS or CNN/MSNBC/FOX (USA), ARD/ZDF/NDR (Germany), NOS (Netherlands) or SVT/SR (Sweden). In short, trusting any of the media - whether legacy or new - on their word is unwise, verification is needed. Unfortunately it is getting harder to trust verification videos as well since the advent of generative AV-models.
If this is commonplace as the BBC claims it should be possible for other outlets to find more soldiers - in Ukraine or in Russia - who are willing to share these stories. If only Russia had independent media - https://novayagazeta.ru/ claims to be independent, maybe it is and maybe it is not but I find it hard to believe that an organisation which is housed at 101000, Moscow, Potapovsky lane, 3, building 1 (address taken from the footer of their page) can remain independent for long - it would be something for Russian media to pick up.
It's easier than ever to build p2p software. E.g. You can use Pkarr as a distributed identity system, and Iroh for reliable p2p connectivity.
There's no point in messing with custom hardware, etc. We could host bunch of redundant p2p access points for everyone, and use p2p portable software for everything.
E.g. I'm building a P2P/F2F Social Media protocol that is very close to syndication platform. https://app.radicle.xyz/nodes/radicle.dpc.pw/rad:zzK566qFsZn... . I'm not saying that it's exactly the same thing as author is looking for, but the technical bits and even functionality are very close.
What's the stat of single-compiler version ABI? I mean - if the compiler guaranteed that for the same version of the compiler the ABI can work, we could potentially use dynamic linking for a lot of things (speed up iterative development) without committing to any long term stable API or going through C ABI for everything.
"Slow" in what sense? Development? Because I self host a Conduit server and I don't ever notice messages being slow. It would be hard to notice anyway, as in a group chat people usually take some time to type in their responses.
The sync between large groups used to be slow because of amount of data, but Element X and "sliding windows" were rolled out to help with it.
AFAIK, the public Matrix server used to be slow because of a heavy load (I think), but on my self-hosted instance that's not a problem at all.
The experience of using Matrix involves a lot of sluggishness at various points in the client - waiting to decrypt messages or properly sync keys, waiting to join a room or for room search to load - these are the things that have been salient to me using multiple matrix clients with a freshly-spun-up server within the past month.
I more mindfully played a bit with my Element (web UI), and Element X (Android), and while there might something to it, and I suspect the e2e encrypted data model will always lead to some extra work required. Element seems a bit sluggish. However Element X on my Android seems butter smooth.
And event the slower Element seems far better than Discord that I'm forced to use, where I can't even scroll history without the whole thing stuttering.
Well, a lot of C/Odin/Zig people will point out that Rust's stdlib encourages heap allocations. For actually best performance you typically want to store your data in some data-oriented data model, avoid allocations and so on, which is not exactly against idiomatic Rust, but more than just a typical straighforward Rust just throwing allocations around.