My adventures in using Taskwarrior
----------------------------------


Last edited: $Date: 2018/05/19 09:44:46 $

## Taskwarrior

Taskwarrior is an open source  text-mode todo list tool on steroids.

It is loaded  with features, so if you are  good at procrastination,
you  will  become even  be  better  at  it,  fiddling with  all  the
Taskwarrior options :)

To use  Taskwarrior as a  production tool, you need  two components,
the desktop application and the server application.

The desktop application can be used  as a stand alone tool, but than
you have to take care of the backups manually, which is a recipe for
disaster, and  this also means your  task list is bound  to a single
system.

The server application is nothing more than a sync-tool. The desktop
application  syncs with  the server  application. This  way you  can
share the same task list on  multiple systems and you always have an
up to date copy of your task list  on each of the systems as well as
on the server.

Your  data  is  protected  during transport  by  TLS,  using  strong
authentication  with 4kb certificates  on both  the  server and  the
client.

Takswarrior  features the  usage of  hooks, so  e.g., for  automagic
committing  changes in  the tasks  file to  RCS, Git,  or any  other
version control system.


## Decentralisation

There are many online task management solutions, and a lot of people
are  using the  solutions  that  comes with  their  cloud email  and
calender suite.  That may seem like  a nice solution, not  having to
worry about  maintaining a system,  doing backups, etc., but  on the
long run this  will result in vendor  lock in and too  much power in
just a few hands.

History have  shown that when  a provider of an  infrastructure gets
too much power, e.g., because  of massive user adoption, this almost
always  leads to  abuse  of this  power. In  the  internet era  this
becomes a significant risk, because  of the global reach of internet
solutions  and the  lack of  global  legal regulations  to hold  the
provider responsible for his actions.

Because of this, centralised solutions  are to be avoided and small
scale systems, under control of the user, are preferred.


## Taskwarrior on OpenBSD

Installing Taskwarrior on OpenBSD is  very simple, just use pkg_add,
both  for  the  desktop  application  as  well  as  for  the  server
application.

After installing taskd  --the server application-- read  the file in
/usr/local/share/doc/pkg-readmes/ which  gives a  nice step  by step
manual on how to create the certificates for the server and for each
user.

Just following the steps in this manual takes only a few minutes and
results in a working synchronisation.


## My personal usage

I have  recently started using  Taskwarrior and use  Taskwarrior for
both keeping track of my todo items  as well as for keeping track of
items I  have to  discuss. In  my day  to day  work, I  have several
one-on-one meetings with co-workers, spread throughout the month.

Whenever an  item pops  up, that I  want to discuss  with one  of my
co-workers, I  add it  as a task  in Taskwarrior. For  this I  use a
special project "meeting". Within  this project, for every co-worker
there is an individual subproject.

So let's  assume I have  some items to  discuss with Alice, and some
items to discuss with Bob. In Taskwarrior there are two projects for
this:

- project:meeting.alice
- project:meeting.bob

Items added to these projects are  seen by Taskwarrior as tasks, and
because  they are  connected to  a project,  Taskwarrior automaticly
assigns a higher priority to them.  So when I request my normal todo
list, I don't  want to see these  items in the top part  of my list,
and to  prevent them from cluttering  the todo list, I  have made an
alias to filter them out:

   task config alias.zzz list pro.not:meeting

Now, when  I enter "task zzz",  the task-list is shown,  without the
meeting entries.

When I have a meeting with Alice, I do

   task pro:meeting.alice

to get the list of items to discuss with Alice.


$Id: taskwarrior.txt,v 1.4 2018/05/19 09:44:46 matto Exp $