Live data from Hacker News

JupyterLab: the next generation of the Jupyter Notebook

blog.jupyter.org

21–30 of 119 posts

Re: JupyterLab: the next generation of the Jupyter Notebook

#21
post #10

It looks nice - I kind of wish a lot of these features would have been put into jupyter itself, though. The lack of configurability in jupyter drives me insane. Sure, the configs are editable, but the lack of proper documentation makes it incredibly difficult. Things like turning off autocomplete and limiting jupyter's ability to freeze my browser after an accidental infininte loop would go miles for me. These days I…

Have you tried stopping or killing the kernel? I found jupyter user group on google very responsive when something is not clear or needs to be extended. Google search on jupyter is pretty bad since still points at old ipython docs, although they do have updated docs for jupyter.

Re: JupyterLab: the next generation of the Jupyter Notebook

#22
post #9

How does this differ from Rodeo [1]? [1] http://blog.yhat.com/posts/introducing-rodeo.html

Rodeo is python-only last time I checked. Also it is missing notebooks, widgets, extensions, rich outputs, server architecture, multi-user support. Rodeo is closer to spyder than jupyter.

Thank you for the answer! So JupyterLab would have much more funtionality

Re: JupyterLab: the next generation of the Jupyter Notebook

#23
post #17
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…

I agree, but would phrase it more like this: Jupyter has succeeded because each of the different major modes of interaction have been decoupled. If you just want to use it in a shell, you don't need to involve the browser at all. If you want a narrative format for sharing, presenting, or converting to slides, you can easily launch that environment. This feels like a big step backwards for me too. It's effectively lik…

Ipython terminal is still there, but you can't expect ma$$$ or Excel users to start working in vim or emacs based workflow. Besides browser provides rich output, cross-platform support. The big thing for me are widgets.

Re: JupyterLab: the next generation of the Jupyter Notebook

#24
post #10

It looks nice - I kind of wish a lot of these features would have been put into jupyter itself, though. The lack of configurability in jupyter drives me insane. Sure, the configs are editable, but the lack of proper documentation makes it incredibly difficult. Things like turning off autocomplete and limiting jupyter's ability to freeze my browser after an accidental infininte loop would go miles for me. These days I…

Have you tried stopping or killing the kernel? I found jupyter user group on google very responsive when something is not clear or needs to be extended. Google search on jupyter is pretty bad since still points at old ipython docs, although they do have updated docs for jupyter.

Of course. Problem is, a lot of the kernel halt requests don't seem to make it 90% of the time and restarting the kernel gets annoying when using it on larger datasets. Though, it has forced me into writing easily re-runnable code which is kinda good.

Re: JupyterLab: the next generation of the Jupyter Notebook

#25
post #24

Earlier quoted context omitted.

Have you tried stopping or killing the kernel? I found jupyter user group on google very responsive when something is not clear or needs to be extended. Google search on jupyter is pretty bad since still points at old ipython docs, although they do have updated docs for jupyter.

Of course. Problem is, a lot of the kernel halt requests don't seem to make it 90% of the time and restarting the kernel gets annoying when using it on larger datasets. Though, it has forced me into writing easily re-runnable code which is kinda good.

There is cell magic to cache your long-running cells.

Re: JupyterLab: the next generation of the Jupyter Notebook

#26
post #17

Earlier quoted context omitted.

I agree, but would phrase it more like this: Jupyter has succeeded because each of the different major modes of interaction have been decoupled. If you just want to use it in a shell, you don't need to involve the browser at all. If you want a narrative format for sharing, presenting, or converting to slides, you can easily launch that environment. This feels like a big step backwards for me too. It's effectively lik…

Ipython terminal is still there, but you can't expect ma$$$ or Excel users to start working in vim or emacs based workflow. Besides browser provides rich output, cross-platform support. The big thing for me are widgets.

The returns to widgets in these kinds of things are soo diminishing. It looks cool the first 5 times, but then your boss says, "Great. Productionize it" and it's a world of shit. The widgets are good for throwaway demos and presentations, but if you are designing some functions for a business API of some kind, and your form of reporting is to show people something with a widget, now they want your internal API to include the widget, which is a dangerous game.

I like super boring static charts, such that I can completely decouple the presentation from whatever business API was used behind the scenes for the data that's displayed. Take a super severe Occam's Razor approach to absolutely avoiding any kind of animation or interactive plot for as long as possible, and only if there is some kind of outrageously severe business case that absolutely demands it (which there almost never is) will I resort to designing a way to productionize the widget aspect of the report visualization as well.

For this reason, I now see widgets like from IPython as a huge minefield. It looks pretty, but it's a big trap, and it doesn't add nearly the value everyone thinks it does.

