TextExpander Popup for intro to NosillaCast showing prefilled but editable fields.

A Rusty Podcaster Makes Mistakes

At the beginning of last week’s show, you probably heard me say that the live audience heard the intro three times because I kept making mistakes. While Jill, Bart, and Allister flawlessly executed their three shows, I couldn’t stop messing up. And that was only the beginning.

I Blame Automation

I’m going to blame automation for some of this. When I open a new item for the next NosillaCast post in MarsEdit, my blogging software of choice, I run a TextExpander snippet that sets up the standard information you see for the podcast posts.

I’ve talked about this TextExpander snippet before, but let’s walk through how it’s awesome and also my greatest chance for error. When I start the latest post in MarsEdit for the NosillaCast, the title always starts with “NC #” followed by the episode number. We know I find it nearly impossible to add 1 to the previous episode number, so Rosemary Orchard wrote me a Shortcut that finds the most recent NosillaCast, adds 1 to the number, and tells me the next NosillaCast episode number.

Next NosillaCast Shortcut from Rosemary. it gets 1 item from the feed, does a Regular Expression to match the number in the title field, gets the group index at 1 that matches, adds one, copies the calculation result to the clipboard and then shows the next episode number to me.
Next NosillaCast Shortcut from Rosemary

Given that critical crutch, when my TextExpander snippet gives me a popup asking for the episode number, I know the answer. I type it into the field and TextExpander fills out the rest of the standard info you see on the posts for the NosillaCast. But let’s stop right here and realize that despite Rosemary’s best efforts, there’s still a human ready and capable of making a mistake. Last week her Shortcut told me it was episode 1009, but when queried by TextExpander, I typed in the number 2009.

When I started recording with the live audience, I dutifully read what my script said, which was that it was show number 2009. Luckily, I caught myself and rerecorded.

The second flaw is that my TextExpander snippet automatically enters the current date. That’s because most weeks I start that post for the show on Sunday so it’s efficient to have it autofilled. But more and more often I start writing the show post on an earlier date which means it’s completely wrong when the automation runs. So in addition to saying it was show number 2009, instead of saying the date was Sunday, September 7th, it said it was Wednesday, September 4th. Other than that, things were going swimmingly.

After I realized this was all messed up, I edited the content in MarsEdit to correct the episode number and the date and then re-recorded the intro. But the date isn’t just in the part I read out loud. It’s also in the enclosure file title, and its description, and the transcript URL, and the description of the transcript URL. I have to remember to fix it in five different places. I’m starting to wonder whether I should make my TextExpander snippet ask me for the date instead of it assuming I’ve created the draft post on the right date.

There’s an additional problem with me typing in the show number. My Text Expander snippet also auto-fills in something called the “post slug”. In blogging with a server tool like WordPress, every article has the same beginning URL but then is followed by the post slug that identifies which post you’re reading. My format is the site URL, podfeet.com followed by /blog, then the year and month separated by back slashes, and finally the last bit that identifies the post. In this case what should have been /nc-1009 but instead it said /nc-2009.

`https://www.podfeet.com/blog/2024/09/nc-2009/`

This isn’t a catastrophic problem really because I don’t think anyone ever looks at it, but it bugs me to have it wrong. Once I post the show, that post slug gets propagated all over the place too. It goes in the feed file, and it goes in all the online spamming I do on social media. So I have to leave it be.

TextExpander snippet for intro to NosillaCast. It's too complicated to walk through but it shows the way the embedded snippets give me the date for the show and number the episode.
TextExpander Snippet for Starting a NosillaCast Post

As I was writing up this article, I realized that I actually start the post early pretty often. The reason I know it’s 5 places I have to fix it is I’ve had to do it so many times I have the number memorized. Inspired by my idea that I could alter the TextExpander snippet to reduce the probability of this problem reoccurring, I decided to fix it.

Assuming I didn’t make any mistakes in the fix (which is a long shot), I think it will work better. It will still default to dropping in the day, date, month, and year, but the format will be slightly different. In the new and improved version of the snippet, the day of the week is a pulldown with the default set to Sunday.

On occasion, I produce the show a bit earlier (or sometimes later), so now I’ll be able to tap the pulldown and select an earlier day. I even made the days of the week go backward so if I do it a day early, Saturday is the next one down.

In the original snippet, the month, date, and year were auto-filled and I had to change them after the snippet dropped in all the text into MarsEdit. In the new and improved version, it still auto-fills, but I made it a Single Line Field. This means it will be visible and editable to me when the snippet is up on screen but before it gets plopped into MarsEdit.

