I wrote this for Quartz. Read it here.