5 ms·
Probably a good time to mention that for the JS-minded there is Bostock’s Observable Notebooks as well. I think the only real drawback is no self hosting. htt
by 52-6F-62 7y ago
Probably a good time to mention that for the JS-minded there is Bostock’s Observable Notebooks as well.
I think the only real drawback is no self hosting.
https://observablehq.com/ https://observablehq.com/
A pretty healthy example:
https://observablehq.com/@rreusser/2d-n-body-gravity-with-poissons-equation https://observablehq.com/@rreusser/2d-n-body-gravity-with-po...
- alexcnwy 7y agoMike Bostock is a beast - this d3.js example from 2013 still blows my mind: https://archive.nytimes.com/www.nytimes.com/interactive/2012/02/13/us/politics/2013-budget-proposal-graphic.html https://archive.nytimes.com/www.nytimes.com/interactive/2012... I haven’t gotten properly stuck into observable - in what ways is it better than using a jupyter notebook?
- 52-6F-62 7y agoI don't know about "better" as I don't have a lot of experience with either—I've only dabbled or used them to prototype something small. The major differentiator is the JS implementation and ability to import libraries from sibling notebooks and other sources. But yeah I'd have to agree that Bostock is a beast.
- merlincorey 7y ago> and ability to import libraries from sibling notebooks The Jupyter documentation includes an example for importing other notebooks here: https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Importing%20Notebooks.html https://jupyter-notebook.readthedocs.io/en/stable/examples/N...
- lmeyerov 7y agoI like Observable for sharing JS tutorials - was just updating https://observablehq.com/@lmeyerov/manipulating-flat-arrays-arrow-style https://observablehq.com/@lmeyerov/manipulating-flat-arrays-... today. Observable does some things quite well for that use case: -- Easier dependencies: no need for 'npm install', just 'require(...)' -- URL publishing -- Collaborative merge flow However, Jupyter made some good decisions that make it win over Observable for our day-to-day data work: -- Manual reexecution vs. automatic: when working with big data, outside APIs, etc., Observable's automatic reexecution is a non-starter -- Fully open source, embeddable, and successful history of non-vc funding: Jupyter is organized and provided in a way companies ( who aren't Amazon ;-)) can rally around, evidenced by contributions by Bloomberg etc. -- Access to underlying unix/windows env and multiple environments (multiple Python versions, ...). As much as I wish Observable's choice of JS could provide a viable data environment, and I've personally invested in making it so and the path to making it first-class is clear, we need way more gov/google/nvidia/etc. support. Ultimately, for not-too-sensitive collaborative data work, we use Google Colab, then offline and sensitive commercial work via Jupyter (Graphistry ships with it preloaded for GPU dataframe & GPU visual graph analytics goodness!), and if we did more in JS tutorial land, Observable would be my first choice.
- alexcnwy 7y agoVery cool, thanks for the detailed reply - your JS tutorial looks great :) Yeah automatic re-execution sounds like a weird design choice. Think I'll stick with Jupyter notebooks for now...
- xkef 7y agocompletely agree, that thing is sick! while you're browsing: this is equally great :) https://archive.nytimes.com/www.nytimes.com/interactive/2013/05/25/sunday-review/corporate-taxes.html https://archive.nytimes.com/www.nytimes.com/interactive/2013...
- alexcnwy 7y agoYeah I remember seeing that one a few years ago - it's also super cool :) Especially crazy that these work as well and quickly on mobile!
- jashkenas 7y agoNo self hosting? What do you mean? The (reactive JavaScript) Observable runtime is open source, and every notebook is available compiled as an ES Module. You can embed notebooks in their entirety on any webpage, or just grab the embed code for an individual cell, if the notebook produces a single visualization. For the details in all their nitty gritty, see: https://observablehq.com/@observablehq/downloading-and-embedding-notebooks https://observablehq.com/@observablehq/downloading-and-embed...
- mkl 7y agoDoes that now include the ability to create and edit, or still just run? Having to rely on a third party to create and edit could be problematic for some purposes. A comment from May last year [1] says "But that won’t include the editable notebook interface or the rest of observablehq.com - unlike Jupyter, we’re really aiming to create a community and cross-pollination of concepts and code rather than individual installations. We might eventually launch something that enables offline editing, but that’s a bit further out in the future." [1] https://talk.observablehq.com/t/noob-can-you-run-your-own-observable-server/757 https://talk.observablehq.com/t/noob-can-you-run-your-own-ob...
- deleted 7y ago[deleted]
- carokann 7y agoAlso polynote. > Polynote is an experimental polyglot notebook environment. Currently, it supports Scala and Python (with or without Spark), SQL, and Vega. https://github.com/polynote/polynote https://github.com/polynote/polynote
- sooheon 7y agoNextjournal's another one in this space, more focused on reproducibility and polyglot support. https://nextjournal.com https://nextjournal.com
- rluiten 7y agoI've been tinkering with Data-Forge Notebook. https://www.data-forge-notebook.com/ https://www.data-forge-notebook.com/ It supports javascript and typescript relatively new but capable.