Mac Automation: Moving Projects to Archive

Every week, I edit about a dozen podcast episodes that include a whole bunch of big files. Once the show is posted and scheduled, those files can be moved to archival storage1, which in my case is a Synology DS418 network-attached drive2 that has about 10 terabytes capacity. This was never an onerous job, but just a little tedious because it involved opening the network share, dragging and dropping, then waiting for the large file transfer to finish in order to delete the original files. Of course, tedious, repetitive tasks as perfect for automation.

Read More and Comment

iPad Shortcuts Automation: Kids iPad Timer

We have five kids and they have an iPad that they share. We want to limit the amount of time they’re each on the iPad when they get a turn and until now we’ve had an informal process of setting a timer with Alexa or on the microwave or mom or dad’s iPhone or Watch or on the iPad itself. This has sometimes resulted in less than satisfactory outcomes. Recently the number of times they’ve “forgotten” to set a timer has become a little frequent. And the necessity of having to police them has gotten a little much.

Now, if you’re familiar with iOS/iPad OS, you’re probably already saying, “That’s what Screen Time” is for.1 You’d think so, but there’s a flaw in Screen Time in that it only envisions on user per device. If we set a limit on how long, let’s say, game apps could be used, then once the 20 minutes is up, then no other children can have a turn today. so until Apple gives us multiuser support on iPads, we need to look elsewhere.

Read More and Comment

My Podcasting Workflow: Distribution and Promotion

I’m sometimes asked about my podcasting workflow, how SQPN goes about recording, editing, distributing, and promoting our shows. This is the fifth in a series of posts that explain the multiple steps that take me from the beginning to the end of the process for each show we produce. The first post was about my hardware setup, the second was on research, prep, and organization, the third was how I record the shows, and the fourth was how I edit the audio.

Once the editing is complete, I have a single uncompressed WAV file of the show, which if it’s an hour-long show, could be about 1GB in size. Obviously, this is not ideal for a podcast. From here, we need to compress the audio into a distributable format, create the various pieces of artwork for the cover art, the web site, and social media; create an audio-only video for YouTube; post the episode to the website, which will then distribute the show to the various podcast directories; create and schedule a series of social media posts to promote the episode; and do all the organization cleanup and preparation for the next episode.

Read More and Comment

Making an On Air Light with Philips Hue and Automation

Because I podcast and do live video from my home office while my wife, Melanie, is homeschooling our five kids in the other room, it’s important that I let others know when it’s safe to knock on my office door and when they have to be very quiet. In the past I looked into those fancy “on-air” lights that you see in TV and radio studios, but they’re pricy and usually need to be hard-wired and so instead I’ve tried various workarounds like notes taped to the door and even a battery operated light that I screwed into the door itself. They never worked well and I eventually stopped using them.

Finally, I think I’ve got the solution, creating a virtual on-air light using a Philips Hue bulb; a cheap plug-in wall light; and some automation on my Mac.

The first step was to purchase the light. I chose this one because it’s not too expensive, it plugs in to the wall, and it will fit a standard Hue bulb. Plus it looks okay. I also got a Philips Hue Color bulb. This was pricier than the regular plain white bulbs I usually get, but for once I had a use for a multi-colored light. When they arrived from Amazon, I hung the lamp, put the bulb in and set it up in the Philips Hue app on my iPhone as normal, naming it “On-Air Lamp”.

The next step was to use the Hue API to identify the bulb and the settings I wanted to use. I detailed how to get your API key and use the browser-based CLIP API Debugger tool in my blog post about automating the Hue motion and temperature sensor. The light was found under the lights section of the GET command response. By setting the bulb to the color I wanted in the Hue app first, I’m also able to see the correct settings for the color and brightness I’d eventually want. It looked like this:

I already have a Keyboard Maestro automation that runs when I turn on my sound mixer. It starts my recording software, Audio Hijack, and turns on an app that prevents my computer from sleeping while I’m recording, called Amphetamine. It’s triggered when KM detects the USB device connecting to the Mac. For me that was a perfect time to turn on the On-Air Lamp so I added the following to the macro in an “Execute Shell Script” action:

curl[YOUR_API_KEY]/lights/25/state -X PUT -d \{"on": true,"bri": 122,"hue": 64738,"sat": 254,"effect": "none"\} ' -H "Content-Type: application/json"

You should replace [YOUR_API_KEY] with your actual Hue API key. You should also set the action to “ignore results” so it doesn’t pop up a notice every time it runs. Also the IP address (“”) should be replaced with whatever the IP address is for the Hue hub on your network.

Of course, I want the light to be off when I’m done, so I set up another KM macro that detects when the mixer is detached from the Mac and executes the same shell script (and only the shell script), but changes the “on” parameter from “true” to “false” and deletes the other parameters because they’re unnecessary.

I also set up some macros for my Elgato Streamdeck so that I could set the light to yellow for when I’m working, but not recording, so they can knock if necessary. Finally, I’m going to set up a Geektool notification for my Mac’s desktop to remind me how the light is set right now so I can be sure it’s on when it needs to be and off when it doesn’t.

Update: I never set up t he Geektool notification because it was easier to set up another Elgato Streamdeck button. The Streamdeck has built-in Hue support so I have the On-Air lamp as an on/off button and so I can see at a glance whether the light is on or not.

My Podcasting Workflow: Post-Production and Editing