I thought I was done, but I forgot that this TextExpander snippet calls another TextExpander snippet which enters the mp3’s file name. The file name always starts with “NC” followed by year, month, and date interspersed with underscores, e.g. NC_2024_09_13.mp3. And then I forgot there’s yet another TextExpander snippet embedded in there that calls for the date, so I edited both of those snippets too, and now they grab the same date change I make in the bigger encompassing snippet.

TextExpander Popup for intro to NosillaCast showing prefilled but editable fields.
New and Improved TextExpander Fill-ins

I know that’s a lot of detail that’s probably hard to follow, but the good news is that by telling you about these mistakes, I think I’ve found a better way to use TextExpander to set the show notes up for success, and you’re the beneficiary.

But Wait, There’s More

If it was just poorly written automations that didn’t take into account the idiot behind the keyboard, I probably wouldn’t have written an article about it. But of course I managed to make even more mistakes last week.

When Bart and I record a show together, we both record both sides of the conversation. If nothing goes wrong, I use my recording of me, and his recording of him. This gives us the highest-quality recording of both sides. It’s all done with the magic that is Audio Hijack from Rogue Amoeba. First he starts his recording and then I start mine. The way he tells me that he’s started is he says, “Plink!”

This turned into a joke over time where I now ask whoever I’m recording to yell, “Plink!” when they start their recording. I’ve saved many of these “plinks” over the years – I’ve got Jill from the Northwoods, the CEO of Rogue Amoeba Paul Kafasis, Dave Hamilton, and more. Now that I’m recording regularly with Adam Engst, he’s joined the Plinkers Hall of Fame:

You don’t normally hear the plinks because I cut them during the production of the show. If you attend the live audience, sometimes you get to hear them, and nobody enjoys the plinks more than Steve. When I lay down the audio tracks for Chit Chat Across the Pond or Security Bits in the NosillaCast recording with the live audience, Steve usually asks me to play the plink before I cut it out of the recording. Last week I dropped in my recording with Adam and cut the plink before he stopped me, but then he asked if he could hear it. I made a small fuss about how it might cause problems, and he said it wasn’t a big deal, but he sounded sad so I undid the cut.

That left the plink audio to the left of the real starting point, which meant if I played it for the live audience it would be covered up by our new fancy bumper music. To fix this, I could have slid Adam and my recordings to the right, played the plink for Steve, and then slid it back, but I had a much better idea. Instead, I just muted the bumper’s audio track in Hindenburg, played the plink, and then used command-Z to redo the cut to remove it.

You see the flaw, don’t you? That undo/redo keystroke had no effect on Hindenburg so it did not undo the mute. I know not to use mute because I can’t count on both hands and both feet how many times I’ve forgotten to unmute an audio track when I mess around like this! And yet every time, I think, “THIS time I’ll remember!”

I finished recording, exported from Hindenburg to an m4a file, and uploaded it to Auphonic (which for some reason took forever last week). Auphonic did its magic including securely FTP’ing the file to Libsyn where the audio gets served to you. In MarsEdit I tested the link to ensure the audio file was in the post for the website, and in Feeder when I created the item for the feed I verified it was the right file enclosure. I pushed publish everywhere, opened Overcast, and waited for the NosillaCast to update, confirmed it was the right audio file by listening to a bit of it, and then spammed the Internet about the show.

The next day, I think it was in the morning sometime, I had my phone in my hand, and must have bumped the Dynamic Island which still had Overcast showing in it, and my latest episode (1009, not 2009 thank you very much), started to play. Imagine my horror when after a few seconds, I heard dead silence! Well not exactly dead silence, worse yet sounds of me shuffling around. I realized immediately what had happened – there was no bumper music!

Now that wouldn’t be the worst mistake I’d ever made (remember when I deleted the NosillaCast in Apple Podcasts on the 1000th episode?), but it would still be really bad for this particular episode because I made such a big deal about adding bumper music! You’d have all thought I was bananas that I thought I was playing bumper music in the show.

I immediately opened up Hindenburg on my Mac, unmuted the track in question, and then exported it yet again to an m4a file. From past experience, I know things get weird if I try to use the same file name, so I added an A to the end of the file name, so it became “NC_2024_09_08A.m4a”.

