Last update on .

I have been surprised at the adoption of OSX by developers; it seems to have become the default choice, especially for open source savvy web developers. I find it especially odd when open source advocates tell me how they love free-as-in-freedom, but just can't give up their OSX. People frequently express surprise that I use Linux as my day-to-day operating system. I tell them that I can't work the way Steve Jobs dictates people work.

December was a bit quieter for me, so I used the opportunity to migrated to a MacBook Pro. It didn't work out. People keep asking me why, so I am writing this blog post. I apologize if I have some of the details got fuzzy over the last three months.

Leaving Linux

My four and a half year old Thinkpad W510 was showing its age, and my IT team wasn't happy with my doing out-of-warranty repairs on it. I was putting off getting a new computer due to my indecision about what to buy. I would be tied to this machine for at least three years, so I wanted next-generation hardware, but with solid Linux support, preferably from the manufacturer.

There was a brief time when it was easy to buy a Linux laptop from a major vendor, but for the past couple of years it has been nearly impossible. I really like the consumer products from ZaReason and System76, but their high-end products aren't competitive with a MacBook Pro. I used to like Thinkpad's enough to buy one with Windows and put Linux on it, but each post-IBM Thinkpad has been lower quality and Lenovo seems committed to continue the trend. Finally my employer adopted a chat client with no Linux support, so I decided that it was time to try something new. It would be nice to be free of the regular annoyances of Linux.

Trying OSX

IT offered me a beautiful 15" MacBook Pro. It was a nice looking machine, and OSX has a reputation for being a solid and usable operating system. Given its Unix roots, I figured that I would be able to keep the best from my open source world and move to a "polished and supported OS". I admit that I was hesitant enough to make IT promise to send me a Windows machine in a month if I couldn't handle OSX.

The MacBook is a beautiful machine. The screen is fantastic. It boots very fast and has a long battery life. MagSafe power adapters are brilliant. There is a lot to admire about the machine.

OSX however is a draconian nightmare. The easiest way to describe the experience is "corporate". From the pretentious boot bong, to being forced to create an iTunes account to update the system, Apple makes clear who really owns your machine. I didn't like being forced to upgrade to Yosemite within minutes of logging in. I didn't like all the Apple bloatware that was installed and impossible to remove even though I would never use it (iTunes, Garage Band). I could hear the Apple mantra of "think different, and do what we say". I pushed forward and figured I would get used to it.

It was a struggle to configure my basic environment. First step is to get a productive keyboard and mouse.

  • Switching to a left handed mouse was easy, as was changing the keyboard mapping to Dvorak. That was the end of easy.
  • Swapping Capslock and Escape is very difficult in OSX. Swapping those two keys took an add-on, an education in OSX keyboard mapping, and a lot of work. And then I would switch between Dvorak and QWERTY and it would go away.
  • The international character key compositions are stupid. They don't match the characters on a QWERTY keyboard, and they don't change when the keyboard gets mapped to Dvorak.
  • I have a Logitech Wave keyboard and mouse that I like a lot. Without the Logitech drivers, I can't use the additional mouse buttons that are so convenient. With the Logitech drivers, the keyboard remapping doesn't work and Capslock and Escape won't swap.

Next step is to access my data.

All the computers in my house are Linux, and all the drives are EXT4. There are open source drivers to use EXT4 on OSX, but they all had warnings about data loss and recommendations to use as read-only. Since I was in the world of proprietary software, I decided to use the Paragon ExtFS for Mac OSX driver that promised "Full read and write access to Ext2/3/4 partitions under Mac OS X". The result was frequent crashing of OSX. Worse, because OSX likes to automount drives, it managed to corrupt every drive I had plugged in to the system.

The frequent reboots increased my annoyance at the startup bell. Why should I advertise to everyone around me that I am turning on my computer? But it can't be turned off. There are ways that appear to turn it off for a couple of reboots, but OSX magically undoes the settings at some point in the future. Another example of the Apple engineers signaling that they think they are smarter than me.

Next I mounted my Android phone. The Google software to mount Android on OSX works, except that OSX wants to keep the phone accessible as a drive at all times, and the software keeps popping up and getting in my way. The result is that I can't leave my phone plugged in to my computer to charge.

I then tried to figure out why my second monitor was blurry. It is an LG with 1920 x 1080 resolution. OSX did a good job at understanding that the pixel density was different on each monitor, but the fonts on the low-density monitor were not clear and would give me headaches. There appeared to be ways to fine tune the anti-aliasing in earlier versions of OSX, but they were removed in Yosemite. I tried different adapters (HDMI, DVI, VGA) and different cables. I managed to crash OSX twice unplugging and replugging the external monitor. The only advice I could find was to buy a new monitor.

