My Desktop Computer Philosophy

You might be surprised to learn that my desktop began as Ubuntu 7.04, the boot drive was FAT/MBR on an IDE drive. I upgraded versions of Ubuntu all the way to the present 22.04 LTS. Along the way I moved from an IDE drive to SATA, from FAT/MBR to GPT/EFI, from SATA to SATA SSD and finally to an NVMe drive. During the course of my career, it shocked me how many people in the IT field had no issues with a wipe and reload philosophy. They thought they had done their job by providing a new clean OS install and restoring the user files and the essential applications for the end user.

I believe that a very significant part of the way that computer users operate is with installed applications, and most importantly, all of the hundreds of customizations and application integrations between apps that users establish over time. I don’t care if my data is restored if I am missing significant add-ons, tool bars, application customizations, menu placements, and apps that integrate my data with other apps.

All these things are fundamental in the way that I work. If they are changed or missing, my productivity takes a hit. The changes I have made to my Ubuntu configuration over the last 15 years has been a labor of love with a fine degree of granularity. In many ways, the Ubuntu that I run today looks nothing like stock Ubuntu. For example, not only did I replace the nautilus file manager with nemo, but I have nemo manage my desktop with the Cinnamon desktop manager and I have several nemo add-ons that make Nemo highly fuinctional. All these changes survive each Ubuntu upgrade.

The modifications and changes to gnome, the toolbar, and window manager preferences are also very complex. My desktop is not really a configuration that can be documented by notes, it is an ongoing evolution towards the tools that make my life easier.

In 2007 I moved away from Windows when Windows Vista became responsible for a significant data loss that even my backups could not fully resolve. It was at that time that I moved to Linux and never looked back. For Windows users, who lack choices in their underlying operating system components like the task bar, the Window manager, the file manager, the login manager, and many other components, this is difficult to understand. In the world of Windows, customizations are most often just cosmetic patches and not a selection of different tools.

Also, in the Windows world, the more applications that you install, the more convoluted that the operating system becomes, the bulkier the registry becomes, the more DLLs you have and conflicted applications do make the operating system run more slowly. For that reason, a wipe and reload seems to be the only way. If Microsoft were a hospital, killing the patient and just awaiting the next birth would be acceptable. Triage and addressing the root cause of an illness would be a lost art.

Fortunately, with Linux, I have literally hundreds of apps installed. They don’t run unless I run them. They don’t load components unless they are running. They don’t make my system slower just because they are installed. They are present on the disk when I need them. When I do install a new application, the package manager resolves dependencies and doesn’t create a train wreck that either breaks other apps or makes the system not run properly.

Windows users new to Linux often distro hop. The reason is they are looking for the perfect out of the box solution. There are nice distros out there, but never look at a given distro as an end point. Start with a distro and stick with it. If you don’t like something in it, rip it out. Tweak it. Make it yours. If it lacks something, add it in. Again, a distro is an evolution and not an end point. Linux allows changing everything and anything. You are empowered. Fixing problems is easy. Nothing that is broken stays broken for months or years. Solutions are accessible. Problems are not chronic.

I think that a desktop OS should always evolve with the user as they change their needs and requirements. In contrast, server instances should be simple configurations, that are easy to install. They should be well documented and it should be possible to rebuild them from notes and backup data.

This is why I make a complete image of my desktop OS. It’s not truly yours until you void the warranty. Humorous, but true.