there is an important third category of options, which is to reproduce the desired functionality of a library.
good text handling is important to users, so it is equally important that more programmers practice the implementation of good text-handling libraries (from scratch).
Conversation
With all due respect, this is implying that English speakers can write, say, Arabic text handling just as well as Arabic speakers can. Not only is this false, this sentiment has ugly cultural implications.
2
3
Expecting everyone to contribute to one monolithic culture has its own problems. Would building a software ecosystem for Arabic speakers be easier if it didn't need to fit in Latin-centric infrastructure?
1
I think this is key to argument: _small_ deps are the concern, and the putative "harm done" by rewriting a dep (because you don't trust it or simply don't _like_ it -- deps are always a bit of an imperfect fit) is proportional to the dep's size. Big deps matter, but are accepted.
1
1
6
I dunno. libsodium is a small dependency. But rewriting that puts users at risk.
2
1
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.
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
Show replies




