5 Matching Annotations
- Mar 2021
much software requires continuous changes to meet new requirements and correct bugs, and re-engineering software each time a change is made is rarely practical.
- Jan 2021
What’s the use of ie. snap libreoffice if it can’t access documents on a samba server in my workplace ? Should I really re-organize years of storage and work in my office for being able to use snap ? A too high price to pay, for the moment.
- Oct 2020
One of the primary tasks of engineers is to minimize complexity. JSX changes such a fundamental part (syntax and semantics of the language) that the complexity bubbles up to everything it touches. Pretty much every pipeline tool I've had to work with has become far more complex than necessary because of JSX. It affects AST parsers, it affects linters, it affects code coverage, it affects build systems. That tons and tons of additional code that I now need to wade through and mentally parse and ignore whenever I need to debug or want to contribute to a library that adds JSX support.
- too complicated
- unintended consequence
- implementation complexity
- infectious problem
- semantics (of programming language)
- mental bandwidth
- for-reaching consequences
- the cost of changing something
- avoid complexity
- engineering (general)
- can't keep entire system in your mind at once (software development) (scope too large)
- high-cost changes
- primary task/job/responsibility
- mentally filter/ignore
Compounding the problem of iteration disguised as oscillation is the cost of change.
Incurring high-cost changes isn't evolutionary design-it's oscillation caused by poor planning and requirements specification on a high cost-of-change component-it tips the anticipation/adaptation balance too far towards adaptation.