Absolutely, I was purely reacting to the "not". Every variable named not-something will lead to difficult-to-read code with double-negation like "if (!isNotSomething()) {...}".
> I'm not sure people are reading comment chains deeply enough to be swayed by two strangers arguing online
HN comments sway me more than any other source nowadays. Reading comments not directed at myself probably makes it easier because my ego does not feel attacked.
I guess I wanted to say that no tool/technology can prevent people from creating chaos (or make up for bad/non-existant processes). People need to do that. Of course, systematic people use tools as well. But you can't expect to buy or mandate a tool/technology and expect your system to then automatically have these qualities.
Not sure if tools and technologies can solve accidental complexity.
In my opinion, a system that has been stable for years isn't 'mature' in a good sense. An exceptional system is one that can still change after many years in production.
I believe this is almost impossible to achieve for enterprise software, because nobody has incentive to make the (huge) investment into longterm maintainability and changeability.
For me, consistent systematic naming and prefixes/suffixes to make names unique are a hint that a person is thinking about this or has experience with maintaining old systems. This has a huge effect on how well you can search, analyze, find usages, understand, replace, change.
- "Not-Boxes": Negatively formulated text (disable... / don't...)
- "Button-Checkboxes": Checkboxes with verbs that trigger actions
- "Radio-Checkboxes": Radios that are actually checkboxes (not mutually exclusive)
- "Toggle-Checkboxes": Checkboxes that are actually toggle buttons and can't decided wheter the text should show the current state or the state that will happen when you click.
I developed an aversion to "with love"-marketing. I've seen too many products come full circle from idealistic "ad-free-forever" "will-never-sell-your-data" "open-source-forever" "customer-first" student-times to selling out everything.
The author makes beautiful concise statements that make me feel like he has a deep, big-picture kind of understanding of computing.
I think this person would be very satisfying to work with, because decisions would be based on a discussion of tradeoffs, and an awareness of similar technologies and approaches throughout computing history.
Or when you're too lazy to hunt down the sources, both for internal and external dependencies. Just Ctrl+click the method and have a quick look at the decompiled implementation, usually good enough.
And then there is the moderate position: Don't be the person refusing the use a calculator / PC / mobile phone / AI. Regularly give the new tool a chance and check if improvements are useful for specific tasks. And carry on with your life.
I like the AI-disclaimer :). This might become a thing for blog and news articles: (c) all words written by <editor> on <date> without AI. And then there will be a robots.txt directive that allows collection of this self-declared human material for AI training. And a google search option: "ai:no" :)
Yes, I feel the same recently with Google results. But I think I would still like to see the immediate 10 results, along with a big button "Try harder - not feeling very lucky".
> Second, microwave cooking fell victim to the same curse that threatens every new easy-to-use technology: it became low-status tech.