task today

I use taskwarrior to manage tasks, well sort of. Every so often I fill it with highish level tasks and leave it completely forgotten for a few weeks. On a similar frequency(though out of phase) I look through my task list and prune out the things I have done. This isn't great, I have had a lot of trouble refining down tasks, figuring out what to do, then doing it.

Last night I thought I would try to start generating a set of tasks to do TOMORROW, then when I got to work the next today I could ask task warrior what it I was to do that day. Taskwarrior makes that sort of easy with virtual tags, the virtual tags can only be generated by due dates.

$ task add due:tomorrow proj:life get milk
Created task 1    

Will generate a task, due tomorrow today, but come tomorrow it will be tagged with today. Makes sense right?. We can then easily search for all tasks matching the TODAY tag:

$ task +TODAY list

ID Age   P Project  Due        Description        Urg 
1  1m    L life     2016-11-30 get milk               1

1 task

The taskwarriors output looks awesome on the command line, but it doesn't come out my thermal printer very well. Taskwarrior will output json with the export flag, json isn't very fun on the command line. Thankfully there is the jq tool. jq claims to be like sed for json, explains it's near inscrutability.

With these bits we can generate a snappy list of things we have to do today:

figlet -f small TODAY:;cat tmp.json| jq -r '''.[] | .project,.description,""'''  

Something like:

 _____ ___  ___   ___   ___ 
|_   _/ _ \|   \ /_\ \ / (_)
  | || (_) | |) / _ \ V / _ 
  |_| \___/|___/_/ \_\_| (_)

schemes.crime.bank
Order drawings of bank

schemes.crime.bank
Enroll on plasma cutting course

schemes.crime.botnet
Establish control channel for bots on freenode

schemes.crime.botnet
Register spam address

life
get milk

life
put bins out

Which is really easy to spit out to my thermal printer:

Reciept Printer

I wonder if there is some way to get xscreensaver to run a script when I log in? I could use that hook to tidy away undone tasks and do the print out on my first log in of the day.


Reading: Cibola Burn, Excession