A Linux User's OS X Experience
cyphar.com
cyphar.com
>Be customisable. I want to be able to replace any part of the system I would like
So you're going to use a closed-source OS that's notorious for enforcing homogeneity wherever possible?
>Be transparent in its workings
Again, so you're going to use a closed-source OS?
He then complains about a lot of optional features that can be turned off in a few minutes (Gestures, SIP) and have clear use cases for the remaining 99% of the system's users. His complaints about SIP are particularly bizarre. It's obvious what the utility is, it's trivial to disable, and yet it's "the sort of decision that is endemic to a system which is designed to lock you into a software prison"?
If you're a kernel hacker, then yes. I imagine it's shit. But writing Go works fine, despite his protestations to the contrary. I'm also happily running GCC in parallel with Clang. And a ton of other programming environments too.
Problems like the lack of a package manager are more of an easily-solved annoyance than they are a fundamental flaw. The problems I've had with HFS being case insensitive were more the fruit of people doing stupid shit on case sensitive file systems than they were fundamental 'sky is falling' problems.
All in all, this reads like someone trying to emulate one of Linus's shitstorms, while missing the fact that Linus gets away with it because his ranting is usually backed by pretty substantial arguments.
I work in Node, Go, and occasionally Python or other things and it works great.
Any Linux userland tool which doesn't rely on specific kernel features and Linux-specific libraries can be built under OS X with rarely any issues.
I agree that the OP was never going to be happy with OS X, but were his expectations really so misguided? His requirements were not unreasonable.
Maybe it was more UI customization - there are definitely things which would be nice to tweak which are not tweakable, although there are a good range of apps and plist hacks to do so too. Mostly get the feeling he was primed to dislike it and, surprise surprise, disliked it.
I mentioned this earlier, but most developers use virtual machines
in order to properly use OS X. The very notion that your operating
system is so lacking that it is easier to just run a virtual
operating system to fill the gaps shows you that there is clearly
something very wrong with this model.
No, the reason to run a virtual machine is that I'm not running OSX on my production servers, so why would I develop against a different target than my deploy target? You could pretty easily run nginx, node.js, golang programs, dbs, etc. on a Mac, and some people do, but if you're running VMs its because you want to mirror your deployment system architecture into dev and reduce a slew of corner-case bugs that might crop up otherwise.Running Linux I found myself constantly wasting time on fixing WiFi card drivers, etc after every update. I don't have time for that shit. A Macbook may be more expensive out of the box but the extra time I can spend on stuff that is important (and fun) is worth it.
Btw you should give Homebrew a go, really like it over other package managers.
Maybe, if I'm running games or 3d software, I'll update to the proprietary drivers, but I've not touched anything else (wifi or otherwise) in a very long time.
What hardware are you having problems with?
There's nothing wrong with liking OS X, but Linux is far better than it with hardware in general, and nearly equivalent if you are willing to only buy from a tiny range of hardware.
This is why we end up with software that is painful to use.
Even if his experiment was flawed from the beginning, which let's me question his scientificity.
Frasier Crane: "Oh Dad, how do you know if you don't try it?"
Martin Crane: "Well I didn't have to get shot in the hip with a .38 to know I wouldn't like that."
To view it from a political perspective, it's a scale from authoritarian (Apple) to libertarian (Linux). Those who are used to surviving on their own probably don't appreciate the rules (like putting up with superfluous visual effects).
Less flippant response:
So OSX doesn't work for you. Bummer, I guess?
I switched from Linux to OSX after I found I was spending more time fucking with configs to get simple things like Skype working than I did actually working. Bummer for me, huh?
Fortunately, there was another system out there that satisfied my needs. And I didn't even have to write a rageface blog post about how sucky the one that didn't meet them was.
I don't get this kind of posts either, and am not at all sure it's newsworthy. I run minimalistic Linux desktops _all the time_ (even gone as far as setting up a Docker image for one I can instantiate on the fly[1]) and like them for testing and debugging stuff I need to run as native ELF binaries, but OS X has saved me _decades_ of frustration.
If you have nothing nice to say...
[1]: https://github.com/rcarmo/docker-templates/tree/master/deskt...
That's fine and all. But why is this submission so high on the frontpage?
The expectation gap after reading fanboy blogs for years is pretty huge. OS X is a pretty luke warm experience.
Different things behave differently (shocker). You're not gonna like Y after using and getting used to X for god knows how many years.
I have been using Linux since the mid 90's. I love it. I too am a developer. Pretty good one too.
I also love my rMBP.
(Also, using loads of curse words is a cop out for trying to find a more expressive way of saying what you wish to say. Just saying.)
> Be customisable
Valid reason. But he perfectly knew he was getting a proprietary OS, not Arch.
> because if you follow the Unix philosophy, each component is modular and replaceable
Who told him OS X follows the Unix philosophy? Also I don't understand the obsession with applying the Unix philosophy to everything. Give me a good full-featured browser and email program, keep your Surf (http://surf.suckless.org) and mutt if you want.
> Make it easy to compile, test and run any kind of software I'd like
Yes, like you can do already on OS X since forever. Obviously if you're going to do Linux kernel development OS X is not ideal and I think everybody can agree on that one. But for UNIX/POSIX software it's pretty much the same. You can get GCC from MacPorts and I guess Homebrew too, pretty much any version you want, if you don't like Clang (which is the default compiler in FreeBSD too btw).
> Be transparent in its workings, be easy to understand in principle
100% agreed on this one.
> Should be a separate entity. It should not rely on some third-party service in order to function properly. If I can't access the internet (or choose to airgap the machine eternally), it should be possible to run all of the software I'd like (and to use all of the features I'd like to) without needing access to online services.
I really don't understand this one. This is OS X, not Chrome OS. You don't need an Apple ID to update the OS itself. You can get programs from the internet or your favorite package manager without ever logging in with your Apple ID on the App Store.
> A package manager is useless if it doesn't manage all of the packages on a system
I wouldn't call it "useless", but I guess if you prefer a package manager for everything then MacPorts/Homebrew are not for you.
He then mentions that OS X has a "horrible development environment" without giving any actual reason, and mentions too "filesystem pollution" because OS X separates most GUI tools from the BSD tools (so he considers a logical separation between the BSD subsystem and the rest of the system "pollution". I think it's the opposite).
The post is a series of exaggerations and inaccuracies mixed with actually valid criticism.
swipey bullshit - can be disabled. explore system preferences.
why customise perfection - bullshit with a hint of straw man. OS X is not perfect, i think there are few people that claim that. perfection would preclude any more work on the OS. want GCC? install it. it's not hard. proof,
% uname && gcc --version
Darwin
gcc (GCC) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
botched package management - OS X doesn't have a native one, yes. in my experience, they all suck. and for someone that wants to know everything that's going on, i'd be surprised if he didn't build from source for everything.horrible developer workflow - what? firstly, it's so similar to linux, what is he talking about? i don't know any OS X users that build on a virtual machine, unless they are wishing to replicate the exact running environment of a system. in which case, people do that on linux too.
filesystem pollution - aha! the first almost valid complaint! although it's in a compliment sandwich kind of format - bullshit, valid complaint, more bullshit. System is for OS X internals resources and libraries. Library is common resources for applications. done.
but here it comes, a valid complaint! yes! HFS+ is terrible. apple very nearly did switch to ZFS a long time ago, alas it fell through for some unknown reason. shame. HFS+ is case sensitive, although the default option for Apple is to disable this behaviour. whilst i do not like this, when you consider that they're aiming for windows converts.. well..
hardware - all EFI firmware is proprietary. apple don't have an open-source update tool, but so what? most UEFI motherboards have an auto-updater built into their firmware. good luck finding the source for that.
this guy loves linux. so stick with it. have your hidden partition of OS X on a removable drive (because you can do that) for firmware updates. or use a regular laptop. the article had as much content in as an article titled "i ate a faal curry.. and it was too spicy for me!"
> I care about feeling the power of a modern operating system
I'd say OS X has this one covered. It could even be said to be the most "modern" OS out there. But of course, however he'd define "modern", it wouldn't be favorable for OS X.
> and being able to build any software I want. I cannot do either with OS X
What can't he build on OS X? I have no idea.
But can he really not live without whatever esoteric thing might not compile on OS X? Especially considering OS X does look nicer, and things do just tend to work..
Cue the OS X apologists.
For you. I have programmed C, C++, Prolog, Java, Go, and Haskell on OS X since 2007 without any problems. If you go to any developer conference, you'll see that a sizeable chunk of the audience agrees.
It's clear that OP, just like you, are not in the market for OS X (I am not even talking about windows, or probably ant proprietary OS).
For me, OS X is the best option, I do not need to deal with Linux intricate setup, but I can develop software I want to develop. OS X, in my case, is developer friendly, just enough so I can do what I want, and casually friendly enough so I do not need to worry about some (broken) things, I do not want to be in my way (FileVault, Time Machine, printing[1] and any other nice feature for everyday normal guy[2] (mail/picture/pdf annotation, continuity, Photo/Video editors)).
I want to stress, that I know that many equivalent software and features exist in Linux world, though usually it is much more troublesome to use. Not everyone is (or want to be) Linux guru, rockstar hacker or simply willing to solve bugs or errors for and at uncertain time.
Simply, Linux vs OS X is a flame war without any point. Everyone has a subjective opinion and discussion must end there.
[1] http://askubuntu.com/questions/270328/cannot-print-pdf-pages... [2] https://www.youtube.com/watch?v=5PsnxDQvQpw