"A little copying is better than a little dependency."
post
When I do a security audit on apps with hundreds of dependencies, I die a little bit
Another level of this dilemma:
- Pin all dependency versions – Prevents receiving security patches
- Don’t pin dependency versions – Enables supply chain attacks (see https://nesbitt.io/2026/02/03/incident-report-cve-2024-yikes.html)
Reuse is only good in the context of 90s era OO programming wisdom of "Coupling is bad, cohesion is good".
Took me a bit. I was staring at it for a while thinking 'What part of this is socially awkward?'
I still don’t understand
It's pointing out the conflict between two coding ideals - first, reducing duplicate code so that you don't have to reinvent the wheel and/or copy-paste code (which often means making calls to libraries) which is represented by the red penguin facing right, and second, wanting to reduce dependencies so that external variables are reduced (which would mean including code in your codebase that otherwise would be an external library call) which is represented by the blue penguin facing left.
The closer you get towards one ideal, the further away you get from the other.
Ah, I guess it still just doesn’t feel like an awkward penguin meme, but I understand the duality.
Or just copy paste the file with your utility code from project to project, with no way of tracking it. Spending time trying to find the most up-to-date copy is just part of the fun!
all 11 comments