Mike Bostock, creator of D3.js, writes about data visualization, algorithms, and tools for data workflows.
Commenters call his work classic, especially the animated algorithm visualizations and the article on using Make for data workflows.
Semi-related, I love this article by Mike Bostock about using Make to capture some design/data workflows: https://bost.ocks.org/mike/make/
I fiddled with this idea and made a Makefile that downloads a book from the Internet Archive, extracts all the illustrations and tweaks them with ImageMagick: https://github.com/beardicus/bk-fig-phillips/blob/master/Makefile
This isn't the smartest Makefile... I've learned a bit since. Regardless, I find it really fun to smoosh a process into a dependency graph frame-of-mind.
Does anybody else have any examples of "non-traditional" uses of Make? Anything beyond compiling code or using it as a straightforward task runner?
very cool, christophe, thanks for taking the time to compile this list.
The one thing that always astounds me about people who generate dataviz with d3 is that they almost never do anything interactive with it (filter, zoom, etc) and if they do, they won't use any of d3's insanely cool/easy transitions to make the visualization smoothly morph from one state to the next.
Really, if you're going to start messing around with d3, read about Mike Bostock's thoughts on change blindness and object constancy.
http://bost.ocks.org/mike/constancy/
amazing example 1:
http://bl.ocks.org/mbostock/1256572
cool example 2:
http://bl.ocks.org/mbostock/3808234
Used "correctly" the web with JS is way better than the web without. There's plenty of sites that use JS great from actual apps to articles and tutorials with interactive examples. In fact personally I find myself disappointed when I see an article that would clearly be better with interactive diagrams but the authors are stuck thinking the web it just a transmitted book and not it's own medium but better strengths.
A couple of examples where IMO JS makes the page superior to one without
https://mattdesl.svbtle.com/drawing-lines-is-hard
https://bost.ocks.org/mike/algorithms/
https://pomax.github.io/bezierinfo/
Amen right back at ya! (I love the O'Reilly book cover.) I highly recommend people read your blog post. And there's also this classic:
https://aadrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html
I'll also take this opportunity to plug Make and Drake for manipulating data in a replicable way:
https://bost.ocks.org/mike/make/
https://github.com/Factual/drake
If you're processing data using tools that cannot trace their ancestry directly to some time before 1985, you're probably wasting your own and your colleagues' time.
Works great with d3.js too. Couldn't've made this map of the early days of the Ukraine crisis[0] without Natural Earth.
Also helpful to that end: the Global Administrative Areas[1] database.
Finally, it would've been impossible to even start getting my head around how to go about these things if it wasn't for this amazing tutorial by Mike Bostock[2].
[0] http://www.the-american-interest.com/blog/2014/03/03/the-noose-tightens/
[1] http://www.gadm.org
[2] http://bost.ocks.org/mike/map/
Great point. Here's a visualization of what you're talking about:
http://bl.ocks.org/mbostock/fe3f75700e70416e37cd
>Uniform random is pretty terrible. There is both severe under- and oversampling: many samples are densely-packed, even overlapping, leading to large empty areas. (Uniform random sampling also represents the lower bound of quality for the best-candidate algorithm, as when the number of candidates per sample is set to one.)
Taken from: http://bost.ocks.org/mike/algorithms/