This makes sense in the modern age where retailers accept returns for any/no reason and manufacturers tend to bend over backwards to get you to avoid returning anything.
Same reason why any furniture you order online seems to always have all the tools necessary to assemble it. They never require power tools and always include screwdriver(s) and/or Allen wrenches. They need to design away every possible reason someone might just return it.
I was actually spoiled by the fact that self-assembled furniture typically does not require any power tools. Then I bought a bike rack and was disappointed that the first step required a drill.
Most unions in the US seem to have pretty strict rules about titles, who does what, and how much each role gets paid. It's not unreasonable to expect it'd happen with software developers, too.
That said, I always point to the NFL Players Association as one that seems to be able to provide value to highly and diversely paid talent apparently without kneecapping their high performers. Though it's not something I've researched deeply.
It is overwhelmingly less resource-intensive to maintain over time than any Jenkins server. And the config is in the repo (not the Jenkins server's config).
Once you get beyond shell, make, docker (and similar), dependencies become relevant. At my current employer, we're mostly in TypeScript, which means you've got NPM dependencies, the NodeJS version, and operating system differences that you're fighting with. Now anyone running your build and tests (including your CI environment) needs to be able to set all those things up and keep them in working shape. For us, that includes different projects requiring different NodeJS versions.
Meanwhile, if you can stick to the very basics, you can do anything more involved inside a container, where you can be confident that you, your CI environment, and even your less tech-savvy coworkers can all be using the exact same dependencies and execution environment. It eliminates entire classes of build and testing errors.
I use to have my Makefile call out and do `docker build ...` and `docker run ...` etc with a volume mount of the source code to manage and maintain tooling versions etc.
It works okay, better than a lot of other workflows I have seen. But it is a bit slow, a bit cumbersome(for langs like Go or Node.js that want to write to HOME) and I had some issues on my ARM Macbook about no ARM images etc.
I would recommend taking a look at Nix, it is what I switched to.
* It is faster.
* Has access to more tools.
* Works on ARM, X86 etc.
I've switched to using Deno for most of my orchestration scripts, especially shell scripts. It's a single portable, self-upgradeable executable and your shell scripts can directly reference the repositories/http(s) modules/versions it needs to run without a separate install step.
I know I've mentioned it a few times in this thread, just a very happy user and have found it a really good option for a lot of usage. I'll mostly just use the Deno.* methods or jsr:std for most things at this point, but there's also npm:zx which can help depending on what you're doing.
It also is a decent option for e2e testing regardless of the project language used.
What if we just don't want to subsidize giving people lifelong obesity and metabolic disorders? Why does that necessarily imply we have to agree with you on other issues? Do we need to make it tribal and ascribe ulterior motives?
> giving people lifelong obesity and metabolic disorders
Is that a given? People can drink soda without getting fat. And plenty of people get quite large without ever drinking soda. This seems more personal, like intentionally causing suffering as a moral imperative.
It seems unnecessarily reductive to insist that we must choose between endlessly subsidizing Mountain Dew and Twinkies or that poor children should never be allowed to have cake.
Mountain Dew and Twinkies are bad for your health regardless of your income level. We should tackle unhealthy eating by going after the supply, not by going after a class-segmented group of consumers.
Like many Americans, I grew up in a town where unhealthy eating was a major part of the social rhythms of life: a bag of buttery popcorn at the movie theater, an ice cream at the zoo, things like that. Not having the means to participate in these simple pleasures is a kind of social deprivation. I view redistributive programs as a tool to lessen the gap between families. Food regulators can handle the junk food problem.
I don't think we have an obligation to legislate everyone's health, but I do think it's a higher ask when we're talking about explicitly subsidizing bad choices for people most vulnerable to making them. I don't think we should subsidize cigarettes for poor people, either, even if that means they are still accessible to rich people in a way that's perceived as unfair.
And besides: people of high incomes already disproportionately avoid these highly processed foods, so it's not like we're hoarding the wealthy pleasures of Mountain Dew and Twinkies just for them.
I agree that we should not provide targeted subsidies for Twinkies, Mountain Dew, or cigarettes. The whole premise of food stamps is flawed. We should provide cash instead.
If there is an objection that giving cash is equivalent to subsidizing Twinkies, I would push back. Child tax credits are in many ways economically equivalent to cash transfers, but we don't usually see arguments that this is a subsidy for Mountain Dew.
It is also often low-proficiency developers with their minds blown over how quickly they can build something using frameworks / languages they never wanted to learn or understand.
Though even that group probably has some overlap with yours.
The comment you're replying to says other companies have taken the "software" and the "iPad". To genuinely believe that, one must have not spent much time using Tesla's software or "iPad" to compare with competitors.
It becomes more and more clear that traditional automakers see software as just another lowest-cost component of the car. I understand VW actually started putting effort into their software, but I haven't heard good things about it. Maybe it'll get better.
They cancelled that effort. They tried to create their own software company but shuttled that effort and are back on the "integrate the different vendors" bandwagon.
Same reason why any furniture you order online seems to always have all the tools necessary to assemble it. They never require power tools and always include screwdriver(s) and/or Allen wrenches. They need to design away every possible reason someone might just return it.
reply