Scripting

  • While working on a macOS scripting problem recently I discovered that the behavior of which did not reflect the man page for which. There is a very good reason this. In zsh, which is a built-in shell command and the man page for which is for /usr/bin/which. One can demonstrate which by running which which…

  • In my last post I considered the changes in Cisco Secure Client 5. In its default configuration, AnyConnect/Secure Client is a user-facing application. As a VPN client, it’s an important part of our remote and hybrid work environments. While the process of logging onto VPN with Secure Client is unchanged from AnyConnect, the name and…

  • Howard Oakley posted this weekend about problems installing XProtect updates when a Content Caching server is available. His post prompted me to dig into a similar situation I had last week: I couldn’t install Command Line Tools for Xcode while my Content Caching service was online. Fortunately, /var/log/install.log had a lot of verbose logging about…

  • Researching Keyboard Setup Assistant started as an exercise in suppressing it during a demonstration video of our Mac provisioning process. My findings quickly became part of that very provisioning process.  Background macOS presents Keyboard Setup Assistant when it encounters an unknown 3rd party keyboard. The assistant guides the user to press a couple of keys…