Just because it's never happened to you on OS X or Windows doesn't mean it doesn't happen. OS X 10.6.7 broke the output on my 13" Macbook for either of the two external displays I own. Both worked fine previously, when booted from the install CDs, or from Linux on the same machine.
Plugging in my Firewire audio interface on the same machine spun the CPU up to 100% and kept it pegged there. A lot of good having a nice mic pre-amp does when you get a high pitched fan whir added gratis to all of your recordings.
It's silly to pretend that Mac is somehow perfect in these matters. In my experience it's only been marginally better than Linux, if at all. And with Linux you have some hope of finding a solution, whereas for OS X you're pretty much hosed.
Straw man. Nobody said OS X was perfect.
> In my experience it's only been marginally better than Linux, if at all.
I used Linux on my desktop for several years and have now used Macs as well for several years. I won't say this is bullshit because I don't think you are lying about your experience, but I think you are extrapolating way too far.
> And with Linux you have some hope of finding a solution, whereas for OS X you're pretty much hosed.
Forums and mailing lists are "hope for a solution" while the genius bar is "pretty much hosed"? How on earth did you arrive at this conclusion? That just doesn't seem reasonable.
As for fixing the issue, both of my issues were kernel issues, as are most hardware compatibility issues. On OS X reverting to a previously working kernel would have meant backing up all of my data, reinstalling the OS from the DVDs, installing the combo update to the last working version of the complete OS (10.6.6), restoring my data (but not using Time Machine) and then never allowing another OS upgrade, including not updating the apps that come with the OS.
On Linux it would have been a matter of downloading the previous kernel package and installing it. That's it. The package managers are usually smart enough to figure out that you've forced a previous version of the package and won't replace it in future updates.
Neither solution would have been doable for a novice, but the Linux solution is far easier for an expert and a generally more palatable solution. And note, this was Apple's OS breaking Apple's hardware.
That said, maybe Linux in it's current stage isn't destined for the pickup approach of Windows or OS X. I believe that Linux is not following the same path as Windows or OS X, and because of that it may not end up at the same destination.
I agree with the original article; Linux is produced differently, often with different goals than Windows or OS X. Trying to shoehorn it into the same path as Windows or OS X may not prove fruitful till we see someone with the drive to change everything onto the design path that Windows and OS X are taking.
Every time.
Step 1: have you tried rebooting the machine?
Step 2: have you tried reinstalling Windows?
I thought those days were over.
You also said "even compared to Linux". That's interesting. That statement there gives the impression that you're more interested in defending your own beliefs and/or choices rather than being truly interested in explaining to us what OS has objectively terrible hardware support. "even compared to Linux" sounds like something an apologist would say. Then when you added in the "think different" line you made it seem even more like your comment was based off some kind of blind loyalty to Linux rather than loyalty to facts.
Me? I've used Mac, a handful of Linux distros, and Windows for a long time. I don't know which has the best or worse hardware support but I do know when someone says something based on what camp they're in rather than what the facts are.
Don't read too far into things, and "...loyalty to facts" eye roll.
Anyway, It's pretty common knowledge to Linux users that hardware/driver support on Linux can be a challenge. Sometimes things work right out of the box, other times you have to do a lot of work and a lot of Googling.
That being said, I don't agree with the parent. For basic hardware needs, Windows and OSX have a fairly high success rate of plug-and-play functionality. For me on Linux, it's about 50/50.
In Linux you very rarely have to install any driver. True, some hardware remains unsupported, but the list of compatible hardware without any installation required is pretty long. On windows, you'll need to install stuff for most of new hardware you try to plug in, no matter what.
Anyway, this has been almost 100% true up from 10.3 through 10.6.x. Recent developments both on Apple's as well as on MS's side have closed the gap between the two systems quite a bit. I still prefer OSX but it's gotten close. The real reason I continue to buy macs nowadays is the hardware quality.
This. It's almost as if Linux is a collection of parts and tools from which a sufficiently good designer can build a usable desktop whereas OS X is a usable desktop. That's an exaggeration, but for me there is some truth to it.
Note that Linux was my only desktop from 1997 through 2009.
This has been highly successful, only I'm afraid that the Unix people inside Apple are loosing influence. The sandboxing in ML looks like a mess to me. Not that its a bad idea per se, but look what it did to our beautiful '~/Library/[ApplicationSupport|Preferences]'! It's tacked on and it's obvious that this has been a political decision from management rather than engineering. Makes me angry.
On a different note: I've never really used it extensively because I switched to macs in '05, but wasn't Ubuntu pretty close before they switched to Unity? I remember last time I installed it that for the first time I could have a Linux that worked out of the box, including network and graphics drivers.
Which is fine, it's Apple's decision to take, but it's no longer for me.
(As for Ubuntu - I'm using pretty standard hardware and never had a problem)
I'd say the hardware support is fine for what little customisability Apple allows on the hardware that they sell. Perhaps the Mac Pro might have some issues with internal cards (I honestly wouldn't know ...), but those devices are not affordable for 99% of the people.
Low end printers and scanners in particular are notorious for skimping on the logic in the device itself and depending on a large blob of Windows driver code, with manufacturers that couldn't care less about supporting anything other than Windows.
In my experience only Windows 7 has passable MTP support. On Linux I had mixed results with gvfs and mtpfs (slow and crashy). jmtpfs [1] is a nice replacement, though. Google also released an application for OS X [2] but I can't try it since I don't own an Apple computer.
My solution to the problem was to install a WebDAV server (such as [3]) on my device (Galaxy Nexus) and access it wirelessly.
[1]: http://research.jacquette.com/jmtpfs-exchanging-files-between-android-devices-and-linux/
[2]: http://www.android.com/filetransfer/
[3]: https://play.google.com/store/apps/details?id=com.theolivetree.webdavserverSupport for the USB Mass Storage protocol has been deprecated in Android in favor of MTP (Media Transfer Protocol) starting with Ice Cream Sandwich.
The experience in Windows and on Linux is just as poor with this phone. (I love the phone, though.)
This is 100% to blame on Samsung, sorry.
Even though my Samsung phone is seen as a USB device (and it works on MAC OS X), but maybe in the newer models they removed this functionality (and called it a feature)
People may complain that iPhones need iTunes but then again it's iTunes not the gigantic pile of crap that is Kies
It was pure engineering tradeoff to improve things in the long term. If anything OEMs would have preferred the old 'just works', sub-optimal, gives-an-excuse-to-obsolete-a-phone, lower support issues, solution. The ball is now in operating systems' court to support this standard in a way it wasn't envisioned to work a few years ago.
Even ubuntu has been slow on this front.
OS X has perfectly find support for media devices, and has worked fine with every digital camera, SD Card or other card reader, etc, that I've attached via USB in the past decade!
Which is the right move in the long term, although it's certainly causing some pain in the short term.
I have seen problems with third party hardware that required its own driver (poorly written generally) or that was half assed crap that was designed to work with windows but marketed as supporting standards like "USB".
Meanwhile, Linux has trouble dealing with the computer itself, let alone getting hardware attached to it. Constant pain in the ass.
Currently I'm in a country in a different hemisphere from the USA. I walked into a store and bought and off the shelf no-name brand displayport to HDMI adapter. Worked no problem.
I've gotten used to being able to do that... and haven't had much trouble getting things to work with OS X in years.
Course, I also stopped buying things that require custom drivers-- that's a clear sign you're not going to have a good time.
To claim that Linux is better in this regard is, quite frankly, asinine.
Your comment looks about as asinine to me as the as the parent comment does to you.
That really has nothing to do with the OS you're running. The OS isn't driving the DisplayPort<->HDMI protocol conversion in any way (your 'no-name' brand adapter is probably relying on DP++ and just passing through the HDMI signal anyway).
This is like saying your VGA cable is compatible with Macs with a VGA port. Of course it is.
The problem is that hardware often doesn't really conform to standards, even those it claims to.
One of the reasons device support in Linux (and other OSes which target a wide range of platforms) is difficult, is that it's necessary in practice to cope with and have workarounds for buggy and out-of-spec hardware and firmware. Just "coding to the standard" isn't good enough.
Such buggy hardware/firmware is rarely documented as such, and finding these problems and the appropriate way to handle them is painful and difficult work. In some cases the only practical way to figure out what actually works is to reverse-engineer what Windows does (the hardware manufacturers generally make sure that Windows works with their hardware, but rarely make such information public).
Apple's main goal is their own hardware, over which they obviously have a lot of control and information, so they really don't need to worry so much about this.
A device can follow the USB standards (and be labeled as such) while still requiring a special driver. The two are not mutually exclusive.
Having said that, barring a few "recent" desktop distros, as they call it, like Ubuntu, Linux has always been a bottom up approach. You need to install the base, then the userland and so on. For someone who is looking for ultimate customization, Linux makes sense.
But when I am running a notebook, I seriously want everything to work, albeit at a lower performance/customizability.
I always run either FreeBSD or Gentoo on my servers. But my notebook/desktop continues to be OSX.
My own experiences aren't great with Windows, though they're smoother on OSX than Linux. The problem I have with Windows is that stuff does break, but it's inscrutable how and what to do about it, whereas at least on Linux there is usually some way to do something about it if you're tech-savvy. If anything gets borked in Windows, it's wipe-and-reinstall time; back when I used it full-time I probably did that once a year on average.
I find OSX to be poor for package management, though. I've gotten so tired of headaches with installing and managing updates of stuff, and badly interacting upgrades of the OS and separately installed packages and system versions of python/ruby/etc., that I do most of my dev work in Debian in VirtualBox now. In that aspect, it's Debian that's centrally managed with real release-engineering and integration tests, whereas OSX is an anarchic mess of 3rd-party software that nobody's responsible for integrating and testing.
In any case it's all dumb blind loyalty the vast majority of the time. And that applies to Linux, Mac, and Windows. You can't have a discussion about operating systems with 90%+ of people because everyone just defends their favorite and facts are distorted to suit those preferences. It really is just about useless to have a discussion about operating systems as "substantive" or "meaningful" discussions about the subject are about as rare as unicorns.
But if you are Apple pet developer then you'd just use XCode/XCode projects/etc for all your needs. And would be very happy with that.
And well, not using the native toolchain, and using something like mac ports feels like I'm under cygwin all other again. No, thank you. I love 13" Air, but as a development environment Macs are quite broken.
Plus that home key on the full desktop keyboard... If you are linux+mac user, you know what am I talking about :)
Curious, what package management system are you using to install libraries/packages? Ports? Fink? Homebrew?
Same applies to libraries, you can get everything you want with apt-get, as long as you only want things for your architecture. If you need them for another architecture, you are out of luck.
For operating systems you use virtual machines. I use the host just for running my text editor and for my Unix environment needs. All operating systems I've worked on (Solaris, Windows, BSD, QNX, some other real time embedded stuff) have their own tools and compilers used to build the system.
MacPorts, Fink and even Homebrew are FUBAR, I'm glad I don't have to use them.
Without qualifiers, that statement is meaningless. Perhaps you mean it's horrible for some devs? (Millions of others are doing just fine with Visual Studio).
For regular users, dropping them to Linux will be like replacing your mom's car's controls with the controls found in an airplane cockpit(command line) or playing "who moved my cheese ?" with the Linux desktop. Granted, everything is moving to the web these days, so why not just give them an iPad or a Chromebook?
1.) Grandmothers and the like who just want to read their mail and check the news.
2.) People like me who can and will use 4 + 2 + 1 + 0,5 hours to customize it over the course of 6-12 months to have an almost perfect working environment instead of living with a slower OS without virtual desktops.
The only thing I can think of that needs tinkering is some online banks that require applets to work, but then again even Windows doesn't come with Java preinstalled.
I know lots of people who successfully installed Ubuntu that don't know what a boot sector is but are still happy with it. (After all most people use web apps anyway.)
And man tell me where should I have gone to get any information about why my _wired_ Ethernet connection wasn't working on Mac when it worked everywhere else?
[UPD: I'd give iOS apps 2/5 on consistency scale, Android, Linux and OSX 3/5, Windows 4/5].
I can't say I've really touched Python at all, but as a relative newcomer to the Ruby world I found getting RVM set up and functioning properly on my Mac to be a complete non-issue.
It's also true that Homebrew (and Macports, but not Fink) are doing something fundamentally less ambitious than the main Linux package managers: it offers a simple dependency system and scripting for compiling stuff, not directly installing the end product.
Now I don't really expect linux volunteers to do this, but equally I don't really expect any linux distro to provide a coherent business desktop because they are not talking to their "customers" in the same way that their competition is. And the business desktop is a large market, if a bit unsexy.
Well, sure, but (unless I am mistaken) that is no longer on the topic of the Linux desktop.
I know that many of these are trivial complaints and that all of these things can be fixed. I no longer want to have to do this however. In my teens I loved tinkering with the linux desktop, designing 'awesome' Enlightenment themes and enjoyed tracking down and fixing these little problems. Now in my 30s I really just want the OS to get out of the way and let me code. OSX does this well, linux really does not. I say this with a fair bit of sadness as there are many things that I like about linux a great deal - the cli, the excellent package management, the ethos behind the OS and the open source community.
And I've been really, really impressed with the latest Thunderbird/Lightning releases (14-15). Haven't had any problems at all, like I had with the older releases from several years ago. I used to be a Mail guy, but Thunderbird blows it out of the water these days.
I say Mark Shuttleworth is doing this, and no one is paying attention. Unity was a unified vision, it was just different and no one wanted different. And that is fine for a new target audience he wanted for the OS, which was everyone else in the world. Look at what they are doing now, Ubuntu on tablets, Ubuntu TV, they are pushing a unified vision, and nobody is getting behind it en masse in the Linux community because it isn't everything they wanted. They want Cinnamon, they don't like Gnome 3, where is my Gnome 2, etc. The inherent strife is the proble, not a lack of visionaries.
Unfortunately, I think they kind of snatched defeat from the jaws of victory by attempting to go to a "modern user interface". The big problem is that neither designers nor programmers really enjoy incremental progress (designers want a big canvas and programmers want clean code). Gnome2 really was/is good enough for most people use easily AND it was/is simple and powerful not to stand in the way of the existing users (programmers, Linux Geeks, Linus himself,etc). Whether Unity and Gnome 3 work for average people or not, they certainly alienated the existing Linux desktop users and that is an important segment.
I used linux as my only OS sans VMs from roughly 2008 till 2011. I finally gave up because it handled monitor switching, multiple monitors so poorly (using Nvidia GPU). I begrudgingly switched to windows because I owned the hardware already, and it was the only option. Windows sucks, the lack of a usable shell kills it, full stop, nothing else windows does matters. And no, cygwin doesn't cut it.
Fast forward to now, the only computer I manually interact with is a macbook air. The old desktop hardware became my file server(running FreeNAS) despite being many times faster than the air.
Through this experience I realized what I actually cared about...I run four 'apps' 99% of the time: chrome, sublime text(everything non java), iTerm and IntelliJ(java). That is really all I care about, anything that prevents interacting with these applications as quickly as possible fails. The support stuff, git, a database, a message queue, etc. Runs anywhere. I _rarely_ interact with the 'OS' in ui terms. I rarely use finder, I only use the dock to empty the trash (launch everything through Quicksilver). At the end of the day I love OS X not because it has 'awesome' UI paradigms, but because of all the options I see it the least, it may as well not be there.
OS X is the only OS i've ever used that I just don't think or care about. It sleeps, it wakes up, it deals with new screens, it does all the OS shit so I can just use the apps i want to. Thats why I am hooked using it as a dev machine.
It does have some rough edges that may cause you to dismiss it as unusable, but it offers tab completion, colored text output, and a real scripting environment (not DOS batch scripting). Every serious Windows developer I've talked to nowadays uses it exclusively.
No, and I have zero reason to do so. I don't deploy on windows, I have no reason to ever deploy on windows, so why would I bother learning another syntax just to develop on windows? It really doesn't make any sense. Powershell only makes sense for IT admins whom have to manage windows networks, it makes no sense at all for developers deploying on *nix.
Can't speak to the seamless suspend/resume support, etc on your choice of hardware, and I acknowledge that if that kind of stuff doesn't work, it'd be a dealbreaker.
Just saying, Gnome3/Shell is at least worth checking out if you like the OSX workflow and use just a few apps day to day for development.
Thanks for the writeup of your experience!
Yup, still no xrandr support which makes any on-the-fly monitor config changes very difficult or impossible.
Sometimes, if you use twinview and nvidia-settings from the start and if the moon is aligned just right, you can dynamically configure monitors / video ports. Sometimes.
So obvious... Linus promised Linux on the desktop 2000 or so. The reality was different: influential groups just ignored the desktop. Now it's too late, web is becoming the predominant platform, Operating Systems are just commodity. For me it's no big difference whether I use Linux or OS X (with coreutils etc. installed). In fact I wouldn't even mind working on Windows, unfortunately I don't have the patience to setup a reasonable Unix-like dev environment.
The irony is: it has never been less painful to switch to Linux.
This is so true. Linux has a bad rap. I gave up on it a couple of years ago due to the infamous "hidden cost of linux". I switched back a couple months ago and have been pleasantly surprised how smooth things are now. A lot has improved in the last couple years in Linux land.
Which version of which distro?
Is this in Chrome on sites like YouTube? If so, I believe it started with Chrome 20 when Chrome switched to its native Flash driver (see http://productforums.google.com/forum/#!topic/chrome/Mi-YgjN...). This happened to me too, and I still haven't resolved it.
Never underestimate the fear of the consumer that they will break stuff on a computer they are unfamiliar with. The fact that Windows is actually getting better may actually be a good thing regarding other possibilities of desktop software.
cletus you are one of the few people with enough karma to always grab and hold a top post spot who _actually says things worth saying_.
Right on.
As for "someone with the gravitas", never say never. But they might not use the Linux kernel and GNU as their "clay" or "base material".
I've thought about such a person and one thing I believe is that they would be foolish to try to "sell" such a simple to use system to Linux users (and many of those users would, alas, include engineers like the ones you describe: set in their ways) nor to those engineers who worship Apple, with their belief in some mythical "user experience" [translation: _their_ experience]).
In my opinion, a person with the gravitas would also need to the vision to see that the target user base who is open to change lies elsewhere. The users need to come with an open mind.
I don't know what will happen to Linux. But the binary blob problem keeps getting worse. Too many Linux users are happy to accept the blobs. They don't want to read source code. They just want working devices. That's understandable. But in my opinion it's not a small problem in the long run.
Apple, on the other hand, is flat out abusing its power. Not only over end users but over developers (who are of course just a particular class of end users). They are standing in the way of people's general education about computers. Keeping everyone dumb may give some developers a warm, fuzzy feeling as they watch their bank accounts grow to new levels, or dream of it, but I do think Apple's conduct, seen for what it is, will trickle down past just us fanatics on HN and elsewhere on the web. People are going to figure it out.
If I was a monopoly-lover, if I loved to see "winner-take-all" in IT, as if that improved the lot for any of us (I am not and it doesn't), then my money would go on Amazon. They seem to be making the fewest mistakes. Great things will come from AWS. It is the democratisation of hosting - a sharing of power, risks be damned (unfortunately, it may also mean the monopolisation of hosting as we've never before seen). In "Dropbox", we are only seeing the very beginning of what's possible.
In my view, Apple is a "disabler" (everything they introduce is restricted) while Amazon is an "enabler" (generally: they open many more doors than they close).
We must be doing different things, because I've been on Linux desktops with zero-to-minimal effort since 1999.
> The second dimension to the problem is that no two Linux distributions agreed on which core components the system should use.
Linux on the desktop suffered from a lack of coherent, strategic vision, consistency and philosophy. Every engineer I know likes to do things a particular way. They also have a distorted view on the level of customization that people want and need.
I like OSX. Out of the box it's fine. That's what I want. I don't want to dick around with Windows managers or the like. Some do and that's fine but almost no one really does.
Whereas Windows and OSX can (and do) dictate a topdown vision for the desktop experience, Linux can't do this. Or maybe there's been no one with the drive, conviction and gravitas to pull it off? Who knows? Whatever the case, this really matters for a desktop experience.
I have two monitors on my Linux desktop. A month ago full screen on video stopped working. Or I guess I should say it moved to the center of the two screens so is unusable. I have no idea why. It could be an update gone awry. It could be corp-specific modifications. It could be anything. But the point is: I don't care what the problem is, I just want it to work. In this regard, both Windows and OSX just work. In many others too.
I can't describe to you how much torture it always seems to be to get anything desktop-related to work on Linux. I loathe it with a passion. I've long since given up any idea that Linux will ever get anywhere on the desktop. It won't. That takes a topdown approach, the kind that anarchies can't solve.