Alex’s Blog

Random musings on life, tech, and anything else

Buy me a hot chocolate! | About Me


MacOS, Windows, Linux, … there’s no perfect workstation OS (for me, maybe you, too)

date: Tue Sep 17 00:07:48 CEST 2024

I’ve a recently updated to MacOS Sequoia aka MacOS 15 Macbook M3 Max. It cost me 5700 USD (Yeah. I know.). It’s awesome. (I mean it had better be, right?). It was also insanely expensive. And truthfully – It’s far too much hardware – for what I use it for. But this post is not about my prestinely machined, Jony Ive work of art with more ram than my desktop … It’s about software.

I can’t remember the day but it must have been a few years ago. One day I nuked Microsoft Windows from my desktop or I built it and immediately put Fedora on it… I can’t remember. But the reason was I legit found the i3 window manager to be the ideal window manager ever created. (Yes, xmonad or others exist but as I’ll explain later I am a man that apblockquoteciates creature comforts…)

What’s So Great About Tiling Window Managers Anyway?

In short a tiling window manager like i3 allows me to fly through windows, desktops, split terminals, tile applications, all like a Hollywood hacker in some movie. All the keybindings are configured via a simple text config file. I rarely use the mouse which helps me avoid RSI. And since I use Vim it all just makes a ton of sense.

More important than looking cool and being good for my health: I am far, far more productive when using i3. That’s why I use it almost exclusively when on Linux.

Tiling window managers like i3 come up on HN often and I’ve showered the project with love as early as late 2021.

I described my love of i3 here on HackerNews HN:

They [tiling window managers] exist. It’s the one and only reason I use Linux is I fell in love with i3 and now Sway. They’re not just good for terminals. I do like me some tmux but I find tiling and stacking and all the glory of a titling window manager the best part of desktop Linux.

In response to: https://linuxblog.io/linux-tiling-desktop-environments/ and the discussion here: https://news.ycombinator.com/item?id=41357853#41359783

Suffice to say that at some time a few years ago the window manager just clicked and I moved wholly to Linux with i3.

What does this have to do with there not being a “perfect workstation”?

Some more history might help paint the picture. In college I bought my first mac. Until then I was a die-hard PC-gamer. If I had known of reddit I’d probably have been an active member of r/PCMasterRace. I hated what I didn’t understand.1 I had spent a ton of time and energy learning how to be a Windows power user I despised the Mac. And Linux I had only ever run headless on servers or in VMs and never seriously ran Linux on the desktop for any real amount of time.

Anyway, in college I had money. Well, borrowed money. Student loans for a poor kid might as well have been drugs. I am lucky I left college with a degree and what little debt I did incur.

I used a substantial part of one of my loans to buy a Macbook Pro 2013. It was a fairly high end one. I think it was 2-2.5k in 2013 which in 2024 dollars is 2700 USD.2 It had an i7 CPU, ~2.6ghz, 16GB of ram3, 512GB or 1TB SSD, 15 inch screen, etc., etc.

Up to this point I and my roomates were all just doing the typical student things: ramen, cheap dates, netbooks, or cheap Dell laptops.

But I got home, the apartment nerd and self proclaimed PCs-uber-alles guy, and I was blown away by the multi-touch of the glass? trackpad. It was such a huge improvement over the cheap, plastic ones I had been used to on the Dell’s that I and my roomates had had before.

Soon I was swiping back and forth virtual desktops like a speed deamon. The pleasing-to-behold UI that was MacOS, the really useful applications, I was sold. Then, like any good newly converted stan I set about sharing the gospel of all things Mac and extolling it’s advantages to the hardware we were currently using. One roomate had a used Netbook (1.6ghz Intel Atom, 10 inch screen, etc…). Another had a random HP laptop I think. To say that we were ready to be wowed by high end hardware is an understatement.

I had that laptop for nearly 10 years. It survived me graduating. I never serviced it other than cleaning it out when dust accumulated in the vents. The battery lasted long enough to be useable as a laptop. It followed me when we moved to Germany until it was stolen when I placed it in the basement storage unit too close to the exterior wall.

I Learned To Like Nice Things