Everyone acts surprised when I tell them about the crashing, but it was a regular thing. Most of the crashes could be blamed on Paragon software. The display related crashes were clearly Yosemite's fault. I'm told that some of the crashes I couldn't explain were likely related to Dropbox and Timemachine fighting. I missed the clear operating system logs I could use on Linux to figure out what went wrong.

I was discouraged, but I hadn't given up.

OSX has a reputation for wonderful 3rd party applications. After trying for a few weeks to replace my favorite Linux applications, I came to the painful conclusion that though there are far more high quality proprietary applications on OSX, there are far less high quality free ones. The OS should be labeled "In App Purchases Required".

Running open source X11 applications on Windows with Cygwin is easy, but I was naïve (see that compose key?) to think that it would be easy on OSX. There are very few open source GUI applications that run native on OSX. The IRC clients and chat clients were all immature compared to the KDE equivalents. Thunderbird works for mail, but is showing its lack of maintenance. LibreOffice works, but GnuCash wouldn't. I was warned that Fink was a mess, so I tried Homebrew only to be greeted with errors about GitHub rate-limits and an inability to run any X11 application.

All of these major problems don't even include the thousand papercuts that were killing me:

  • No package manager. In 2015? Really‽ (See what an awesome compose key makes easy?).
  • Finder is anemic.
  • Photo viewer isn't in the same league as Gwenview.
  • Terminal doesn't have the "open finder in this directory" that KDE's Dolphin provides.
  • No middle-click paste, no focus-follows-mouse, no window edge flipping between virtual desktops.

I finally realized that using a Mac would require me to buy a new monitor, new keyboard, and new mouse. It would require me to put all of my data on drives that couldn't be read by any other machine in my house. I would have to buy all new proprietary applications, and re-buy them whenever the vendor held my data hostage. I would have to replace the other computers in my house with OSX to run the proprietary applications necessary to use the data that I create on my OSX machine. I would have constant headaches if I didn't dive in to the rest of the ecosystem of custom connectors, power adapters, phones, and $10,000 watches. This was not a game I was willing to play.

The bottom line is that though Apple does have an open source BSD Unix heritage, it isn't anything like open source BSD. It is its own beast with its own way of doing things, and it does not play nicely with others. I could probably figure out how to bend it to my will, but if I need to understand my operating system at that level, and deal with constant annoyances, then I might as well use Linux. I was trading my freedom and not even getting a trouble free OS in the bargain.

Though I do have to admit that many talented developers do a lot of magic with that toy OS known as OSX.

Back to Linux

My IT team graciously let me swap computers after only three weeks. The sent me a beautiful Dell M3800 which is better than the MacBook in every way I care about. It came installed with Windows, but runs Fedora great. Dell recently announced that you can buy these machines pre-loaded with Ubunutu.

I'll cover more details on using Linux on the Dell M3800 in another post. I did have one problem with the wireless card, but the Fedora kernel devs were helping me figure it out on IRC today. I certainly didn't get that kind of help on OSX.

I am relieved to be back in KDE and productive again. My Windows VM is getting more use than it used to, but I am optimistic that Microsoft open sourcing .NET will make it easier for me to use the applications I need to on Linux. I felt bad to lose so much time to being frustrated with Apple, but the experience made me far more tolerant of the problems I face as a Linux user. The grass isn't greener.

Pingbacks

Pingbacks are closed.

