Discover more from hrbrmstr's Daily Drop
Drop #187 (2023-01-26): I Am The Warrior
Timewarrior; Taskwarrior; ArchiveTeam Warrior
✅ Got an 80's rock song reference in the headline before the end of January.
While no villages were sacked nor armour pierced during the making of this edition, doing anything in these odd times can definitely feel like a battle. Today, we cover three digital munitions that will help you conquer different tasks.
Timewarrior [GH] is a command line time tracking application, which allows you to record time spent on activities and lets you associate blocks of time with any number of tags. It has built-in reports and an reporting plugin/extension feature that lets you use your fav programming language to further customize output. It's also dirt simple to use:
$ timew start 'newsletter' 'daily-drop' # we'll show 'stop' in the closer Note: '"daily-drop"' is a new tag. Note: 'newsletter' is a new tag. Tracking "daily-drop" newsletter Started 2023-01-25T22:51:11 Current 11 Total 0:00:00
On first run, it'll create the directory and databases (which are plaintext plus some JSON) where all your input is stored. You can use your fav syncing idiom to keep these files current across systems, but folks have come up with Timewarrior-specific tools as well, such as timewarrior-synchronize. The community has also helped build up a cadre of plugins that extend it in all sort of pretty neat ways.
It has scads of options:
Usage: timew [--version] timew annotate @<id> [@<id> ...] <annotation> timew cancel timew config [<name> [<value> | '']] timew continue [@<id>] [<date>|<interval>] timew day [<interval>] [<tag> ...] timew delete @<id> [@<id> ...] timew diagnostics timew export [<interval>] [<tag> ...] timew extensions timew gaps [<interval>] [<tag> ...] timew get <DOM> [<DOM> ...] timew help [<command> | dates | dom | durations | hints | ranges] timew join @<id> @<id> timew lengthen @<id> [@<id> ...] <duration> timew modify (start|end) @<id> <date> timew month [<interval>] [<tag> ...] timew move @<id> <date> timew [report] <report> [<interval>] [<tag> ...] timew shorten @<id> [@<id> ...] <duration> timew show timew split @<id> [@<id> ...] timew start [<date>] [<tag> ...] timew stop [<tag> ...] timew summary [<interval>] [<tag> ...] timew tag @<id> [@<id> ...] <tag> [<tag> ...] timew tags [<interval>] [<tag> ...] timew track <interval> [<tag> ...] timew undo timew untag @<id> [@<id> ...] <tag> [<tag> ...] timew week [<interval>] [<tag> ...] Additional help: timew help <command> timew help dates timew help dom timew help durations timew help hints timew help ranges Interval: [from] <date> [from] <date> to/- <date> [from] <date> for <duration> <duration> before/after <date> <duration> ago [for] <duration> Tag: Word 'Single Quoted Words' "Double Quoted Words" Escaped\ Spaces Configuration overrides: rc.<name>=<value>
and works on just about every modern operating system.
Taskwarrior is a sibling to Timewarrior and has equally extensive documentation and CLI features (so we'll spare you another man page in this section). Instead of dealing with time, Taskwarrior manages your TODO list. It is “flexible, fast, efficient, unobtrusive, does its job then gets out of your way.” It's also flexible enough to support any TODO methodology (e.g. GTD; Pomodoro), and is just as easy to use as Timewarrior:
$ task add Write 2023-01-26 Daily Drop $ task list ID Age Description Urg 1 3s Write 2023-01-26 Daily Drop 0
More folks seem to use Taskwarrior since it has tons more extensions than its sibling. And, Taskwarrior also has its own server, so you can track tasks from any computer (provided you can reach the server).
There are also a few progressive web apps, like WingTask and In.The.AM, which bring Taskwarrior to mobile devices. You'll want to poke at them to judge which ones best fit your access and privacy risk tolerance.
Both of these sibling warriors have a “hooks” feature which let you trigger other processes. Some hooks/extensions are pre-built to let Timewarror perform granular task duration tracking to Taskwarrior, but — remember — you can write your own if they are too generic.
The ArchiveTeam Warrior is a virtual archiving appliance that you can run to help with the ArchiveTeam web archiving efforts (i.e., it will download sites and upload them to their archive). There are Docker and full-on virtual machine versions of the system, so it'll run just about anywhere.
This is a great way to help preserve internet history, learn a bit more about web archiving, and have some fun along the way.
If you have any fav time/task extensions or archive teams, drop a note in the comments!
$ task 1 done Completed task 1 'Write 2023-01-26 Daily Drop'. Completed 1 task. $ timew stop Recorded "daily-drop" newsletter Started 2023-01-25T22:51:11 Ended 23:23:08 Total 0:31:57