Examples: Difference between revisions
From ym2149.org
Jump to navigationJump to search
(Created page with "== Bad consensus == * A majority can agree and still be wrong * Checked exceptions, unpopular because of a blog post ** Now the compiler can tell you what params your function takes and what it returns, but not how it can fail * Markdown, popular despite having significant trailing whitespace ** It happened to exist at the right time * Continuous integration builds that can't be reproduced locally, or on anything other than one specific CI service or imperfect clone * P...") |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
** It happened to exist at the right time | ** It happened to exist at the right time | ||
* Continuous integration builds that can't be reproduced locally, or on anything other than one specific CI service or imperfect clone | * Continuous integration builds that can't be reproduced locally, or on anything other than one specific CI service or imperfect clone | ||
** Jenkinsfile, github actions | |||
* Procurement based on a tool getting you up and running in 5 minutes, when that's a negligible part of the total cost of the project even if it's 2 weeks | * Procurement based on a tool getting you up and running in 5 minutes, when that's a negligible part of the total cost of the project even if it's 2 weeks | ||
** Also see [[Monorepo]] | |||
* Logging turned down to a trickle, which makes incidents near impossible to investigate | * Logging turned down to a trickle, which makes incidents near impossible to investigate | ||
Line 19: | Line 21: | ||
** Groovy in general, which claims to be a Pythonic Java but does not come across as Pythonic | ** Groovy in general, which claims to be a Pythonic Java but does not come across as Pythonic | ||
* Helm, a glorified templating tool that fails to be DRY for trivial tasks and gets in the way when you try to do something non-trivial | * Helm, a glorified templating tool that fails to be DRY for trivial tasks and gets in the way when you try to do something non-trivial | ||
* Terraform has the right idea of being declarative but is otherwise | ** state can get out of sync with reality, causing deployments to appear to succeed while reality still out of sync with codebase | ||
** diff plugin easily confused by duplicate templates | |||
* Terraform has the right idea of being declarative but is otherwise unsophisticated | |||
** hacks needed to work around one plan and apply per config | |||
[[Category:Programming]] | [[Category:Programming]] | ||
[[Category:Wisdom]] | [[Category:Wisdom]] |
Latest revision as of 11:17, 19 April 2024
Bad consensus
- A majority can agree and still be wrong
- Checked exceptions, unpopular because of a blog post
- Now the compiler can tell you what params your function takes and what it returns, but not how it can fail
- Markdown, popular despite having significant trailing whitespace
- It happened to exist at the right time
- Continuous integration builds that can't be reproduced locally, or on anything other than one specific CI service or imperfect clone
- Jenkinsfile, github actions
- Procurement based on a tool getting you up and running in 5 minutes, when that's a negligible part of the total cost of the project even if it's 2 weeks
- Also see Monorepo
- Logging turned down to a trickle, which makes incidents near impossible to investigate
Triumphs of marketing
- Create or exaggerate a problem, solve it just well enough to ensure vendor lock-in, collect support money
- IntelliJ IDEA, which claims to beat Eclipse
- In some ways it does, thus developers never see the benefits of Eclipse's remarkable built-in compiler
- Gradle, which claims to be a better Maven
- In practice it solves none of Maven's problems while creating some of its own
- Groovy in general, which claims to be a Pythonic Java but does not come across as Pythonic
- Helm, a glorified templating tool that fails to be DRY for trivial tasks and gets in the way when you try to do something non-trivial
- state can get out of sync with reality, causing deployments to appear to succeed while reality still out of sync with codebase
- diff plugin easily confused by duplicate templates
- Terraform has the right idea of being declarative but is otherwise unsophisticated
- hacks needed to work around one plan and apply per config