In my experience, even with simple flask projects, I've found just the difference between Ubuntu and Arch to be irritating:
1. Ubuntu seems to have trouble with psycopg2 while Arch does not, so I often use psycopg2-bin just so Ubuntu developers can easily install the requirements (learned the hard way).
2. Some older (supported) editions of Ubuntu create extra lines in `pip freeze`, including `pkg-resource=0.0.0` which throws an error when installing on nearly any machine (including cloud versions of Ubuntu in Github Actions.
I have an application that uses docker-compose and has Elasticsearch as an image. In order to run it, I have to expand the vm_max_map (or something, I forget). But there are different ways of doing this in Windows vs Linux.
Differences between environments are legion. Unless a company wants to just send standardized laptops to every developer, it seems way better to just spin up a cloud vm that is already set. Plus, there's easier reproducibility in a cloud vm vs a physical machine (unless you want to reach for something like nixos, but hell, what company is equipped for that yet?
The difference between Debian and Ubuntu is enough to be a nuisance.
The Dell XPS laptop my employer provided cannot boot Debian and I'm stuck with
Ubuntu. Same packages, maybe a version or two are more recent right? Nope.
Aside from the egregious transparent snap installs when using apt (which can't
uninstall snaps, thanks Canonical), there's a lot of minute details that amount
to quite a time loss (that and having a laptop with no USB/RJ45/HDMI ports).
Simple scripts that work on one OS and not the other, font scaling and
rendering making my standard 1080p screen unreadable, absurd default
configuration that makes WiFi unusable, etc.
Glad I don't have to manage the same oddities for the actual work I do.
Everything is simple once it's all Dockerized.
But that's not true either. I had a different problem setting up the repository
with every developer and they were all using the same OS.
No repo in sources.list (how?), no docker group created when re/installing the
docker package (why?), all kind of weird stuff happening.
So you tell me there's a way to have all devs working and testing on the same
environment? That's great!
But it is _not_ worth handing over everything to Microsoft or any other third
party.
I'll never trust GitHub, GitLab, or any other forge with business-critial stuff.
Host your own code, commit your dependencies, have your build script work
locally.
I've deployed through Git{Hub,Lab} outages and the leftpad fiasco, and the cost
was insignificant. Host a mirror there for cheap if you want, that's what I do
for my public projects (but after the copilot debacle how can I trust GitHub
with anything?).
And what if you're a remote team? You can't rely on the internet. My ISP was
kind enough to remind me of this when I got my very first outage with them one
hour before starting at my current company.
As valuable a product GitHub is and Coderspace may be, it is a step closer to
the Minitel 2.0 where everything is centralized and controlled by a single
entity. It's not the internet, it's MSN at best.
1. Ubuntu seems to have trouble with psycopg2 while Arch does not, so I often use psycopg2-bin just so Ubuntu developers can easily install the requirements (learned the hard way). 2. Some older (supported) editions of Ubuntu create extra lines in `pip freeze`, including `pkg-resource=0.0.0` which throws an error when installing on nearly any machine (including cloud versions of Ubuntu in Github Actions.
I have an application that uses docker-compose and has Elasticsearch as an image. In order to run it, I have to expand the vm_max_map (or something, I forget). But there are different ways of doing this in Windows vs Linux.
Differences between environments are legion. Unless a company wants to just send standardized laptops to every developer, it seems way better to just spin up a cloud vm that is already set. Plus, there's easier reproducibility in a cloud vm vs a physical machine (unless you want to reach for something like nixos, but hell, what company is equipped for that yet?