Too true. MacOS is the one place you can get a UNIX toolchain in a stable environment. If something works on my Mac, it works on my coworker’s Mac. If something works on Ubuntu but you’re using Nix… Uh, YMMV.
I love Linux, but if you’re gonna use it as a desktop OS, you pretty much accept that you now have a part-time job keeping up on Linux news to deal with the fact that each component of your system is in a perpetual state of “deprecated support for The Old Way, and experimental support for The New Way”.
Yeah, if you have a mixed dev team then I’m sure the odd ones out are gonna have the most trouble.
My point was more that if you have a team of all Macs or a team of all Linux, I’m much more confident in stuff working on everyone’s machine in the Mac scenario.
Even if you stretch it to “the Mac users get to customize the hell out of their machines, and the Linux users only do the minimum to get a fully functional dev environment”, I think the Macs end up in a more consistent state.
Yep, it’s mostly just about consistency across the dev team. This is coming from someone with multiple Linux machines for personal use and hobby projects:
At my first job, devs all had Macs. There was the occasional guy with Linux but he was always had trouble because all the scripts and dev tools were made for Mac, so he had to constantly be rewriting and modifying them to work on his machine, and wasted time doing so. Nobody used Windows for development since it wasn’t Microsoft, lol.
But, when the Apple Silicon Macs started appearing, that’s a different story…
it’s a part time job only if you make it one
That’s why so many people also like Linux, you can find both simplicity and customisability and pick between each
MacOS is trash. An OS’ primary job is managing applications and their windows and MacOS provides the most utterly unintuitive and non functional UX, the instant you plug in an external monitor.
It’s an OS designed for people writing word docs on their laptop at Starbucks, not for getting real work done.
Hell, try and enable viewing hidden files and folders in all finder and file picker windows. Oh wait, you can’t!
You can use a terminal command to enable them in basic finder windows, but they’ll still always be hidden in application’s file pickers which use Finder, because lord forbid Apple treats their users like adults.
I was salty when I wrote my original comment and completely agree. There is tons of real work that only requires focusing on a single window at a time. My problem with MacOS is just that it doesn’t accomodate workflows that require multiple windows / monitors very well.
Oh my God yes. I used a MacBook for work and it was a two-step nightmare to get it to connect to multiple monitors.
First, I had to plug multiple type-C cables in, one for each monitor, since Mac can’t output multiple displays through a dock. And getting it to actually show on all monitors was a finicky process at best.
And then, every time I’d take it off the desk and put it back, all my windows and workspaces would be all jumbled up, on the wrong monitors, etc.
I needed to install Rectangle just so I could have a keyboard shortcut to snap a window back onto the screen, since sometimes they’d be inaccessible off the end of the screen.
Mac support for multiple monitors is not a smooth experience, to say the least.
Hard disagree, I’m a huge fan of the way spaces work on Mac. Windows is a nightmare, and linux is good but takes a lot of time to tune and maintain. I honestly haven’t ever noticed the hidden files issue because I use a terminal for launching anything that would need them, though it does sound annoying if you do.
Where MacOS shines is being able to customize the important parts of your workflow, while ignoring the basic parts because those all “just work” in a standard way. The biggest win is all of the a11y APIs they’ve added for apps, they really let you get in there and change almost anything. I use Karabiner to layer on custom keymappings, capslock is an extra modifier that turns my home row into arrows/delete, hold down command is jump by subword, and many more optimizations. And that is system-wide, it works the same in every single app. I basically have Emacs style macros universally across the entire operating system, every app, and it’s awesome (oh, and I don’t need an external keyboard for it, so I can work on the train and have the same keymaps).
You might not like the base OS’s UX, but it does “just work” for what it is, and that lets you focus on layering on so much more.
Half the people in this thread just have learned helplessness. They think that just because the OS doesn’t support what they want in the very first few seconds of using it that it doesn’t support it at all, yet those same people will spend hours fixing driver issues in Linux no problem. With karabiner-elements, hammerspoon, UnnaturalScrollWheels, and AltTab, you literally get everything you have on Linux and windows and you don’t get any of the jank from the other systems.
Mac is still terrible for gaming, and you don’t want to be running servers on it, so I actually use all three systems daily, but people consistently complain about Mac like it isn’t a Linux system.
Absolutely agreed that macs suck for gaming, but honestly Windows is super annoying too. It was getting better, but with all the spamware in the OS now it gets kind of annoying just to get games booted. Gamepass is cool, but it is very toxic for modding or anything because they like, lock down the new install locations to an insane degree, I couldn’t even copy a save file into there when I was trying to recover some save game state. And it’s yet another install locations for games/apps 🙃 like, why are there like 3+ locations for Program Files???
I’m honestly thinking about trying to run SteamOS on my desktop cause I really just need a launcher. I wanna get booted up any ready to play in like, under 30 seconds, and my Steam Deck is great for that.
For me an os needs to do basic stuff by default, not by adding a billion 3rd party apps that inevitably break the next os update because they were using undocumented apis
Clipboard history, window snapping, showing a separate icon for every instance of a window (same app in 3 windows makes 3 icons on the taskbar), preview what that window is by hovering that.
Sure, you can do that with (mostly paid) third party apps, but I don’t like wasting 3 days on setting an operating system in an usable state
For me an os needs to do basic stuff by default, not by adding a billion 3rd party apps that inevitably break the next os update because they were using undocumented apis
So you make up a strawman
Sure, you can do that with (mostly paid) third party apps, but I don’t like wasting 3 days on setting an operating system in an usable state
And then add another strawman onto it, in order to make your argument make any sense. None of the programs I listed are paid, they’re all open source, and it’s just as normal as doing any of the apt installs you have to do on Linux.
Setting up my Mac is literally as simple as running dot from my dotfiles, which sets up every Mac setting, including things like making hidden files visible by default, hiding the Mac Dock by default, and more. On the other hand dealing with windows setup is a pain in the ass.
MacOS is trash. An OS’ primary job is managing applications and their windows and MacOS provides the most utterly unintuitive and non functional UX, the instant you plug in an external monitor.
How is MacOS’s window and external monitor behavior different from everything else?
A) it doesn’t consistently remember which window was on which screen when you plug and unplug.
B) the fucking taskbar constantly popping up on different monitors changing the effective space, meaning that you maximize a window, then the task bar moves to the other monitor, now your windows on that monitor have their bottoms cut off by the taskbar and the original has a huge taskbar sized gap
C) when you go full screen on a window, suddenly you can’t drag that window around or drag it to another monitor, you have to hit a shortcut to open mission control, then select it in the top area, and move it to another monitor
D) the whole separation of your desktop with open windows and full screen windows being treated equal to the desktop is nonsense. I do not need to conceptually separate a window into a separate space when it goes full screen, on Windows you just minimize it and can always still find it in the taskbar. You launch it from the desktop, it remains on that desktop, it can go full screen or minimize, but it’s still always associated with that desktop.
E) MacOS’s insistence on reserving both a giant fat taskbar’s worth of vertical space at the bototm, as well as a full system menu bar worth of vertical space at the top, all to accomplish less than WindowsXP accomplished with its skinny taskbar.
B and E can be fixed with settings to auto-hide both the top bar and the dock. You can also change the size of the dock to be small if you don’t want to fully hide it. You also have equivalent problems on any OS if you don’t have similar settings.
C and D I’ve experienced in Ubuntu as well. For what it’s worth, while I do find C annoying at times, I find D can actually make it easier to deal with full-screen applications than in windows. In macOS or Ubuntu I can just switch spaces away from the full screen app, while in windows I have to tab out, which sometimes works, sometimes partially works, sometimes doesn’t really work, and sometimes lags a lot before one of the above. Tbf I’m least experienced in Windows and haven’t really tried their version of the multiple desktops thing.
Honestly I think “maximize window” and “make full screen” should be separate behaviors. Sometimes you can get “maximize window” behavior in macOS by double-tapping the top bar of a window. But in both macOS and Ubuntu I use a 3rd party window manager app to help me arrange windows more efficiently.
I’ve definitely encountered A and the even worse problem of a window being stuck on a non-existent display before. I don’t think I’ve encountered it more in macOS than other OSes but I’m not sure. I have one Ubuntu install that has a particularly consistent problem where by default the external monitor and the built-in monitor overlap, which causes some weird behavior, but there is some other weirdness about that install tbf.
Too true. MacOS is the one place you can get a UNIX toolchain in a stable environment. If something works on my Mac, it works on my coworker’s Mac. If something works on Ubuntu but you’re using Nix… Uh, YMMV.
I love Linux, but if you’re gonna use it as a desktop OS, you pretty much accept that you now have a part-time job keeping up on Linux news to deal with the fact that each component of your system is in a perpetual state of “deprecated support for The Old Way, and experimental support for The New Way”.
Our Mac colleague is literally the only one in the dev team having constant troubles, constantly spinning up VMs to get stuff working.
Yeah, if you have a mixed dev team then I’m sure the odd ones out are gonna have the most trouble.
My point was more that if you have a team of all Macs or a team of all Linux, I’m much more confident in stuff working on everyone’s machine in the Mac scenario.
Even if you stretch it to “the Mac users get to customize the hell out of their machines, and the Linux users only do the minimum to get a fully functional dev environment”, I think the Macs end up in a more consistent state.
Yep, it’s mostly just about consistency across the dev team. This is coming from someone with multiple Linux machines for personal use and hobby projects:
At my first job, devs all had Macs. There was the occasional guy with Linux but he was always had trouble because all the scripts and dev tools were made for Mac, so he had to constantly be rewriting and modifying them to work on his machine, and wasted time doing so. Nobody used Windows for development since it wasn’t Microsoft, lol.
But, when the Apple Silicon Macs started appearing, that’s a different story…
Every Flatpak, Snap, and AppImage works on every Linux system I’ve tried.
Can’t say that about my Ubuntu installation
it’s a part time job only if you make it one That’s why so many people also like Linux, you can find both simplicity and customisability and pick between each
I love Linux as well, but there’s always something you didn’t know about that breaks, and it’s up to you to figure out what broke and how to fix it.
I’ve had the problem for a while now that the audio is set to the wrong output after screen lock, and I have given up on finding a fix for it.
MacOS is trash. An OS’ primary job is managing applications and their windows and MacOS provides the most utterly unintuitive and non functional UX, the instant you plug in an external monitor.
It’s an OS designed for people writing word docs on their laptop at Starbucks, not for getting real work done.
Hell, try and enable viewing hidden files and folders in all finder and file picker windows. Oh wait, you can’t!
You can use a terminal command to enable them in basic finder windows, but they’ll still always be hidden in application’s file pickers which use Finder, because lord forbid Apple treats their users like adults.
Just gonna call out that programming isn’t the only “real work” in the world.
I was salty when I wrote my original comment and completely agree. There is tons of real work that only requires focusing on a single window at a time. My problem with MacOS is just that it doesn’t accomodate workflows that require multiple windows / monitors very well.
Oh my God yes. I used a MacBook for work and it was a two-step nightmare to get it to connect to multiple monitors.
First, I had to plug multiple type-C cables in, one for each monitor, since Mac can’t output multiple displays through a dock. And getting it to actually show on all monitors was a finicky process at best.
And then, every time I’d take it off the desk and put it back, all my windows and workspaces would be all jumbled up, on the wrong monitors, etc.
I needed to install Rectangle just so I could have a keyboard shortcut to snap a window back onto the screen, since sometimes they’d be inaccessible off the end of the screen.
Mac support for multiple monitors is not a smooth experience, to say the least.
Hard disagree, I’m a huge fan of the way spaces work on Mac. Windows is a nightmare, and linux is good but takes a lot of time to tune and maintain. I honestly haven’t ever noticed the hidden files issue because I use a terminal for launching anything that would need them, though it does sound annoying if you do.
Where MacOS shines is being able to customize the important parts of your workflow, while ignoring the basic parts because those all “just work” in a standard way. The biggest win is all of the a11y APIs they’ve added for apps, they really let you get in there and change almost anything. I use Karabiner to layer on custom keymappings, capslock is an extra modifier that turns my home row into arrows/delete, hold down command is jump by subword, and many more optimizations. And that is system-wide, it works the same in every single app. I basically have Emacs style macros universally across the entire operating system, every app, and it’s awesome (oh, and I don’t need an external keyboard for it, so I can work on the train and have the same keymaps).
You might not like the base OS’s UX, but it does “just work” for what it is, and that lets you focus on layering on so much more.
Half the people in this thread just have learned helplessness. They think that just because the OS doesn’t support what they want in the very first few seconds of using it that it doesn’t support it at all, yet those same people will spend hours fixing driver issues in Linux no problem. With karabiner-elements, hammerspoon, UnnaturalScrollWheels, and AltTab, you literally get everything you have on Linux and windows and you don’t get any of the jank from the other systems.
Mac is still terrible for gaming, and you don’t want to be running servers on it, so I actually use all three systems daily, but people consistently complain about Mac like it isn’t a Linux system.
Absolutely agreed that macs suck for gaming, but honestly Windows is super annoying too. It was getting better, but with all the spamware in the OS now it gets kind of annoying just to get games booted. Gamepass is cool, but it is very toxic for modding or anything because they like, lock down the new install locations to an insane degree, I couldn’t even copy a save file into there when I was trying to recover some save game state. And it’s yet another install locations for games/apps 🙃 like, why are there like 3+ locations for Program Files???
I’m honestly thinking about trying to run SteamOS on my desktop cause I really just need a launcher. I wanna get booted up any ready to play in like, under 30 seconds, and my Steam Deck is great for that.
I’m also looking to switch to Bazzite or SteamOS as soon as they make it available for non-steam decks
For me an os needs to do basic stuff by default, not by adding a billion 3rd party apps that inevitably break the next os update because they were using undocumented apis
Clipboard history, window snapping, showing a separate icon for every instance of a window (same app in 3 windows makes 3 icons on the taskbar), preview what that window is by hovering that.
Sure, you can do that with (mostly paid) third party apps, but I don’t like wasting 3 days on setting an operating system in an usable state
So you make up a strawman
And then add another strawman onto it, in order to make your argument make any sense. None of the programs I listed are paid, they’re all open source, and it’s just as normal as doing any of the apt installs you have to do on Linux.
Setting up my Mac is literally as simple as running
dot
from my dotfiles, which sets up every Mac setting, including things like making hidden files visible by default, hiding the Mac Dock by default, and more. On the other hand dealing with windows setup is a pain in the ass.Fun fact: You can toggle the view for hidden files and folders in macOS using
Cmd
+Shift
+.
.Sounds very intuitive. (Not actually being serious here… But if there is a more intuitive option as well then it being a shortcut as well is fine)
How is MacOS’s window and external monitor behavior different from everything else?
A) it doesn’t consistently remember which window was on which screen when you plug and unplug.
B) the fucking taskbar constantly popping up on different monitors changing the effective space, meaning that you maximize a window, then the task bar moves to the other monitor, now your windows on that monitor have their bottoms cut off by the taskbar and the original has a huge taskbar sized gap
C) when you go full screen on a window, suddenly you can’t drag that window around or drag it to another monitor, you have to hit a shortcut to open mission control, then select it in the top area, and move it to another monitor
D) the whole separation of your desktop with open windows and full screen windows being treated equal to the desktop is nonsense. I do not need to conceptually separate a window into a separate space when it goes full screen, on Windows you just minimize it and can always still find it in the taskbar. You launch it from the desktop, it remains on that desktop, it can go full screen or minimize, but it’s still always associated with that desktop.
E) MacOS’s insistence on reserving both a giant fat taskbar’s worth of vertical space at the bototm, as well as a full system menu bar worth of vertical space at the top, all to accomplish less than WindowsXP accomplished with its skinny taskbar.
B and E can be fixed with settings to auto-hide both the top bar and the dock. You can also change the size of the dock to be small if you don’t want to fully hide it. You also have equivalent problems on any OS if you don’t have similar settings.
C and D I’ve experienced in Ubuntu as well. For what it’s worth, while I do find C annoying at times, I find D can actually make it easier to deal with full-screen applications than in windows. In macOS or Ubuntu I can just switch spaces away from the full screen app, while in windows I have to tab out, which sometimes works, sometimes partially works, sometimes doesn’t really work, and sometimes lags a lot before one of the above. Tbf I’m least experienced in Windows and haven’t really tried their version of the multiple desktops thing.
Honestly I think “maximize window” and “make full screen” should be separate behaviors. Sometimes you can get “maximize window” behavior in macOS by double-tapping the top bar of a window. But in both macOS and Ubuntu I use a 3rd party window manager app to help me arrange windows more efficiently.
I’ve definitely encountered A and the even worse problem of a window being stuck on a non-existent display before. I don’t think I’ve encountered it more in macOS than other OSes but I’m not sure. I have one Ubuntu install that has a particularly consistent problem where by default the external monitor and the built-in monitor overlap, which causes some weird behavior, but there is some other weirdness about that install tbf.