Category Archives: technical

Thoughts on Final Cut Pro vs iMovie

Ok, so I’ve started on video project that I think will be much longer than any of the ones I’ve done so far – or at least I have waaaay more footage for it. I ended up switching to Final Cut Pro X (FCPx), for two reasons. First, I’m working on a macbook, with limited storage, and managing the storage with iMovie was getting problematic. Also, I really want to be able to attach tags to various clips, to make finding them later easier.

So, after working with iMovie for over a year, and now FCPx for over a month, here’s what I like about each.

Advantage FCPx:

  • Configurable storage. You can choose where backups go (even different drive – just stores the edits, not the clips themselves). You can choose whether to import the media into the project, or keep it external to the project, and do your own backups, etc. Similarly, you can choose for FCPx to create optimized (potentially larger files, but easier for FCPx to deal with) or proxy media (1/4 resolution for quicker response when editing) – or not. Also, you can easily delete the optimized and proxy media. iMovie has none of these options, and no easy way to delete the extra media it generates.
  • Meta-data: FCPx has some of the best meta data support of any editor I’ve researched. Who knows, maybe this will change in the next year or two.
    • You can label markers in the timeline and later search for them. Dave Dougdale and Chris Fenwick did a great video on editing interviews, that covers this topic.
    • Keyword support. Before you even insert clips into the timeline, you can add keywords to all or just a portion of a clip, which makes it easier to find the stuff later. I haven’t played with this enough to figure out how to best make use of this feature. For now, I’m using these categories/tags: slow-mo, time-lapse, good audio (ie somebody said something funny), and a few others. I don’t know yet, if I’ll label each person in a scene, wide vs closeup shots, etc.
  • Timeline organization
    • Compound clips. So, let’s say you’ve got some audio you recorded separately from the video, that also has (poor) audio. You can group them into a compound clip, and voila you can split (blade) the clip into pieces, and keep all the audio synced. You can also do this with the multi-camera feature (see below). I use it because I’m a cheapskate, and I because I don’t want to pay for any of the wonderful audio cleanup plugins available, I often use Audacity (free and open source) to clean up my audio. This process involves opening the clip in Audacity (which will read video files), messing with it, exporting to an audio file, importing the audio back into FCPx/iMovie, syncing the audio to the original clip (usually manually, but it is easy with audio the exact same size as the clip), and then in the case of FCPx locking it with the clip by creating a compound clip.
    • Roles. At first I didn’t think much about this feature, but after watching a video from Ripple Training, I have fallen in love with it. Basically, I usually strive to get the audio mix pretty close, in a single-ish pass through all the camera audio. Then, after I have a rough idea of what I want for mood music, I go find some, and it almost always is way off from the voice tracks. Ripple’s tip about using roles make it possible to adjust all the music as one, and more importantly, all the ‘voice’ audio from the clips as a single audio track. Way easier than going back and adjusting each individual voice audio clip’s volume. Plus, each clip is limited to +12dB of gain. Once it is grouped into a compound clip (with Ripple’s tip), you get another +12dB to play with. Nice.
  • More flexible titles. So iMovie has some nice titles, and FCPx basically has the same ones, but it lets you change many more of the parameters: locations, fonts, colors, etc. However, Apple wants more money for something called motion (a separate application) for more advanced control of your titles (and other simple overlay with motion graphics).
  • Re-attach Audio. This is a little bit of a nit pick, but you can re-attach audio to a clip after you’ve detached it. This caused me a major headache once in iMovie, and after that I was much more careful about detaching audio. With FCPx, its no longer something I have to be careful about. Just one less thing to worry about.
  • Multi camera support. Super slick, but most major editors out there have similar features. Basically, you can make something like a compound clip (above), but it makes it easier to switch between cameras (“angles” in FCPx lingo).
  • Configure-able exports. So iMovie lets you export to Facebook, Youtube, etc. But with iMovie you can change all the default settings, or save the configuration to a new export style. Nice.
  • Plugins: FCPx has lots of plugins. You can probably spend months researching them. However, from what I’ve seen so far, the only decent ones are not only not free, but typically pricey. By the time I would have bought all the ones that I thought would provide new features to FCPx, and ones that I would actually use, I’d almost double the cost of buying FCPx! So, I haven’t bought any yet.
  • Import iMove Projects. However, I haven’t really tried this one.
  • More online support. Let’s face it, for the most part the Apple documentation and help pages kinda suck. There are way more FCPx tutorials than there are iMovie tutorials. But maybe that’s because FCPx is so much trickier to drive.
  • 1º Rotations. In iMovie you can only rotate in increments of 90º, so you can’t fix slightly rotated horizon lines. FCPx has 1º increments. However, doing 90º is a bit of a pain in FCPx. Hey Apple, add some damn 90º rotation buttons to FCPx!
  • Auditions. Basically, this is a way to try out different versions of a timeline, and be able to switch back and forth. I don’t really use it much, but I can see how it could be useful.