Next, I uploaded the A version of the file to Auphonic again (which did not take forever this time), Auphonic did its magic on the new file, and it securely FTPd the new version to Libsyn. I waited until Libsyn had the new A version of the file, and then I popped open Feeder, changed the file name to the A version, and verified it pulled the new metadata for the file such as the length in bits and the date. I pushed the feed up and verified in Overcast that I now had bumper music. Whew!

Then I went back to the blog post and changed the file there for those who like to listen on the web. Now that I think about it, one of the magic bits of Auphonic is that it now pushes the audio with a little graphic to YouTube. I bet there are two versions up there to this day. Oops, one more thing to clean up.

Ok, I’m all good, right? Well, not yet, sister. I now have two files up on Libsyn. They charge by how much new audio you push up there per month and I’ve run out of allowance on my plan before so I needed to get rid of the old version.

I’ve mentioned before that Libsyn has a terrible web interface. Their new version five is beautiful and elegant but does not allow you to manage the files you’ve stored on their servers. I literally can’t do what I need to do in version five. Luckily they’ve kept version four around (at four.libsyn.com) which is old and clunky and graphically damaging to your sense of beauty and style, but it is at least functional.

Since I was smart enough to name the two files differently, I assumed it would be easy to tell them apart. One should have an A at the end of the name. When I reran the production in Auphonic, I didn’t change the title, and I think that’s why both files showed the same title on Libsyn so it was harder to tell them apart. I looked at the dates and times of the files to figure out which one was which and deleted the old one. For some reason it didn’t disappear the first time I asked it to go away, so I did it again. Finally, I had one file. I declared victory and celebrated.

And… the next day I started to get emails from people telling me they couldn’t download the show! Mark Schaeffer and Emmi Konster were the first to alert me to the problem. If one person has an issue it’s usually something they can fix on their end with a resubscribe, but two people was a pattern. I tried to download the show again on Overcast on my phone, and sure enough, I got an error on the episode I had checked just the day before!

I went back to Libsyn and found the weirdest thing. Remember I’d deleted the old file but I had to do it twice? What was left wasn’t an audio file at all, it was a text file. The file was the transcript of the show and I have no idea how Libsyn even got this file! When Auphonic is done with its magic, it gives me a download link for the mp3, and as a safety net I always download it. Since I had the real file, I deleted the text file on Libsyn and uploaded the mp3 file.

I raced back to Overcast, and while the file downloaded, and had bumper music, for some reason it didn’t have chapter marks! This was a mystery since I’d followed the same darn process to create the file starting in Hindenburg where I add the chapter marks and Auphonic where they get preserved in the file through transcoding.

Remember I said the Libsyn interface is ugly? It’s also confusing. In my haste to upload this darn episode yet again, I selected the Content tab and then “Add New Episode”. Well gee, Allison, anyone can tell that’s way wrong. I was supposed to use “Add File for Download Only”. Libsyn will do the full production of the show for you including giving you a website but I use them only as a file server, hence the different way to upload.

Wrong and Right File Upload on Libsyn. do not use Add new episode use add file for download only.Seriously, be glad you can't see this screenshot - the interface is HIDEOUS!
Libsyn Four Ugly Interface – Wrong and Right Way to Upload

I don’t know why a new episode would lose the chapter marks but when I deleted the file yet again and added it as a file for upload only, I finally had a working podcast episode.

Throughout all of this adventure, I was surprised that I didn’t get a lot of emails from people asking me where the bumper music was on the original file before I broke everything even worse. I even noticed that Bart posted a lovely note on Mastodon and in our Slack about how much it tickled him that not only did I approve of his use of that bumper music but that I liked it enough to adopt it for the show. He’s 8 hours ahead of me in time zones, and he usually listens right away on Monday, so how did he hear the bumper music before I fixed the muting problem?

I have been noodling this all week and I just figured it out. I pulled up my Hindenburg project and started looking at the bumpers. My projects have several tracks. One is called Ambience and one is called Music. Get this. Of the four times I dropped in Bart’s bumper music, three of them were on the Music track and only one was on the Ambience track. And the Ambience track was the one I muted and forgot to unmute.

3 bumpers on music track only 1 bumper on ambience track on a screenshot of Hindenburg
Hindenburg – Only One Bumper is on Track I Muted

That means that not only did I accidentally hit play on my iPhone in Overcast, but I just happened to have the play head situated on the ONLY spot in the entire hour and twenty-seven-minute recording that had dead silence. I did all that work and made all those mistakes trying to fix the new mistakes I made all for a four-second audio gap. If I knew then what I know now…

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top