Have you ever considered visualizing artificial neural networks in training or in operation?
Speaking purely from a selfish standpoint, it would be awesome to SEE what back-propagation "looks like" with different neuronal activation functions, or what feature learning by restricted Boltzmann machines "looks like," or how dropout causes networks to generalize better -- to name just a few possibilities.
If anyone can visualize neural network algorithms in a way that is intuitive and beautiful, it's you!
Most d3 books out there are entry level. They don't cover advanced concepts which are needed to build serious visualizations. The only way to learn advanced stuff is to go through your bl.ocks, which could be daunting sometimes without comments. It'd be awesome if you can think of writing an advanced book. I know its too much to ask for, especially considering your active contribution on Google Groups and StackOverflow.
Beautiful! These would be very useful to someone learning these algorithms, but also to someone interested in creating their own visualizations. I like how you highlight the drawbacks of different types of visualizations and demonstrate that different visualizations can have different goals, and offer creative solutions for both.
One nitpick with the maze visualizations though. I found that the maze color flood animations have the same issue that you mentioned sorting has: animations are frustrating to watch because you have to wait and then rely on memory to recognize patterns. Specifically, I found the color scale rotation was much too fast to see large patterns, and even small patterns were too dense to be able to trace backwards after the maze had been fully colored.
I have an idea for an alternate visualization: Only show the fully colored maze (no intermediates), but vary the color rotation length over time from frame to frame. You'd be able to see color rippling through the maze and be able to follow the ripples over both large scale and small scale features.
In case you're revisiting this post later ( 17 hours elapsed when I got to your article )
.
1. Recording the missteps to Perfection
.
In future could you record the number of edits required to come up with your finished essays ? I've always found that it takes a lot of steps to make something that elegantly looks as though no mis-steps were taken. Some form of screen recording style evolution of the essay over time
I know Paul Graham had a live essay session recording.
.
2. Archiving live and interactive works.
.
I guess your piece will archive okay as it is the sum of static files. But I do hope that your essay plays well with archive.org so that future people can enjoy your article.
.
3. The future of the interactive essay
.
Relating to 1. I can't imagine that preparing an interactive essay is an easy affair. A lot of effort goes into a static essay. How much work is it to interactivate it? Do you feel it will become more widespread as an essay form or restricted to a select bunch of interactivists ?
E books - smartphones really make interactive essays possible to disseminate.
However, I believe that the bit about light being a "continuous" signal in the first paragraph invites conflicting thoughts of wave / particle duality, which distracts from and is not at all relevant to your point.
The eye samples light because it connects to a machine with a fixed number of inputs. This setup would also require sampling if the signal were not continuous at all, but instead consisted of a much larger number of discrete parts than the "sensing" equipment could handle.
Can someone clue me in on the usage of bitwise operators when declaring the cardinal direction variables (NSWE)? I can't make sense of it -- those values don't seem to make use of any bitwise operations further down the line, unless I'm missing something, which is very possible.
Is this just a stylistic choice to signal the uses for those variables? (Though I confess I still don't know what that signal would be, anyway.)
Any illumination would be appreciated, but should MBostock still be following this, thanks so much for your work! So inspiring.
Beautiful article. Is there a repository with the source code available? You mention viewing the source in the article but my mobile browser can't do that.
Off-topic: Why isn't my macbook a jet engine right now? I've read plenty of blogs with nothing but a parallax scroll at the top and my computer fan goes insane.
But, on this blog, TONS of dynamic code running and not a peep.
x | 0 will truncate a floating point x to an integer. The multiplication happens first so the overall expression acts like i = (Math.random() * n--) | 0.
Really is interesting how proper visualization allows you to see very subtle probabilistic distinctions that probably only a phd in stochastic processes would understand intuitively.
[+] [-] mbostock|11 years ago|reply
[+] [-] cs702|11 years ago|reply
Speaking purely from a selfish standpoint, it would be awesome to SEE what back-propagation "looks like" with different neuronal activation functions, or what feature learning by restricted Boltzmann machines "looks like," or how dropout causes networks to generalize better -- to name just a few possibilities.
If anyone can visualize neural network algorithms in a way that is intuitive and beautiful, it's you!
[+] [-] subbu|11 years ago|reply
[+] [-] viggity|11 years ago|reply
thanks for all the time/effort you've put into d3. my side project (machete.io) certainly wouldn't be possible without it.
[+] [-] pgbovine|11 years ago|reply
I love these sorts of interactive, visual essays and would love to find ways to lower creation times.
[+] [-] infogulch|11 years ago|reply
One nitpick with the maze visualizations though. I found that the maze color flood animations have the same issue that you mentioned sorting has: animations are frustrating to watch because you have to wait and then rely on memory to recognize patterns. Specifically, I found the color scale rotation was much too fast to see large patterns, and even small patterns were too dense to be able to trace backwards after the maze had been fully colored.
I have an idea for an alternate visualization: Only show the fully colored maze (no intermediates), but vary the color rotation length over time from frame to frame. You'd be able to see color rippling through the maze and be able to follow the ripples over both large scale and small scale features.
[+] [-] tezza|11 years ago|reply
.
1. Recording the missteps to Perfection
.
In future could you record the number of edits required to come up with your finished essays ? I've always found that it takes a lot of steps to make something that elegantly looks as though no mis-steps were taken. Some form of screen recording style evolution of the essay over time
I know Paul Graham had a live essay session recording.
.
2. Archiving live and interactive works.
.
I guess your piece will archive okay as it is the sum of static files. But I do hope that your essay plays well with archive.org so that future people can enjoy your article.
.
3. The future of the interactive essay
.
Relating to 1. I can't imagine that preparing an interactive essay is an easy affair. A lot of effort goes into a static essay. How much work is it to interactivate it? Do you feel it will become more widespread as an essay form or restricted to a select bunch of interactivists ?
E books - smartphones really make interactive essays possible to disseminate.
[+] [-] polskibus|11 years ago|reply
- any plans on trying to make a canvas based d3 adapter/library? Also thinking about webgl here, although I believe x3dom works well enough
- have you played with other programming languages to evaluate their support for data vis expressiveness? If so, what would you recommend to try out?
[+] [-] jpeterson|11 years ago|reply
However, I believe that the bit about light being a "continuous" signal in the first paragraph invites conflicting thoughts of wave / particle duality, which distracts from and is not at all relevant to your point.
The eye samples light because it connects to a machine with a fixed number of inputs. This setup would also require sampling if the signal were not continuous at all, but instead consisted of a much larger number of discrete parts than the "sensing" equipment could handle.
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] spenuke|11 years ago|reply
Is this just a stylistic choice to signal the uses for those variables? (Though I confess I still don't know what that signal would be, anyway.)
Any illumination would be appreciated, but should MBostock still be following this, thanks so much for your work! So inspiring.
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] phloxicon|11 years ago|reply
[+] [-] hexleo|11 years ago|reply
[+] [-] julie1|11 years ago|reply
What about vizualizing randomness ?
Like in this article ? http://lcamtuf.coredump.cx/oldtcp/tcpseq/print.html
[+] [-] pokpokpok|11 years ago|reply
[+] [-] prezjordan|11 years ago|reply
But, on this blog, TONS of dynamic code running and not a peep.
[+] [-] _pmf_|11 years ago|reply
Ah, the beauty of Javascript!
[+] [-] tsenkov|11 years ago|reply
[+] [-] domdip|11 years ago|reply
http://www.robweir.com/blog/2010/02/microsoft-random-browser...
[+] [-] resu|11 years ago|reply
Found a ton more interesting examples here: http://bl.ocks.org/mbostock
[+] [-] talles|11 years ago|reply
[+] [-] parham|11 years ago|reply
[+] [-] jqm|11 years ago|reply
Especially maze turning into spanning tree. That one was truly mind blowing.
[+] [-] jmt7les|11 years ago|reply
[+] [-] VMG|11 years ago|reply
[+] [-] yazinsai|11 years ago|reply
[+] [-] prestonbriggs|11 years ago|reply
Design and implementation of the UW Illustrated compiler by Andrews, Henry, and Yamamoto PLDI '88
and
The University of Washington illustrating compiler by Henry, Whaley, and Forstall PLDI '90
[+] [-] DalekBaldwin|11 years ago|reply
[+] [-] Artemis2|11 years ago|reply
I've seen in the piece of code corresponding to the Fisher-Yates algorithm this snippet: "n-- | 0". Has the "| 0" any importance?
[+] [-] abbeyj|11 years ago|reply
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] goblin89|11 years ago|reply
[+] [-] mu_killnine|11 years ago|reply
[+] [-] reader5000|11 years ago|reply
[+] [-] appreneur|11 years ago|reply
[+] [-] sys32768|11 years ago|reply
[+] [-] gadgetdevil|11 years ago|reply
[+] [-] hamxiaoz|11 years ago|reply
[+] [-] joaomoreno|11 years ago|reply
[+] [-] johnsteve|11 years ago|reply
[+] [-] mellisarob|11 years ago|reply
[+] [-] idibidiart|11 years ago|reply
[+] [-] milroc|11 years ago|reply
[+] [-] yazinsai|11 years ago|reply