---
type: blog-post
title: I like linux more
description: I like linux...
draft: false
date: 2024-04-11
updates:
  - time: 2024-04-11
    description: first iteration
tags:
  - "#blog"
---

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