Comments

  1. Richard Esplin

    Richard Esplin on #

    Someone asked me if I couldn't choose Linux, would I pick OSX or Windows after this experience.

    Honestly, I would have to pick Windows. Most of my open source X11 applications work on Windows, it works well with my other devices, it is easier to customize, and my other Linux machines can read Windows drives. Having used Windows in a Virtual Machine for years, I am far more familiar with it.

    It simply plays nicer than OSX.

    And I have high hopes for Windows 10, though with some luck I won't ever have to use it.

  2. Keith

    Keith on #

    The question I have after reading all this is if you were so annoyed with OS X, why didn't you just format the drive and install Linux as the main OS? You could have even installed Windows as a dual boot option. I have a MacBook Pro and have all three OSs accessible on boot up (a.k.a. Triple-Boot via rEFInd). However, I'm still using Windows 7 (32-bit), so I have to restort to using MBR on a partition table that combines GPT and MBR. I've had plenty of issues with this in the beginning, but I believe I finally got it worked out. However, if using Windows 7 (64-bit) you can use GPT instead of MBR, so chances of having boot issues due to having two different partitioning schemes should be eliminated.

  3. Richard Esplin

    Richard Esplin on #

    Keith,

    Thank you for commenting. I am glad to hear that you have OSX, Windows, and Linux playing happily in a triple boot environment. What flavor of Linux did you deploy?

    The most immediate reason I didn't put Linux on the MacBook Pro is that I wasn't certain it would work very well. Since I published this post, a few people have told me that it works great, but I wasn't confident at the time.

    A secondary reason is that it was a work laptop, and my work seemed to want me to give the MacBook Pro to someone else rather than putting Linux on it.

    However, I didn't find the Macbook Pro hardware to be a significant step above hardware from other vendors. I directly compare the Dell M3800 to the Macbook Pro running Linux in a comment on another post:

    https://richard.esplins.org/siwi/2015/03/18/dell-m3800-great-linux-workstation/#comment_771

  4. Tim

    Tim on #

    You are trying to make OS X into Linux rather than operating OS X as it is. You are blaming third-party apps, UNIX ports, and drivers for your discomfort -- third-party apps, UNIX ports, and drivers are not the OS. You do not seem willing to learn the "OS X way" -- drag-and-drop app installation, unified system preference panes, BSD -- but rather, expect the OS to bend to your will, and your will is "please be Linux."

    Thanks for trying, but remember: when your beloved dog dies, don't get the same breed and name it the same as your old dog. It will behave differently and disappoint you. It is a different dog.

  5. Richard Esplin

    Richard Esplin on #

    Tim,

    Thanks for reading the post.

    My complaint is deeper than "please be Linux". As my post demonstrated, it wasn't due to a lack of willingness to learn. I like BSD, but OSX is a very different beast. I understand the value of drag-and-drop app installation, but I also recognize the shortcomings of that approach in the areas of app discoverability and maintenance (partially addressed with the app store). The unified system preference panes are fine when you want to adapt the system in ways that Apple endorses.

    The OS should be a tool I employ, not a master I need to serve. This is especially important as I know my use cases better than Apple does.

    My fundamental complaint is that to be productive on OSX, one has to adopt the entire ecosystem including buying new devices and applications. I find that lack of flexibility to be constraining, and it isn't a requirement for moving to platforms like a BSD or Windows.

    That switching cost couples with all the annoying places where the platform is poorly designed. This causes me to conclude that the benefits of the platform (of which there are many) are not compelling.

    My original hope was that OSX would combine open source goodness with the polish it is famous for. If someone expects that from OSX, they will be disappointed.

  6. Felix

    Felix on #

    Just a few little things: GnuCash does work on OSX. And, if you want to use ext4 drives on your mac, then the best option is the (free and open) OSX FUSE, which is way better than paragon. At least, it's never caused a system crash or corrupted a dive for me. It does take a bit of monkeying to install, but coming from Fedora you should be used to that :-)

    It's true that OS X can be a bit disappointing, but you seem to have had a uniquely bad experience. Similar, in fact, to _my_ bad experience with Fedora - every time I tried to update the system,, it would crash, get stuck in a reboot loop, and eventually corrupt my drive. But I don't hold it against them, because I know that my experience is not reflective of the general OS

    Yes, there are many issues with OS X, but many of them are not the ones you pointed out, and some of the issues you suffered from (having trouble swapping caps and esc) are pretty unique.

    For the record, I dual boot OS X and FreeBSD (or sometimes Slackware).

  7. Richard Esplin

    Richard Esplin on #

    Thanks for the comment Felix.

    And thanks for the tip about OSX FUSE. I looked at it, but got scared away due to its cautious assertion that it wasn't production ready. When faced with a choice between a commercially supported option that promised the moon, and a cautious open source project, I unwisely chose the proprietary option. That is basically a summary of this entire article. <grin>

    I now see that the SourceForge GnuCash project has packages for OSX; I'm not sure why I didn't see those earlier. It was probably because I was hoping to be able to install it with a package manager so that I wouldn't have to individually manage upgrades for all my open source projects (I was thinking homebrew would be like Cygwin on Windows). I gave up when I saw that wasn't possible, but I was incorrect to claim it couldn't be done.

    I have twice had Fedora get itself into an unworkable state during an update which required a complete system reinstall. I do hold those experiences against the system (you are more generous than I). The first time resulted in my switching back to Ubuntu and Debian. The second time was about a year ago, and was part of why I tried OSX. Fedora has new tools that have made that process work better.

    I admit that I will probably never find tools I am completely happy with. And I understand that I could get OSX to work adequately, as many others have done. The main point of the article is that OSX doesn't yield any great benefit over an open source system. It requires just as many compromises as any other system, so why give up my freedom?

    And for the record, I think customizing the keyboard mapping is fundamental to a good operating system. <keeps on his curmudgeon hat>

    Thanks again for the comments.

Comments are closed.