Date your notebooks

May 11, 2023

Checked in code and commits are highly static artifacts intended for reliability. Engineers are told to make small commits so that they are easy to reason about (e.g., tests should pass before and after the commit).

Notebooks, on the other hand, are intended to be inherently flexible. They are a space for thinking and exploring. I probably share 5% of the notebooks I make (and those might need a different scheme than described here). As a result, I often delete cells to make space for new ideas.

I don't think you need a hierarchical notebook organization scheme, or a formal check-in process. Just making a new notebook every day or so, and backing up often, is enough for most people to regain their bearings.

But making a new one every day, with the date at the beginning (for easy sorting) is a simple tool to avoid getting overwhelmed when you have hundreds (or thousands) of files in your "notebooks" folder. It's a simple idea, but often overlooked.

I prefer the YYYYMMDD - {project name} - {comments}.ipynb format.