{"url":"https://api.github.com/gists/3061181","forks_url":"https://api.github.com/gists/3061181/forks","commits_url":"https://api.github.com/gists/3061181/commits","id":"3061181","node_id":"MDQ6R2lzdDMwNjExODE=","git_pull_url":"https://gist.github.com/3061181.git","git_push_url":"https://gist.github.com/3061181.git","html_url":"https://gist.github.com/mbostock/3061181","files":{".block":{"filename":".block","type":"text/plain","language":null,"raw_url":"https://gist.githubusercontent.com/mbostock/3061181/raw/703d310b399098a243a76a50bc209167e924cfd2/.block","size":17,"truncated":false,"content":"license: gpl-3.0\n","encoding":"utf-8"},"geodesic.js":{"filename":"geodesic.js","type":"text/javascript","language":"JavaScript","raw_url":"https://gist.githubusercontent.com/mbostock/3061181/raw/cbb4a9324a4ea44abe4ad3f17012326e39ba86fc/geodesic.js","size":3069,"truncated":false,"content":"(function() {\n  var φ = 1.618033988749895,\n      ρ = 180 / Math.PI;\n\n  var vertices = [\n    [1,φ,0], [-1,φ,0], [1,-φ,0], [-1,-φ,0],\n    [0,1,φ], [0,-1,φ], [0,1,-φ], [0,-1,-φ],\n    [φ,0,1], [-φ,0,1], [φ,0,-1], [-φ,0,-1]\n  ];\n\n  var faces = [\n    [0,1,4],  [1,9,4],  [4,9,5],  [5,9,3],  [2,3,7],\n    [3,2,5],  [7,10,2], [0,8,10], [0,4,8],  [8,2,10],\n    [8,4,5],  [8,5,2],  [1,0,6],  [11,1,6], [3,9,11],\n    [6,10,7], [3,11,7], [11,6,7], [6,0,10], [9,1,11]\n  ].map(function(face) {\n    return face.map(function(i) {\n      return vertices[i];\n    });\n  });\n\n  d3.geodesic = {\n    multipolygon: function(n) {\n      return {\n        type: \"MultiPolygon\",\n        coordinates: subdivideFaces(~~n).map(function(face) {\n          face = face.map(project);\n          face.push(face[0]);\n          return [face];\n        })\n      };\n    },\n    polygons: function(n) {\n      return d3.geodesic.multipolygon(~~n).coordinates.map(function(face) {\n        return {type: \"Polygon\", coordinates: face};\n      });\n    },\n    multilinestring: function(n) {\n      return {\n        type: \"MultiLineString\",\n        coordinates: subdivideEdges(~~n).map(function(edge) {\n          return edge.map(project);\n        })\n      };\n    }\n  };\n\n  function subdivideFaces(n) {\n    return d3.merge(faces.map(function(face) {\n      var i01 = interpolate(face[0], face[1]),\n          i02 = interpolate(face[0], face[2]),\n          faces = [];\n\n      faces.push([\n        face[0],\n        i01(1 / n),\n        i02(1 / n)\n      ]);\n\n      for (var i = 1; i < n; ++i) {\n        var i1 = interpolate(i01(i / n), i02(i / n)),\n            i2 = interpolate(i01((i + 1) / n), i02((i + 1) / n));\n        for (var j = 0; j <= i; ++j) {\n          faces.push([\n            i1(j / i),\n            i2(j / (i + 1)),\n            i2((j + 1) / (i + 1))\n          ]);\n        }\n        for (var j = 0; j < i; ++j) {\n          faces.push([\n            i1(j / i),\n            i1((j + 1) / i),\n            i2((j + 1) / (i + 1))\n          ]);\n        }\n      }\n\n      return faces;\n    }));\n  }\n\n  function subdivideEdges(n) {\n    var edges = {};\n\n    subdivideFaces(n).forEach(function(face) {\n      add(face[0], face[1]);\n      add(face[1], face[2]);\n      add(face[2], face[0]);\n    });\n\n    function add(p0, p1) {\n      var t;\n      if (p0[0] < p1[0] || (p0[0] == p1[0] && (p0[1] < p1[1] || (p0[1] == p1[1] && p0[2] < p1[2])))) t = p0, p0 = p1, p1 = t;\n      edges[p0.map(round) + \" \" + p1.map(round)] = [p0, p1];\n    }\n\n    function round(d) {\n      return d3.round(d, 4);\n    }\n\n    return d3.values(edges);\n  }\n\n  function interpolate(p0, p1) {\n    var x0 = p0[0],\n        y0 = p0[1],\n        z0 = p0[2],\n        x1 = p1[0] - x0,\n        y1 = p1[1] - y0,\n        z1 = p1[2] - z0;\n    return function(t) {\n      return [\n        x0 + t * x1,\n        y0 + t * y1,\n        z0 + t * z1\n      ];\n    };\n  }\n\n  function project(p) {\n    var x = p[0],\n        y = p[1],\n        z = p[2];\n    return [\n      Math.atan2(y, x) * ρ,\n      Math.acos(z / Math.sqrt(x * x + y * y + z * z)) * ρ - 90\n    ];\n  }\n})();\n","encoding":"utf-8"},"index.html":{"filename":"index.html","type":"text/html","language":"HTML","raw_url":"https://gist.githubusercontent.com/mbostock/3061181/raw/bb1857e8849db4fb623a22caa9b80b7ad4ce9d3b/index.html","size":886,"truncated":false,"content":"<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<style>\n\npath {\n  fill: none;\n  stroke: #000;\n}\n\ncircle {\n  fill: none;\n  stroke: #000;\n  stroke-width: 3px;\n}\n\n</style>\n<body>\n<script src=\"//d3js.org/d3.v3.min.js\"></script>\n<script src=\"geodesic.js\" charset=\"utf-8\"></script>\n<script>\n\nvar width = 960,\n    height = 500;\n\nvar velocity = [-.003, .003];\n\nvar projection = d3.geo.orthographic()\n    .clipAngle(90)\n    .scale(240);\n\nvar path = d3.geo.path()\n    .projection(projection);\n\nvar svg = d3.select(\"body\").append(\"svg\")\n    .attr(\"width\", width)\n    .attr(\"height\", height);\n\nvar feature = svg.append(\"path\")\n    .datum(d3.geodesic.multipolygon(1));\n\nsvg.append(\"circle\")\n    .attr(\"r\", 240)\n    .attr(\"cx\", width / 2)\n    .attr(\"cy\", height / 2);\n\nd3.timer(function(elapsed) {\n  projection.rotate([elapsed * velocity[0], elapsed * velocity[1]]);\n  feature.attr(\"d\", path);\n});\n\n</script>\n","encoding":"utf-8"},"thumbnail.png":{"filename":"thumbnail.png","type":"image/png","language":null,"raw_url":"https://gist.githubusercontent.com/mbostock/3061181/raw/1e96d476dec97b4e315e8f3a3300c7924254b60d/thumbnail.png","size":6978,"truncated":false,"content":"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\nQmCC\n","encoding":"base64"}},"public":true,"created_at":"2012-07-06T16:28:49Z","updated_at":"2016-02-09T01:27:11Z","description":"Icosahedron","comments":0,"user":null,"comments_enabled":true,"comments_url":"https://api.github.com/gists/3061181/comments","owner":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"fork_of":{"url":"https://api.github.com/gists/3058685","forks_url":"https://api.github.com/gists/3058685/forks","commits_url":"https://api.github.com/gists/3058685/commits","id":"3058685","node_id":"MDQ6R2lzdDMwNTg2ODU=","git_pull_url":"https://gist.github.com/3058685.git","git_push_url":"https://gist.github.com/3058685.git","html_url":"https://gist.github.com/mbostock/3058685","files":{},"public":true,"created_at":"2012-07-06T07:31:59Z","updated_at":"2017-05-25T05:19:42Z","description":"Geodesic Grid","comments":0,"user":null,"comments_enabled":true,"comments_url":"https://api.github.com/gists/3058685/comments","owner":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false}},"forks":[{"url":"https://api.github.com/gists/3132496","user":{"login":"biovisualize","id":824534,"node_id":"MDQ6VXNlcjgyNDUzNA==","avatar_url":"https://avatars.githubusercontent.com/u/824534?v=4","gravatar_id":"","url":"https://api.github.com/users/biovisualize","html_url":"https://github.com/biovisualize","followers_url":"https://api.github.com/users/biovisualize/followers","following_url":"https://api.github.com/users/biovisualize/following{/other_user}","gists_url":"https://api.github.com/users/biovisualize/gists{/gist_id}","starred_url":"https://api.github.com/users/biovisualize/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/biovisualize/subscriptions","organizations_url":"https://api.github.com/users/biovisualize/orgs","repos_url":"https://api.github.com/users/biovisualize/repos","events_url":"https://api.github.com/users/biovisualize/events{/privacy}","received_events_url":"https://api.github.com/users/biovisualize/received_events","type":"User","user_view_type":"public","site_admin":false,"name":"Chris Viau","company":null,"blog":"http://christopheviau.com","location":null,"email":null,"hireable":null,"bio":null,"twitter_username":null,"public_repos":39,"public_gists":176,"followers":151,"following":0,"created_at":"2011-06-02T03:09:20Z","updated_at":"2025-12-21T17:19:20Z"},"id":"3132496","created_at":"2012-07-17T22:12:11Z","updated_at":"2015-10-07T08:08:00Z"}],"history":[{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"ee40d37642a6cd94340198b4b0acc672adbb1efd","committed_at":"2016-02-09T01:27:06Z","change_status":{"total":1,"additions":1,"deletions":0},"url":"https://api.github.com/gists/3061181/ee40d37642a6cd94340198b4b0acc672adbb1efd"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"b703735b8a6f1ea535ba7202470eb82cf97bfb32","committed_at":"2015-10-31T00:52:09Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/3061181/b703735b8a6f1ea535ba7202470eb82cf97bfb32"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"a0ef1630d98649db058b6913e08fc841deef1dde","committed_at":"2015-06-11T16:53:07Z","change_status":{"total":34,"additions":13,"deletions":21},"url":"https://api.github.com/gists/3061181/a0ef1630d98649db058b6913e08fc841deef1dde"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"398b89175c964c894ea536ae8d599196d58a12e2","committed_at":"2012-10-12T03:54:38Z","change_status":{"total":0,"additions":0,"deletions":0},"url":"https://api.github.com/gists/3061181/398b89175c964c894ea536ae8d599196d58a12e2"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"f8b911adcee6c7773d936eae83401ce644b277c7","committed_at":"2012-07-09T19:21:43Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/3061181/f8b911adcee6c7773d936eae83401ce644b277c7"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"f8f0abe2de1e70a639a4a3eaa204f61db8d7fd95","committed_at":"2012-07-06T16:29:41Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/3061181/f8f0abe2de1e70a639a4a3eaa204f61db8d7fd95"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"2d50d8faef5caac6340587fd4c828cc5b766f625","committed_at":"2012-07-06T16:29:09Z","change_status":{"total":8,"additions":6,"deletions":2},"url":"https://api.github.com/gists/3061181/2d50d8faef5caac6340587fd4c828cc5b766f625"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"f89de3e5a21090cd4bde186d955bc9f5f3f8a5b2","committed_at":"2012-07-06T07:32:25Z","change_status":{"total":95,"additions":55,"deletions":40},"url":"https://api.github.com/gists/3061181/f89de3e5a21090cd4bde186d955bc9f5f3f8a5b2"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"f7548078cdbec175b8e98bfb576a981485138060","committed_at":"2012-07-06T00:58:21Z","change_status":{"total":62,"additions":44,"deletions":18},"url":"https://api.github.com/gists/3061181/f7548078cdbec175b8e98bfb576a981485138060"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"94d14791bff35129800047914944e3c685b96e4e","committed_at":"2012-07-06T00:13:03Z","change_status":{"total":4,"additions":2,"deletions":2},"url":"https://api.github.com/gists/3061181/94d14791bff35129800047914944e3c685b96e4e"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"b83bf7c56aee5fdcb9d4a8c47c1884b4eb0edf30","committed_at":"2012-07-06T00:05:57Z","change_status":{},"url":"https://api.github.com/gists/3061181/b83bf7c56aee5fdcb9d4a8c47c1884b4eb0edf30"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"6e91f1dc5fce9c6cbfc0724cb83336b7ca3c413b","committed_at":"2012-07-05T17:36:43Z","change_status":{},"url":"https://api.github.com/gists/3061181/6e91f1dc5fce9c6cbfc0724cb83336b7ca3c413b"}],"truncated":false}