Skip to content

Instantly share code, notes, and snippets.

View erlenstar's full-sized avatar

Jeff Zerger erlenstar

  • Phykos, PBC
  • Pacifica, CA
View GitHub Profile
@erlenstar
erlenstar / README.md
Last active August 29, 2015 13:56 — forked from mbostock/.block

First shot at a data-driven homepage for Todd and Co's new project.

GENERATED_FILES = \
unemployment.tsv
.PHONY: all clean
all: $(GENERATED_FILES)
clean:
rm -rf -- $(GENERATED_FILES)
@erlenstar
erlenstar / jonathan-corum.md
Last active August 29, 2015 14:01
Notes from See. Think. Design. Produce.

Jonathan Corum

science graphics editor at the New York Times

seeing

  • humans are really good at pattern recognition -> eg. person by just their gait
  • work to change the way people see

Curves drawn by randomly placing actors on the canvas, and walking them in a direction determined by the perlin noise function at their location. The continuity of the underlying noise function causes paths to converge together.

@erlenstar
erlenstar / README.md
Last active August 29, 2015 14:09 — forked from mbostock/.block

This chart shows the path of the Sun in the sky today based on your current location. The red dot represents the current apparent position of the Sun in terms of azimuth and elevation.

The outer black circle represents the horizon, where the elevation of the Sun is 0°. If the Sun is outside this circle, it is below the horizon. (This means it’s dark outside, though note that some definitions of twilight extend as far as 18° below the horizon.) Where the path intersects the horizon determines sunrise and sunset. The inner concentric circles represent higher solar elevations.

The radiating lines of the graticule represent azimuth. For example, 0° azimuth means that the Sun is due North of your current location. The azimuth tells you the direction of shadows cast by the Sun, while the elevation determines their length.

@erlenstar
erlenstar / index.html
Last active October 24, 2015 02:07
d3.unconf() 2015 Block
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<link type="text/css" rel="stylesheet" href="style.css"/>
</head>
<body>
<input id="time-slider" type="range" min="0" max="1" step="0.01" value="1"></input>
<div id="table-target">
<table>
/*************************/
/* Rendering Timelines
/*************************/
// render all the timelines, based on opportunities, into a target element (d3.selection)
function renderTimelines($target, collects, downlinks) {
var ops = collects.concat(downlinks);
var sorted_ops = R.sortBy(R.prop("start_time"), ops);
@erlenstar
erlenstar / .block
Created May 4, 2016 20:58 — forked from mbostock/.block
Nest Treemap
license: gpl-3.0
height: 1060
@erlenstar
erlenstar / .block
Created October 17, 2016 20:07 — forked from mbostock/.block
Stereographic
license: gpl-3.0
@erlenstar
erlenstar / .block
Created October 17, 2016 23:10 — forked from mbostock/.block
Delaunay Force Mesh II
license: gpl-3.0