Trak: track chunks of time from the command line
Trak, v0.0.4 (May 1, 2012) Written by Adam Sharp
Notice
Trak was recently a Perl script. It has been ported to Ruby, but the code really looks like it's taken a beating and is definitely NOT what I want it to ultimately look like. Much more ruby-fying to happen yet, as well as support for the excellent Chronic gem for natural language date parsing in the pipeline.
It's now structured as a RubyGem and should hopefully be available on RubyGems soon.
Stay tuned.
Description
Trak is a utility that allows you to quickly make a record of how much time you've spent on various tasks throughout the day.
Work logs are stored in /Users/yourusername/Documents/Tracker/
with
the format YEAR-MONTH-DAY-time-log.txt
.
An example work log that trak will create:
2011-09-01 9:00
30: nap
45: procrastinate
30: uni
120: trak
Installation
Trak is available from RubyGems:
$ gem install trak
Usage
trak [-d|--date DATE] ##<denom> <description> # => data entry
trak [-d|--date DATE] [-r|-l] # => reporting
trak [-d|--date DATE] -e # => manually edit time log
Where:
-
##
is a decimal signifying how much time has been spent. -
<denom>
is either hours (h/hr/hour/hours
) or minutes (m/min/minute/minutes
).<denom>
is optional and if ommitted, Tracker will interpret the time entered as minutes. -
<description>
is a string containing a brief description of the activity. -
DATE
is a string of the formatYYYY-MM-DD
which represents any date. This effects any of Tracker's modes, i.e., insertion, editing or reporting.
Descriptions
You can use either
$ trak 30 "Foo bar"
or
$ trak 30 Foo bar
as everything after the first argument is considered the name of the task.
Entering time
These are all valid commands:
$ trak 1h Write trak documentation # => 1 hour
$ trak 30min Rewrite trak documentation # => 30 minutes
$ trak 4hours Refactor trak # => 4 hours
$ trak 15 Lunch # => 15 minutes