Monthly Archives: January 2015

Spinning Off a Git Repo

I’ve been hacking away at this one project for the last three-plus years. It started out with a limited scope, and it made sense to keep it buried in an existing git repo - it was closely related to the rest of the code base. Quickly the scope grew, and for the last two years I’ve known I should pull it out into its own repo. That’s a daunting project, so I kept putting it off.

Until today. This codebase is going to get some wider circulation, so it was finally time to take the plunge. Greg Bayer put together a fantastic guide for how to get this done: Moving Files from one Git Repository to Another, Preserving History. I’m capturing the commands here, just in case I ever need to do this again.

First, make a local clone of the starting repository, and filter out everything except the subdirectory of interest:

git clone <git repository A url>
cd <git repository A directory>
git remote rm origin
git filter-branch --subdirectory-filter <directory 1> -- --all

Then, clone the destination repository, and pull in the master branch of your stripped local clone of the starting repository:

git clone <git repository B url>
cd <git repository B directory>
git remote add repo-A-branch <git repository A directory>
git pull repo-A-branch master
git remote rm repo-A-branch

I probably would have tried to pull this off in my working copies of the two repositories, so Greg’s comments to start with new clones and then disconnect them from the remote were solid.

Omnifocus Forecast Discrepancies

I’ve been a dedicated Omnifocus user for about three years, and I’m a big fan of the 2.0 releases on all three platforms (Mac, iPhone, iPad). With the recent 2.0 update on iPad, we saw a move towards the styling of the iPhone Forecast Perspective. There’s one quirk about it that’s making me crazy, though. Pay attention to Due count on each day, and which days are highlighted.

On the Mac, we can see a whole month. Today (Monday the 19th) and Thursday (the 22nd) are highlighted because there are available tasks that are due on those days:

Omnifocus Forecast Perspective - Mac

On the iPhone, the same days are highlighted:

Omnifocus Forecast Perspective - iPhone

But on the iPad, all of the days are highlighted, whether or not the tasks are available (in this case, they’re blocked by their Start Dates):

Omnifocus Forecast Perspective - iPad

This affordance on the Mac and iPhone has become a key part of how I use Omnifocus - days that aren’t highlighted mean I don’t need to look at them urgently. Days that are highlighted require attention.

In Ken Case’s plan for 2015, he wrote:

It’s time to make OmniFocus for iPhone just as capable as OmniFocus for iPad is, bringing over all those features like Review mode and the ability to build custom perspectives.

I do hope that before they port the iPad implementation over to the iPhone they’re able to incorporate this design detail back into the iPad.

Update January 20, 2015:

Ken Case responded:

Listening To Storage

This is why audiophiles get a bad name. Right out of the gates:

Anecdotal murmurings and some limited first-hand experience suggested that digital music files can sound different when played from different computer media sources. […] We readily confirmed that the final sound quality is influenced not only by the choice of network player, DAC, digital cables, or indeed many other long-recognized factors, but additionally — and quite markedly — by the manner in which we now store large quantities of our music at home.

It’s so hard to even know where to begin with this, but let’s just assume the author’s assertion that all of those other factors affect sound quality1. The entire design of the experiment, in addition to being poorly documented2, is just dumb.

This initial trial was not intended to be an exhaustive study into all the factors that can affect the sound quality of network and computer audio, only to confirm or deny the suspicion that digital bitstream coming from hard disks are not all equal. Which has to be somewhat surprising, to say the least.


  1. The author readily acknowledges they didn’t control for a number of factors…
  2. …but still concludes that the digital bitstream coming from the hard disks are not equal.

This assertion can be directly3 tested, for instance, with MD5. If you directly test the accuracy of the data coming from the drives, you can eliminate all of the factors that are uncontrolled, the most troublesome being the subjective comparison: the listening.

Either the disks are accurately reproducing the data or they’re not. And if they’re not, it seems much more likely that you’d wind up with completely corrupted files than a ‘more tuneful’ rendering of the music:

