Remix.run Logo
yobibyte 16 hours ago

I agree! However in many cases, these edge cases (I'm not speaking of curl now) are not needed for my personal use. E.g. if I use linux/windows/os, I do not care about how my tool behaves on the other os, I do not want to support all kind of hardware etc. If I am the only users, I can prune these use-cases (and features I mentioned in the post) significantly. E.g. I reimplement a subset of vim at the moment, I do not use LSPs or syntax highlighting in my work, I do not need to implement support for them in my editor.

panny 16 hours ago | parent [-]

I'm thinking of something like curl specifically where the edge case isn't your machine, it's the machine you're talking to. Can I write my own curl-like downloader in a few hundred lines of code? Yes. Is it going to work first try with a 30 year old apache file server? Probably not. Do I want something that works "good enough" which breaks when I'm in the middle of a time crunch... or do I want something production tested that's probably not going to fail on me at the worst possible moment.

I'm willing to accept a little bloat and pass on inventing wheels myself if I can grab something reliable off the shelf. I don't think that makes me less self reliant.

balder1991 9 hours ago | parent [-]

Yeah, I don’t think the curl example was meant as a knock against curl or advice not to use it. I think any command-line user would agree that curl is not bad or bloated software, which is what they criticize.

The point seemed to be that even a rock-solid tool like curl started out tiny — just a few hundred lines — before growing to cover all the edge cases you’re describing. It’s more about showing that you can start with something simple for your own needs and customize it without depending on someone else.