I'm probably not the only person on here who keeps any notes and planning documents for projects under version control. I also regularly import research notes into comments before I write the code in question, but I'm weird and I've been told I do too much design up front.
I'm firmly of the opinion that only 10% of writing software is typing code. I have all my text documents in git, experimental ideas, budget plans, everything. The only complaint I have is that I haven't figure a solid plan for doing encryption inside version control effectively yet, but I haven't tried too hard either.
There are actually several ways to do this I use encfs which uses FUSE to mount an encrypted directory as another directory, the advantages are that it works in userland and it's braindead simple. I wouldn't want to run a database off of it, but for a bunch of text files it's perfectly adequate. A lot of people are fans of truecrypt and if you are seriously concerned about devoted efforts to get at high-value data you probably want to just encrypt the disk partition you are using.
Thanks for the article, there is lots of great info on there. I need to figure something out where I can make secure backups to some remote server. I guess there is no real perfect solution, but TrueCrypt looks good. I ran across this one talking about some deeper security constraints with this that I think offers a nice insight. http://www.schneier.com/blog/archives/2008/07/truecrypts_den...
I strongly disagree. It should be immediately after you write your first block of code :)
I have a hangup about every atomic commit needing to be a functioning version of the software. Following this logic, an initial commit that is just notes is not viable. Even if it's just some function/class prototypes that only 'raise NotImplementedError', the first commit has to do something you can execute.
I've noticed a trend of boilerplate projects on GitHub for people to use as a foundational branch, and I think that's terrific.
But you're not actually using version control (and newproject isn't a valid git repository) until you make a commit.
While that's a bit of git wonkery, it exposes an underlying truth about VC in general: You need to have something to commit to be using it. Whether you init the repository before or after the first file hits the disk is irrelevant.