(Just to be clear, I'm only talking about the non-demoware case, which is the kind of case I have always worked with.)

Re: JupyterLab: the next generation of the Jupyter Notebook

#27
post #26

Earlier quoted context omitted.

Ipython terminal is still there, but you can't expect ma$$$ or Excel users to start working in vim or emacs based workflow. Besides browser provides rich output, cross-platform support. The big thing for me are widgets.

The returns to widgets in these kinds of things are soo diminishing. It looks cool the first 5 times, but then your boss says, "Great. Productionize it" and it's a world of shit. The widgets are good for throwaway demos and presentations, but if you are designing some functions for a business API of some kind, and your form of reporting is to show people something with a widget, now they want your internal API to inc…

I use widgets for data exploration, model tuning, and interactive plots. Works great in practice! Have a look at bqplot from Bloomberg used in production.

Re: JupyterLab: the next generation of the Jupyter Notebook

#28
post #24

Earlier quoted context omitted.

Of course. Problem is, a lot of the kernel halt requests don't seem to make it 90% of the time and restarting the kernel gets annoying when using it on larger datasets. Though, it has forced me into writing easily re-runnable code which is kinda good.

There is cell magic to cache your long-running cells.

Didn't know about that one - thanks!

Any thoughts on the infinite loop problem, though? I've seen tons of threads for it in stackoverflow/github and not much ever comes from them. Lots of dev he-said-she-saids, though. Pretty big problem for a lot of us.

Re: JupyterLab: the next generation of the Jupyter Notebook

#29
post #24

Earlier quoted context omitted.

Of course. Problem is, a lot of the kernel halt requests don't seem to make it 90% of the time and restarting the kernel gets annoying when using it on larger datasets. Though, it has forced me into writing easily re-runnable code which is kinda good.

There is cell magic to cache your long-running cells.

Too much thread-nesting here :) I had the same problem even in Mathematica with long-running cells. Fundamentally it is hard problem to solve in notebook, compared to terminal. Here is more explanation: https://mail.scipy.org/pipermail/ipython-user/2013-July/0128...

Re: JupyterLab: the next generation of the Jupyter Notebook

#30
post #26

Earlier quoted context omitted.

The returns to widgets in these kinds of things are soo diminishing. It looks cool the first 5 times, but then your boss says, "Great. Productionize it" and it's a world of shit. The widgets are good for throwaway demos and presentations, but if you are designing some functions for a business API of some kind, and your form of reporting is to show people something with a widget, now they want your internal API to inc…

I use widgets for data exploration, model tuning, and interactive plots. Works great in practice! Have a look at bqplot from Bloomberg used in production.

I avoid widgets for data exploration, which should be written from the start in a well-tested and library-focused sort of way even when it's ad hoc.

Model tuning absolutely should not be done with something like a widget. In fact, I could see how that could easily lead to unreported issues with multiplicity of testing when someone's just sliding around a slider and seeing what looks best, oblivious to the statistical consequences. Model tuning is better handled by having a separate sort of model specification file, in which parameters, data cleaning steps, etc., have to be registered ahead of time before any code is executed whatsoever. That allows full transparency and reproducibility: you can even map model specs to unique IDs and backtrack to which analysts executed the job to fit that model, how many times it was updated, etc. ... whereas someone monkeying around in a notebook with a slider bar, that's absolutely not OK. It would be OK for demoware, but never ever for serious production cases.

Avoiding widgets works great in practice. When I was working in quant finance, this was a reason why we heavily decoupled all data presentation code from all data exploration code.

We also realized that the interactive plots just add nothing 99% of the time and are virtually never worth the headache. Just use static plots until there's a serious use case that truly requires interactivity. Above all, don't use interactivity just because it's the shiny new thing.

bqplot, Bokeh, d3py, etc., these are great engineering projects that just unfortunately don't have pragmatic use cases and are generally adopted out of hype and an obsession for the new more than for pragmatism.

After working with lots of these tools, we just began to realize that e.g. mousing over line charts or maps and being able to click to drill down into data points was simply not helpful. Streaming plots do have some applications when you have to view real-time dashboards, but in these situations it gets abused and used incorrectly, mostly due to bad dashboard ergonomy (cough Bloomberg), and so there actually can be a cost-effectiveness argument in avoiding the streaming dashboard anyway, kind of like cost-effectiveness arguments for reducing alert menus to avoid alert fatigue. The cognitive foibles of the user matter to the design!

In a Tufte sort of sense, it just did not actually aid in perceptual understanding. It's more of a "let's do it cause we can" thing than a "let's do it because it actually offers actionable insight" thing.

Post reply on HN