Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

No, it isn't.

Just because someone says X does Y, it doesn't mean it does.

For anything serious you absolutely verify checksums. Ideally you also mirror every dependency used so you don't care anymore about what's out there.

The thinking in your comment lead to Maven range and npm general atrocities.



Every time I download someone's code I replace all the == requirements with >=s and it works perfectly (I understand there are many cases when it wouldn't).

Every time an old unmaintained Linux app I need fails to start, saying it needs some libsomething.2.3 which isn't in the repos already I just symlink the libsomething.2.5 to it and it works great.

Some times this even helped me to overcome bugs/vulnerabilities.

Being able to fix a bug and update a library without the program even knowing (whithout having to get and rebuild the source or contacting the author) is why dynamic linking has been introduced in the first place, isn't it? Isn't this the "unix way"? Is having a program superglued to an outdated library with known (and fixed already) bugs really what you want?


The Unix way is not gospel, and even if it were, this is Computer Science, not Computer Faith :-)

It depends on what you want to do.

If you're hobby hacking stuff, sure.

Any kind of software that's supposed to come out of software engineering, probably not.


> Is having a program superglued to an outdated library with known (and fixed already) bugs really what you want?

It is not superglued. If you want to update dependencies, just remove the lockfile and reinstall everything. The main reason people do this is because just updating a library without the program knowing by not specifying the exact version leads to behaviour silently changing, which is terrible (especially on CI!)


You are mad.

I love you.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: