View swoopy.js
define(function(require) {
var d3 = require('./d3v4+jetpack');
return function swoopy(svg, x0, y0, x1, y1, flipped, r) {
var dx = x1 - x0, dy = y1 - y0;
if (r === undefined) r = Math.sqrt(dx*dx + dy*dy) * 0.75;
var g_arr = svg.append('g.arrow');
var svg_root = d3.select(svg.node().ownerSVGElement || svg.node()),
View .block
license: mit
View election.sh
#!/bin/bash
cd $( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
blue=$(tput setaf 4)
green=$(tput setaf 2)
normal=$(tput sgr0)
while ./update.sh
do
printf "\n${blue}>>> sleeping a little bit before running again... ${normal}\n"
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.