I learned to like nice things. I became a bit bougie, hah. I like the build quality of the Apple laptops. The amazing trackpads. The vibrant screens. And how, for the most part, the hardware and software just work together so well. Seamlessly connecting Apple Keyboards to my Apple Laptop, or my Apple Headphones to my Apple Laptop, etc., etc.

But things weren’t perfect.

The Brew package manager has come a long, long way and is largely, a non-issue for me these days. I’d say it’s on par with Linux package managers like apt or dnf. But back then I had been burned a few times and that wasn’t fun. I didn’t have such issues with my Linux servers.

MacOS is almost there

One of the strengths of the platform is how opinionated MacOS and Apple are about their hardware and experiences. Success is best had doing things the “Apple way”. Using first-party hardware if possible has the highest chance of “just working”.

Not fighting their rules in the AppStore means you might get promoted by the AppStore editors and it might even lead to more sales.

AND/OR - try to augment the OS with things like Magnet – the missing window management for MacOS and Alfred – replacement for Spotlight and many, many others.

The idea is that because the OS is so locked down and curated4 and updates come as set intervals that when they do it’s like Christmas day a bit where everyone rushes to check out the new changes and such. It also means that something like i3, my beloved window manager from Linux, couldn’t really ship on the Mac without significantly hooking into deep system internals.5

So that’s it. I’m too old, too busy, to faff around. I just want things to work. And I like the It Just Workstm of the Apple platform but at the same time I love the hackability and the choice of Linux.

I can’t have both. Hence why nothing, in my mind, will ever be “perfect”.

I’d love to have MacOS be as hackable as Linux is. I’d love to be able to switch out my window manager as simply as I can on Linux but then would it be MacOS then?

Nope. It would not.

Any dev whose code targets software to run on the Microsoft Windows ecosystem has the benefit of backwards compatibility that goes on for decades.

While it’s a more open system it’s still Windows. DirectX, the Win32 API, etc., etc. People can rest assured that for the most part the interface won’t really change and code written for an older version will also work.

MacOS is that way in some sense. Every year the OS and the UI might change incrementally but it’s still MacOS, the Apple window server, etc.

But on Linux or on any of the BSDs I could swap out my window manager even my window server (hello Wayland) and even have them all installed side-by-side and swap between different windowing paradigms whenever I feel like it.

See how that might make for a nightmare scenario to develop something like a Linux native AAA game for or something like Photoshop when you have to handle the combinatorially large number of Linux installations with mixed and matched window managers, different kernels, different hardware, …

So That’s It Then

I guess so. I want all the things. I want customizability, large selection of applications, well designed and pleasing to behold applications; support for games; I just want to connect to a Zoom call (well nobody wants to but if they have to) and just have things work and be able to share my screen without issue; to have no screen tearing. I don’t want to have ads in the start menu. I want a secure system6 and I don’t want to spend more time with my tools than using said tools to do productive things.

Addendum: Just use Windows, Powertools, and WSL2

Windows, Powertools (for extra window management stuff), WSL2 - Windows Subsystem for Linux (for my commandline-love and a unix like experience) do seem like they’d fit everything. The problem is I can’t stand Windows.

I run Windows 11 on my gaming rig for the time being just because I am using it like an appliance and using Windows for what it’s best at: Gaming.

And maybe this is just blockquotejudice and over time it’ll win me over but for the time being I don’t think so. So long as I keep using this Mac as my workstation and also largely due to Apple ecosystem lock-in I am not switching to Windows any time soon.


  1. Funny how that belies a lot of the world’s problems lately…
  1. https://www.in2013dollars.com/us/inflation/2013?amount=2000
  1. That was a lot back then.
  1. My wife and I upgraded all of our Apple products (HomePods, iPads, iPhones, Apple Watches, Apple TVs, etc.,) just an hour after it dropped for us here in Germany.
  1. Projects like Yabai and AeroSpace and others try to offer more keyboard focused, tiling, but it’s far more faffing about than I want to do and there’s always a risk a future MacOS update could break stuff. I’d much prefer a native approach. i3 is not native per-se to Linux or to a BSD but nothing really is. Linux is just a kernel with a bunch of loosely connected userland things like a window server and a window manager.
  1. Windows having something like 90% marketshare it just makes sense for bad actors to target it for nefarious purposes.

Feedback

Go Back Home

Copyright Alex Narayan - 2024