The day was Friday, April 11, 2014. The weather was mild: mid-60s (F) and partly cloudy. My mood? Frustrated as fuck.

My irritation with my primary computing environment - Kubuntu 13.10 on a ThinkPad X230 - was at an all-time high. I’d been bouncing between desktop environments, on top of Ubuntu, for nearly a year, after I abruptly left Windows 8 in a fit of rage about its “Metro” UI. While I very much liked KDE, application instability and availability were huge problems for me. I’d asked friends and foes for help diagnosing problems, and we inevitably came to the same conclusion - something was going on with the graphics system, but we couldn’t figure out what. Searching online returned numerous reports of similar problems - but no resolution. I was already having a bad day, that Friday - both my laptop and my phone were malfunctioning - and then Remmina crashed while I was connected to a remote server. I’d had enough.

Several friends had been bickering with me for years about OS X, and I’d been considering switching to Mac for at least a few weeks. I wasn’t worried about technical difficulties - I knew that I could do everything I could possibly want to do on Mac; I just hated OS X’s UI behavior, as compared to Windows (and KDE). There was also the cost - Apple’s products areĀ  much more expensive than… well, everything else. When Remmina crashed that afternoon (not the first time that day), I decided that I was done with Linux for a desktop environment (at least for now). I looked up the address for the nearest Apple store, and got in the car.

Hours later, I was the hesitant owner of a MacBook Pro (Retina, 15-inch, Late 2013). I’d walked into the store with no intention of buying a model with a Retina display - I’d been using IPS displays for years, and had few complaints about them. Coming from a 12” ThinkPad X230, the MacBook Pro 13” (non-Retina) seemed to be the closest replacement. Portability and durability were my strongest requirements - my laptop goes everywhere with me, and sees 16+ hours of use, every single day. On paper, the MBPr 15” was much heavier than I was willing to carry, but after comparing it against the MBP 13”, and seeing how much better the Retina display looked (yes, in-store, so sue me), I decided that I would deal with it being slightly heavier than I preferred. I really haven’t felt that it’s very heavy, after all.

The MBPr has a distinctly “sturdy” feel to it - it is definitely among the best devices I’ve owned, from a build-quality perspective. I’m not convinced that it’s actually better than, for example, a ThinkPad T60, but it’s the best of current-generation devices in its class (I include weight in that; I don’t consider Dell’s much heavier laptops to be contenders). Perceived build quality - how it feels - is very important to me, and the MBPr checks the necessary boxes. It’s not perfect, mind you - I dropped it on the back right corner (nearest the power switch), and now the chassis has a small bend/defect in it, immediately above the USB port at that corner. It’s not major, and it hasn’t negatively impacted anything, but it’s there.

After that drop, I put a Kuzy black rubberized hard case on the MBPr; it’s not going to stop major damage (such as from long drops), but it’ll stop scratches and minor things. The Kuzy is not particularly high quality - there are rubber feet on the bottom, to keep the laptop from sliding across the surface it’s sitting on, but the adhesive holding them on is not strong enough, so they fall off. I replaced the bottom of the case once, because I lost two of the feet. Now I have extras, and I plan to find some kind of heavy-duty glue to hold them in place.

The keyboard is unremarkable - I prefer the keyboard on my ThinkPad X200 (not X230) more than the MBPr’s keyboard, but I do not dislike the MBPr’s keyboard. The MBPr’s trackpad, however, is the only trackpad that I have ever found to be acceptable - I can’t stand trackpads from Dell, HP, Lenovo, etc. There is a huge difference. If Apple is willing to license the trackpad to other manufacturers, they should certainly do so, no matter the cost.

The Retina display is fantastic. It is, without hesitation or exception, the best display I’ve ever seen attached to a computer, let alone built into a laptop. I had no problems with mine, though I’ve read that some people have had lamination/coating problems (potentially because of cleaning them incorrectly). If your highest priority in a laptop is display quality, I recommend evaluating this Retina display.

