Thanks for the good ideas. I like the idea of a book on IPython. I think it has hidden potential that Erlang programmers would say is obvious but Python programmers, especially those, like myself, coming from a C/C++/Java/C# background and day job, miss. As I mentioned in my reply to Raymond, it supports a “tinkering” approach to software which is very different from the business “mainstream”, but which, I think, succeeds better when one is just “trying things out.” Although I used IPython to support this style of programming, I’ve been away from it for awhile, and I was very pleasantly surprised at the changes (and breadth of features) when I downloaded the latest version. I have much more work to do to catch up, but I think it might be worthwhile for my second book. (Aren’t I Pollyannish today?)
Thanks for the advice on “going where the writing is heading.” This advice is similar to the idea of feedback that I plan to explore in this book. I think I’ll be able to incorporate both unit test feedback (once a person “knows” what they are doing) and IPython (when how things actually work is still unclear). And the idea of a two- or three-day time box is great for avoiding rabbit holes!
Finally, I am using version control. Over twelve years ago, I looked at my “home projects” and said to myself, “I use version control at work. Why don’t I use at it home?” I began with CVS, but have since used SVN, Git and Mercurial (Hg). As I’m sure someone before me has said, “Source control means never having to say your sorry” (with apologies to Erich Segal).