OK, I'm not quite sure I'd call myself an Apple Fanboy just yet (as I'm typing this post on a Microsoft Ergonomic Keyboard). However, I have phased an OS X Mac-Mini into my work environment. Recall that since 2009 I've had a simple strategy for hardware risk management: I have two work computers, and every Monday and I switch the one in use for the week. The result is that if I have a hardware failure, I can effortlessly switch to the backup.
For years, this meant running two Windows Laptops. Then I switched the arrangement to a Windows Laptop paired with a Linux Laptop. Then it was a Linux Laptop paired with a compact Windows Desktop. And now it's official: for 2017 I plan to use a Mac-Mini paired with a similar footprint Windows Desktop Machine. Here's the new setup:
Attentive readers will note that this isn't my first time owning a Mac-Mini. I've had one on the side now for about 5 years, but I ran it just when I needed to do something OS X specific, which wasn't all that often.
So it's been essentially a week in Apple land, and so far, the biggest news is that there is no news. Most things Just Work. My core tools: emacs, bash, subversion, Firefox, etc. all work just as seamlessly on OS X as they did in Windows and Linux. It's mind blowing that I can take a totally new computer and OS, use subversion to pull down my configuration and within a few minutes be working away like this was a well-worn environment.
Consider this win: I've got a relatively fancy script I use to setup ssh tunneling. I checked it out of my subversion tools repository and ran it. And just like that, it worked. Of course, it's just standard bash commands, but still, to have something relatively complex like this not require changes is just too cool.
There's really not much to report on the hardware side. Yes, the Mac-Mini is sexier than the boxy Windows computer next to it. And at at $650 or so bucks, it's relatively cheap. But the Windows box is fan-less, so it's absolutely silent, whereas the Mac-Mini makes these tiny tinkling noises. Hardly a deal breaker, but it is noticeable. The Windows box also has far more USB ports, some of which are conveniently placed on the front panel. But still, these are minor points and from a hardware perspective the Mini gets a passing grade.
On the other hand, OS X as an operating system definitely shows promise. It has that mainstream vibe that Windows has: so tools like Skype work in a polished way out of the box. *And*, it also has a strong geek vibe: I don't need to layer Unix tools on top of the OS via Cygwin, instead they are native. At one point I struggled to get ssh-agent working properly, only to realize that it was my hacky Windows setup that was breaking things. Mac apparently supports ssh-agent out of the box and I just needed to move all that crap out of the way and let it just be.
I've warmed to a number of OS X design choices quite quickly. For example, both Windows and Mac support multiple desktops, but they have one noticeable difference with respect to how multiple monitors are handled. On Windows, when I 'slide to the desktop on the left' both monitors change. On Mac, only the current monitor changes. This allows for mixing and matching of desktops. At first this was jarring, but I think it's a win.
The biggest source of pain for the last week has been the mental grinding of gears needed to adapt to new keyboard shortcuts. Consider this keyboard conundrum: on Windows, Control + a selects all the text, and the Home key takes you to the beginning of the line. On Mac, Control + a takes you to the beginning of the line, whereas Home takes you to the start of the text field you're in. So for the last week, I've been hitting Home to get back to the start of the line, and then get annoyed because I've totally lost my place and typing at the start of the document. I've tried some recipes for overriding this behavior, but ultimately, I'm just going to need to retrain my brain.
The irony is not lost on me that years ago, when I switched from Linux to Windows, I had to stop using Control + a to get to the start of a line, only to now have to relearn this habit.
Fortunately, the keybindings in emacs are universal. So for most of my coding tasks, the keyboard short-cut changes haven't been all that big an issue.
I'd consider this first week of being a Mac Guy a solid success. My brain is going to be pissed when it finds itself on a Windows environment next week, but it'll deal. For now, I'm just happy that I can be following Rule #1 for business computing hardware: Diversify
Any killer Mac utilities or features I should know about? I need an autohotkey replacement, which I think will be AppleScript. But maybe you've got a better idea; I'd love to hear it!