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