https://blog.jupyter.org/posts/2015/the-big-split/