It took a very long time for me to “get my bearings” in OS X. To say that things are done differently in OS X as compared to every other operating system is a rather significant understatement. For example, I very much enjoy the way that most apps are “installed”, simply by dragging them to the “Applications” folder - but not having to run some installation wizard/script/process confused the hell out of me at first. On the other hand, I downright detest OS X’s window decoration controls (maximize and minimize), as well as how it handles “close window” as opposed to “quit application”. I still very strongly believe that the way Windows (and, AFAIK, most Linux desktop environments) handles that is more logical. (Why in the hell would I want an application, which requires a UI for interaction, to continue running if it has no windows?! I summarily reject the notion that it’s faster - the difference exists but is so slight that nobody would notice it unless they’re specifically timing it.)

I am, fortunately, not the only person who disagrees with OS X UI design decisions. I’ve found that my acceptance of OS X depends on the functionality of the following third-party applications being available.

BetterTouchTool is what allows me to “fix” the window controls:

  • Leftclick Green Window Button -> Maximize Window
  • Rightclick Green Window Button -> Restore Old Window Size
  • Opt + Leftclick Green Window Button -> Enter Fullscreen (If Supported)
Alfred is a fantastic “productivity application” - I use it primarily as an application launcher and searching front-end. If I want to launch something, all I do is hit Cmd+Space, and start typing the application name (or shortcut, or workflow, or whatever). It almost always knows what I’m trying to do within 3-4 characters, and I confirm its choice by hitting Enter. Not having to take my hands off of the keyboard to launch an application is awesome. :) It also allows me to associate global keyboard shortcuts as a workflow trigger - I’ve “fixed” locking my console by making Command+L a shortcut that triggers a workflow that launches my (locked) screensaver. Every operating system needs a functional equivalent to Alfred.

USB Overdrive lets me use my Logitech G700 mice (at home and work). It annoys me that I need yet another application just to use the basic functionality of a mouse.

Witch permits you to customize your window switcher however you like. I have it display all windows in all spaces, sorted by recent activity (the OS X default is to switch applications, rather than windows). I have Witch triggered forward by Command+Tab and reverse by Shift+Command+Tab. OS X sometimes (rarely) intercepts Command+Tab, and displays its own application switcher instead… I really wish that it wouldn’t do that.

Path Finder attempts to replace Finder, which is OS X’s desktop and file management application. I use it, and I love it, over Finder - it lets me use it in much the same way I would use most file management applications for Linux or Windows. It also seems as though it would be familiar for those who are used to Finder - it supports shortcuts and functionality to make your life easier, no matter what you want to do. My biggest complaint is that it can’t replace the file open/save/etc controls that are displayed within applications. I despise Finder’s insistence that everything be sorted alphabetically, regardless of type - I want all of my folders to be listed first, followed by files. So I use Path Finder, which lets me do what I want, everywhere except in that specific function. I’ve recently been made aware of Xfile; I haven’t tried it yet, but I plan to.

Those are the applications that make OS X “behave” for me, functionally. I’m not sure that I’d be able to use OS X happily without them. The remainder of these applications are those that I use on a daily (or at least frequent) basis, in no particular order.

iTerm2 is the best terminal application I’ve ever used. (built into OS X) has a lot of fanbois, who love to growl at iTerm 2 users, nearly as rabidly as the Mac vs PC argument. isn’t quite there for me - last I tried it, I couldn’t find support for either mouse reporting or the use of option+arrow keys - which are both required for me. I don’t use most of the features that iTerm 2 provides, but it’s awesome nonetheless.