QNAP2 rendered the same song more tunefully. It was more organic and made more sense, the lines of melody and rhythm cooperating better. As well as showing better individual instrument distinction, the whole piece sounded tidier, tonally less messy without the roughened HF, and perhaps better integrated in musical intent.

Next, someone will probably claim vinyl sounds better.

  1. DACs, yes. Digital cables? If the PLL of the receiver can reconstruct the clock with low jitter, then the cable doesn’t matter. 

  2. How were the listening tests done? If the switching times between playback systems were at all substantial, it would swamp our echoic memory capacity. Was ABX testing employed? Can they reliably determine which NAS is which, with statistical significance? 

  3. Sorry for all the italics. This just makes me so angry. 

Flying with Instruments

Finally, the DoT has issued a ruling making clear that musicians are allowed to bring their instruments as carry-on luggage for flights. There are two catches, though:

  1. The airlines don’t have to prioritize the instrument, so once the bins are full, you’re SOL. The DoT suggests paying extra for priority boarding to ensure you have safe.
  2. The instrument still has to fit in the overheard bin. If it doesn’t, you’re stuck buying an extra seat to keep it in the luggage compartment.

Here’s a direct link to the final rule. You’ll probably want to have a copy of that with you when the airlines inevitably misinterpret your rights.

via Consumerist

Cars Best Deals Plus

After a bit of a rough patch while driving home from the holidays, I had to navigate my first solo new car buying experience. I wanted to document the pricing data I found, and the steps I took to negotiate a price, and the continued degradation of the Consumer Reports brand.

A Chevy HHR with the front end compressed.

Consumer Reports

First, Consumer Report’s Cars Best Deals Plus, though terribly named, is absolutely worth the $13 price for the year. On the other hand, avoid their Build and Buy Car Buying Service at all costs1 - I tried it at 11pm, and woke up with 30+ emails and started getting phone calls from dealers at 8:30am. The biggest problem here is that they’re constantly trying to push you into the Build and Buy Service. You need to avoid the blue buttons to keep from becoming a lead, and the blue buttons absolutely do not make it clear where you’re being taken:

Consumer Reports Screenshot

The gold button leads to some tremendously useful data, including the CR Bottom Line Price. This price is invoice minus dealer incentives and holdbacks, so in theory it represents $0 profit to the dealer. You also gain access to some data about the distribution of prices people paid for their cars, and interestingly, some do get lower prices than the CR Bottom Line Price2:

Price distribution data

The best part about the Price Report is that you can configure it with the specific options on a car, so if you’re negotiating between dealers with slightly different cars, you can adjust your offers accordingly.

How we negotiated

Having the specifc Price Reports was really helpful: I went through the inventory of all of the dealers within 50 miles, found every car that matched our color and trim choice, and then came up with offers that were comparable given the specific options on the vehicles. I called them all first thing one morning, made aggressive offers for specific cars they had on their lots, and worked them against each other for a little while3.

Each dealer also had a different “Doc Fee”, which should really just be considered part of the car price. I inquired about that at the top of my call and incorporated their numbers into my offers (they varied from $279 to $398 over the dealers I contacted). We wound up just above the CR Bottom Line Price after the fees (which I don’t think are included in the curve shown above).

My only regret was that, in my haste as I was making calls, I overlooked calling back the first dealer we met with, who gave us a test drive. I should have given him another chance to win our business, to at least match the best offer we had, since he had put the most time into us as we shopped.

Bottom line: The CR Price Report was worth the money, but avoid the Build and Buy Service.

  1. Despite the slightly improved name. 

  2. I’ve blurred out the useful data here, so I can’t believe CR would be ok with me republishing it. Seriously, it’s worth the subscription cost to get access to this, if you’re about to spend $20,000+ on a car. 

  3. It probably didn’t hurt that it was the end of the month and the end of the year, so they were willing to move a car without a lot of profit to get their numbers up.