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) |
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.
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.
license: gpl-3.0 | |
height: 1060 |
license: gpl-3.0 |
license: gpl-3.0 |
A good commit message looks like this: | |
Header line: explaining the commit in one line | |
Body of commit message is a few lines of text, explaining things | |
in more detail, possibly giving some background about the issue | |
being fixed, etc etc. | |
The body of the commit message can be several paragraphs, and | |
please do proper word-wrap and keep columns shorter than about |
This brush snaps to day boundaries. As the user brushes, the brush fires brush events, allowing a listener to adjust the brush extent. Compare this approach to using brush transitions on brushend.
A simple example to demonstrate a concept to display real-time data using element attributes to bind to incoming data; from a websocket, for example.
Using element attribute bindings means users can edit plain html pages to build data-driven, dynamically updating user interfaces, designers can style those interfaces and developers can implement element transitions via callback without needing to understand or configure the underlying update mechanism.