I wrote a tool using d3.js to visualize how and why the length of day changes throughout the seasons. See the whole post on Observable.