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…
JupyterLab: the next generation of the Jupyter Notebook
71–80 of 119 posts
Re: JupyterLab: the next generation of the Jupyter Notebook
#72Earlier quoted context omitted.
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 su…
Re: JupyterLab: the next generation of the Jupyter Notebook
#73I 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…
note: it does undo, but not recalculation on demand ala excel.
Re: JupyterLab: the next generation of the Jupyter Notebook
#74I 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…
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…
Re: JupyterLab: the next generation of the Jupyter Notebook
#75Earlier 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…
But you cannot recalculate if your calculation has trashed your inputs.And if it hasn't then the snapshot does not impose a cost. If you are willing to forego the opportunity to replay to save memory, just put the producer and consumer in the same cell.
Currently, you can easily control which things are saved and which aren't. So it is the best of both worlds.
Re: JupyterLab: the next generation of the Jupyter Notebook
#76I like the idea of executable cells for developing. It's been a couple of years since I played around with Jupyter notebooks, but then I got frustrated quite soon: Stepping outside my preferred editor (vim) was annoying, likewise I had no idea if (how?) I could export the code out of notebook to a regular .py text file (without clumsily copypasting each cell). And the .ipynb files itself seem quite terrible to manage…
There's a one-line terminal command to convert to. It's like `jupyter nbconvert -o python` or something. Works okay out of the box, and has some meager customizability.
It actually has a lot of customisability if you're willing to get into Jinja templates.
Re: JupyterLab: the next generation of the Jupyter Notebook
#77I 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…
Re: JupyterLab: the next generation of the Jupyter Notebook
#78I 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…
I imagine with a little introspection, a notebook can figure out dependencies between cells and cascade as needed.
Re: JupyterLab: the next generation of the Jupyter Notebook
#79What is the advantage of the graphical console vs. the notebook? I don't get (yet) why I would need the console when I have the notebook.
Re: JupyterLab: the next generation of the Jupyter Notebook
#80I 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…
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…
[1] http://ipython.org/ipython-doc/dev/whatsnew/version0.12.html...