There's nothing I can do on a Mac that I can't do on Linux – except Apple ecosystem stuff like handoff – but it's generally more pleasant and polished with less faff, which has become more important to me as I've aged.
There's nothing I can do on a Mac that I can't do on Linux – except Apple ecosystem stuff like handoff – but it's generally more pleasant and polished with less faff, which has become more important to me as I've aged.
I also dream of a mobile OS as smooth and fast as i3. Android is anti-productive for me, and, as strange as this may sound, the mobile OS ergonomically closest to my i3 experience is Windows Phone.
What users do not see, they usually do not miss. E.g. many users of OS X do not realize that some command line tools Apple ships are almost ten years old at this point until they find out that “[[” does not work in Bash on OS X or similar: https://github.com/sclorg/s2i-python-container/issues/104
> How do you change the GUI theme on a Mac?
A lot of people don't really have a strong preference for these things.
> How do you update all the software to the newest version?
brew upgrade
> some command line tools Apple ships are almost ten years old at this pointYou can brew install the good ones with a oneliner: http://apple.stackexchange.com/questions/69223/how-to-replac...
But my overall point: I'm like your parent. I used to be a linux user, but I switched to a macbook 12 a little longer than a year ago and the pros far outweight the cons. And a lot of developers feel this way. You also get longer battery. And you can always spin up a vm for linux requirements.
I have tried a lot to use only linux. I was able to drop Windows completely (as I don't play videogames). But at least for the moment, macos is just much better for a lot of people.
The other key third-party app for me, oddly, turned out to be the Microsoft RDP client. I'm paid to manage servers, and unfortunately, some of those are Windows, so I need a totally reliable RDP client.
I also don't care about GUI theming, but I do care about readability, and MacOS on a machine with a Retina display delivers totally crisp font rendering. Linux is now constantly getting better, but I don't think that it could match MacOS yet, even on a machine with an equivalent display.
You see, that's the problem: Mac is opinionated, and this is the quality we most often praise it for.
Changing the GUI is functionnaly useless for any job. That means some folks in the Linux GUI thingy thought it was good to make everything a variable, not even a build-time constant, write configuration screens, and poll the value each time you redraw the window in case someone changed it at runtime. For every change they also have to test them with a bunch of GUI themes and write automated tests for them. Plus the added benefit that every line of code is friction. I'd say they're spending their time on the wrong thing because...
In Mac, it's fixed. That means as a user I benefit from not spending time choosing a GUI theme. It also means apps can rely on constants. Makes it worth paying a UX designer to interview users and choose the right value™. And this right value will be better than any setting.
- Mouse: I remember fiddling with xinput a lot because the UI never allowed me to set the acceleration. On Mac I don't even need to know where that control is.
- GUI theme: Ubuntu has a default GUI theme that is wrong, because it has big fonts and big borders, makes it look like a toy and consumes half the real estate of my screen. Not great for work, so you have to change the GUI theme. Mac is just perfect on those two priorities.
Changing the GUI has a function, btw. Just yesterday I wrote a custom stylesheet for Slack because its developers chose “the right values” for people who can see gray-on-grey “contrast” well (so, not me).
Anyway we can discuss for long, but in the end I believe if Linux OSes had the amount of money that Apple has to hire UX designers, marketers and devs who don't mind doing mundane bugfixing, at least one version on Linux would become perfect. It was supposed to be Ubuntu, but let's hope it's the next one.
I think a distribution like Debian should appeal to you for its focus on quality. New packages in Debian move first to the Unstable distribution and then after some time to the Testing distribution. Testing is “freezed” before a Stable release to weed out remaining bugs. [1]
Debian also has a tool called “apt-listbug” that warns you before installing a new version of a package that has a known bug and gives you an option to not update that package automatically for as long as that bug exists.
What Ubuntu does is just putting its own stuff on top of Debian Unstable (or Testing, when it does a Long Term Support release). They have next to no quality control. When I drew glyphs for Unifont, this meant that for half a year, Ubuntu had a half-finished Unifont it imported from Debian Testing at the wrong time. I got complaints as I told people to install Unifont to play my Unicode proof-of-concept roguelike [2].
The guy from the article I wrote eventually did use Debian. I think he fiddled around with Emacs for over a month until he arrived at his “perfect” setup (which is different for everyone, by the way).
[1] https://en.wikipedia.org/wiki/Debian
[2] http://news.dieweltistgarnichtso.net/notes/zoo-tycoon-roguel...
Same way you do on Linux: MANUALLY. Unless you're running a rolling distribution like arch, most of the software you run is out of date. Sometimes you can find a PPA with the most recent stuff, but if you can't, you're compiling manually.
On linux, that comprises all software I run on the machine, command line and graphical. On OS X, it only affects stuff run through homebrew, which is a small fraction of apps that have no native OS X implementation. Not exactly a compelling argument to switch.
The OS X app ecosystem is actually really good (from the user's experience at least). On Windows and Linux it seems to be sufficient to develop applications that functions correctly, but on OS X it's also essential to make them look and feel good.
# apt-get install network-manager network-manager-applet
# systemctl enable network-manager
# systemctl start network-manager
$ # put "nm-applet &" into your ~/.xsession
And now you're done. I think most people would find Network-Manager's applet easier to use than if they had to configure a network in Windows 10.OSX connects to wireless networks much faster, and also occasionally Linux won't connect to a network at all while OSX does. This might not be a problem when you just use your computer at home but if you are a consultant and you're at the customer's office, you just don't want to run into those connection problems which Linux occasionally gives.
Driver support for new hardware platforms or one where the hardware producer does not help enough might not be that good: I think Intel's Skylake platform might serve as a good example – an older Linux kernel had a bug where laptops would crash when the lid was closed; now that Skylake is older the bug has been fixed.
That being said, Linux has drivers for many more stuff out of the box than every other operating system. Of course, for the perfect out of the box experience, you have to choose matching hardware – same as with OS X actually.
As for Wifi, none of the devices I own have given me any problems. I've heard people curse NetworkManager, but it has always worked nicely for me, including VPN support. Maybe I just got lucky, but I have never run into any problems.
(My desktop is a MacMini, just to be clear, but all my other computers run various Linux distros or BSD; I mainly stick to OS X on my desktop because I need to access my Exchange mailbox at work, and on OS X it "just works", while on Linux/*BSD, it only sorta-kinda works - except, apparently, for CentOS 7 using GNOME 3 and Evolution. It's not like I am particularly unhappy with OS X, though.)
"At least when we complain about bad windows features, we're not going to get gaslit." I feel equally frustrated troubleshooting Windows/Linux/OSX and third-party software. Most often I'll find someone with the same error, the first reply is something like "it's working for me, can you post a full log?", a full log is posted, and there was no further correspondence.
And that's another reason I won't go back to Linux from a Mac. I don't want voluntary support and to have to spend hours trawling forums to find fixes that don't work.
I want paid support where someone is accountable when things don't work like they're supposed to. Every hour I spend futzing with Alsa or PulseAudio or PPAs or dodgy WIFI and printer drivers is an hourI could have been earning money (I'm a freelancer).
That's what I meant when I said: "Polished has become more important to me as I've aged." When I was a student, I loved fiddling around with Linux. Now I'm a grown-up, I loathe wasting time. OS X lets me get on with things in a pleasant and consistent environment that works exactly as it's supposed to.
I do have Linux nostalgia, but when I've tried to go back, I just become frustrated.
To be fair, you get to do that with Windows problems, too. I work as a sysadmin at a Windows shop, and unless your company is willing to spring for an expensive support contract or pay a few hundred bucks per incident, Microsoft is not going to lift a finger to help with your problems and refer you to the technet forums instead (and lots of other software vendors do that, too).
I do agree with the "I'm too old for this crap" line, though - like I said, things pretty much have just worked for me over the last couple of years, and I do not miss the good old days of spending a weekend trying to get something trivial like a touchpad or audio to work. It was fun back then, but that was a long time ago.
Not only there - at work, part of my duties at work is being the local helpdesk monkey. When people call me and complain, say, that the Internet is slow, the first thing I do is call up some semi-random web page and see if/how fast it loads. When it loads fine, my first response, too, is "works for me", meaning the problem is on their side, not on our router or the Internet at large. It does not mean it is their personal fault in any way. It just means I have just narrowed down the problem somewhat. It is a first step on what often has been as fascinating (and often enough frustrating) journey.
Oh my, I should have finished reading your response. ;-) (When I am giving voluntary support, "works for me" does not, of course, mean "it's your fault and you're a moron", it means "I am not your personal helpdesk monkey - but if you're willing to do some more work narrowing down the problem, I am willing to continue helping you fix the problem!")
That is not what I meant at all. I am sorry if you got that impression.
What I meant to say is that I was rather lucky in that regard. While hardware support on popular Linux distros has improved massively since I first tried it, there is still a lot of hardware around where support on Linux sucks. If I tried some distro on my notebook and something like Wifi or suspend/resume did not work, that would be a dealbreaker for me, too, and I am too old to spend a weekend trying to get stuff like that to work. But like I said, I was very lucky in that regard (and I really mean lucky - it's been at least ten years since I had to spend any significant amount of time getting my hardware to work properly).
I bet there's an untapped market for Linux releases for a lot of mac tools