2 ms·
I love notebooks! They are an excellent tool, if used judiciously. They are really practical for situations where you want to play around (er even outright wor
by InternetOfStuff 8y ago
I love notebooks! They are an excellent tool, if used judiciously.
They are really practical for situations where you want to play around (er even outright work with) principally not with code, but that code's output.
You see, I give lots of trainings.
Notebooks offer me an excellent way to mix commands, their output, and explanations into a single document with little effort.
I'm able to show my students exactly what happens (including the literal messages), going step-by-step.
They are wonderful to create exercises.
However, for my use case, the notebook is the output (perhaps rendered as PDF).
Rules I've adopted for my own training notebooks:
* the first lines are to print the versions of all things I'm using, e.g. "git --version" for git trainings
* I use "restart&run all" frequently
* obviously, notebooks are version-controlled, including their output
* before checking in, prove that "restart&run all" provides exactly the desired result
Having said all that, I'd never use a notebook to write actual programs. It feels weirdly impractical, to the point that I was wondering of the presentation was actually presenting reality, or a strawman (I'm not doubting the veracity of the description, I just had a hard time accepting it as real).
- ragebol 8y agoWhat do you use to version-control your notebook?
- InternetOfStuff 8y agoJust git. The tool is just a detail. My point was rather that they are very much "code", and deserve to be treated as carefully as any other. My notebooks also get refactored on occasion.