The New World of Notebook Publishing
writings.stephenwolfram.com
writings.stephenwolfram.com
edit: ok, i was being too flippant in the above.
I do know the history although as I understand it, the notebook type interface was developed in a few places in the 80s, mathematica being one of them, maple soft another - and all of these influenced by Macsyma and related earlier systems but taking advantage of the improved graphic capabilites as they became available. Not that I was watching this unfold in the early 80s so I might have that wrong.
My flippancy was related to the typical Wolfram self-aggrandizing waffle in the PR approach, and the fact that the most useful part of this (the announced) is arguably deployment to standard web tooling, which a number of at least similar space systems have been doing for the last several years.
Is there a seamless, hosted web service for creating & publishing notebooks using open-source tools?
Given how incredibly obvious & inherent to notebooks this use case is, I assume that there must be?
Aside: Personally I have found that the spreadsheet-like Observable model of tracking a dependency graph between cells and re-rendering dependents whenever a cell changes is much more pleasant than the Mathematica/Jupyter/etc. model where evaluation of cells initially happens from top to bottom at load time and then is afterward haphazard depending on the deliberate action of the viewer (which means it can easily get into inconsistent states).
The resulting notebooks are (at their best) also IMO substantially better as written documents for readers, based on better text layout and richer tools for creating diagrams.
Being JavaScript that runs in the viewer’s browser makes it much easier to build compute-heavy notebooks that rely on reader interaction, and easier for readers to participate as equals with authors.
nbviewer.org to view only, mybinder.org to get a temporary docker image in the cloud to run/modify/experiment.
You wan to interact with the gravitational wave LIGO experiement? Here you go: https://beta.mybinder.org/v2/gh/minrk/ligo-binder/master?fil...
You wan t example where the code is hidden voilà has some nice examples.
https://voila-gallery.org/services/gallery/
You need ideas on how to get stated for your language or with different packages here are some minimal demos:
https://mybinder.readthedocs.io/en/latest/sample_repos.html
Nice thing is it work with Python, R, C++, haskell, ... any kernel that Jupyter Run. And you can install any packages in apt/miniconda/CRAN. You want more control ? you can write your own Dockerfile.
You want a single button to publish: Just install a a jupyter extension that for example push to a gist (https://github.com/hadim/jupyterlab_gist)
The big advantage being that you don't _need_ to. If your notebook is already on GitHub well I can make it live if I wish.
CoCalc also supports Julia, LaTeX, R.
I'm using Google Colab[2]. It's the direct equivalent, hosted by Google. Not quite open source, but it's free (and does it matter if a cloud service is open source? If you want control that open source gives you, you run things locally anyway). Disclaimer: I work there, and use it at work daily.
For a Colab vs CoCalc comparison, see[3]. In my brief experience, CoCalc UI is currently snappier than Colab; but I haven't written any large notebooks in it yet.
There are other Python cloud services[4] which I don't have any experience with.
[2]https://colab.research.google.com/
[3]https://www.forbes.com/sites/gregoryferenstein/2019/08/18/a-...
[4]https://www.dataschool.io/cloud-services-for-jupyter-noteboo...
You're limited to 12 hour stints and you have to keep the window open and network active, but it's enough that I've been able to use it to run neural machine language training (to be fair, I pass model files back and forth, training on EC2 spot instances, too).
supports Python, Julia, Clojure, R & import from Jupyter