Forcing updates to Google Chrome using Chrome preferences / a Chrome profile

Why use Chrome relaunch notification instead of Munki I’m a huge fan of using Munki to patch software on macOS, but Munki is generally polite—it usually won’t kill an application while the user is using it. There is an option in Munki to force an install after a certain date, but that will log the… Continue reading Forcing updates to Google Chrome using Chrome preferences / a Chrome profile

Setting up Reposado without downloading Apple update pkgs

Reposado allows you to set up your own local repo of Apple software updates. This can be handy if you want to control the flow of updates (having a testing branch, for example, and then promoting items from testing to production). With Apple deprecating custom catalog URLs in Catalina (they still work for now, though),… Continue reading Setting up Reposado without downloading Apple update pkgs

Munki hack: force uninstall after a certain date

Munki has an option to force install by a certain date (specifically, using the force_install_after_date key), but it doesn’t do a force uninstall after a certain date. You can make an item a managed uninstall, which means Munki will uninstall it when possible, but if that requires a logout or reboot, you don’t know when… Continue reading Munki hack: force uninstall after a certain date

Using Munki to ignore Catalina upgrade in macOS

Update: Apple has deprecated the –ignore flag, so this probably will never work again. Apple used to make you go out of your way to download an OS upgrade. Then, Apple started having those OS upgrade installers auto-download to the /Applications folder. Then Apple made it so OS upgrades appeared as regular updates. For Mac… Continue reading Using Munki to ignore Catalina upgrade in macOS

Scripting changing the user picture in macOS

Sometimes, you may want to programmatically set a default user picture (with the option for the user to change it later to a picture of her own choice). You used to be able to delete the JPEGPhoto attribute and just add in a Picture attribute, but that seems to have broken somewhere between October 2018… Continue reading Scripting changing the user picture in macOS

Generating a random passphrase

Disclaimer I’m not going to go into all the politics of passwords. Users are always trying to balance security with convenience. The point of this tutorial is not to say “This is how you generate the best password.” It’s more like “If you want to generate a random passphrase, this is one way to do… Continue reading Generating a random passphrase

Making a Rock, Paper, Scissors game in Python

Before you code, figure out what you’re trying to do with the code A brief note on codeUsing comments in code Expanding shorthand logic Considering another approach No one right way to approach problems Let’s actually start writing some code Don’t trust user input Picking a choice at random Comparing values with if/elif/else Extra Credit… Continue reading Making a Rock, Paper, Scissors game in Python