Nora writes about Rust, Mastodon and the fediverse, Linux hardware, programming education and open source.
HN commenters link her Mastodon scaling post about Sidekiq problems after the exodus, and one cites her blogging on social network lock-in.
"unsafe" has a very specific meaning in the context of Rust[1][2]: particularly letting you perform actions that can potentially cause undefined behavior. Defining `as` as saturating is removing UB. That being said, the reason it is considered unidiomatic is because saturating or wrapping might not be what your intention could be, so other ways of turning one type to another is needed and should be recommended (into and try_into). The compiler should help you in going in that direction[3], and even though rustc itself doesn't warn you away from using `as` casts, clippy can[4][5][6][7][8][9][10].
[1]: https://doc.rust-lang.org/nomicon/what-unsafe-does.html
[2]: https://nora.codes/post/what-is-rusts-unsafe/
[3]: https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=9eb6a3f199ad6c5205e64a608a752c31
[4]: https://rust-lang.github.io/rust-clippy/master/#cast_lossless
[5]: https://rust-lang.github.io/rust-clippy/master/#cast_possible_truncation
[6]: https://rust-lang.github.io/rust-clippy/master/#checked_conversions
[7]: https://rust-lang.github.io/rust-clippy/master/#char_lit_as_u8
[8]: https://rust-lang.github.io/rust-clippy/master/#cast_sign_loss
[9]: https://rust-lang.github.io/rust-clippy/master/#cast_precision_loss
[10]: https://rust-lang.github.io/rust-clippy/master/#cast_possible_wrap
Mastodon has had its issues, both globally and for specific instances.
Sidekiq falling over is a big one. See: <https://docs.joinmastodon.org/admin/scaling/> and <https://nora.codes/post/scaling-mastodon-in-the-face-of-an-exodus/>
(I have to email my own admin every few months to ckeck if things are OK.)
And during the October Revolution as hoardes arrived from birdland, things got ssssslllloooowwww globally.
Worked out eventually, but it took a bit.
Individual instances also tend to run into scaling issues, with Jerry Bell's Infosec.Exchange coming to mind. (Mostly because Jerry's discussed this a bit.) And of course individual instances can be shut down or fail in various ways. I've migrated several times myself.
I will say that most of the time things seem fine, and it's exceptionally rare for there to be truly Fediverse-wide issues.
(I've been on Mastodon / the Fediverse since 2017, for the most part quite actively.)
I don't agree. "Ourselves"? Did I have a choice in my entire social network choosing to use Facebook and Twitter? Did I have a choice in LinkedIn being my best option for getting employment? No.
I talk about this stuff all the time. I blog [1] about it and complain about it to my family and friends until it gets annoying. And it _does not matter_ how much individual effort I put into this because people have no incentive to change.
1: https://nora.codes/post/deletefacebook-and-fosta/