The limits of Mac and Mouse Apr 2017
It all started with recent kernel panics on my MacBook Pro laptop, almost every night, causing me to revisit my setup and choice of technologies. For the record: I’m very attached to my 2014-era “MBP”, its high-quality build, performance, portability, and battery life, as well as tons of superb apps for browsing, email, drawing, archiving, searching, etc.
The 2880 x 1800 “Retina” display is incredible. I’ve scaled it back to 1920x1200, but the way this works is that internally rendering then happens at 3840 x 2400 (i.e. pixel-doubling all graphics elements), to be scaled back to the native resolution as the very last step. The clever bit is that fonts are rendered in that huge size first, and then scaled back, with proper aliasing. The result is that at 1920 x 1200 effective resolution, text still comes out much, much crisper.
When you use the mouse, copy-and-paste rich media, and live in some of these apps all the time, then the Mac is in a league of its own (all IMNSHO, of course). It. Just. Works. Really.
But the reality is… I don’t.
Programming, i.e. going through a think/edit/run cycle for hours on end doesn’t fit a mouse- or trackpad-based approach. Aiming with a mouse requires a hefty sensory feedback loop, which uses a lot more energy than growing the habit of typing key combinations. With the keyboard, we can engage our spinal cord as muscle memory takes over. With the mouse, we can’t. It’s like having a secondary processor, freeing the main one to do the thinking (in parallel, even!).
Trouble is, I really don’t want to lose the convenience of macOS, its many comforts, the fact that I can just close it, take it along, open it up, and resume without giving it a second thought.
For several years I’ve just shrugged this off, switching to iTerm2 for its extra features (panes!), but it’s not cutting it for me anymore. Switching between apps with CMD-TAB and “desktop switching” (full-screen jumps) is sluggish, the visual transitions are boring and irritating. Two-/three-/four-finger swipes require the trackpad again, and are equally slow. Yawn.
Dual-booting would be a huge pain, not to mention getting Linux working on raw hardware, the trackpad, WiFi, screen resolution, sleep mode, etc.
My only option left seems to be to run Linux in a VM under macOS, in full-screen mode. With Parallels Desktop, which I’ve been using (and updating) for years now, it looks like all the raw-hardware issues can be avoided. I’ve turned off almost all Mac-like command key sequences, so that they can all be used inside Linux instead. As a result, the only way to get back to the Mac is a four-finger sideways swipe on the trackpad. Takes some getting used to, but so far so good.
At the end of the day, I can suspend the VM and it’ll all survive, even if my laptop decides to crash on me again in the middle of the night (what on earth is it doing after it’s put to sleep?).
Even in Linux, I can work on files residing on the Mac file system, since
Parallels makes it easy to mount the home directory. All I need is a “
symlink in my Linux home folder, pointing to “
thing to watch out for is that the Mac file system is case insensitive.
What this does is create a Very Strict Divide™, splitting my workflow into two modes. That may actually be a good thing, as I can keep email, chats, YouTube, and general surfing a bit further away from development - as an artificial hurdle to avoid at least some distractions. I’ll probably need to keep a browser and PDF viewer on the Linux side as well, for reference information.
Will it work? No idea. Time will tell. I’m willing to try anything by now, being really fed up with my dev workflow on the Mac (yes, I did also try tmux in a full-screen terminal window on Mac, but having come this far, I might as well go all the way and benefit from all Linux’s packages).