tagging inactive intervals
Oren Gampel
oren at orengampel.com
Tue Dec 31 20:23:43 CET 2013
> I’m not sure if arbtt will ever be suitable for billing purposes, but
> let’s see how far we get and concentrate on this example:
Well, lawyers can always take the reported duration and multiply by a
random prime number. As usual...
> Am Montag, den 30.12.2013, 22:51 +0000 schrieb Oren Gampel:
>> For example, consider I would like to tag every time I'm working on a
>> project for client A. I use Eclipse so I write the rule:
>> current window $program == "Eclipse" &&
>> current window $title =~ m!clientA!
>> ==> tag Work_for_A,
>>
>> During my work I often browse the web, make a quick phone call, and
>> sometime even lean back and think for 2 minutes.
>> Still, I would like to have all this time "billed" to client A.
>
> Now, for leaning back or making a phone call, that rule should work, as
> it is still the active window.
You're right...
> Experiment with the --also-inactive
> option to arbtt-stats, or do not set the "inactive" tag in the first
> place, if this is hindering you.
>
> About browsing, what if you use the following rule instead?
> any window ($program == "Eclipse" && $title =~ m!clientA!)
> ==> tag Work_for_A,
> Assuming you don’t leave your first’s work open when you start working
> on another client’s work, this will reliably catch all the times,
> including those that you spend surfing the web.
>
> Also note that category tags are assigned at most once per category. So
> if you have
> any window ($program == "Eclipse" && $title =~ m!clientA!)
> ==> tag Work:For_A,
> any window ($program == "Eclipse" && $title =~ m!clientB!)
> ==> tag Work:For_B,
> then at not time, both clients are billed. (If both files are open, it
> defaults to For_A, I believe).
That's my problem. I usually use separate desktops for separate tasks so
the other task's windows stay open.
The coming solution to the famous Issue #1 (https://bitbucket.org/nomeata/
arbtt/issue/1) would actually solve all my troubles. :)
>
>> In other words, I would like arbtt-stats output to ignore minor
>> inactivity times in a specific tasks as related to that tasks.
>
> In yet other words, you want to have a option
> --smooth-tag=TAG
> which assignes TAG to a sample if it has been assigned to a sample
> before and after that. Or rather a categorize-option?
>
> I am a bit wary because it requires looking into the future of the
> currently investigated tag, which raises the complexity of code and
> algorithms, and will prevent you from getting accurate results for
> samples taken just now, i.e. their tags will change depending on what
> you do later.
I assume you're doing a "single pass" on the log, and I guess any
algorithm suggested should be a single pass one. I don't think there is a
"mathematically correct" solution, so keeping it simple should be indeed
the way to go.
More information about the arbtt
mailing list