Push notifications from web sites have long annoyed me—I regularly reset Safari for various reasons (including testing), and some sites pop up alerts demanding my attention as to whether I want push notifications. IMO this kind of obnoxious design is a good reason to de-bookmark a web site.
At long last I figured out how to configure Safari to block all push notifications permanently. Or rather, to never ask me about them. Somehow I had missed it before due to its ill-considered UI design, being out of sight way down at the bottom.
Uncheck that box at very bottom, and those annoying popup dialogs stop appearing.
Disable all push notification alerts in Safari
The sudo hang problem literally cost me days of wasted time. I had to laboriously revert my 2013 Mac Pro to 10.12.3, no trivial thing given the data loss of losing email, since Apple mangles mail as part of “upgrading” in a minor release. I spent many more hours doing a complete manual erase/reinstall/restore data/apps/config on my MacBook Pro.
I could not find a solution prior to leaving on a weeklong trip, but I have now returned and finally narrowed down the cause to a single line in in /etc/sudoers. How that line got there I do not know (I never added it). Perhaps a remnant from bygone days. The fix confirms my original theory of it being some configuration issue.
For security reasons it is a bad idea to just paste some replacement /etc/sudoers file without understanding it in full, so I did not want to do that. Instead I went sleuthing, commenting out lines until I found the problem line or lines.
It turns out that one line in /etc/sudoers was causing sudo to hang on the 2015 iMac 5K and 2015 MacBook Pro:
%users ALL= NOPASSWD: /sbin/kextload, /sbin/kextunload <=== responsible for sudo hang
Comment it out like this, and all is well:
# %users ALL= NOPASSWD: /sbin/kextload, /sbin/kextunload <== comment out and all is well
Why was that line there? I don’t know, and I do not recall ever adding it. That this problematic line was there as long ago as July 2013 (nearly 4 years ago!) can be see in Extending the 'sudo' Timeout. So clearly Apple changed and broke something, since nothing had gone wrong until 10.12.4.
As a precaution, since the presence of that line is odd, I validated all my kernel extensions. I found one or two not code signed (printer drivers, old Accelsior driver), but nothing amiss. Look for "signed" to find unsigned kext in the output from this command in Terminal:
kextutil -entZ /System/Library/Extensions/*.kext /Library/Extensions/*.kext
Fresh 'stock' sudoers file
This file is an unmodified version of what macOS 10.12.4 installs on a fresh erase/install. To use it, open /etc/sudoers using TextWrangler (it shows hidden files in its Open dialog), and then select-all / delete / paste this file and save.
Copy this text and paste into a plain-text window first (in order to make sure nothing is added or lost or changed after copying from this web page). Lines that begin with a # are harmless comments.
#-------------------- use contents below --------------------
# Sample /etc/sudoers file.
# This file MUST be edited with the 'visudo' command as root.
# See the sudoers man page for the details on how to write a sudoers file.
# Override built-in defaults
Defaults env_keep += "BLOCKSIZE"
Defaults env_keep += "COLORFGBG COLORTERM"
Defaults env_keep += "__CF_USER_TEXT_ENCODING"
Defaults env_keep += "CHARSET LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE"
Defaults env_keep += "LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME"
Defaults env_keep += "LINES COLUMNS"
Defaults env_keep += "LSCOLORS"
Defaults env_keep += "SSH_AUTH_SOCK"
Defaults env_keep += "TZ"
Defaults env_keep += "DISPLAY XAUTHORIZATION XAUTHORITY"
Defaults env_keep += "EDITOR VISUAL"
Defaults env_keep += "HOME MAIL"
Defaults lecture_file = "/etc/sudo_lecture"
# User alias specification
# User_Alias FULLTIMERS = millert, mikef, dowdy
# Runas alias specification
# Runas_Alias OP = root, operator
# Host alias specification
# Host_Alias CUNETS = 126.96.36.199/255.255.0.0
# Host_Alias CSNETS = 188.8.131.52, 184.108.40.206/24, 220.127.116.11
# Host_Alias SERVERS = master, mail, www, ns
# Host_Alias CDROM = orion, perseus, hercules
# Cmnd alias specification
# Cmnd_Alias PAGERS = /usr/bin/more, /usr/bin/pg, /usr/bin/less
# User specification
# root and users in group wheel can run anything on any machine as any user
root ALL = (ALL) ALL
%admin ALL = (ALL) ALL
## Read drop-in files from /private/etc/sudoers.d
## (the '#' here does not indicate a comment)
#-------------------- use contents above --------------------
With Apple’s unprecedented public promise to develop an expandable high-end Mac Pro, what might we look for?
The late 2013 Mac Pro was a major changeover, favoring a tightly integrated whisper-quiet and diminutive form factor by eliminating nearly all the things that made a Mac Pro “pro”.
Many former Mac Pro users have considered the late 2015 iMac 5K as a viable alternative, but it still has serious limits even if CPU/GPU/memory are otherwise adequate: cooling and cleaning of an iMac rule it out for demanding workloads, and cat owners would be wise to take care for dander buildup internally.
It seems likely that a late 2017 iMac 5K or 8K might well out-pro the 2013 Mac Pro, bringing memory parity, GPU superiority, Thundebolt 3 (2 busses perhaps?) and so on. It will be a curious state of affairs until a real 'pro' Mac Pro finally appears.
Technology has moved ahead, and here are the top things a future Mac Pro ought to have, if Apple wants to impress real pro users, not just tech journalists using laptops or iMacs, few of whom have any conception of what a pro machine really is:
- Dual CPU support still matters for many tasks, particularly server loads. Given the stalled-all performance of single CPU cores today and the continuing instability of GPU-based software, dual CPUs would be a welcome, and are needed for server type workloads.
- It’s all about bandwidth, or CPUs and GPUs can stall: solid state storage, ample memory, PCIe slots, multiple Thunderbolt 3 busses, 10 gigabit networking.
- Internal SSD or Optane drive options up to 8TB, option for 2nd SSD with same capacity options.
- Support for GPU of choice, and more than one GPU.
- At least 8 memory slots supporting at leat 128GB memory, preferably 12 slots for up to 384GB.
- At least eight Thunderbolt 3 ports, on 4 busses. And not crammed tightly together.
- Support for maximum speed PCIe cards, with at least two available slots.
- Support for at least one 8K display, three 5K or two 6K displays, along with HDMI 2.0 or later.
- Space for at least two internal hard drives, thus allowing 20TB internally in addition to the SSDs.
- Don’t make me dangle dongles: 4 USB 3.1 higih speed ports and SD card reader slot.
To do these things, the form factor will have to be much larger than the 2013 Mac Pro, one way or another. Apple might be able to engineer a modular system to cut down the size, say via expansion boxes connecting directly to the PCIe bus. Some kind of stacked design might do the trick, one on which CPU and memory and default GPU are in one sub-unit, with PCIe slots and cards in another.
Looking back, the original “cheese grater” Mac Pro was a design of true excellence: superb function in an attractive if bulky form. But much of its bulk came from housing hard drives and CD/DVD drives internally—that need is gone; all of those things can hang off the Thunderbolt 3 bus. Accordingly, a new design can focus on housing just memory, flash storage, GPU, simplifying the design. PCIe slots could be delivered via an add-on box that direct connects to the PCIe bus. A very powerful and well cooled tower design should be possible in about 1/2 to 2/3 the space of the old model.