A Mac sysadmin, documenting useful code, ideas, & guides.

Introduction If you have ever worked with the PyObjC bridge on the macOS platform you might have noticed that data is often returned as a Objective-C class object (NSArray, NSDictionary, etc.) Thanks to the effort put into PyObjC, python can seamlessly use python type methods with their Objective-C class equivalents. But, what do you do when you are required to use a pure python object? Use case I ran into this issue when using the Boto3 python library for my s3Repo plugin for munki.

Office 2016 has had a few updates since my last post on the topic however most of these simply don’t apply to me as an admin of the mac platform. Many of these updates have been bug and feature related which is great…I just do not see them as I am not a user. Honestly, since I finished college in December I have not used a Microsoft product on my mac except for Microsoft Remote Desktop.

10.12.4 locationd

Update: I made an incorrect assumption regarding SIP and the change with 10.12.4. This post has been corrected. Thanks Patrick Gallagher and Pepijn Bruienne for pointing out the mistake. New with 10.12.4, Apple has decided to protect the locationd LaunchDaemon with System Integrity Protection (SIP). If you are not aware the locationd daemon is used for Location Services. This is the process that drives: FindMyMac, “Set time zone automatically using current location”, it allows applications to locate your computer, and more.

Introduction Grocery Delivery (GD) is a ruby gem that helps keep cookbooks, roles, and data bags in sync between a source control repo and your chef server. This allows administrators to keep their entire chef code in source control with continuous integration, peer reviews, and any other checks they can think of. Once the code has been checked and merged into the master branch the grocery-delivery binary takes the place of knife upload.

python2 and tls

For your Friday viewing pleasure I present the following cartoon. Credit: https://xkcd.com/356/ Background In case you do not know Apple deprecated the usage of OpenSSL in favor of Common Crypto, back with the release of OS X Lion (10.7) in 2011. On Apple’s latest operating system macOS Sierra (10.12) OpenSSL is currently at version “0.9.8zh” with very little indication that it will get updated. Now this is a specific build that Apple created and it does have a few back-ported fixes however this version doesn’t support TLSv1.

So lets start with I’m not a developer. I won’t pretend to be one but I do find development work quite interesting. One thing I’m trying to get into is Swift but even the small steps lead me to realize how large the Apple ecosystem is. Cocoa, Swift, Xcode, System frameworks, finding the right documentation, etc. The process of connecting the dots takes a bit of time as you might imagine.

Intro Before I get into the material of this post I want to refer you to an article written last week by Sal Soghoian, click here. The information that he provides regarding user automation is exactly what makes the process described in this post possible. In case you are not aware, Zendesk is a web-based helpdesk application that is cloud hosted and quite popular. They have an email API that allows agents to create a ticket with a simple email.


Apple has some pretty nice energy savings options built into macOS. Most of these options are tucked nicely inside of the Energy Saver pane of System Preferences. The above settings get written to the com.apple.AutoWake preference and looks like: defaults read /Library/Preferences/SystemConfiguration/com.apple.AutoWake { RepeatingPowerOff = { eventtype = shutdown; time = 1020; weekdays = 127; }; RepeatingPowerOn = { eventtype = wakepoweron; time = 420; weekdays = 31; }; } Weekdays Some of these values are a bit opaque once they are written to the preferences domain.

OPMA 3306 SAP Help

Java! Currently, I am taking an Operating Management class which uses an Enterprise Resource Planning (ERP) application. The instructions given to my peers consistents of: Download this file Download one of these two other files (no notes on how to use either config file) Open this jar file and a PS note that you need the Java SDK installed Okay fine I can deal with bad setup instructions…then I got an error message and gave up.

Adobe CC Oops

I ran into the following error earlier this year and have yet to write about it. Adobe has the correct solution in another knowledge base article however the error messages are different. Since the errors looked to be different I never would have attempted the solution until Karl gave me a poke. Basically I would launch Adobe’s Creative Cloud Packager (CCP) tool and nothing would work. Luckily the fix is really simple: