Live data from Hacker News

JupyterLab: the next generation of the Jupyter Notebook

blog.jupyter.org

61–70 of 119 posts

Re: JupyterLab: the next generation of the Jupyter Notebook

#61
post #54
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…

My experience is in line with yours, debugging loops and functions is a big pain point. However, I think there's a much better solution to be had here, which is to add more powerful debugging capabilities to Notebook. I think Notebook has potential for new debugging paradigms, imagine for example being able to break anywhere in a cell and get a new 'forked cell' which operates in the context of the code that you just…

I'm not sure (And by that I don't mean I disagree: I'm genuinely unsure).

To me, the traditional IDEs do work well for debugging and software development.

Notebooks are great for explanatory examples and interactive experiments. I think these are different to the type of software development I do when I use an IDE.

For example, I find notebooks great for rapid iteration of parameters when I'm doing "data science", or indeed most of the feature extraction->modelling->prediction data science pipeline.

What I don't find them good for is developing new algorithms. It isn't clear to me if this is an inherit limitation of the notebook format, or just something where it needs new developments.

(To be clear, I've also used both Zeppelin and Beaker notebooks and don't see any particular advantages. I've also used R Studio, but I don't really know enough R to comment sensibly on that)

Re: JupyterLab: the next generation of the Jupyter Notebook

#62

I see lots of "this is turning into RStudio" comments- but that's kind of the point of jupyterlab. Brian Granger was on a podcast recently[1] and spoke about how he feels RStudio has been great for the R community and wants to Proliferate that for other languages. I think it's easy for us to forget we are the developer minority. Many, many developers (especially hobbyists and researchers) live and love the safety and…

I think this misinterprets what people here are saying.

I suspect that many people here like IDEs, but think that notebooks are a a different thing that is valuable in themselves. I feel this way myself, but provided the notebook-style interface remains I don't see that exploring other options is a bad thing.

Re: JupyterLab: the next generation of the Jupyter Notebook

#63
post #51
post #6

I love Jupyter notebooks, I just wish I could use them in a dedicated program instead of having to run a server and using a browser based client. It feels hacky and I just prefer native apps for coding and the browser for reading documentation and similar. Even an Electron based program that could be associated with notebook files and hide the server-client model would make it nicer to use. At the moment I like to op…

note that VS (PTVS) has a Jupyter mode. in tools/options for python, select ipython mode for repl: https://github.com/Microsoft/PTVS/wiki/Using-IPython-with-PT... note quite the cell by cell, markdown experience, but you get inline resizable graphs, !shell commands, etc. more integration is on its way. Same with VScode.

PTVS has had IPython support for a long time, but it's not exactly like the notebooks, the IPython REPL in PTVS is more akin to Jupyter QTConsole. Better than nothing for sure, but not enough if you need or want to work with notebooks.

Like I mentioned, I've experimented with opening a notebook in a browser tab in VS, and I'd say it's passable while waiting on a real solution [0].

Somebody mentioned that PyCharm has notebook suppport, and that looks closer to what I want than just a REPL [1].

I've been using VS for years, from before I started using Python, and I still prefer to use it if I can. If I'm not mistaken you work on PVTS and left a message here around eight months ago about PVTS coming to VS Code. I really like and appreciate PVTS, is there any way you can update us on a time frame for when these updates to VS/VS Code will come, and what you have in the pipeline?

By the way, a lot of times I prefer the folder based projects in VS Code to the solutions in VS. I wouldn't mind if you could bring that to regular VS too.

[0] http://i.imgur.com/VGiS2Ac.png

[1] https://blog.jetbrains.com/pycharm/2014/12/feature-spotlight...

Re: JupyterLab: the next generation of the Jupyter Notebook

#64
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'?

Do applications that use virtual memory really count as native?

Re: JupyterLab: the next generation of the Jupyter Notebook

#66
I love how notebooks allow the mixing of code and output and support incremental development by letting you choose which cells to execute. But I find the semantics horrible. Each time you execute a cell you do so in an environment that depends on your entire history and cannot be figured out by simply reading the notebook. I wish for a environment which would have the same semantics as a script but which would snapshot the environment at the entry to each cell so that when a cell is modified execution does not have to resume at the beginning. Even better if downstream data dependencies are tracked so that after modifying and reexecuting a cell we know which downstream results have become stale. Does such an environment exist?

Re: JupyterLab: the next generation of the Jupyter Notebook

#67
post #49
post #5

> JupyterLab adapts easily to multiple workflow needs, letting you move from a Notebook/narrative focus to a script/console one. I'm not sure I like where that design is going. It's starting to look an awful lot like RStudio and Matlab and I moved away from those tools for a reason. My favourite thing about Jupyter is that it is focused on notebooks and narrative. It brought about a revolution of sorts; now we have p…

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.

Re: JupyterLab: the next generation of the Jupyter Notebook

#68
post #54
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…

My experience is in line with yours, debugging loops and functions is a big pain point. However, I think there's a much better solution to be had here, which is to add more powerful debugging capabilities to Notebook. I think Notebook has potential for new debugging paradigms, imagine for example being able to break anywhere in a cell and get a new 'forked cell' which operates in the context of the code that you just…

This sounds like a promising idea.

As someone who still reaches for a Smalltalk environment when I need to prototype something, ipython notebook is about the closest thing I've ever found to the style of interaction you get with a Smalltalk REPL (aka "workspace"). Smalltalk deliberately blurs the lines between a text editor and REPL, and the debugger takes this a step further - a combined editor and REPL, within a suspended execution context. It could be argued, for example, that coding within the suspended context of a failed unit test, while the code underneath your cursor has this REPL-like liveness, is the non-cargo-cult way of doing TDD.

I'm not trying to claim Smalltalk as the Greatest Thing Ever, but its existence (and its "otherness" - from the point of view of today's conventional style of development) are evidence that there are useful tools to be had, somewhere down a road less travelled.

Re: JupyterLab: the next generation of the Jupyter Notebook

#69

I love how notebooks allow the mixing of code and output and support incremental development by letting you choose which cells to execute. But I find the semantics horrible. Each time you execute a cell you do so in an environment that depends on your entire history and cannot be figured out by simply reading the notebook. I wish for a environment which would have the same semantics as a script but which would snapsh…

That's why I've just resorted to using 'Restart & Run All' as my default way to run a notebook I've finished coding up.
Post reply on HN