Most developers (myself included) usually wait for the
point one release of the next major macOS upgrade. This is mostly in order so that all the related tools/applications maintainers will have time to upgrade and iron out their bugs/issues with the new OS.
Since I use my Mac mostly as a glorified *nix replacement, the GUI applications are scarce (notably: iTerm , Paw , Postgres.app , Xcode and a couple of small utilities) i.e. the bulk of my development is dependent on Homebrew working correctly + the good old RVM .
All of these work flawlessly under Sierra, one just has to remember to update them beforehand via:
$ brew update $ rvm get stable
Afterwards a clean output from
brew doctor should fix whatever potential issues remain.
The main issues after the OS upgrade were, ironically, not the apps/utilities but the crushingly slow default values for
KeyRepeat, a pink external EIZO display, the Notes.app crashing like nuts and finally some minor performance tweaks (mostly for aesthetics)
Fixing slow key repeat
If you use vim in a terminal you'll quickly realize that the navigation is back to slow as heck. That's due to the
KeyRepeat values. In El Capitan this could be fixed easily via Karabiner but for 10.12 their developers have a wip Karabiner-Elements which it's useless at this point (at least for me as it tells that I should edit JSON files).
Well, no thank you good sirs: if I'm going to edit config files, I'd rather do it directly at the OS level.
After some testing around I got back the fast and snappy vim scroll/navigation via:
$ defaults write NSGlobalDomain KeyRepeat -int 1 $ defaults write NSGlobalDomain InitialKeyRepeat -int 12
Note: these can be reset back to their default via:
$ defaults delete NSGlobalDomain KeyRepeat $ defaults delete NSGlobalDomain InitialKeyRepeat
In order for them to take effect you can just log out or restart your Mac.
Fixing my pink external EIZO display
This was rather easy but tedious: it basically boils down to repeating the same steps again from Mathew's article i.e.:
Disable macOS's SIP by booting into recovery mode (using
Command-R whilst rebooting your mac and then running
csrutil disable in the terminal).
Download the linked Ruby script and run it via
ruby patch-edid.rb. It will generate a directory.
Move the directory into (back-up the old one if it exists):
Then you can restart again into recovery mode and enable back SIP by running
csrutil enable into the terminal.
After all this: my external LCD was crystal clear and NOT pink anymore.
Notes.app crashing and minor performance tweaks
The first one is simple: just disable/enable the iCloud Notes syncing.
Regarding the second one you can tick reduce transparency and motion in the Accessibility section in Settings (this should offload the GPU if you have an older Mac with Intel graphics and as aesthetics and UX go, I'm not a fan of over-the-top animations and transparency).
Wi-Fi not working
Rachel pointed out her Wi-Fi wasn't working anymore. The fix: after posting the issue on Apple forums someone suggested this article that finally fixed it.
I also had a small problem with it but it quickly went away by turning the Wi-Fi off and then back on. In any case hopefully this will ease the upgrade for someone.
Bonus: right after the upgrade prepare for 100% CPU usage on all logical cores for ~ one hour or less, the culprit will be
If you’ve just installed Mac OS Sierra and now see photoanalysisd sucking 100 to 200% CPU power, this process is doing some kind of face detection + object / image recognition / indexing on your Photos library. via check progress of photoanalysisd
In the end the upgrade wasn't painless e.g. El Capitan went smoothly compared but at least I removed an extra dependency - I no longer need to have Karabiner running in the background and somehow it feels a tad faster even whilst the memory pressure is now lower.