• cloud,  Mac Security,  Swift

    Configure Amazon SNS for Mac and iOS APNs Development

    Amazon SNS makes implementing Apple Push Notifications (APNs) a breeze. This might seem like a longer article but it’s really not as many steps as it seems (although buttons on web pages move around a lot so ymmv for specific words in button names). There’s a few main steps that we’ll go through: creating a cert in Keychain, generating a Push Notifications cert with the appropriate bundle ID and team ID, and adding an application instance. Notice that these are different for Mac and iOS so if doing both use iOS and if doing one for each, use the appropriate entry. Create a Cert in Keychain First, we’ll create a…

  • Mac OS X,  Mac OS X Server,  Mac Security

    Can’t Schedule Reboots in Ventura: Mac Observer’s Gotcha

    I was talking to Jeff Butts at Mac Observer yesterday and he mentioned something I hadn’t noticed: macOS Ventura removes the option to schedule an automatic reboot from the graphical interface. I actually went back a version and couldn’t find it there. I guess since I don’t have servers I hadn’t noticed this oversight. Or I guess it’s more emblematic that it’s not an oversight, it’s how the use of the Mac has shifted over the years. The old power management system preference features are still there – Jeff wrote an article how to use pmset to set the automatic reboot feature at https://www.macobserver.com/tips/how-to/how-to-schedule-your-mac-to-shutdown-or-reboot-in-macos-ventura/. Around 13 years ago, I wrote…

  • bash

    Inverse Case Insensitive Multiple Matching for grep

    The apropos command is used to show man pages that exist on Linux, Mac, and Unix. It’s useful to, let’s say, look for a command that includes a given word in the description. It can also be used to show all commands that have man pages (and some that don’t). To see all commands for a machine, simply run apropos with a wildcard (*): apropos * This will take a while. Not all commands can actually be used. Constrain output (which takes no less runtime) by piping the output to a grep command. The -i option can be used to make grep parsing case insensitive. This means that if we…

  • Swift

    Run A Script (eg build/test automation) From Xcode

    We’ve all been there. Write some code. Commit. Edit some code. Commit. Run the build automation. I had a little script I ran – so open terminal and run. Now there’s an easy button. Commit, use a keystroke to invoke the script without leaving Xcode. To set it up, open Xcode and click on Behaviors under the Xcode menu. Under there, click Edit Behaviors… Click the plus sign in the lower left corner of the screen and then in the list of options, scroll all the way down to the Run option Click Show Script… Select the preferred script and click OK You can also assign a keystroke – so…

  • Social Networking

    Facebook Accounts As Memorials – Proactively and Reactively

    My grandmother passed away about three years ago. Since then people post on her wall on her birthday – those who knew her often post sweet memories and those who didn’t wish her a great day. This year I finally set it to a memorial page. It still looks similar, except it says Remembering by her name. People can still share memories of her on her wall or tag her in photos but her friends won’t be reminded it’s her birthday and she won’t be recommended as a friend to those she isn’t already linked up with. There’s a Tributes section in her timeline though, which is far more appropriate.…

  • Mac OS X,  Mac Security

    Use UTM To Run Virtual Machines of macOS from macOS

    UTM is a virtualization tool available on the Mac App Store at https://apps.apple.com/us/app/utm-virtual-machines/id1538878817?mt=12 with a GitHub at https://github.com/osy. UTM uses the new virtualization framework (documented here) from Apple, so runs the most modern virtualization stack currently available on a Mac. It also emulates via the QEMU system emulation. It can run guest operating systems in Windows, Linux, etc – emulating RISC, ARM, Intel, etc. Installation from the App Store is easy. Once installed, open the UTM app and click on the plus sign to create a new virtual machine. Here, there are options to Virtualize or Emulate. Given that we’ll be installing a beta OS from Apple for this example,…