Advantage iMovie:

  • Rotation Button. (the other side of the coin of the 1º rotations in FCPx, above) In iMovie you can easily rotate things by 90º, which is mostly what I do with video – either because phone video was started in portrait, and moved to landscape (so the majority of the video is rotated by 90º), or because I recorded with an action cam upside, and I din’t have time at the time of filming to do it in the camera’s settings.
  • Basic luminance adjustments: brightness, contrast, useful shadow adjustments. iMovie has them. They’re not quite as good as you might expect from a photo editor, but they work fairly well. FCPx, WTF?! Only 3 bands of luminance? That’s like buying an equalizer with only 2 sliders! Total BS out of a “pro” level editor. Completely unexceptable. The biggest pain is trying to brighten shadows. Basically, you can’t do it without making the black stuff look not black. Yuck!
  • Simpler Interface. FCPx and iMovie have a lot of UI elements in common, but I think the iMovie interface is just way easier to use. Although I’ve had some people claim its the other way around. In general, the ideas of having an “inspector” (think properties) pane and the plugins interface, while flexible, make it harder to find some of the basic settings that have nearly always visible menu buttons in iMovie. Basic things like color/brightness , volume, rotation settings are easy to find in iMovie, but buried in FCPx.
  • iOS. iMovie has an iOS verson (although I haven’t really tried this one – if someone sends me an iPad Pro, maybe I’ll give it a try. But how do I get the video from my SLR onto the iPad?).

In short, if iMovie had some form of compound clips, better meta-data support and maybe some better storage options, I’d never spend the money on FCPx. That said, iMovie does not have these features, and for me, these couple of features have made FCPx worth the money.

A couple of other points:

  • Yes, FCPx still ties you to MacOs, and I was hoping to get something cross platform.
  • But, FCPx is considerably cheaper for the features you get, than most other cross platform editors.
  • The most notable exception is the free version of Black Magic Design’s DaVinci Resolve, which really is a pro level editor and free! But, it has a pretty steep learning curve. Ok, it’s not vi, but it’s still more than I wanted to learn (for now). However, Black Magic seems to be putting a lot of work into Resolve the last few years, so I actually have high hopes for it in the near future.

Creating Google Earth Fly-over Movie: Part 1

First off: Yuck, what a process.

So here is the scenario: you get a gpx file that somebody gathered from their GPS device, with tracks from a recent trip, and you want to use it to create a fly-over clip, to include in a short travel video about the trip.

Here’s the basic steps:

  1. Get the gpx into Google Earth. Older (and/or Linux) versions may not work so well.If needed, convert the gpx file to a kml/kmz, with gpsbabel, if you need to edit the flight path (probably), and do something like:gpsbabel -i gpx -f file.gpx -o kml -F file.kml Note: For recent versions of Ubuntu, you can install with: apt-get install gpsbabel. Then, open the newly created kml file in Google Earth. Note: Google Earth tends to read the track information in a gpx file as tracks, which you can’t modify. If you don’t need to modify the path, then you can skip this step.
  2. Copy the placemarks/waypoints, and then (manually) edit the copied version (in Google Earth) to delete the tight turns, and try to even out the distances between placemarks, for a smoother video.
  3. Copy the 2nd set of placemarks (previous step) “as tracks”, and paste.
  4. Optionally, but recommended, re-time the tracks from the previous step:
    1. Export the tracks to a kml
    2. Manually edit the time of each waypoint, or use something like my script
    3. Import the re-timed kml into Google Earth Pro.
  5. Play with the Tour settings, until the fly-over looks reasonable.
  6. Use the “Movie Maker” tool in Google Earth Pro (the regular version doesn’t have movie maker) to export the fly-over. Make sure to select H.264 as part of the output settings, at least if you want to view it on a Mac.

