Hey, not bad! I am accomplishing more than backlogging.
I use annotate
a bunch. Mostly for URLs. So when I view my next report, my description field is a mess. After poking around Taskwarrior - Reports, I found a nuanced difference between description
and description.count
, and figured out how to override the default view (again, I already changed the filter).
Basically, I made a tiny change. The default:
report.next.columns id,start.age,entry.age,depends,priority,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description,urgency
And in my .tackrc
:
report.next.columns=id,start.age,entry.age,depends,priority,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description.count,urgency
That made me wonder how Iāve been doing with my task list:
I think it looks like that because I have recurring tasks (all tagged with +routine
), things like āCaffeine!ā and āEat breakfastā.
Oh, I can just drop a few items from my list here:
ID Age Tag Recur Due Description Urg
72 22h next routine P1D 35min Caffeine! 24.7
73 22h next routine P1D 35min Eat breakfast 24.7
71 1d home -1d Find charger for Clover camera 10.2
59 7d home P7D -9h Vacuum the homestead! 9.82
74 22h routine P1D 35min Inbox zero 9.59
This has helped me tremendously for a single reason: I donāt have to track the massive amount of micro-decisions I decide each day in my head. As a creative knowledge worker, I make decisions all day. For the the choices that actually require creative thought, I have the energy and capacity, as Iāve externalized the rote, mundane and spontaneous (by capturing notes in books and creating actionable tasks to complete).
due:eod wait:due-6h recur:1d
is for my daily wind-up tasks.
No task should take longer than 20 minutes.
Most of my tasks are annotated with links to talkgroup, including private messages. Itās a pretty useful way to get back to the thread where the action is happening.
A neat feature I found on accident: when one creates the recurring mask for a task, the status is carried over. Meaning: you can āstartā a task, and it will begin started when it pops up on the list.
Not great for time-tracking, but a nice way to tell yourself a thing has to be done first thing each morning! Iām thinking of traveling, and having a routine for that trip. Also useful I donāt use taskwarrior for tracking time.
Iāve recently refined using taskwarrior a lot more, and had to finally do something about annotations. I sometimes need to leave a bit of info, or a relevant URL, on a task, but that bumps up the urgency:
The lowest coefficient, that of annotations, has a value of 1.0. This means that a task with more annotations is more urgent than a task with fewer. The value of 1.0 means this is a weak contributor to urgency, but nevertheless means that tasks with lots of annotations are an indicator of some kind of focus of activity. You may not agree with this assessment however, and so you might set this coefficient to 0, which means you want the term to have no effect on urgency.
ā Taskwarrior - Urgency - Taskwarrior
So I added urgency.annotations.coefficient=0.0
to my .taskrc
and that is no longer an issue.
Two things:
- Taskwarrior - Context - Whaaaaaaat? Exactly what Iām looking for, humorously wrapped in the very subject Iāve been educating Clover on recently, andā¦
- Iām using
syncthing
instead oftaskd
Whoa, I found a neat thing, because I misstyped āstartā:
[maiki@yuzu ~]$ task stat
Category Data
Pending 228
Waiting 24
Recurring 22
Completed 3263
Deleted 1317
Total 4854
Annotations 1585
Unique tags 115
Projects 7
Blocked tasks 9
Blocking tasks 5
Data size 18.8 MiB
Undo transactions 20372
Sync backlog transactions 20372
Tasks tagged 95.3%
Oldest task 2018-10-11
Newest task 2020-08-06
Task used for 1.8y
Task added every 3h
Task completed every 4h
Task deleted every 12h
Average time pending 5d
Average desc length 20 characters
You can do it for contexts, as well, which is very neat! And single or arrays of tasks as well.
Oldest task 2018-10-11
I started this topic on 2018-10-14.
That is just beautiful. I love text.
I just added verbose=no
to my .taskrc
, and wow is that different: Taskwarrior - Verbosity
I like it, but after having the default amount of messages itās kinda unnerving. Like Iām typing into a void. I like it!
When I started using contexts I noticed my .taskrc
was changing, as it notes the context changes.
I donāt mind this way of tracking it, but it made me realize I wanted to keep my config elsewhere in a while that didnāt change, so I moved it to an include
.
I use stow
for dotfiles, and was happy to find it does the smart thing for me in replacing/creating directories as needed. So my task directory looks like:
$ pwd && tree -a .
/home/maiki/.dotfiles/task
.
āāā .config
ā āāā task
ā āāā taskrc
āāā .taskrc
And .taskrc
is simply:
include ~/.config/task/taskrc
context=morning
On the first I use tasksh
to review my tasks, cleaning up any I missed or have moved on from. Today I went to use it for the first time on a laptop and it wasnāt installed, whereas in the past I believe it was included in the task
package (Fedora 33 currently). Noting here, in case I need to modify my install scriptā¦
Something funny I started doing and decided to keep up, despite how funny it is.
When I first start the āworkā context, I switch and then filter, like so:
task context work
task -work
The reason is I use contexts as shortcuts for tag groups, basically. Here are a couple of the contexts I define:
context.notwork=+interi or +home or +remind
context.morning=+feeds or +daily or +remind
I prefer tasks having a single tag, I actually write them in that format. Hereās a common task I add:
task add +interi blah blah due:tomorrow wait:due recur:1d
Anyhow, for my āworkā context, I assign tasks a single client tag. The context is defined:
context.work=+work or +client1 or +client2 or +client3
+work
is my catch-all for work-related tasks that are not for a client. So to start my work day I switch to my work context and filter out all the work tasks.
Iāve started using notes to capture detailed ideas, things that might take a lot of tasks to even conceptualize fully, let alone accomplish. And I will make a task as needed to accomplish them. But I donāt have time to make all those tasks and relate them inside my task list now, so Iāve been putting them into notes
.
Then when I create a reminder task I just annotate with a file reference, task 123 annotate see example.md
. Then when I get to that task it will look like:
maiki@deck:~/docs/notes$ task 226
Name Value
ID 226
Description create fedora games list
2021-12-15 14:26:13 see fedora.md
Status Pending
Entered 2021-12-15 14:26:02 (2min)
Last modified 2021-12-15 14:26:13 (2min)
Tags interi
Virtual tags ANNOTATED LATEST PENDING READY TAGGED UNBLOCKED
UUID 6403076e-5ddc-4abf-ae4f-9b8cc19fd659
Urgency 0.8
tags 0.8 * 1 = 0.8
------
0.8
Date Modification
2021-12-15 14:26:13 Annotation of 'see fedora.md' added.
I work on my notes on more devices than I process tasks, which means using simpler components (taskwarrior
, syncthing
, markdown text, etc.) allows me to customize my use without relying on a central system. In this case, as I update my notes more often, and on more devices, than I process tasks, it is simply a matter of which share I sync between devices.
Today I mistyped āstartā as āstatā and found a report I hadnāt seen before:
maiki@deck:~$ task stat
Category Data
Pending 12
Waiting 8
Recurring 6
Completed 1339
Deleted 459
Total 1824
Annotations 693
Unique tags 45
Projects 0
Blocked tasks 4
Blocking tasks 1
Data size 55.2 MiB
Undo transactions 57160
Sync backlog transactions 57160
Tasks tagged 100%
Oldest task 2018-11-05
Newest task 2022-01-20
Task used for 3.2y
Task added every 15h
Task completed every 21h
Task deleted every 2d
Average time pending 9d
Average desc length 26 characters
The oldest task is from 2018-11-05, and I started this topic 2018-10-14, so I probably wiped my database at some point after an initial use period.
Task added every 15h
Task completed every 21h
Doesnāt seem sustainableā¦