I dunno. libsodium is a small dependency. But rewriting that puts users at risk.
Conversation
This Tweet was deleted by the Tweet author. Learn more
Crypto is no less dangerous to rewrite if it’s 20 lines or 200.
3
It can also be dangerous to reuse code that's poorly implemented or maintained. This is particularly true with cryptography. I often see libraries as a painful compromise because I know I could do a better job if I had the time to invest. Sometimes I can't make that compromise.
2
2
Yeah, the flip side of “never write your own ___” is when everyone ends up uncritically using a poor off the shelf implementation, whose flaws then end up getting revealed
1
2
I wrote about on my feelings on this here to try to steer other people away from adding external dependencies and then being disappointed that I won't accept the code:
grapheneos.org/build#library-
I've often had bad experiences where I think a library looks good and am proven wrong.
1
1
This applies 10x to anything tied to web development. In most cases, if it's not supported by the browser or standard library, I have no interest in using it, especially on the client. Supporting only the latest versions of each browsers (Edge, not IE) helps a lot with that.
1
I have high standards for libraries and a deeply seated fear of them making backwards incompatible changes not considering my use case leaving me screwed. I won't touch anything tied to GTK+, GNOME, freedesktop.org. In some ecosystems (web), libraries come and go as fads.
1
2
2
Why freedesktop.org? I agree with you about GNOME and GTK+ but I thought free desktop.org was a cross-platform initiative
1
They're extremely guilty of replacing the standards / implementations over and over again because they don't invest the time in coming up with a reasonable design from the start. Flatpak in particular is another total joke and doesn't even learn from 2008 era app security...
1
1
If you think PipeWire replacing PulseAudio is going to be the end of that saga... or Wayland replacing X11...
When the replacements are so extremely flawed and impractical it's no wonder it takes no long to migrate to them and by the time it's getting done there's a replacement.
I could just point in the general direction of systemd and all the defacto standards tied to it. I don't understand the design approach. I don't understand writing all this new code in C either, particularly when the people doing it clearly don't have much understanding of C.
1
1
1
It's mostly completely oblivious to secure design and implementation approaches. Security is treated as if the way it's accomplishing is checking off a list of entirely optional user-facing features, with a completely insecure implementation / foundation underneath that.
1
1
1
Show replies


