Tiny Deathstars of Foulness

You know how when you buy apps at home, they show up on your computer at work, if you’re using the same iCloud account for the app store in both locations? Some companies want to disable that. To do so, send a ConfigDataInstall key into, which can most easily be done with the defaults command:

sudo defaults write ConfigDataInstall -int 0

Or to turn it back on:

sudo defaults write ConfigDataInstall -int 1

January 2nd, 2018

Posted In: Mac OS X, Mass Deployment

Tags: , , ,

This New Years Day, Learn The Jot Command The jot command is one I haven’t used in awhile. But it’s still useful. Let’s take a look at a few of the things you can do with it. First, let’s just print lines into a new file called “century.txt” which we can do by running with the number of increments followed by the starting number, and then redirecting the output into the file name:

jot 100 1 > ~/Desktop/century.txt

Or to do integers instead, simply put the decimals:

jot 100 1.00 > ~/Desktop/century.txt

Or in descending order,

jot – 100 1 > ~/Desktop/century.txt

Now we could change the output to be just 50 to 100, by incrementing 50 (the first position) and starting at 50 (the second):

jot 50 50

The jot command is able to print sequential data, as we’ve seen. But we can also print random data, using the -r option. Following that option we have three important positions, the first is the number of iterations, but the next two are the lower and upper boundaries for the numbers, respectively. So in the below command we’ll grab 10 iterations (or ten random numbers) that are between 1 and 1000:

jot -r 10 1 1000

Now if we were to add a -c in there and use a and z as the upper and lower bounds, we’d get… letters (this time we’re just gonna’ ask for one letter)!

jot -r -c 1 a z

Something I find useful is just to shove random data into a file infinitely. And by useful I mean hopefully not left running overnight on my own computer (been there, done that). To do this, just use a 0 for the number of iterations:

jot -r -c 0

Something that is actually useful is the basic ASCII set:

jot -c 128 0

We can also append data to a word using -w. So let’s say we want to print the characters aa followed by a through z. In the below we’ll define that with -w and then we’ll list those two characters followed by %c which is where the character substitution goes and then the number of iterations followed by the lower bound:

jot -w aa%c 26 a

You can also do stuttering sequences, useful for the occasional tango dancer, so here we’ll do a 5/3 countdown:

jot – 100 0 -.5

Or we could create a one meg file by creating 1,024 bytes:

jot -b 0 1024 > onemegfile.txt

Oh wait, that file’s two megs. Get it? 😉

And running strings teaches you that you can’t bound random (a good lesson for the New Year). Anything you use jot for?

Happy New Years!

January 1st, 2018

Posted In: bash, Mac OS X, Mac OS X Server

Tags: , , , , ,

Before December 30th of 2004, was a site with some flat files of notes I’d taken. During the Holiday break that year, I finally converted it into a blog. And now, with over 3,500 posts and netting around 10,000 unique visitors a day, it’s very different. It started out as just some musings and technical notes. Now, it’s… Well, some musings and technical notes.

Actually, back then I’d occasionally write about college football (Go Dawgs!), a lot more about Windows (um, Windows NT sometimes – ick!), and an increasing amount about macOS Server. These days I post less, but I write as much as I ever did. Just more are links to articles I’ve written for other places (Medium, Huffington Post,, Jamf, etc). Also, there’s more that’s up on GitHub and contributions to projects at work and for various vendors we all know and love. And there’s more structure, as with the macOS Server guides. Overall, I still love to write, just my interests shift here and there. 

Anyway, Happy Birthday,!

And a Happy New Year to those who observe tomorrow as the end of the year!

Much love,


December 30th, 2017

Posted In: Articles and Books

Tags: , , ,

December 29th, 2017

Posted In: MacAdmins Podcast

Tags: , , , , ,

December 15th, 2017

Posted In: MacAdmins Podcast

Once upon a time, practically everyone who chatted on the internets used… AOL. Even people that didn’t pay for AOL. Because in a brilliant business move, AOL made their messaging platform free. And it brought a lot of people into instant, online communication. And it was way easier (and prettier) than the predecessors. But it was mostly on computers, not mobile devices. And with constant emoji being added, features being needed, and apps required to make it work on devices, it’s time for AIM to finally be no more.

Sunsetting products is never easy. Especially one as legendary as AIM. So why do it? Text messaging, Signal, Kik, WhatsApp, and even Snapchat replaced AIM. That’s an extremely fragmented industry and I don’t think it matches the image of a media company that the post-merger AOL-Yahoo (Oath) wants to be. But it is the end of an era.

Actually, it’s being shuttered because that era ended years and years ago. And someone finally decided to let the product go. And I’d say they did so with plenty of notice, and provided copious amounts of documentation on what users can do to retain their data. End-to-end a graceful product end of line, as AIM deserves. 

If you happen to still use AIM, or want to go back and export some stuff, check out

December 15th, 2017

Posted In: Business

My latest post, on running successful email marketing campaigns, is available at It starts like this:
It seems like every time I turn on the radio, there’s an ad for an email marketing automation tool. Constant Contact, Mailchimp, Emma, iContact and even Salesforce make it pretty easy for small and mid-size businesses to automate beautiful emails. Or for larger organizations, there are offerings like Marketo, Adobe Marketing Cloud and Eloqua. But while the ads make it sound like these campaigns write themselves, they don’t.

Email marketing is a delicate business. On one hand, you don’t want to be an evil spammer. On the other, email is an efficient way to stay in touch with potential and existing customers. I’ve been involved in many email campaigns through the years. Here’s what I’ve learned:

1. Choose an email automation tool that fits the size of your marketing team. Many of the more robust products really need a staff person at the reins. If you can’t afford someone in that position, then turn your attention toward simpler software that requires little overhead.
Read more…

December 12th, 2017

Posted In: Articles and Books

My latest Huffington Post article, called 20 Constants In Software Development is up. It starts out like this:

There are so many things I wish people had told me when I was in school, or earlier in my career. Things that aren’t variable between organizations you work with, or even teams you work in. So I thought I’d jot a few down of these for software development teams (if only to prove that no, despite what product managers say, you aren’t crazy). So here goes:

  1. A project will never have enough people to build all the features you want. Period.
  2. Less features means fewer defects.
  3. As a software project nears completion the amount of work remaining rises in proportion to how many hacks and shortcuts you took.
Read more…

December 11th, 2017

Posted In: Articles and Books, Programming

Tags: , , ,

December 9th, 2017

Posted In: MacAdmins Podcast

Tags: ,

I stepped a little outside of the business and tech sphere and published an article on… sexual misconduct and partisanship. If it’s you’re kinda’ thing, it starts out like:

I’m a tech writer. I write about #nerdstuff. As a rule, I don’t write about politics. But this isn’t political. This is about sexual harassment and assault, something we should have zero tolerance for in our politics.

To read more, click here

December 8th, 2017

Posted In: Articles and Books

« Previous PageNext Page »