This quote from David Deutsch's Beginning of Infinity reminds me of my mixed feelings on Jupyter Notebooks. Progress in research settings require meandering through paths hard to pre-define with intermediate steps that "break" existing systems/code. Notebooks make this easy. 1/
Conversation
Yet, they're awful in many other ways. I wish there was something better that helps facilitate good engineering/collaborative practices, yet made it easy for researchers to "break" things temporarily. 2/
1
1
Editing directly on master with hacks/if-checks adds debt/complexity. Git branches too limiting. At Google there was a notion of an "experimental" subdirectory in codebase, which is limiting in its own ways. Anyone have ideas on other tools/processes? 3/
1
3
In the end, I suspect the culture of encouraging exploration in a research team is most vital. As a team grows and finds success, so too does its codebase that needs to be kept "in tact". Important to not let that become a liability for future research. end/
1
1
5
Replying to
Totally agreed here. Reminds me of Jef Raskin’s observations on the value of informal interfaces; eg with paper records, people can scribble in the margins to resolve unexpected, nonsystematized issues.

