Nine years ago, I started using source control. GitHub made it extremely easy to get started, and git has plenty of external documentation on the internet. Using a git commit template was one of the highest quality-of-life features I implemented, but why? What is a commit template? First, let us get started with what a commit template is. After you type git commit, a template file you define is…
Last Modified: July 15, 2023 This page lists some goals I am working on or have completed. I have kept many to-do lists, including the original, which started as a private Facebook note in high school. Since then, my list has transformed between various digital and paper mediums into the current format you see today. Keeping these items in public is a nice way to share while holding myself…
For the July Dallas Apple Meetup I did a talk on macOS preferences and profiles. My slide deck, scripts, and reference links to all the tools I used in the talk can be found below:
Have you ever just wanted to see all the wireless networks around you? Apple provides quite a few tools to help do this out of the box including a really nice command line tool called airport . But what if there was more…
Apple releases new macOS betas pretty frequently and you test all of those betas, right? Well what if I told you there are some features you can’t test. Not because you don’t want to but because Apple doesn’t give you the tools.
I recently ran into a really awesome ruby project for creating Github Changelog files automatically. These files make it very easy for community members to quickly get up to speed and follow the development process of a project.
Find My Mac (FMM) is a service from Apple that allows individual iCloud users to locate their devices as long as they are signed in and the device has a valid internet connection. The problem, in enterprise, is we often do not want these services up and running due to security. You can disable the ability to sign into iCloud all together but what if you want to just stop FMM?
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…
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…
Info 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…
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…
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…
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…
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…
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; };…
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…
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.…
Intro Microsoft Office 2016 for Mac had a rough start for sure. With that being said things have gotten better and quite rapidly. This post will focus on where Office 2016 for Mac currently stands, commonly asked questions, best practices, and solutions for updates. This post should serve as a overview of the changes to Office 2016 (O2016) for Mac from about November 2015 to Present (January…
I almost missed Hack the Mac this year but luckily Twitter let me know once it had already started. Since I showed up late, I missed the first project overview and needed to go back to the video on demand to review what was said. While I was watching I thought it might be useful for others if I compiled a short overview with video links. All three projects were already brought to my attention…
With a little push from @groob, I have created a simple python script that runs a rsync command and sends a summary of the run to Slack. Slack was not created to be a storage vault for server logs however it does great for short sms style messages. If you are using a log collection service like logstash you could extend on this script to include the link to your uploaded log or if an error occurs…
Many users are upgrading phones in light of the new iPhone Upgrade Program or because they need to have the latest and greatest. With a bigger screen comes the issue of how do I use this phone? It’s literally too big for my hand! For that I recommend the following links. I’m also including the reachability link because it seems many iPhone 6/plus users don’t know about this…
Info Updated for Logic 10.2.0 - September 18th, 2015 This script has been updated to support Logic Pro 10.2.0. This release included many additional audio libraries for the added Alchemy Plugin. The updated script from Hannes will now download audio content to a “__Downloaded Items” directory and create hard links to Apple’s categories. Today I needed to import 60 packages (37…
Intro Many have written about Imagr but few have made the claim of dropping their old imaging solution completely. I made the claim in May after extensively testing Imagr with virtual machines however the real test was this week with 90 brand new Macs. That’s right the good ol’ unboxing, labeling, tagging, and prepping. It is the end of the school year and the Audio Video Department…
Intro This is part one in a four part series on using Puppet on OS X. However to understand my move to Puppet I wanted to share my thoughts on Configuration Management (CM) in general. For the last five months, I have been seriously questioning my deployment/management process. Even with Munki’s native support for configuration profiles in v2.2.4, it has always seemed like I was creating…
Intro Automator is unique in its ability of creating “automation” via the usage of a graphical tasked based workflow. Most other tools that I use for automation are command line driven. So what can you do that’s so amazing? Create applications. No really Automator has the ability to create a .app. Create services. The ability to directly apply changes inside of applications. It…
Intro The University of Texas at Arlington (UTA) has some articles that are quite outdated regarding using their Oracle database server. On top of that no information is given to users that have Macintosh computers. If you happen to be taking an Information System class like Database Management Systems (INSY 3304) then good luck when it comes to remotely connecting to the Oracle server. To make-up…
Intro Changing user account logons in a deployed environment can cause some issues. Doing so with OS X clients that are bound to Active Directory can cause even more issues. Below is how I overcame some of the pitfalls of the built-in OS X Active Directory plugin. This article expands on the basic project Readme instructions located here. Info Note: The above picture is for reference purposes…
I have written about shrinking the virtual disk of an OS X Virtual Machine here but recently I needed to shrink a Linux virtual machine. The process is almost identical across all of VMware’s products you just have to find the vmware-vdiskmanager tool. The process In most operating systems removing the files from the disk merely alters file tables so the operating system sees the space as…
Intro I have been using puppet in one way or another since April of 2014. My first introduction to puppet was boxen but up until recently I have only focused on how puppet can apply to me personally. With this module and a few ideas I have for the future this is going to change the way clients are configured at $work_place. Now this technically is not my first module it is the first module that I…
Warning Outdated: I am no longer using this process nor is the original author that I was linking to. He has an archive of his post here. Github is awesome. Jekyll is awesome. Travis-ci is awesome. Prose.io is awesome. And now…you can be awesome as well. Open Source is a fantastic but it is not without its drawbacks. One of the biggest drawbacks to using a static website like this site is…
Intro I use Munkireport-php as my main reporting system at my work but have recently ran into an error when uploading data from client machines. My setup is using nginx to serve the files. Error message The error message below is what was showing up from a manual munki run with verbose enabled, you can run the command with: sudo /usr/local/munki/managedsoftwareupdate -v ... Starting... Running…
Intro Are you an Apple Developer? Most of the Apple Admin Community have developer accounts for the simple reason of gaining access to beta releases earlier than the public. This extra times allows us to test for changes that might affect the environments we support before it ends up in the hands of our users. Up until this point that is the only reason I could justify having a Dev account.
QuickLook scans file contents before you open those files. Usually this just lets you view a file quickly. But you can also use this same technology from the command line to bring about a change to the Finder without actually opening a file. To access QuickLook from the command line, use qlmanage. qlmanage -p ~/Desktop/MyTowel42.pdf —Charles Edge I highly recommend adding an alias to your…
Info Ubuntu 16.04/ PHP 7: Lucas Hall has created an updated guide based off of this one that uses Ubuntu 16.04 with PHP 7, which can be viewed here. Intro Welcome to the third part in our munki server setup series. In this section, we will download and configure Munkireport-php on our munki server. Before we get to far you might want to head over to Part 1 - Setting up the munki repo or Part 2 -…
Warning Update: This article should only be used for reference at this time. Mandrill has been great for many years but no longer has an active maintainer. Please use MunkiWebAdmin 2 (mwa2) from github.com/munki/mwa2 instead. Intro This is Part 2 of a series on setting up a munki server on Ubuntu 14.04. Read Part 1 here. This section goes over setting up Mandrill so we can edit our repo metadata…
Intro As you might have guessed from my previous post, I am trying to standardize at work. Part of this was to move many core OS X services away from OS X Server and towards Ubuntu. This will allow us to use our existing virtualization infrastructure. After reposado the next big service was our munki repo. Munki is a very powerful open source tool for patch management and software updates for OS X…
Intro Why on earth are you creating another guide? Why not use Puppet or Docker? Well the short answer is I could not find anything that covered all the criteria that I needed. I might go back later and puppetize this or use docker but needed a working solution. Plus the first step to automating something is to document how to do it manually, so below is the process to get Reposado and Margarita…
On September 24, 2014, a security vulnerability was publicly announced that affects a large percentage of Internet connected devices. This vulnerability, known as Shellshock, affects the Unix command shell Bash. Bash, the bourne again shell, is one of the most common applications on Unix based systems. Many devices running Mac OS X or Linux are affected by this serious exploit. It is important to…
Quick Update Firstly, the new semester has started up and my previous goal of one post per month might become a little more difficult to keep up with. For that reason I will be making this post mostly personal opinions and ideas rather than technical writing. It has certainly been a busy start to this school year getting multiple labs ready, updating computers, installing new software, and plenty…
The Hacker’s Browser Plugin A plugin that increases speed and efficiency while browsing the internet? Yes please! I only recently found out about Vimium and wanted to share my thoughts on this plugin. We all spend too much time on the internet. Reading forums, blogs, facebook, twitter, news, youtube,…the list goes on and on. Phil Crosby and Ilya Sukhar created Vimium to speed up the…
Chromebooks are pretty popular in Education right now due to their low learning curve, low price, and high usability. They are quite good at simple projects and give more students access to the internet. Now Google wants to remove paper… Hopefully Classroom will help you spend a little less time at the photocopier and a little more time doing what you love—teaching. Read more: More Teaching…
Moved the blog over from Octopress to a plain Jekyll setup. This allows me to have a bit more control while also removing some of the fluff that was installed by Octopress that I did not use. I am very glad to have found such a great theme created by Michael Rose. I will release another post once I have had a little more time to play around. As of this moment, it is about 10 times faster to…
I always find myself looking for a good resource when writing if/then statements in bash scripts. It’s hard to remember all the combinations when you simply do not use most of them frequently. Below is my personal cheat sheet…copied here because I was tired of having to look for a good resource. Examples on usage can be found in the original article. integer comparison # The following…
I received a unique request today from a co-worker of mine. In short, he asked me if I was able to convert an audio clip from a Tascam audio recorder to a lower quality format suitable for our phone distribution system. The real challenge…was I going to be able to do this with the software currently installed?
Display useful information on your Desktop using Geektool. Make troubleshooting network issues for your end users easier. Find your hostname faster. The amount of useful information is limitless. If you can script it…you can display it. My geektools results. Introduction Firstly, I take no credit for this valuable resource. All credit should go to Erik Gomez from the munki-dev mailing list.…
Many administrators use OS X Server. In my opinion the server OS has always lacked choices when it comes to backing up the server services data. Until I found Bender… Bender is a utility written by Forget Computers to automate the backup of OS X Server settings to provide easy restoration of services should they become corrupt, and for importing server settings after a migration or server…
We all know about file security but how many of our users take the time to properly protect their data? Sure you can make policy but unless someone documents the expectations, reasons, and how to do it, many users will simply ignore policy. How about personal files, we all store data on our computers that we know should be protect but how? Well luckily Apple has a very simple solution to the…
Under the hood of Find My Mac there are some security details that are not widely published. These details should not concern most consumers however I found them quite interesting. When a user enables Find My Mac (FMM) on their computer this is a system level change. This means if a user wishes to enable FMM they must be an administrator of the computer. A result of this is that in most…