{"url":"https://api.github.com/gists/5977197","forks_url":"https://api.github.com/gists/5977197/forks","commits_url":"https://api.github.com/gists/5977197/commits","id":"5977197","node_id":"MDQ6R2lzdDU5NzcxOTc=","git_pull_url":"https://gist.github.com/5977197.git","git_push_url":"https://gist.github.com/5977197.git","html_url":"https://gist.github.com/mbostock/5977197","files":{".block":{"filename":".block","type":"text/plain","language":null,"raw_url":"https://gist.githubusercontent.com/mbostock/5977197/raw/703d310b399098a243a76a50bc209167e924cfd2/.block","size":17,"truncated":false,"content":"license: gpl-3.0\n","encoding":"utf-8"},"README.md":{"filename":"README.md","type":"text/markdown","language":"Markdown","raw_url":"https://gist.githubusercontent.com/mbostock/5977197/raw/33cc2e13a621d6ba4dbc585540a59325c93438fd/README.md","size":673,"truncated":false,"content":"A variation of the [example bar chart](/mbostock/3885304) using a slightly more [D.R.Y. style](http://en.wikipedia.org/wiki/Don't_repeat_yourself). The visual encoding is represented by two functions and their composition:\n\n* The *value* accessor returns the value (or property) to encode for a given data object.\n* The *scale* maps this value to a visual display encoding, such as a pixel position.\n* The *map* function represents the composition *value* ○ *scale*, mapping from data to display.\n\nInspired by [Andrew Winterman](http://awinterman.github.io/)’s post, [Tooling for the Lazy Programmer: DRYing up D3](http://urbanairship.com/blog/2013/07/11/drying-up-d3).","encoding":"utf-8"},"data.tsv":{"filename":"data.tsv","type":"text/tab-separated-values","language":"TSV","raw_url":"https://gist.githubusercontent.com/mbostock/5977197/raw/a65a161184a87b69fdabc3b4a952e5ac9c71b054/data.tsv","size":251,"truncated":false,"content":"letter\tfrequency\nA\t.08167\nB\t.01492\nC\t.02780\nD\t.04253\nE\t.12702\nF\t.02288\nG\t.02022\nH\t.06094\nI\t.06973\nJ\t.00153\nK\t.00747\nL\t.04025\nM\t.02517\nN\t.06749\nO\t.07507\nP\t.01929\nQ\t.00098\nR\t.05987\nS\t.06333\nT\t.09056\nU\t.02758\nV\t.01037\nW\t.02465\nX\t.00150\nY\t.01971\nZ\t.00074\n","encoding":"utf-8"},"index.html":{"filename":"index.html","type":"text/html","language":"HTML","raw_url":"https://gist.githubusercontent.com/mbostock/5977197/raw/215b6797511825ad1df3e9c697aef15b0a925aff/index.html","size":2142,"truncated":false,"content":"<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<style>\n\nbody {\n  font: 10px sans-serif;\n}\n\n.axis path,\n.axis line {\n  fill: none;\n  stroke: #000;\n  shape-rendering: crispEdges;\n}\n\n.bar {\n  fill: steelblue;\n}\n\n.x.axis path {\n  display: none;\n}\n\n</style>\n<body>\n<script src=\"//d3js.org/d3.v3.min.js\"></script>\n<script>\n\nvar margin = {top: 20, right: 20, bottom: 30, left: 40},\n    width = 960 - margin.left - margin.right,\n    height = 500 - margin.top - margin.bottom;\n\nvar formatPercent = d3.format(\".0%\");\n\nvar xValue = function(d) { return d.letter; }, // data -> value\n    xScale = d3.scale.ordinal().rangeRoundBands([0, width], .1), // value -> display\n    xMap = function(d) { return xScale(xValue(d)); }, // data -> display\n    xAxis = d3.svg.axis().scale(xScale).orient(\"bottom\");\n\nvar yValue = function(d) { return d.frequency; }, // data -> value\n    yScale = d3.scale.linear().range([height, 0]), // value -> display\n    yMap = function(d) { return yScale(yValue(d)); }, // data -> display\n    yAxis = d3.svg.axis().scale(yScale).orient(\"left\").tickFormat(formatPercent);\n\nvar svg = d3.select(\"body\").append(\"svg\")\n    .attr(\"width\", width + margin.left + margin.right)\n    .attr(\"height\", height + margin.top + margin.bottom)\n  .append(\"g\")\n    .attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\");\n\nd3.tsv(\"data.tsv\", type, function(error, data) {\n  xScale.domain(data.map(xValue));\n  yScale.domain([0, d3.max(data, yValue)]);\n\n  svg.append(\"g\")\n      .attr(\"class\", \"x axis\")\n      .attr(\"transform\", \"translate(0,\" + height + \")\")\n      .call(xAxis);\n\n  svg.append(\"g\")\n      .attr(\"class\", \"y axis\")\n      .call(yAxis)\n    .append(\"text\")\n      .attr(\"transform\", \"rotate(-90)\")\n      .attr(\"y\", 6)\n      .attr(\"dy\", \".71em\")\n      .style(\"text-anchor\", \"end\")\n      .text(\"Frequency\");\n\n  svg.selectAll(\".bar\")\n      .data(data)\n    .enter().append(\"rect\")\n      .attr(\"class\", \"bar\")\n      .attr(\"x\", xMap)\n      .attr(\"width\", xScale.rangeBand)\n      .attr(\"y\", yMap)\n      .attr(\"height\", function(d) { return height - yMap(d); });\n\n});\n\nfunction type(d) {\n  d.frequency = +d.frequency;\n  return d;\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/5977197/raw/6e9131d97a75c0a3564a5e0f718ee09921a25826/thumbnail.png","size":4850,"truncated":false,"content":"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\n","encoding":"base64"}},"public":true,"created_at":"2013-07-11T16:54:59Z","updated_at":"2019-07-29T14:26:29Z","description":"DRY Bar Chart","comments":0,"user":null,"comments_enabled":true,"comments_url":"https://api.github.com/gists/5977197/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/3885304","forks_url":"https://api.github.com/gists/3885304/forks","commits_url":"https://api.github.com/gists/3885304/commits","id":"3885304","node_id":"MDQ6R2lzdDM4ODUzMDQ=","git_pull_url":"https://gist.github.com/3885304.git","git_push_url":"https://gist.github.com/3885304.git","html_url":"https://gist.github.com/mbostock/3885304","files":{},"public":true,"created_at":"2012-10-13T16:45:02Z","updated_at":"2024-12-11T17:30:56Z","description":"Bar Chart","comments":3,"user":null,"comments_enabled":true,"comments_url":"https://api.github.com/gists/3885304/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/6001118","user":{"login":"patrickberkeley","id":8364,"node_id":"MDQ6VXNlcjgzNjQ=","avatar_url":"https://avatars.githubusercontent.com/u/8364?v=4","gravatar_id":"","url":"https://api.github.com/users/patrickberkeley","html_url":"https://github.com/patrickberkeley","followers_url":"https://api.github.com/users/patrickberkeley/followers","following_url":"https://api.github.com/users/patrickberkeley/following{/other_user}","gists_url":"https://api.github.com/users/patrickberkeley/gists{/gist_id}","starred_url":"https://api.github.com/users/patrickberkeley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/patrickberkeley/subscriptions","organizations_url":"https://api.github.com/users/patrickberkeley/orgs","repos_url":"https://api.github.com/users/patrickberkeley/repos","events_url":"https://api.github.com/users/patrickberkeley/events{/privacy}","received_events_url":"https://api.github.com/users/patrickberkeley/received_events","type":"User","user_view_type":"public","site_admin":false,"name":"Patrick Berkeley","company":null,"blog":"","location":"Burlington, VT","email":"patrickberkeley@gmail.com","hireable":null,"bio":null,"twitter_username":null,"public_repos":34,"public_gists":74,"followers":37,"following":27,"created_at":"2008-04-24T13:19:31Z","updated_at":"2026-04-07T04:55:13Z"},"id":"6001118","created_at":"2013-07-15T15:59:37Z","updated_at":"2015-12-19T18:48:55Z"},{"url":"https://api.github.com/gists/6435505","user":{"login":"couchand","id":793969,"node_id":"MDQ6VXNlcjc5Mzk2OQ==","avatar_url":"https://avatars.githubusercontent.com/u/793969?v=4","gravatar_id":"","url":"https://api.github.com/users/couchand","html_url":"https://github.com/couchand","followers_url":"https://api.github.com/users/couchand/followers","following_url":"https://api.github.com/users/couchand/following{/other_user}","gists_url":"https://api.github.com/users/couchand/gists{/gist_id}","starred_url":"https://api.github.com/users/couchand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/couchand/subscriptions","organizations_url":"https://api.github.com/users/couchand/orgs","repos_url":"https://api.github.com/users/couchand/repos","events_url":"https://api.github.com/users/couchand/events{/privacy}","received_events_url":"https://api.github.com/users/couchand/received_events","type":"User","user_view_type":"public","site_admin":false,"name":"Andrew Dona-Couch -- GitHub drop ICE","company":null,"blog":"http://couchand.github.io","location":null,"email":null,"hireable":null,"bio":null,"twitter_username":null,"public_repos":255,"public_gists":21,"followers":68,"following":71,"created_at":"2011-05-17T17:33:56Z","updated_at":"2026-02-12T15:37:08Z"},"id":"6435505","created_at":"2013-09-04T10:56:54Z","updated_at":"2015-12-22T07:08:52Z"},{"url":"https://api.github.com/gists/5f13f5b555d21600aa946c9ae3f8043e","user":{"login":"1412578","id":32097182,"node_id":"MDQ6VXNlcjMyMDk3MTgy","avatar_url":"https://avatars.githubusercontent.com/u/32097182?v=4","gravatar_id":"","url":"https://api.github.com/users/1412578","html_url":"https://github.com/1412578","followers_url":"https://api.github.com/users/1412578/followers","following_url":"https://api.github.com/users/1412578/following{/other_user}","gists_url":"https://api.github.com/users/1412578/gists{/gist_id}","starred_url":"https://api.github.com/users/1412578/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/1412578/subscriptions","organizations_url":"https://api.github.com/users/1412578/orgs","repos_url":"https://api.github.com/users/1412578/repos","events_url":"https://api.github.com/users/1412578/events{/privacy}","received_events_url":"https://api.github.com/users/1412578/received_events","type":"User","user_view_type":"public","site_admin":false,"name":"Trần Quang Trí","company":null,"blog":"","location":null,"email":null,"hireable":null,"bio":null,"twitter_username":null,"public_repos":15,"public_gists":2,"followers":0,"following":0,"created_at":"2017-09-19T11:45:30Z","updated_at":"2026-04-08T17:03:10Z"},"id":"5f13f5b555d21600aa946c9ae3f8043e","created_at":"2019-07-29T14:26:29Z","updated_at":"2019-07-29T14:26:29Z"}],"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":"70eba6d5c05076b642444c2313b31137327cfcb7","committed_at":"2016-02-09T02:03:13Z","change_status":{"total":1,"additions":1,"deletions":0},"url":"https://api.github.com/gists/5977197/70eba6d5c05076b642444c2313b31137327cfcb7"},{"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":"8031d54f8f9ae7fe5b57d84aa9093807d9d0f967","committed_at":"2015-10-31T01:49:34Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/5977197/8031d54f8f9ae7fe5b57d84aa9093807d9d0f967"},{"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":"f71b4588b32f48e53d81d14eef765d11072320c4","committed_at":"2015-06-11T19:19:13Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/5977197/f71b4588b32f48e53d81d14eef765d11072320c4"},{"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":"1f2f146666d5d68cb5b762794c8dec01dd0a3358","committed_at":"2013-07-11T17:06:06Z","change_status":{"total":6,"additions":3,"deletions":3},"url":"https://api.github.com/gists/5977197/1f2f146666d5d68cb5b762794c8dec01dd0a3358"},{"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":"21ab81d30150500752fb434a08cbbabc22bba62c","committed_at":"2013-07-11T17:04:12Z","change_status":{"total":15,"additions":4,"deletions":11},"url":"https://api.github.com/gists/5977197/21ab81d30150500752fb434a08cbbabc22bba62c"},{"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":"3e97b2a144e15569185dd30e0ac39caedc280bb4","committed_at":"2013-07-11T17:01:43Z","change_status":{"total":10,"additions":6,"deletions":4},"url":"https://api.github.com/gists/5977197/3e97b2a144e15569185dd30e0ac39caedc280bb4"},{"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":"7b3c0308f7488910646de1cfe8d203c288dcb238","committed_at":"2013-07-11T16:59:46Z","change_status":{"total":51,"additions":25,"deletions":26},"url":"https://api.github.com/gists/5977197/7b3c0308f7488910646de1cfe8d203c288dcb238"},{"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":"adf6163abdd2bb12a5e776594a01ea668f757cdd","committed_at":"2012-10-14T16:04:06Z","change_status":{"total":8,"additions":7,"deletions":1},"url":"https://api.github.com/gists/5977197/adf6163abdd2bb12a5e776594a01ea668f757cdd"},{"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":"f334e917d751c846883c53769187c278fa6b633e","committed_at":"2012-10-13T21:46:07Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/5977197/f334e917d751c846883c53769187c278fa6b633e"},{"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":"eb52183e4109b91611c50aa91324cd8cdae8dd75","committed_at":"2012-10-13T16:49:18Z","change_status":{"total":6,"additions":5,"deletions":1},"url":"https://api.github.com/gists/5977197/eb52183e4109b91611c50aa91324cd8cdae8dd75"},{"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":"2b85de5fbae171221de2563899d85079fece6799","committed_at":"2012-10-13T16:48:18Z","change_status":{},"url":"https://api.github.com/gists/5977197/2b85de5fbae171221de2563899d85079fece6799"},{"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":"ac06510efbe84a27d85e2e8a392c5d76bfd5c4f4","committed_at":"2012-10-12T03:56:40Z","change_status":{},"url":"https://api.github.com/gists/5977197/ac06510efbe84a27d85e2e8a392c5d76bfd5c4f4"},{"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":"4ebdcf2800cdb97c3936f5b42c6ff1e2a17c2926","committed_at":"2012-08-10T03:23:31Z","change_status":{},"url":"https://api.github.com/gists/5977197/4ebdcf2800cdb97c3936f5b42c6ff1e2a17c2926"},{"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":"3a6dc7720a7e19130db2bb86826105e7e34026fa","committed_at":"2012-08-10T02:51:17Z","change_status":{},"url":"https://api.github.com/gists/5977197/3a6dc7720a7e19130db2bb86826105e7e34026fa"}],"truncated":false}