4 ms·
He means that left-pad was an example of an issue with package managers, not an issue with DRY. Running a production system reliant on external services like NP
by crgwbr 10y ago
He means that left-pad was an example of an issue with package managers, not an issue with DRY. Running a production system reliant on external services like NPM is a bad idea and is bound to fail eventually. Running an internal mirror of NPM that you control mitigates the issue without breaking DRY.
- brudgers 10y agoMirroring NPM creates a nonDRY context in the network context. Perhaps it makes the software engineering tradeoffs of DRY versus nonDRY in source code explicit: availability versus consistency versus partition. Repeating the same code in two files/modules/functions/blocks facilitates diverging independent development directions over time. A possible benefit if it turns out the business logic needs to be less similar than I thought originally to handle the two cases: in a building the shared logic of toilet rooms and kitchens is of less importance than the divergent logic of eating versus shitting, even though each is captured by a bubble on the initial space diagram and connected to waste, water, hvac, and electrical systems in the instantiation. As a strategy, solving padleft type via generalized copying makes package management partition tolerant and available. It comes with the security problems of delayed patching, i.e. CAP's consistency. TANSTAAFL.