Examples: Difference between revisions
From YM2149.org
Jump to navigationJump to search
No edit summary |
|||
(3 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]] | ** Also see [[Monorepo]] | ||
Line 18: | Line 19: | ||
* Gradle, which claims to be a better Maven | * Gradle, which claims to be a better Maven | ||
** In practice it solves none of Maven's problems while creating some of its own | ** 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 | ** Groovy in general, which claims to be a Pythonic Java but ends up being worse than a bucket of its parts | ||
* 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 just one plan and apply per config | |||
[[Category:Programming]] | [[Category:Programming]] | ||
[[Category:Wisdom]] | [[Category:Wisdom]] |
Latest revision as of 22:41, 22 February 2025
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 ends up being worse than a bucket of its parts
- 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 just one plan and apply per config