I’m sometimes asked about my podcasting workflow, how SQPN goes about recording, editing, distributing, and promoting our shows. This is the fourth in a series of posts that explain the multiple steps that take me from the beginning to the end of the process for each show we produce. The first post was about my hardware setup, the second was on research, prep, and organization, and the third was how I record the shows.

After I finish recording a show and I’ve received all the files from others, I store them in a Dropbox folder until I’m ready to edit. My editing software of choice is Adobe Audition, a powerful application that is part of the Adobe Creative Suite. In addition, I use a set of audio processing plugins called Izotope RX 7 Standard.

I should give a disclaimer right here up front: I am not an audio engineer nor an expert sound editor. I know just enough–self-taught, helped by friends, and gleaned from numerous YouTube tutorials–to make our shows listenable. There are other people who are much better sound editors and we are lucky enough to have Victor Lams, who volunteers to help edit some of our shows, especially those with long lead-times for editing. But most of the editing falls on my shoulders at this point, until at least SQPN gets to a financial point not only where it’s breaking even, but with enough surplus to pay a real sound editor.

That said, here’s what I do.

Read More and Comment

My Podcasting Workflow: Recording

I’m sometimes asked about my podcasting workflow, how SQPN goes about recording, editing, distributing, and promoting our shows. This is the third in a series of posts that explain the multiple steps that take me from the beginning to the end of the process for each show we produce. The first post was about my hardware setup and the second was on research, prep, and organization.

When it comes time to record a show, I rely on a couple of pieces of software. Now, I know some podcasters prefer to record only to a hardware audio recorder as a failsafe against a software crash taking out the whole recording. But that was back in the days when Skype was a lot less stable than it is now and more prone to crashing and taking everything with it. I also think those people tended to be recording on Windows.1


Audio Hijack

My main recording software is Audio Hijack from Rogue Amoeba. This is modular software that allows you to construct an audio workflow using block-like structures. It works in conjunction with another Rogue Amoeba product called Loopback, which allows you to route audio in non-standard ways around your computer.

Read More and Comment

My Favorite Keyboard Maestro Macros

I got a request to share my favorite Keyboard Maestro macros and so I put a few of them together here. Keyboard Maestro (KM) is a Mac app that allows you to create complex automations to control your software in almost any way imaginable. It’s incredibly powerful, but it can also be useful even in simple ways.

I should note that while I developed some of my macros from scratch, others were shared by other users and I’m using them now or have adapted them to my use. I also have, no kidding, 181 macros so I won’t be sharing them all. Here are some of my favorites.

Read More and Comment

Using Hue motion sensor temperature with Geektool and Keyboard Maestro

One part of our smart home setup is our Philips Hue lighting system. Over the years I’ve replaced many of our old light bulbs with Hue smart bulbs in various fixtures, which allows us not only to control the lights with automation and schedules, but also with our voices using Alexa and Siri. We can also group control of them through compatible switches without having to rewire what’s in the walls.

Philips also makes a motion sensor, which is great for rooms that don’t get a lot of traffic during the day, meaning that the lights go off when no one’s using them or where people often forget to turn them off. I have one of these sensors in my office and another in the pantry/laundry room. What’s nice is that these sensors also have thermometers in them, which means I can track the temperature in the rooms. Unfortunately, to find out out what the temp is, you have to open either the Home app or the Hue app to find out. Unless you do a little home programming.

I wanted to have the current ambient temperature of both rooms to be constantly updated and displayed on my desktop and, also, to get notifications if the temperature gets too cold in the winter or too hot in the summer and I might want to turn on the heater or the air conditioner to adjust the temperature.1

Read More and Comment

Using Zapier to Setup Omnifocus Projects from AirTable Entries

As you may know, I produce about a dozen different podcasts, most of them weekly, and keeping track of all the tasks of pre-production, recording, editing, distributing, and promoting them is challenging for a one-man operation like myself. Some shows I host, while others have their own hosts. Some shows I edit, while some have their own editors. It’s a lot of moving parts and if I don’t track every step, it could quickly fall apart.

I use Omnifocus, a Mac-based application, as my project management tool of choice and that’s where I keep all of the individual tasks that need to be checked off. Meanwhile, I use AirTable, a web-based database, to keep track of the shows, their episodes, who’s involved, and what stage of production they’re at, among other things. Since the steps to produce an episode of each podcast is pretty much the same every time, that means this process is ripe for automation. What was missing was a way to connect the AirTable and Omnifocus parts of the process because I was finding that I’d enter an upcoming episode of a show in AirTable and forget to setup the Omnifocus project. I needed some way to trigger the project creation from the first step of a new episode. Enter Zapier. Read More and Comment

Tesla Solar Panels: One Year Later

I wrote a long post last year about our saga getting solar panels installed on our house and approved for activation by the local electrical utility.1 While the panels were installed in the spring of 2018, we weren’t able to turn them on until August 2018. So one year later, how is it going?

Pretty awesome, to be blunt. In July 2018, our last full month on the grid, we used about 1 ,200 kWh of electricity from the utility, costing us about $286 in charges2.

This July 2019, our solar panels covered all of our electricity usage (in a massive heat wave) and generated an excess of 500 kWh to put back in the grid, generating a credit of $100. The Tesla solar panel lease is about $130, meaning we paid about 1/10th the amount for electricity this July over last.

Our current total credit balance for the year is about $450 so far and if current trends match last year’s, we should be on track to cover most, if not all, of our winter usage.3 I am very, very happy with this.

Read More and Comment

Next Page →