6 comments

[ 2.7 ms ] story [ 22.6 ms ] thread
I have never shared a notebook with anyone without first restarting the kernel and pressing "run all cells". If the output is what I want to share, I share it. Otherwise I fix things, and repeat.

I am perplexed that we need tools to do something so sensible.

Absolutely but there are cases where doing that is not practical. For instance machine learning training tasks that can take a long time to converge (months even). There are good arguments that long running tasks should not be in a notebook but they often find themselves in notebooks regardless especially in the ML domain.
That really sounds like a mismatch: Jupyter is, at the end of the day, a REPL; it seems like the exact opposite of the appropriate tool for anything that takes a long time to run.
Sorry to ask, but I was thinking about making some procedures for infrastructure operators using jupyter notebooks.

Something like start one VM, do some Linux or networking stuff, etc.

Maybe it's not what they are intended for, but they sure look nicer than an ansible playbook.

So do you think I can share a notebook with operators that can be run but not modified?