3 ms·
Agree with the other commenters, very interesting insight. It maybe doesn't fit the metaphor quite as well, but as an operations person, I've frequently run in
by jdwithit 8y ago
Agree with the other commenters, very interesting insight.
It maybe doesn't fit the metaphor quite as well, but as an operations person, I've frequently run into the "underfitting" problem. For example, we run Chef to manage our physical and virtual infrastructure. There are a ton of community-authored Chef cookbooks available. Which at first blush, sounds great. But often, they have grown over time to become these awful hydras that try to be all things to all people. PR after PR has added support for the specific use case of every organization that wants to run the cookbook in their own special way. The "Getting Started" section of the README eventually becomes a dumping ground of 900 attributes you need to set correctly, and yet somehow it still doesn't quite perform how you'd like.
In many cases, we've tried to use community cookbooks and even merge our own customizations back upstream. Only to eventually give up and write our own version that's 50 lines of Chef DSL/Ruby instead of 5,000 but does exactly what we need, the way we need, and no more. It's very possible to make a system too generic and configurable, to the point where it loses all meaning.
- mwaitjmp 8y agoFound the exact same thing regarding the community cookbooks. We do use some though, it depends on the complexity and how well they work. I've either written some from scratch, taking pointers from the community ones or forked them to make them simpler and better suit our needs. Pull requests have been made where it makes sense. Glad to hear we're not the only ones who found the community ones not perfect for every need.
- rusk 8y ago> There are a ton of community-authored Chef cookbooks available. Which at first blush, sounds great. Welcome to software development! Not as easy as it looks is it :) EDIT you may find these articles helpful (or at the very least food for thought): - https://blog.codinghorror.com/dependency-avoidance/ https://blog.codinghorror.com/dependency-avoidance/ - https://www.joelonsoftware.com/2001/10/14/in-defense-of-not-invented-here-syndrome/ https://www.joelonsoftware.com/2001/10/14/in-defense-of-not-...