Live data from Hacker News

JupyterLab: the next generation of the Jupyter Notebook

blog.jupyter.org

81–90 of 119 posts

Re: JupyterLab: the next generation of the Jupyter Notebook

#81
post #32

Beaker Notebook (posted several times, but without much attention[0]) does something similar: http://beakernotebook.com/features It supports these languages: Python, Python3, R, JavaScript, SQL, C++, Scala/Spark, Lua/Torch, Java, Julia, Groovy, Node, Ruby, HTML, and Clojure. It has an experimental native version: https://github.com/twosigma/beaker-notebook/wiki/Electron-Be... Talk at SciPy 2015: https://www.youtube.c…

thanks!

and Beaker Lab, a free hosted environment for running Beaker, was launched back in April: http://lab.BeakerNotebook.com

Re: JupyterLab: the next generation of the Jupyter Notebook

#82
post #32

Beaker Notebook (posted several times, but without much attention[0]) does something similar: http://beakernotebook.com/features It supports these languages: Python, Python3, R, JavaScript, SQL, C++, Scala/Spark, Lua/Torch, Java, Julia, Groovy, Node, Ruby, HTML, and Clojure. It has an experimental native version: https://github.com/twosigma/beaker-notebook/wiki/Electron-Be... Talk at SciPy 2015: https://www.youtube.c…

Maybe because Jupyter has already more than 70 kernels and got adopted before other notebooks appeared (Beaker, Spark, Zeppelin)?

true but the languages are siloed, each notebook runs just one language. with beaker the languages can communicate with each other. there's no easier way to combine python and javascript for d3, for example: https://pub.beakernotebook.com/publications/7fdcaaa6-fb83-11...

there are lot more differences in the UI as well.

Re: JupyterLab: the next generation of the Jupyter Notebook

#83
post #81
post #32

Beaker Notebook (posted several times, but without much attention[0]) does something similar: http://beakernotebook.com/features It supports these languages: Python, Python3, R, JavaScript, SQL, C++, Scala/Spark, Lua/Torch, Java, Julia, Groovy, Node, Ruby, HTML, and Clojure. It has an experimental native version: https://github.com/twosigma/beaker-notebook/wiki/Electron-Be... Talk at SciPy 2015: https://www.youtube.c…

thanks! and Beaker Lab, a free hosted environment for running Beaker, was launched back in April: http://lab.BeakerNotebook.com

Small fix, on https://pub.beakernotebook.com "offing" should be "offering".

Re: JupyterLab: the next generation of the Jupyter Notebook

#84
post #56
post #32

Beaker Notebook (posted several times, but without much attention[0]) does something similar: http://beakernotebook.com/features It supports these languages: Python, Python3, R, JavaScript, SQL, C++, Scala/Spark, Lua/Torch, Java, Julia, Groovy, Node, Ruby, HTML, and Clojure. It has an experimental native version: https://github.com/twosigma/beaker-notebook/wiki/Electron-Be... Talk at SciPy 2015: https://www.youtube.c…

Beaker is a cool idea. We were trying to use it instead of jupyter but it ended up being too buggy. Its been a few months, has it gotten better?

thanks. there are about 100 pull requests merged per month, so yea i think it's definitely getting better.

what bugs did you run across? i am very interested in your feedback.

Re: JupyterLab: the next generation of the Jupyter Notebook

#85
post #32

Beaker Notebook (posted several times, but without much attention[0]) does something similar: http://beakernotebook.com/features It supports these languages: Python, Python3, R, JavaScript, SQL, C++, Scala/Spark, Lua/Torch, Java, Julia, Groovy, Node, Ruby, HTML, and Clojure. It has an experimental native version: https://github.com/twosigma/beaker-notebook/wiki/Electron-Be... Talk at SciPy 2015: https://www.youtube.c…

Does Electron really count as 'native'?

Yes.

Re: JupyterLab: the next generation of the Jupyter Notebook

#87
post #49

Earlier quoted context omitted.