Note: The movie clip created with this process comes with a bunch of copyright restrictions. Basically, you can’t make money off it, but you can share it on youtube. Use the Google to figure out the exact details.

Note: Google Earth is a bit buggy (I’m using both Mac and Linux versions). When deleting sections containing tracks, waypoints, etc. And then you want to open another kml file, sometimes the “Open” option disappears, so you need to restart it. Also, sometimes after copying the waypoints, the display of the new set of waypoints is messed up – again, quitting and restarting Google Earth is the solution.

Part 2

Bluehost DKIM (getting email working)

Yuck. In this day and age, if I’m paying someone to provide email service for me, I don’t understand why this isn’t automated. Maybe because many of my provider’s clients have multiple domains? Still, it should be automated for each domain.

Anyway, if you’re using Bluehost as your webserver and email provider (shared hosting, ie the cheapest plan), then you need to setup your email so that Yahoo, Hotmail, Gmail, and others don’t automatically flag emails from your domain (ie as SPAM. To do this, you need to setup DKIM (DomainKeys Identified Mail).

On the plus side, the setup is actually pretty simple:

  • Go to, and create a public/private key pair. Just enter your domain, and press the “Generate” button. In a few moments, you’ll get a key pair. Keep this page open or saved, so you can grab the public key later.
  • Go to your domain management Web GUI, for Bluehost it will be something like
  • Look for a DNS TXT record (a key value pair), with “_domainkey” as the key. In my Bluehost setup, it already had a “_domainkey” record with “o=~” as the key, so I updated it with the public key generated by
  • will spit out 3 formats for the public key. I found the easiest to use was the Tinydns Format, which had everything on one line. Just copy everything from “v=DKIM1;” to the first colon. You’ll notice that everything from that colon to the end of the line is not included in the other formats.
  • Now paste this value into the GUI for changing the TXT record for “_domainkey”

At this point you just have to wait “4 hours” (in my case only a few minutes) for the DNS records to update. mentions something about attaching a token to each outgoing email, but the Bluehost support staff assured me that I didn’t have to do anything else.

Something that is confusing to me and friends I’ve talked to is that I didn’t have to do anything with the private key generated by Does Bluehost get it from them behind the scenes? That would be kinda sketchy. Is it not required for the system to work? Also sketchy.

Anyway, before I did this, when I checked the email headers to a yahoo acc/ount I get

Authentication-Results:; domainkeys=neutral (no sig);; dkim=temperror (key retrieval failed)

While after the changes I get:

Authentication-Results:; domainkeys=neutral (no sig);; dkim=pass (ok)

For comparison, when sending from a gmail account to yahoo, I get:

Authentication-Results:; domainkeys=neutral (no sig);; dkim=pass (ok)

Some related links:

2017-01-08 Update

I just got an email from Scott Cordon. Seems like something to try…

Very considerate of you to post your experiences with DKIM on your blog!
Appreciated; your tips page is also very good. I have used most of them
over the years.
Thank you!

I am also on Bluehost, have recently moved “up” to a VPS (lowest level)
because I can handle
linux admin — have been doing for a number of years.

Noted that you have derived a 1024-bit based key for your DKIM. That was
well-supported at one time.
I think gmail still insists on at least that level. However, most of the
world seems to be moving on to
2048-bit keys … and alas, they don’t fit (easily) within the protocol
designated in the DNS TXT record
which identifies you. Not even sure the libraries and MTAs can put
together the UDP packet’s 255-byte-limited
substrings for a long DKIM key. I suspect you might get it into one UDP
packet, but not necessarily into one string.
Two separate parts to the TXT record are needed, not sure about two UDP

But some people seem to be doing it… just wondered whether you ran
into anyone on Bluehost who is doing it?
By using 2048-bit keys, you can really lock in the power of cryptography
to use a key with a “chain” to validate
your identity — and have a totally verifyable identity chain.

Any ideas or ramblings welcome.

(yep, if you want it done, DIY)

Scott Corcoran

Thoughts on Kindle Paperwhite

I recently bought a kindle paperwhite. Here are some things I’ve noticed:

  1. I buy a fair amount of books from places other than Amazon (often from Humble Bundle instead), for which you have to either “side load” via USB, or email to a address
    • If you email the book to your kindle, then you’re limited to 50MB and 15 attachments per email. Which doesn’t sound to bad, but with my email address, I’m limited to 12MB per email, and I have some ebooks with lots of pictures that easily exceed that limit.
    • If you side load, via USB, then the ebook is not synced to your other devices, which is total crap. It also doesn’t show up on your Amazon cloud drive.
    • You can’t use Amazon’s cloud drive to upload documents to your kindle. I think at one point in time this might have been possible. Seems like useful feature to me.
  2. The organization methods suck. Collections are available on the kindle, but they can only be managed on the kindle. Let’s face it, the kindle has a crap UI, primarily because the e-ink is slow. So, Amazon should provide a web interface to manage the device – similar to the way Apple and Google let you manage apps on your phone/tablet. But not only allow loading and deleting books from a device, but also organizing books into collections/categories. Ideally, Amazon would automatically organize device documents by genre, the same way they do with their website when buying books.
  3. I had hoped to be able to use the paperwhite for maps. Nope. The zooming for pdf/jpg just sucks too bad. Maybe if someone released an ebook with the appropriate links for scrolling/zooming it would work better? At any rate, I didn’t find anything readily available with  quick Amazon and Google searches. To me, maps for remote areas where you don’t have WiFi or cell coverage seems like an ideal use for an e-ink device. If I tried to just use my phone/tablet to look at maps all the time while on a long hike, I’d end up draining the batteries before too long. But a kindle with its approximately 1 month battery life should fit the bill, even if it is only grayscale. I’ve made some progress (after 6+ hours) at an experimental bash script to convert individual USGS quad PDFs into ePub/Mobi formats, with the maps split into multiple images. But honestly, why hasn’t this been done already?
  4. The experimental browser sucks. It especially seems to choke on javascript (maybe 70% of the sites I tried). Nor does it handle rss/atom/rdf feeds, like most modern browsers do.
  5. RSS support is nonexistant. This seems like a no-brainer to me. I use RSS feeds for almost all my news. I can tell from looking at the Amazon kindle store, that they believe they should get a revenue stream for providing other people’s (free RSS) content to my device, but that is utter BS.

Python Funny

Via proofreader plus:
Oh, and here’s an easter egg for C programmers:
from __future__ import braces
  File "<ipython-input-3-2aebb3fc8ecf>", line 1
    from __future__ import braces
SyntaxError: not a chance

Sound Dampening

The Goal:

I want to be able to play guitar, or do some only moderately loud woodworking tasks in the garage without waking up the wife in the bedroom, which is 1 floor up and 1 room over from the garage, but with a bunch of HVAC ducts in the garage ceiling.

First, a little nomenclature:

  • STC: Sound Transmission Class

    “The STC number is derived from sound attenuation values tested at sixteen standard frequencies from 125 Hz to 4000 Hz. … The measurement is accurate for speech sounds, but much less so for amplified music, mechanical equipment noise, transportation noise, or any sound with substantial low-frequency energy below 125 Hz.”

  • dB: decibel
    • dBA:

      “dB(A), dB(B), and dB(C) These symbols are often used to denote the use of different weighting filters, used to approximate the human ear’s response to sound, although the measurement is still in dB. These measurements usually refer to noise and noisome effects on humans and animals, and are in widespread use in the industry with regard to noise control issues, regulations and environmental standards. Other variations that may be seen are dBA or dBA. According to ANSI standards, the preferred usage is to write LA = x dB. Nevertheless, the units dBA and dB(A) are still commonly used as a shorthand for A-weighted measurements. Compare dBc, used in telecommunications.”

  • dB = 10 * log10( Power ratio ): Loudness Reference:
  • Note: for x power ration = n dB, 1/x ratio = – n dB. So, for example -50dB of attenuation means 0.00001 th of the original power, or 1/32nd as “loud”.
  • You’ll often hear people (I’m certainly guilty) say “10 dB of attenuation”, which would be equivalent to “-10 dB of gain (amplification)”.
  • We get a sound level drop of 6 dB per doubling of distance ref
    dB Power Ratio How much louder it sounds Effective distance change (Inverse Square of Power)
    50 10^5 32x ~312x
    30 10^3 8x ~32x
    10 10^1 2x ~3x
    6 ~4 ~1.5x ~2x
    3 ~2 ~1.23x ~1.4x
    0 1 ~1x 1x
  • OITC
  • NIC: Noise Insulation Class. Similar to STC, but without modifications based on the reverberation time, the size of the room and the size of the test partition

Some Overview Stuff:

Some Product options:

  • resilient clips or resilient channel drywall
  • green glue: a sound dampening glue. From the website:

    “The rigidity and low damping of conventional adhesives works to worsen sound isolation by lowering the coincidence dip and raising low frequency resonances. Green Glue has a positive effect on sound isolation, making the performance difference between Green Glue and conven- tional adhesives considerable.”

  • batting/insulation
  • butyl rubber
  • Mass loaded Vinyl:
    • via isostore

      “Mass loaded vinyl tests show little to no gain when included in assemblies using resilient clips or resilient channel. The gains achieved with the MLV in basic walls, floors, and ceilings are created by resolving resonance issues and not from the actual mass of the MLV. The standalone rating is only relevant when the material is exposed, i.e. around pipes, duct, hung from fences, in curtains over windows or doors, etc.”

    • via isostore

      “The goal of wrapping pipes and ducts is to minimize surface vibration
      resonance. Installation is simple by cutting the MLV to fit, overlapping
      slightly, and taping the seam with a basic duct or foil tape. Both tape
      products can be purchased from any local hardware store.”

    • 1lb MLV ~= 4dB Attenuation.

Standard construction = 2×4 studs, insulation (pink stuff?) 1 sheet of 5/8″ drywall on each side

dBA STC Configuration/Product
33 Standard wall construction, minus insulation
38 40 Standard wall construction
45 Standard wall construction, w/ 2 sheets of 5/8″ drywall on each side
42 44-45 Standard wall construction, 1lb MLV on one side
47 52 Standard wall construction, 1 layer green glue between 2 sheets 5/8″ drywall one side
49 55 Standard wall construction, resilient channel assembly on 1 side
55 Double layer of 1/2″ drywall on each side, on staggered wood stud wall, batt insulation in wall
51 56 Standard wall construction, 1 layer green glue between 2 sheets 5/8″ drywall both sides
72 8″ concrete block wall, painted, with 1/2″ drywall on independent steel stud walls, each side, insulation in cavities

References: * *

Some Sound levels:

STC What can be heard
25 Normal speech can be understood quite easily and distinctly through wall
30 Loud speech can be understood fairly well, normal speech heard but not understood
35 Loud speech audible but not intelligible
40 Onset of “privacy”
42 Loud speech audible as a murmur
45 Loud speech not audible; 90% of statistical population not annoyed
50 Very loud sounds such as musical instruments or a stereo can be faintly heard; 99% of population not annoyed.
60+ Superior soundproofing; most sounds inaudible
  • Quiet bedroom at night, = 30 dB (SPL)
  • Conversational speech, 1 m = 60 dB (SPL)
  • Hammer stroke on brass tubing or steel plate at 1 m distance = 160 dBA
  • Hammer stroke in a smithy at 5 m distance (greatest level) = 150 dBA
  • Angle grinder outside at 1 m distance = 90 dBA
  • Hammer on Nail 104 dB
  • Hand Saw 80-90 dB
  • vacuum cleaner 70 dB
  • washing machine dishwaser 65 dB

Ok, so now some math:

 90dB Hand Saw (assume 1m?)
-20dB ~30ft = ~10m from workbench to bedroom = 1/10 distance
------ -------------------------------------------------------
 70dB ~30ft = ~10m from workbench to bedroom = 1/10 distance
-30dB "quiet bedroom"
------ -------------------------------------------------------
 40dB Attenuation needed in ceiling and walls

So, according to that math, I should already be have a “quiet bedroom”. Which means that either:

  • The sound is coupling much better into the HVAC ductwork than calculated (I haven’t been able to find any data on coupling to ductwork).
  • The garage is creating echos, or in other words, the 1/r^2 loss doesn’t apply because of the extra echos.
  • Most likely, because one of the walls had about a 3″ gap in the dry wall along the bottom edge, I wasn’t even getting the ~33dB attenuation from “Standard wall construction”.

Cost Estimates

2lb MLV $4.86/sqft
1lb MLV $2-$6.50/sqft
Green Glue (2 tubes per 4×8=32sqft) $1.25/sqft
OSB 7/16″ $0.47/sqft
Drywall 5/8″ $0.43/sqft

Dry Air in the Winter House

So, a while back we replaced an old furnace with a heat exchanger heated by a tankless hot water system. Becky noticed that the air seemed not quite as dry as with the old furnace.

My initial thought, was that the heat exchanger in the old furnace would get hotter, and therefore burn off more moisture, while the hot water powered solution would limit how much the heat exchanger would heat the air. However, during today’s hike, Peter pointed out that the moisture would presumably find its way to the rest of the house. Grrrrr.

The straight dope forum mostly blames the air expansion for the drop in humidity, and this affect alone can be extreme – see the psychrometric chart. For example, 30ºF at 10% RH which is heated to 70ºF will be at 2% RH. With the new system, we did tend to keep the house a little cooler. To continue the example, if we only heated the 30ºF at 10% RH air to 60ºF (probably an exaggerated delta), shows essentially the same 2% RH result on the psychrometric chart. So, I doubt that was the difference. Grr.

There is another potential cause described in a post by Allison Bailes PhD – dry outside air entering the house. According to the post, either a leaky house, or a leaky return vent on a furnace in an unconditioned space can be the culprit according to the article, and this article that describes how the cold dry air mixing with the interior air is the problem. While we likely have both of these problems, I doubt either changed in the transition to the newer heating system. Following the reasoning in the article, if your furnace runs more, with a leaky system, then the air will get drier. However, our newer system would typically run the blower (but not necessarily the tankless hot water) much longer than the older system, but provided moister home air. Hmmm.

I’m not sure I buy the mixing argument of the 2nd Dr Bailes article, since where did the air in the house come from – outside, and got heated up. So, wouldn’t the outside air actually be moister? Mike Rodgers makes a better case for the leaky house argument by saying that houses provide plenty of moister through occupant perspiration, showers, boiling water on the stove, etc; and that a leaky house essentially looses this moisture, to be replaced by dry winter air. This explanation I understand better. It still doesn’t explain what we’ve observed.

Maybe the years with the new system were just moister? The newer system is almost 8 years old at this point. So, doubtful.

Comments and thoughts welcome on FB or via email.


MultiCam Editing

A co-worker recently asked me about how to merge multiple camera shots of the same event into one video. I didn’t know the answer. Turns out to be not such a simple thing. However, it sounds like the available software is rapidly catching up with this feature/need.

So, I thought I’d share what I’ve found so far:

The best thing seems to be to output an SMPTE time code to an audio track on each camera. There is a free android app to do this, then I think you just wire the output of your phone to the various camera microphone inputs. This technique is called “jam coding”. Here is an article on the process. Then, there is software, like JamSync (~$250) to automatically sync things up. I think some of the fancier paid applications might have this built-in – not sure.

The advantage of Jam Syncing is that if the cameras are at different frame rates, or they turn off/on at multiple different times (i.e. camera A got lost power for 5 minutes while a battery was swapped, etc), then the software can often recover.
Otherwise the best thing seems to be syncing via the audio. Numerous blog posts say that doing it manually with the video yields worse results and is more time consuming than doing it with the waveforms in the audio.
The good news is that things like adobe premier ($700-800) (not elements) or final cut pro (the link has a bunch of audi footage) (mac only, $300) will do this for you. Also there are 3rd party tools, like plural eyes ($200) that supposedly do it faster and better.
There is a website, called switchcam that will do it, but it is pretty expensive to export your video back out of the website.
There are open source, multi platform non-linear editors (NLE’s) freely available, like openshotnova cut (funded on kickstarted, but not available yet) and pitivi, but they don’t really seem to do the multi-cam thing well – yet (link also has more links on howto’s for various paid software packages). Here’s a good post on what open source NLE’s (mostly don’t) support multi cam.