VMWare Fusion is the OS X flavor of VMWare Workstation, which I used before switching to Mac. I run Windows and Linux in VMs on Fusion - Windows for specific productivity while at work, and Linux for development servers and testing. Fusion’s Unity mode for Windows - which allows windows applications to appear and function just as any other OS X application would, without a dedicated window for the virtual machine’s desktop environment - works, but it’s far from perfect. I frequently have issues with Internet Explorer appearing as though it’s still running, even though I’ve already exited it, and Avaya One-X Communicator launches 2-3 “windows” that are just supporting processes, but which annoyingly appear in my OS X environment while using Unity (they don’t appear when run outside of Unity - they’re running, but there is no UI). I’ve put up with those issues, because they’re relatively minor, and the behavior is predictable. It’s often caused me to consider trying Parallels Desktop instead, but I haven’t yet (mostly due to laziness and disk space constraints). Now that I’ve admitted that, perhaps I’ll give it a try soon.

f.lux changes the color temperature of your display, according to the (calculated) position of the sun where you are, so that it’s easier on your eyes at night. I love it. It’s also available for Windows and Linux.

MS Outlook 15 (2014) for Mac is the only mail client for OS X that I have found to be acceptable, to date. Before MS released the latest version for O365 subscribers (I subscribed the day they released it, simply so that I could get Outlook), Outlook for Mac was awful - I wouldn’t recommend it for anyone. I’ve also tried Thunderbird,, Postbox, MailMate, and others that I’ve forgotten. I really don’t know how it is that email is so difficult to get right, but Microsoft has (more or less consistently) gotten it right for Windows, and brought that success to Mac with the latest version. I do, however, have complaints about it: it doesn’t have the moderation features that Outlook for Windows has (hell, even OWA has them), nor does it have the speed of Outlook for Windows when dealing with lots of mail in a single folder (once you exceed a thousand or so messages in a single folder, say goodbye to your processor time). It’s not great, but it’s the best I’ve found.

Arq is my preferred online backup agent. It “just works” in the background - very much set and forget (just don’t forget your encryption password ;) ). I have it configured to back up my data to Amazon S3 Glacier storage.

Royal TSX is the connection manager that I use to keep track of servers at work, and connect to them. This is everything that I wanted Remmina (for Linux) to be. If you frequently need to use RDP, I very highly recommend Royal TSX. The Royal family has also expanded, to provide a lot more Windows administrative capability for Royal TS/TSX. I haven’t used that functionality yet, but I have it in mind to evaluate. Royal is also available for Windows.

Navicat Premium is perhaps the best database management and design tool I’ve used, to date. SSMS is a close second, but it only manages SQL Server, and only runs on Windows, which puts it at a huge disadvantage, and renders it irrelevant on Mac. Navicat lets me connect to, query, design, and otherwise interact with databases on SQL Server, Oracle, PostgreSQL, and MySQL, all at the same time, in the same application. I’m not a fan of some of their UI design choices, but it’s better than anything else I’ve used. Navicat, with some feature disparity, is also available for Linux and Windows.

Homebrew is, as its website says, the missing package manager for OS X. I’ve installed several utilities well-known to nix/bsd using homebrew, including (among others): ffmpeg, openssl, x264, sqlite, weechat, xvid, gettext, python, ssh-copy-id, wget.

Speaking of weechat, that’s what I use for my main IRC client. I’ve tried many others, including Textual (which I also liked, but it was missing features important to me), but keep coming back to weechat.

Adium is an instant messaging application based on libpurple; libpurple is also the parent library of Pidgin instant messenger (Linux and Windows). I am very much not a fan of Adium, but I use it because I can’t find anything better (most clients are disqualified due to lack of support for OTR). Please let me know if you are aware of a better IM client.

FileZilla client is the file-transfer application that I use - primarily with SFTP. It’s OK, but I occasionally have minor problems with it (such as refusal to use .ssh/id_rsa for key-based auth). I’ve tried Cyberduck also, and it seems to work well, but its user interface drives me insane. FileZilla is also available for Linux and Windows.

Firefox is my main web browser, and is what I use for the vast majority of my browsing. Chrome is in distant second place - distant because it’s such a resource hog. I only use Safari when I have to (one of our applications at work will only run in Internet Explorer or Safari). Firefox is also available for Linux and Windows.

