Hacker News new | ask | show | jobs
by bArray 483 days ago
My format used to be as follows:

    * [ ] YYYY-MM-DD
      * [ ] 1800: Dinner with parents
      * [x] Walk the dog
    * [ ] YYYY-MM-DD
      * [ ] 0900: Interview new recruit
        * [ ] Prepare interview questions
        * [ ] Upload result to HR system
This worked really well for me and was easily searchable. One benefit would be that it is easily trackable in Git.

These days I have a little A6 lined notebook and manually list tasks there. Each page is a new day and the tasks are listed similarly. The only modification is that sometimes I put some letters to theme a task, i.e.:

    * [ ] YYYY-MM-DD
      * [x] Home: Walk the dog
7 comments

This is a much nicer format than the one in the linked article.

I think my approach would be to generate a file in Markdown, then import that into a good Markdown editor. You could generate it each week or month from a template, making it easier to add repeating tasks like exercise and dog walking.

I think the format I suggested would parse in markdown, but I created it pre-markdown.

For me the best parts are:

1. You could write a parser very quickly.

2. It's very easy to edit and add to as a human.

3. It can easily be tracked in git or via a diff-based tool.

I did already think about the repetitive tasks, a long time ago I used to have a tool that would look at the past tasks and recommend future tasks (with appropriate distributions). One example was booking a dentist appointment every 6 months, even if I forgot to schedule something it would remind me to book one in, dismiss it or push it back.

I use a small paper planner that I keep in my pocket at (nearly) all times. People are taken aback and ask why I don't use something more modern, but why should I? This works better, for me, than anything else I ever tried.
It's unfair to computers how well paper planners worked. Among with todo.txt, paper calendars were an inspiration and a benchmark for writing calendar.txt.
Nested list of checkboxes in markdown is exactly how I organize my work days - I write it I every morning, and then review it every afternoon before I power down. It’s basically job-journaling, it helps fix everything in my head day-to-day.
> These days I have a little A6 lined notebook and manually list tasks there. Each page is a new day and the tasks are listed similarly.

Periodically my task system fails (the Taskwarrior 3 disaster being the most recent) and this is pretty much what I end up using. But then I forget a bill or something important because there are no bells or buzzers keeping me as a useful working unit. Then I erect the previous system, or some variant, and go with that until some inevitable breakage sends me back to paper. So it goes...

This format is terrible for working with line-based tools; you need to go an unknown number of lines back to get the date or the time.

Although, TBH, the OP's suggestion of one-line-per-day puts too many items on the same ling. I would have gone with one line per event. Yes, there's more repetition, but you need no out-of-line context, you have to do a lot less parsing, and you can look at a fixed number of _columns_ and get the beginning of the description of each event, which is nicer for manual searching.

I think it's somewhat passable with line-based tools, i.e. you could easily use sed to match a range [1].

I think that it's far more important that it is human readable, if it becomes too tricky to edit manually, then just go with a database.

[1] https://unix.stackexchange.com/a/236754

If you like this you might like org-mode
Why did you make the day itself into a checkbox? Did you use this for weekly reviews or something?
To mark the parsing of the day and to note that any incomplete tasks that I intend to keep have been re-planned to elsewhere. Any marked days are then there for historic purposes only.