Context: We use Jupyter heavily (mostly against Spark). In my experience there is a set of things that "traditional" Jupyter notebooks does really well. Anytime you have a linear flow of steps the notebook metaphor works really well. However, if you are doing things approaching traditional development, where you have multiple sources of data, or loops that require debugging, or basically anything that isn't linear in…

Seeing as you're heavily using Spark, have you had a look at Apache Zeppelin (site: https://zeppelin.apache.org , demo: https://www.youtube.com/watch?v=J6Ei1RMG5Xo )? Seems like a more powerful notebook approach, plus better architecture for using embedded d3.js viz. Also painless templated SQL -> published dashboard looks great for getting data visible early on.

Yes. Not really a fan.

It looks nice, but the installation experience is (was?) terrible (as in - didn't work at all). Note the long gap between the 0.5.6 release (January) and the 0.6.0 release (July)? There were 3 (4?) Spark releases in that time, and that meant that none of the out-of-the-box released worked for anything except the version of Spark you downloaded with it (and from memory that had problems too)

I got it working and evaluated it in some depth. I'm from a Java background, so I really wanted to like it.

But it turns out that all those features that seem really nice are mostly only nice if you are trying to build applications, not notebooks. Maybe it has improved, and maybe for some usecases it makes sense.

Re: JupyterLab: the next generation of the Jupyter Notebook

#88
post #82

Earlier quoted context omitted.

Maybe because Jupyter has already more than 70 kernels and got adopted before other notebooks appeared (Beaker, Spark, Zeppelin)?

true but the languages are siloed, each notebook runs just one language. with beaker the languages can communicate with each other. there's no easier way to combine python and javascript for d3, for example: https://pub.beakernotebook.com/publications/7fdcaaa6-fb83-11... there are lot more differences in the UI as well.

You can actually use R and Python in the same notebook. See https://blog.dominodatalab.com/lesser-known-ways-of-using-no...

The %Rpush and %Rpull magics are what you need.

Also, if you are using Spark, then Apache Toree[1] lets you use Python, R, Scala and SQL in the same notebook against Spark[2].

[1] https://toree.incubator.apache.org/documentation/user/how-it...

[2] https://github.com/ibm-et/spark-kernel/wiki/Language-Support...

Re: JupyterLab: the next generation of the Jupyter Notebook

#89
post #80
post #71

Earlier quoted context omitted.

I think this persistent state is one of the main advantages of the notebook environment, or the Matlab workspace, which I guess it was inspired by. It allows you to quickly try alternative values for certain variables without having to re-calculate everything. Saving snapshots would not be feasible if the project contains large amounts of data. If you want to reset everything, just "run all" from the beginning, or us…

No, not Matlab but Mathematica: "We were inspired originally by the excellent implementation in Mathematica" [1]. [1] http://ipython.org/ipython-doc/dev/whatsnew/version0.12.html...

And that came from Emacs and old Lisp environments---and perhaps something yet earlier?

As late as 2000, this was the single biggest advantage and single biggest impediment to new programmers in MIT's 6.001 lab: a bunch of nonvisible state, mutated by every C-x C-e. The student has tweaked two dozen points trying to fix a small program, and re-evaluated definitions after many of them, but maybe not all. The most straightforward help from a teacher is to get the buffer into a form such that M-x eval-region paves over all that, sets a known environment of top level definitions, and---more than half the time---the student's code now works.

I have similar concerns about much of Victor's work, for the same reason. Managing a mental model of complex state is a n important skill for programming, but it's best learned incrementally over long experience with more complex programs. These very interactive environments front load the need for that skill without giving any obvious structure for helping the student learn.

Contrast Excel and HyperCard, which have no invisible state: you can click and see everything.

Re: JupyterLab: the next generation of the Jupyter Notebook

#90

Earlier quoted context omitted.

I imagine with a little introspection, a notebook can figure out dependencies between cells and cascade as needed.

I guess the challenge is to do it efficiently in the presence of pointers, implicit or explicit.

There's great work on this called differential dataflow. You have to trace at a finer grain than cells, but can then avoid lots of recalculation.
Post reply on HN