LibreOffice gives me the ability to do nearly anything I could possibly need, with documents created by Microsoft Word and Excel. I feel that LibreOffice is 98% of the way there. Writer doesn’t render things quite the same as Word, but it’s usually close enough that it’s acceptable. Calc has a few compatibility issues with Excel, but they’re rare. A bigger flaw, in the most recent version of Calc, is that it suddenly crashes when you try to do a few specific things - like edit cell contents using the formula editor bar. That’s quite annoying. Overall, though, it’s an acceptable alternative to MS Office. I don’t even have MS Office for Mac installed, despite being entitled to it (due to my O365 subscription). MS recently started tech-previewing the next release of Office for Mac, so I may download it for evaluation sometime soon. LibreOffice is also available on Linux and Windows.

MakeMKV makes backing up DVD and BluRay discs fast and easy. I’ve not had any problems with it. MakeMKV is also available for Linux and Windows.

When my primary operating system was Windows, I used Notepad++ as my text editor. I no longer recommend Notepad++ to anyone, as a result of the Je suis Charlie edition. I very strongly believe in freedom of speech, and do not discount any developer’s ability to express their opinion, but I also very strongly disagree with forcing users to watch a political opinion be typed out on first-run (which can, in and of itself, be politically disastrous). But I digress. When switching to Mac, I sought a new text editor. Sublime Text 2 is what I found, and… I’m conflicted. I’m not in love with it, but it’s not bad, either. More importantly than that, I subscribed to their announcements mailing list, and it’s abused to spread opinions of how business should work, not just announcements of (or discussion about) the application. I plan to switch to Vim, but I haven’t done it yet.

VLC media player does just that, and it works as well on Mac as it does on Windows and Linux., built-in to OS X, is the Calendar app I use most of the time. It’s better than Outlook’s calendar functionality, and supports Exchange, CalDAV, and Google Calendar. That said, it’s nothing to write home about… it’s just a calendar application. I plan to give Fantastical 2 a try in the near future.

One of my struggles, since I’ve been using this laptop, is that others are aware that I’m now a Mac user and ask me for advice or recommendations about something related to Mac. As you can tell from the list of applications above - particularly those which I mention are necessary in order to correct OS X stupidity - my environment is heavily customized. Because I haven’t been a Mac user for a long period of time (I do not consider a year to be a long time, in this context), I don’t know (or remember, really) what the expected behavior is for some of the functionality that I’ve overridden. That makes tier-1 questions nearly impossible for me to answer. If you throw something deeper at me - IP configuration, disk encryption, or what have you - I’d be fine with that. Just not UI stuff. And recommendations? chuckle The people who are asking me for recommendations should not be - I’m not the same type of user that they are.

For home users - Apple would love to sell you a Mac, and they employ “geniuses” who will help you with your problems. Just remember to take your credit card along with you. (More directly, I think that Macs are probably fine for home users, but I’m not prepared to assist anyone with one, and I do not currently plan to develop those skills.)

For end users in any organization (business, government, etc) - I haven’t even wavered on my opinion that Windows is the best solution. Mac’s enterprise manageability and control is a joke.

For users like me - systems administrators, developers, and other tier-3+ IT professionals - I wouldn’t hesitate to recommend this MacBook Pro Retina. It’s stable, reliable, well built, and does it with a fantastic display. I’m obviously not in love with OS X, but it’s a relative to BSD, which gives you access to a lot of nix-like functionality that simply isn’t there on Windows. You’re an IT pro. You’ll figure it out, and you’ll eventually enjoy the working environment that you’ve fine-tuned.

edit 1: I was asked what it is that I do, occupationally. I’m a jack-of-all-trades for a local government. My time is split between enterprise systems administration (Windows and Linux), database design and administration, PHP coding ( :‘( ), report writing, application maintenance, and many other things.