Hanalei, Hawaii

One of my last posts essentially picked on someone else’s work so I figured this time, to balance things out, I’d pick on myself a bit and share with you the complete debacle that was the latest push of This Developer’s Life. I really screwed up - I mean big time - and since we learn from mistakes: here’s mine. Lot’s of them.

Details, Details, Details

I obsess over every second of the TDL podcast. Literally every single second - I’ve learned to read the audio wave format and I can tell when Scott sucks his teeth, which I have to cut out or the spike will throw off the levelling/compression.

I can see the word “shit” or “fuck” - it’s a very particular wave pattern and you might think I’m lying right through my teeth right now - all I can say is that you would be very, very wrong. I slice and dice these episodes like a speedballer on a 12-day binge… it’s pretty unhealthy.

Each episode takes me 2 days, at the very least, to edit and produce. The stories need to flow… and the words within need to match a particular cadence in my mind, that then matches the beat and lyrics of the songs chosen.

It’s not a methodical thing - it’s cyclic, like mold growing over an orange trapped on a window sill with no breeze… it evolves on the screen before me and sometimes I feel like I’m just watching it happen.

Given this - how did I screw up so badly? And what did I do?

The Bad Edit

I left in 4 minutes at the end of the podcast that was the raw show - Scott and I talking about what to say next, checking our notes and joking with each other. I record the two of us on two different tracks, then match them up at various intervals - which made the screw up worse. It might have been entertaining if I just left in Scott and I talking - but it was 42 seconds out of sync so it was disjointed noise and silence…

So here’s this podcast that I sweat over - polished, levelled and pushed - with a massive wart at the very end. How the hell did this happen? After I pushed the fix up - I sat down to figure out just that. And I’ll share it with you as I’m sure you’re a detail-oriented person in what you do, yet bugs creep in and you wonder… what the hell?

Staring Too Closely

The short answer here is that I stare too closely at the details - missing the larger issues. I “move” the audio tracks along in front of the edits and cuts - pulling from them the audio that I want and literally assembling it like a bit of a jigsaw.

In this case, I jumped ahead 4 minutes to pull some audio from later in the show - past where Scott and I were yacking etc. I found the audio I wanted and decided I needed to redub my part because my neighbor was mowing his yard and I could hear it - even though I tried to remove the noise with Audacity.

Next thing you know - I’m assembling from that point going forward - stitching in some tunes, trying to figure out what the ending song would be. I had left in the messy stuff and got caught up in what I was doing in the moment…

You Say “QA”, I Say “I Think So!”

After 2 solid days of staring at waveforms - let’s say it’s a relief to drop in that final fade. Yet there’s a lot of checking that I need to do, specifically:

  1. Check the levels. I go back and spot listen every 3-4 minutes and make sure the levels for each show section don’t change
  2. Check for spikes. These insidious little things are when people screetch, pound the table (causing a drop-out), or Scott sucks his teeth :). When you level/compress the process takes the highest and lowest audio points and balances against those. If you have peaks - or “plosions” - the levelling process will crap out.
  3. Check for gaps. This happens a lot where I’ll move some things around - or I accidentally shift something with an errant keypress. So I’ll scan the audio lines 3-4 times to make sure no gaps happen.
  4. A final listen. I’ll turn it on inside iTunes and clean my room, send some emails, or work up the site page while listening in the background. If all’s well - I push it
  5. A triple final listen. After every show I’ll go outside (it’s usually sometime at night for some reason) and have a beer and try to relax and listen to the show as one of you peoples. This is where I take mental notes for the next show - missed fades, levels that might be a smidge off and the occasional missed “ummm”. This is where I caught the Massive Screw Up

I was thinking the show was over - Seth was fading out and Scott and I were talking and I was waiting for the final music to come in (it was a great song too - a mashup of Metallica and Run DMC). And there it was. Silence

OH SHIT! I’m not kidding - my heart started to race and I ran, full sprint, to my computer and was mumbling to myself - tossing things off my desk and swearing at Garage Band - as if it was to blame (it has been in the past, deleting tracks arbitrarily).

It was midnight and I woke up my wife with my grumbling. I put my headphones on and she covered her head with a pillow - I mumbled some kind of apology and went to work fixing things…

The Cracks. They Can Be Huge

Normally one would suggest the first problem is that a second pair of ears isn’t listening to the show - but just like you “latin up” a demo page - if I ask someone to proof an episode for me I’ll get 99 suggestions about music and content, and maybe one about levelling.

Another set of ears should work - often it just takes up time. Moreover - Scott is 3 hours in the future and asleep in a different time zone when I’m ready to roll - so often I’m left to proof my own stuff. I’ll change this so I push during the day - and Scott has a chance to listen before I do (he’s good at this kind of thing).

The next issue: the problem was smack at the end. When proofing something you tend to grow a bias as you scan over it. Up to that point (aside from some niggling issues) the episode was tight - so I assumed that it would stay tight. When listening in the background everything checked out - but I never made it to the final 5 minutes! So it slipped right by. This kind of bias is also known as hubris… oops.

Next up: focusing too closely. I scan the audio levels, I scan that there are no gaps. It’s safe to say that the 4 minutes of crap left in were levelled properly without gaps :).

Summary

I jumped ahead of myself, breaking my normal process of stitching the show together from start to finish and I left the junk in there and forget to go back. I also got a bit lazy and a tad proud - thinking the show was airtight before I was sure of it.

This is often the case with junk data in an application - where you might enter stupid stuff in your codebase or maybe load inappropriate images into your test site for fun.

I used to fine developers that worked for me $500 when they did stuff like this - and that puts an end to it pretty quickly (it went into a beer fund for the office). Yet, in the last 6 months, I’ve done it 3 times (and been caught). Not sure why… maybe there’s something Freudian at work here…

Discipline. It’s not something that arrives and stays forever - it takes a lot of work to stay on top of your game. I was sloppy - perhaps from being overworked or some other reason. Doesn’t really matter - I pushed crap and as a penalty you now get to make fun of me. Just do me a favor… make it good!

Blog comments powered by Disqus

My name is Rob Conery and I am the owner/smooth operator of Tekpub, creator of
This Developer's Life, and an avid Ruby/Rails/.NET developer.

Find Something