Braindump 1

2024-05-02 Quick braindump. Art & Fear: Quantity trumps quality https://blog.codinghorror.com/quantity-always-trumps-quality/ Implicit structures: 1. Outputs are independent (ie. modifying old pots teaches less than making new pots) 2. Significant room for variation 3. Incentive to stack improvements (even if it's just self-satisfaction) When you rewrite code: a) You are much faster than the first time since you have a birds-eye view of the problem. b) You correct outdated design decisions that make tradeoffs no longer relevant. c) You improve your skills and understanding. Reducing software complexity is good primarily because it makes it easier to rewrite from scratch. Rather than avoiding rewrites, you should rewrite quickly and often. How can you reduce the friction of rewrites? Avoid Socratic humility though. https://lobste.rs/s/tlmvrr/i_m_programmer_i_m_stupid Wikibooks: Usability for Nerds https://en.wikibooks.org/wiki/Usability_for_Nerds Tradeoffs in software design? - Complexity - Flexibility - Efficiency I don't know whether it's very helpful explicitly thinking about that. Your primary objective should always be to provide the most value possible to the user, not to capture the most value for yourself. Long term vs short term thinking.