I started using both todo and done lists using this bash script http://blog.jerodsanto.net/2010/12/minimally-awesome-todos/
If you use Emacs, you might try org-mode - it includes an archive feature that allows you quickly toss subtrees into a second associated text file, which I find handy for keeping a 'done' list.