Challenge - 30 Days with macOS
American Tobacco Campus, Durham, NC
I have used many operating systems on my computers over the years, including decades worth of Windows versions, tons of Linux distros, several BSDs, iOS, Android, and even chromeOS. While I am familiar with using macOS (I often used the school Macs in college, and my wife had a Macbook Air throughout medical school), it is the one OS I have never tried as my personal daily driver. After switching to an iPhone and getting an iPad this year… I decided to give macOS a spin.
(Fun fact: I first learned about Linux while attempting to Hackintosh my laptop in high school.)
The Challenge
Using a mac as the interface device during my personal computing, for 30 days.
Here, “interface computer” means the device that I sit at and interact with. For example, I might be sitting at macOS and using it for my web browsing and music, but working on a project on my linux workstation via a mosh/tmux session in iTerm. I can use remote Linux computers as much as I please, but should connect to them through macOS.
One thing to note is that I still used Desktop Linux as my “interfacing computer” for work.
Why
At home, I don’t mind iOS and macOS teaming up to make my “normal person” computing (web browsing, video chatting, emails, and online courses) easier. I still deeply care about working with Linux at home, but exclusively on the backend. So having the front end get out of the way, and not tempt me with the ability to fine-tune it, is a good thing (for me, currently).
(While I’ve slowed down distro hopping the last few years,… I have still been swapping my desktop environment every other month).
Right now, I am really only interested in using macOS for my personal
computing. At work, I don’t need my computer to be in step with my personal
phone and/or ipad. In fact, I like having that barrier there. Also, Linux works
REALLY well for the work I do, especially when it comes to running VMs (I love
libvirt
). So, there currently isn’t a reason (or even a desire) to switch
there.
Side Note: I actually wouldn’t even consider this challenge if I didn’t get to use Linux so much at work every day, or if I didn’t have my Linux desktop/workstation at home. I already ssh into my desktop to work from my other devices. In fact, I technically remote into my desktop even when I’m working at it, since I do everything in a container.
Observations
Now that I’ve spent a few weeks in macOS, lets break down some observations I had.
Stuff I didn’t like
- The elephant in the room… it’s very proprietary. I still love open source and using something that’s as locked down and secretive as macOS (and Apple products in general) feels, well… dirty.
-
I had trouble getting some applications like Joplin to work. I later learned that it was likely due to issues with signing the applications in Catalina (I think). Apparently, there is a work-around for this.
-
There surprisingly isn’t a great solution for virt-manager. I was able to install it using homebrew, but have to launch it from the terminal. I guess I might be able to setup an application launcher for it? I’m just surprised there isn’t a better solution on mac, or at least one that’s easy to find…
-
On that note, it is wonderful that brew exists, but it confuses the hell out of me (What’s a
cask
? Is it like adnf group
install?). This is most likely because I am new to it, but in my opinion, I still think it is nowhere near as nice as default Linux package managers. This is one area where using Linux for so long has definitely spoiled me. -
Working with filesystems is a pain, especially when connecting to network devices. I couldn’t use Finder to do an easy network connection without first setting up samba or nfs on my Linux computers. While I ideally want to setup a proper samba/nfs server on my desktop/server in the long run anyway, it was annoying that it couldn’t just mount the system in the file browser, using something like
sftp
under the hood like Linux does..
Click for example video connecting to a remote file system in Gnome
-
Window management isn’t great out of the box. I had to buy magnet to snap/tile my windows. (Alternatively for touch-bar mac users, note that better touch tool has window snapping and other features built in). Also, I can’t seem to hold a key and click a window anywhere to resize/move like I can in most linux DEs.
-
My desktop workspaces keep changing their order on me (ಠ_ಠ).
-
Deviating from the stock experience can become painful. Don’t like using a global menubar, and a dock for applications?… sorry? I’m sure there are third-party ways to get around it, but they are likely hacky and not guaranteed to always work across new versions of macOS.
Stuff I liked
- I am actually starting to like the CMD-centric shortcuts. They work everywhere and are nice when working in a terminal (which I do all the time).
- Default keybindings, while different from what I’m used to are intuitive, and consistent across the system. There are not many that are crazy. For example, on Windows/Linux systems, the keybinding to close a window usually defaults to
Alt+F4
, so I normally change it toSuper+Shift+Q
. While not the exact same as what I do, the macOS default ofCMD+Q
is close enough that I’ve been able to easily adapt to it, without feeling the need to figure out how to change it. It’s a similar story across most of the default keybindings. They aren’t exactly how I’ve been setting mine up, but close enough that I’m fine with accepting them as is. - iCloud syncing has been nice. Specifically for photos, TODOs, and notes.
-
I like being able to answer all phone calls from my computer. I hate talking on the phone. Oddly enough, I don’t mind voice chat on the computer, so this works out really well for me. Synced iMessage and Facetime are also nice, but universal normal phone calls is what I particularly enjoy.
-
Profiles. Specifically, setting up something like my Fastmail account in the mail app was SUPER easy because of this. I basically just downloaded the profile from fastmail and opened it with mail, and everytihng was setup. That’s it.
-
I find the UI to be really space respecting. In addition to a global menu, title bars on windows are thin and minimal. Combined with scaled font sizes, a lot less space is wasted, especially compared to Gnome.
-
Videos just work without configuring anything/switching back and forth between Wayland and X sessions. I have faith that wayland will mature to this point eventually, but its nice to already have it in macOS.
-
Gestures are fluid and intuitive. Even on the old MacBook air, the trackpad is amazing.
-
Settings like screentime work across all my “front-end devices”. If I set a downtime for 8:30pm, it boots me off all my devices… and I get to bed earlier.
-
macOS comes with a set of well-made core apps (calendar, mail, notes, music, photos, keynote, garage band, etc). They work for everything I need. If I want something more advanced, I generally have the full selection of open source and proprietary apps at my disposal. For example, I’ve been using Gimp just fine on the macbook.
-
Security does actually seem to be a focus on the system. For example, someone tried to log into my icloud account from a random location the other week. In under a minute, from my phone, I was able to unlink my account from all my devices and change the password.
Future Plans
Overall, I’d say this challenge was a success. In fact, it was so successfull, that I’m actually writing up this post on a new base model 16" MacBook Pro (but more on that at another time).
[ Well, I’m really writing it on my desktop, but from the macbook pro ;) ]
My plan is to use macOS and my iOS devices to handle my interactive/client computing. I’ve enjoyed having my apple devices take care of all my “normal” person computer needs over the last few weeks. It has allowed me to finish up required, but mundane tasks easily and efficiently, so I can better focus when diving into iTerm to work on complicated Linux server projects.
While I do have some reservations about this plan (mostly that my desktop Linux skills will fade, and that I’ll loose respect in the Linux community), I don’t think it should be too much of an issue. At the end of the day, it is most important that I am able to spend my limited time learning and building in the areas I want to focus on, which is back-end, rather than front-end Linux. I want to love all technology, and be able to help people find the best solution to their problems, no matter what they use. Maybe one day the OS flame wars will die down and we can all just get along and build cool shit together.. Till then, wish me luck!
My New 16-inch Macbook Pro: Initial Thoughts Resolving Issue #26