The mumblings of a Christian autistic husband, dad, IT guy and amateur radio operator - Will Brokenbourgh / AF7EC
Happy belated New Year!
While we ride out America's current health, societal and political crises, I thought I'd focus on something a little less inflammatory: operating systems (ha!).
For quite a number of years, I've used the Linux operating system for work and personal use. While it's necessary to run Windows in a virtual machine sometimes and I have to plug my Mac mini in to test my software, Linux has been it for a long time. But Linux has slowly become "someone else's OS" because of the recent changes in it.
The last straw
I've been rocking Linux on a semi-recent AMD Ryzen processor with fast RAM and an SSD, plowing quickly through code compiling and other CPU-intensive tasks. Then some update happened with the kernel, some important piece of the Linux kernel was monkeyed with by Linus Torvalds and friends. Now I have a system with poorly-performing sound (when it works at all) and other glitches which frustrate me. When you use your computer for programming and for supporting a large number of customer computers, you need reliability, not stupid kernel glitches (see Disclaimers at bottom).
The final straw was when I was trying to troubleshoot something on a virtual terminal and needed to scroll up. On Linux, typically you do [Shift] + [PgUp] or [PgDown] to review terminal lines that have scrolled off the screen. Now it no longer works -- broken by design. Linus said they dropped it because the code isn't maintained anymore but also because no one uses it anymore! He didn't ask me, and the others who actually use this feature!
I started using Linux around 2001 when I had purchased the 'Linux for Dummies' book which came with a CD of an early version of the Slackware Linux distribution. Due to sad and painful things happening in my personal life, I had to drop my Linux use until around 2004. Those were the Red Hat Linux 9 days. I also dabbled with Knoppix, Slackware and others, but was stuck using Microsoft Windows because I hadn't learned enough about Linux to make it my full-time work OS.
Around 2010 or so, I decided to use only Linux for my full-time work OS. I believe I was using Arch Linux and had purchased hardware that should have worked well with it. Things went pretty well until Arch decided to abandon SysV init in favor of systemd. After that, there were problems galore, so this kicked off a lot of distro-hopping. I tried Debian for a while, but the video performance was horrible compared to other distros, and the packages I needed were just too old. Ubuntu was in a state of flux, so I didn't stay with it long. Other distros were either too wacky or weren't very stable with my hardware. These were not fun times, OS-wise.
Every two years or so, I'd purchase different hardware -- often from different manufacturers -- to see if it would work better on Linux. Some hardware would work fine while others were okay for a while, only to be rendered non-operational or buggy due to distro updates. During this time, I'd often think about returning to Windows, but then quickly shook that thought out of my head. Windows just didn't have the software packages and development libraries I needed and it was -- ew -- Windows!
Throughout these years of Linux try-outs, I had also been trying FreeBSD, seeing if it could replace Linux. Unfortunately, until very recently, FreeBSD had even worse incompatibilities with my hardware, and lacked some software packages I needed to support my customers. But every release or so, I'd download the latest ISO and gave it a try. I also tried using OpenIndiana for a while, and sometimes it would work great, then I'd boot it the next day or week and it acted like someone else's computer!
systemd -- a disruptor (in a bad way)
The pro-systemd camp says that systemd is a major advance in computing technology. Those against systemd point out how ridiculously deep it embeds itself in typical Linux systems. I really have tried to make peace with Linux distros that use systemd. I have tried to plug my nose from the stench. I have just tried to 'move on' and get some work done and not fret about the moral implications of using a systemd-based distro. Time and time again systemd makes itself known by hanging the system when trying to shut down, or leaving weird processes running long after I've logged out, or... Enough! People who complain about systemd have plenty of grounds to do so. If Red Hat, Lennart Poettering and friends feel like donating computers that run systemd well to people who need to use Linux, that would be a nice olive branch.
Some of you may be saying "Will, why not try some of the systemd-less Linux distros out there?". Boy oh boy, have I tried them. Almost all of these distros are unreliable, or the people who run these projects treat other people poorly, or the project dries up, or the project changes names and download servers every other week or ... You get the picture. The closest I've had to success with a non-systemd Linux distro is antiX, but it had problems supporting some more recent hardware, so, yeah.
Back to the Mac
Tired of the fooling around, I went with macOS for a while. For the most part, because it was macOS running on actual Apple, it worked well, but I felt like I had somehow 'sold out'. It had always been my desire to use an open-source operating system, but I must have been the only guy in the universe who purchased exactly the wrong hardware for the job -- every time! Because of the unique way I think (bus crashing into my car, knocking me out, brain damage, etc) programming on macOS is just too cumbersome. I like C-like languages, but without the four-million brackets necessary for Objective-C. Swift looks like a nice language, but it still seems like it's not ready for prime-time yet. I did find I could use C++ and FLTK on macOS, but it looks so foreign next to native Cocoa apps. I wasn't happy with that.
FreeBSD to the rescue?
After 'the last straw' mentioned above, I ditched Linux for FreeBSD the other day. FreeBSD isn't perfect, but after finding some compatible computer hardware that appears to work well with it, it's doing okay. I don't have to deal with systemd's stupid glitches, I don't have to deal with Linus and friends removing useful functionality from the Linux kernel and there aren't hundreds of processes running in the background for things I don't even use!
For example, with a full MATE desktop, Firefox, Thunderbird, Pidgin, MATE terminal, Pluma, Xclock and Audacious running, there are only 82 processes running on FreeBSD 12.2. On an Ubuntu desktop, there are 182 processes running, and that's before any desktop user has logged in! I admit that Linux is the 'Swiss Army Knife of OSs' -- it's very useful and has tons of great tools available -- but that's pointless if it can't run properly on the hardware you have on-hand. My family and I currently don't have the resources to just purchase something from System76 and call it a day. I have to scrounge through boxes of old tech, trying to find something that will work together. The computer I'm using with FreeBSD right now is made mostly of old donated parts, with the exception of the SSD and RAM. I purchased the SSD and RAM for my now-unusable Ryzen system.
So is FreeBSD a forever thing?
I doubt it. It seems like as time goes on, organizations change, priorities change, and what is important to system developers today is almost completely ignored in four to five years. FreeBSD may end up dropping support for my hardware, or they do some unthinkable evil against humanity and port systemd to FreeBSD, or they dry up and die, or...? Maybe one or more of the non-systemd Linux projects will gain a benefactor with deep pockets and a burning desire to see Linux set free from the pain of systemd. Who knows?
All I know is that I really don't want to go back to Mac, or to Windows, or to Linux that behaves badly because Linus and his compadres are tuning it a certain way for some corporation or group. I used to think that Linus Torvalds, despite his rough edges, had a level head and couldn't be improperly influenced. Now that he's older, he may have less of that independent spirit within him, and may be willing to compromise his previous standards. I really don't know for sure, but the main gatekeeper of the Linux kernel seems to be napping while those who have malicious motives sneak into the castle to poison the wine, steal valuables and generally wreak havoc.
Whichever operating system I eventually settle on needs to have easy access to the development tools and packages that I've come to rely on when using Linux. It needs to be a somewhat healthy project and the project doesn't give donation proceeds to baby killers, evil causes or entities that support demonic or satanic activities. The folks involved with the project shouldn't treat me (or others) like garbage when asked perfectly valid questions. And, of course, the project's operating system needs to be stable, reliable and supports a reasonable swath of hardware.
I am an IT guy, so I don't just instantly give up when I encounter issues with any OS. I try to research each issue and see if I can reach a reasonable solution before giving up. Trust me, I've spent many an hour researching, tweaking and testing to get an OS running right.
I am also aware that I could configure a custom Linux kernel and do whatever I want with it to suit my individual needs, but that's not terribly convenient. I often have tight time constraints (I recently tried to install Gentoo three times in a row, having a migraine and assisting my child with his home schooling, and each install attempt was a failure. Guess I'm too much of a noob or something?? )
My good friend and fellow IT guy often says I have the 'Gabriel effect'. Although I can't find a solid definition on the web, I'm guessing he means that I have some force-field or invisible power that destroys electronic equipment -- more specifically, computer hardware!
God bless you, and thank you for reading!
In any case the VT code has long been known to be extremely crufty and buggy, eventually it will probably be replaced with something better.
Also I have started using Artix and Gentoo since I can avoid systemd that way.