I like linux more

@kjuulh

2024-04-11

This may not come as a surprise to anyone. But I feel the need to state this as a person probably spending 8 hours a day on a Mac. Linux is superior for my profession; software engineering.

I can imagine you rolling your eyes right now, yet another nerd screaming into the void that their niche choice that none understand somehow is better than a behemoth of engineering that is MacOS.

First of all Linux is built for and by software engineers. It definitely has its own idiosyncrasies but for me most of the choices made by my distribution, (fancy name for a curated experience on top of the linux kernel).

A distribution on linux, often abbreviated as distro, is a set of software which includes the linux kernel in their delivery. Like installing Windows, MacOS etc. You're probably used to just those choices, but on linux it is different. We call it linux, but you won't find a linux distribution. Instead you will find flavours of linux that include linux as their base os. I.e. Ubuntu, Debian, Arch, etc. Each are as different as windows vs macos. At least from a users perspective. So it can be confusing which is the right one for you.

Linux unlike the other OS' actually allows you to choose what you prefer, each distribution is built by people which range from you - yourself (linux from scratch etc.) to fedora (redhat, owned by ibm), or ubuntu by canonical. These flavors are vastly different in their user experience, so much so that for a lay person, it without knowing that linux is the base kernel that all of it is built on, you wouldn't even know they share the same DNA.

The linux desktop, which I am writing about in this article, is different than the linux server that most developers are familiar with. Not in the basics, but the user experience, simply, the linux desktop with all its flavors simply has a lot fewer eyes on it than the linux server as the industry standard for servers operating systems.

Eyes on software, and hands on keyboard is one of the most important metrics in software engineering. Simply a software that is more important to more people is more mature and refined. (often, Jira phew.)

This has already drawn on long enough, but in my experience, unlike MacOS; Linux actually allows me to be productive in the way I choose - professionally. As a software engineer, I am by nature or nuture, a poweruser. I usually switch work between a browser and an editor which I use to edit the programs I write.

Often, I like to focus on a single thing at once, so I have my editor on one screen, and a browser, communication app, planning board on the other. A need then emerges that I quickly need to switch between these.

MacOS does allow setting keybinds to switch between these. However, there is no keybind out of the box to send a program to another screen. And lets say I really need that feature - which I do, don't ask.

I basically have to resort to rooting my device (rooting is a fancy term for getting access to the dirty bits of the OS. Normally you don't want to touch this as it really is like opening up pandoras box, you don't know what is gonna happen). Should I do that on a company device, probably not.

The problem here is that I have to be satisfied with what Apple or Microsoft for that matter provides for me, if I don't like it, I basically have to violate every security best practice to simply set an uncommon keybind. While on Linux I can just choose to change my configuration, or desktop to include that piece of functionality.

Linux actually allows me to control my device how I prefer, I don't ask for anything complicated, I just want to open a program on another screen, is that really so serious, I can do that using my mouse, why can't I do that using a keybind?

I hate using my mouse