I use a Git-tracked text file to-do list for both. I also shove random notes into it. It's a pretty effective system, and it never becomes obsoleted or loses my data.
- Do task (eventually, maybe)
* Replace dashes with stars to indicate 'done' and move to the 'done' section under the day I did them.
- Commit once in a while