It really pains me to write this post, but I am tearing my goddamn hair out in frustration, so I needed to vent somewhere.
I have been a Linux user for 25-30 years now, and while not every step along the way has been all laughs, in general I have loved the experience.
I loved the simplicity.
I loved that configurations were easy in standard human readable text files in /etc so I didn’t have to go blindly clicking through some difficult to use GUI config screen with multiple tabs of settings none of which where searchable.
I loved that it was lean and efficient. When a fresh Windows install was taking multiple gigabytes on my drive before I even started installing my programs, a base linux install with all the software I used could fit in under a gigabyte, and RAM use was under a gig.
I loved the security. That every package was reviewed by my distribution, patched, and pushed out through a single central package manager. Updates to new CVE’s were often pushed out within hours.
Life was beautiful. The system was beautiful. One dependency tree, everything managed by one package manager in one place. The beauty in its simplicity almost brought tears to my eyes.
Things have started to change for the worse though, and I am starting to hate the experience.
SystemD was the first problem. It took something simple and elegant and corrupted it with windows-like complexity.
Then gradually all of my nice and simple text config files in /etc started being replaced stupid XML, yaml or .json nonsense that is difficult to parse for human eyes and designed to be used by some bloated GUI configuration tool.
Software started getting more and more bloated as more and more software/projects started statically linking/statically compiling libraries and other dependencies, ballooning the size of a package by orders of magnitude
ifup/down was nice and simple and designed for human eyes. Now netplan and its ip command requires special “human readable” command line options in order to be better aligned and easier to read. Not to mention its god awful yaml-based config file.
And then the final horrible nail in the coffin. The slow gradual death of the “one package manager” philosophy.
Some packages are only available as Snaps, others only as AppImages, yet others only as FlatPaks. And that’s if they aren’t only distributed as Docker images or entire collaborating systems of Docker Compose setups.
Worse yet is shit like pip for python or npm for NodeJS adding yet another set of package managers on my system that already has a package manager in additionto several packages installed via stupid all in one package images like Snaps/Flatpak/AppImage.
It’s enough to make me want to scream and start stabbing people.
So much focus has been placed on making developers lives easier that we have lost track of what really matters.
I am completely and totally fed up with the “move fast and break things” mentality. As a human being who lives in society I have a vested interest in things NOT BEING BROKEN.
It feels like with all the whiners who didn’t like to develop software to system dependencies crying that they needed a simpler to work with system they have absolutely ruined the modern Linux experience.
They have taken the beautiful unified system and turned it into a bloated fragmented and difficult to manage mess…
…just like Windows.
And they might say, well, if you don’t like the alternative distribution systems (like Snaps/FlatPak/AppImage/Docker/Pip/Npm) and whatever other random junk they make up next, then don’t use it.
But that is no longer an option. Proper software that resides as a proper package in the unified package manager and is not statically compiled/linked with libraries/dependencies is a rare unicorn today.
Lots of absolutely necessary software simply isn’t available in a traditional package anymore.
It fills me with a blind rage.
Maybe software should be more difficult and time consuming to develop. Maybe it would be better if more labor intensive software development practices resulted in less software being developed, and only the important stuff was focused on instead of there being 17 different phone flashlight apps and different varieties of calculators.
The more I think about it the more I am convinced we need to go back to ~2005-2007 some time and start over, be cause this…
…this isn’t working.
Fuck SystemD
Fuck snapd.
Fuck Flatpak
Fuck Appimage
Fuck Docker
Fuck Node.js.
Fuck FastAPI
Fuck pip and venv
Fuck npm
I have just completely had enough. I have been a tech enthusiast my entire life to the point where I pretty much have no other interests, but the state of things today makes me want to just burn it all down.
I hope they all die in a fire. (and they can take “the cloud”, “mobile”, “IoT” and “big data collection/monetization” with them.)
I don’t give a rats ass about “developer agility”. When you decided to be a software developer for a living, proper software lifecycle management, packaging and documentation are all part of what you signed up for, and if you don’t like it, maybe go do something else. Maybe it is for the best that “AI takes your job” so the rest of us don’t have to suffer through your bullshit.
We need a pendulum swing to where the Developer Experience is no longer a consideration, and i6t is replaced with system stability, efficiency and security as the primary concerns.

