View d3.forceExtent.js
d3.forceExtent = function(extent) {
var nodes;
if (extent == null) extent=[[0,800], [0,500]];
function force() {
var i,
n = nodes.length,
node,
r = 0;
View colorizer.json
[{
"file": "results",
"data": {
"AL": {
"fill": "#cc3d3d",
"stroke": false
},
"AK": {
"fill": "#cc3d3d",
"stroke": false
View .block
license: mit
View .block
license: mit
View d3.js
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(factory((global.d3 = global.d3 || {})));
}(this, function (exports) { 'use strict';
function ascending(a, b) {
return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
}
View tilted.prj
PROJCS["satellite",
GEOGCS["satellite"],
PROJECTION["satellite"],
EXTENSION["PROJ4","+proj=tpers +azi=19 +tilt=30 +lon_0=-109.5 +lat_0=23 +h=1274199.4 + ellps=WGS84 +datum=WGS84 +units=m"]]
View make-animated-gifs-using-ffmpeg.md

Make sure ffmpeg is up-to-date:

brew update
brew upgrade ffmpeg

Convert a MOV into frames. Tweak the 2/1 if you want more or fewer frames.

View multi-crowbar.js
var multiCrowbar = (function() {
/*
* SVG Export
* converts html labels to svg text nodes
* will produce incorrect results when used with multi-line html texts
*
* Author: Gregor Aisch
* based on https://github.com/NYTimes/svg-crowbar/blob/gh-pages/svg-crowbar-2.js
*/
View .block
license: gpl-3.0