emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <carsten.dominik@gmail.com>
To: Rainer Stengele <rainer.stengele@diplan.de>
Cc: Bernt Hansen <bernt@norang.ca>,
	emacs-orgmode mailing list <emacs-orgmode@gnu.org>,
	Paul Mead <paul.d.mead@gmail.com>
Subject: Re: Display missing/overlapping clock ranges
Date: Mon, 25 Apr 2011 00:07:25 +0200	[thread overview]
Message-ID: <1C42E9C2-9DC9-42CA-A8BA-9AF0B1893917@gmail.com> (raw)
In-Reply-To: <4DB49ACB.3010800@diplan.de>


On 24.4.2011, at 23:48, Rainer Stengele wrote:

> Am 24.04.2011 17:30, schrieb Carsten Dominik:
>> On 13.4.2011, at 23:06, Bernt Hansen wrote:
>> 
>>> Paul Mead <paul.d.mead@gmail.com> writes:
>>> 
>>>> Rainer Stengele <rainer.stengele@diplan.de> writes:
>>>> 
>>>>> I do clock every task I work on during the whole day.
>>>>> At the end of the day or week I have to go over all clock entries in my agenda
>>>>> and see if there are holes or overlappings in my clock tables.
>>>>> If yes I have to adjust the clocks.
>>>>> 
>>>>> I read Bernt Hansen's comments on how he works with clocks
>>>>> (http://doc.norang.ca/org-mode.html#Clocking).
>>>>> 
>>>>> What about a function showing the lacking clock ranges over
>>>>> the day while being in the agenda with log mode on?
>>>>> 
>>>>> The function could even check for overlapping clock ranges and indicate these
>>>>> or jump to these.
>>>>> 
>>>>> Maybe it would even be good to be able to configure daily and weekly
>>>>> regular holes in the ranges, for example
>>>>> 
>>>>> - daily lunch time from [12:00]--[13:00]
>>>>> - week end days (maybe with diary syntax)
>>>>> - working days (Monday to Friday for example)
>>>>> 
>>>>> What do you think?
>>>>> 
>>>>> -- Rainer
>>>> I'd defintely use something which identified the gaps and overlaps as
>>>> they're taking some time to find now that I have to account more closely
>>>> for my time! I've been considering whether to raise this for a
>>>> while. The 'regular holes' idea is good to, although not as important
>>>> for me.
>>>> 
>>>> Paul
>>> Hi Rainer and Paul,
>>> 
>>> Locating gaps would be useful.  I've been meaning to investigate this
>>> but haven't spent any time on it yet.  With my current clocking setup
>>> I've found I get very few holes.  Checking the times is a task I do
>>> manually just before billing for my time.  I currently just use a visual
>>> scan of the daily agenda(s) including clocking lines displayed ensuring
>>> that the start and end times match over the clocking period.
>>> 
>>> It should be possible to automate the check.  How should a filtered
>>> agenda be handled?  I expect you'd want to see the gaps for the entries
>>> that are filtered away otherwise it's only really meaningful when you
>>> look at the entire clocking data.
>>> 
>>> The major problem I used to have was clocks that would be opened and
>>> never closed.  These were bad because they count as 0 minutes and
>>> without fixing those entries I don't bill for that time.  Since the
>>> invention of M-x org-resolve-clocks (which runs everytime I clock in) I
>>> now find these open clocks quickly and don't need to reconstruct the
>>> data a week later.  I haven't had this problem in a long time.
>>> 
>>> Maybe something like the following mock up?
>>> 
>>> --8<---------------cut here---------------start------------->8---
>>> Day-agenda (W15):
>>> Wednesday  13 April 2011
>>> todo:        7:09- 7:11 Clocked:   (0:02) Organization                                   :PERSONAL::
>>>              7:11- 8:00 - Gap ->   (0:49)
>>> org:         8:00- 8:12 Clocked:   (0:12) DONE Try to fix this bug                :ORG:WORK:tuning::
>>> todo:        8:12- 8:26 Clocked:   (0:14) Organization                                   :PERSONAL::
>>> diary:       8:26- 9:06 Clocked:   (0:40) Breakfast
>>> todo:        9:06- 9:30 Clocked:   (0:24) Task A                                         :PERSONAL::
>>>              9:30-10:58 - Gap ->   (1:28)
>>>             10:00...... ----------------
>>> todo:       10:58-11:11 Clocked:   (0:13) Organization                                   :PERSONAL::
>>>             vvv ------ Overlap ------ vvv
>>> todo:       11:11-11:12 Clocked:   (0:01) Read Mail and News                             :PERSONAL::
>>> todo:       11:10-11:14 Clocked:   (0:01) Organization                                   :PERSONAL::
>>>             ^^^ ------ Overlap ------ ^^^
>>> todo:       11:14-11:15 Clocked:   (0:01) Read Mail and News                             :PERSONAL::
>>> todo:       11:15-11:16 Clocked:   (0:01) Organization                                   :PERSONAL::
>>>             12:00...... ----------------
>>>             14:00...... ----------------
>>>             16:00...... ----------------
>>>             11:16-16:33 - Gap ->   (5:17)
>>> todo:       16:33...... Clocked:   (-) Read Mail and News                                :PERSONAL::
>>>             16:43...... now - - - - - - - - - - - - - - - - - - - - - - - - -
>>>             18:00...... ----------------
>>>             20:00...... ----------------
>>> --8<---------------cut here---------------end--------------->8---
>> 
>> Hi Bernt, Rainer, Paul,
>> 
>> these are pretty good ideas, and since it is a holiday, I have some time,
>> so I have tried an implementation and just pushed it to the master.
>> 
>> This introduces a new key in the agenda, "v c", which will check for
>> clocking issues and display them in a similar way as Bernt proposes.
>> 
>> The whole thing works like log view, so it applies to the currently
>> displayed span in the agenda, and it sticks if you move around
>> with "f" and "b".  To get out of this view, press "l" to turn off
>> log view, for example.
>> 
>> Also, it is a special log view in that it only shows clocking
>> information, I believe this makes it more direct and useful.
>> 
>> There is a variable to configure what constitutes clocking issues.
>> The default value is
>> 
>> (setq org-agenda-clock-consistency-checks
>>  '(:max-duration "10:00" :min-duration 0 :max-gap "0:05" :gap-ok-around ("4:00")))
>> 
>> which means the following:
>> 
>> 1. Report any clocking chunks that are longer than 10 hours,
>> 2. Report clocking chunks that are shorter than 0 minutes
>>   (so this could be used to find short clocks, by setting it
>>    to one minute or so)
>> 3. Report gaps in the clocking, if the gap is larger than 5 minutes
>>   (should than be called :min-gap?  I am confused....)
>> 4. If the time 4am falls into a large gap, do not report the gap.
>>   This is to avoid the spurious reporting of gaps between the
>>   last evening task and the first morning task.
>> 
>> 
>> Testing and feedback would be much appreciated.
>> Also, it is not really useful to use this on a filtered agenda view,
>> but testing of this would be appreciated as well.
>> 
>> Happy holidays!
>> 
>> - Carsten
>> 
> 
> Hi Carsten,
> 
> excellent, I already found some gaps and overlaps in last weeks work
> clockings!
> 
> 1. I wonder how to get rif of the lunch break "gaps". Of course I could
> clock the lunch time as such,
> but I would prefer to provide my daily fixed lunch time in order to
> - ignore any gap occuring between start and end of "lunch time"
> 
> OK I just set 
> 
> :gap-ok-around ("4:00" "12:30")
> 
> which did what I wanted. But imagine I would have my lunch break from 12:31 to 12:55. The break would be reported as gap.
> I would rather have a clock range wherein anay gap would be ignored.
> Did I understand something wrong?

The idea is to pick a time that is safely in the break, like 4:00 is safely
after you last work from the previous day and safely before your first work
of the next day.  Just pick a single time that is safely in your
lunch break, for example 12:45.  If you break is too irregular, then this
will not work for you.  But, you know, it is OK to ignore a gap warning
when you know what has caused it.  Tools are there the help
us, not to enslave us.  Good tools, anyway.

> 2. Maybe the fonts or the indicating strings for "gap" and "overlap" could be made configurable?
> 
> I would try to make these two look differently.

The easiest would be to define these fonts also in the property list.
I'll take a look at this.

> 
> Thanks again! Marvelous!
> I will use the function daily or at least weekly!

Jup, I think checking this regularly makes sense, maybe
as part of the weekly review.

- Carsten

  reply	other threads:[~2011-04-24 22:07 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-13 15:44 Display missing/overlapping clock ranges Rainer Stengele
2011-04-13 16:28 ` Paul Mead
2011-04-13 21:06   ` Bernt Hansen
2011-04-14  8:26     ` Paul Mead
2011-04-14  9:06     ` Rainer Stengele
2011-04-24 15:30     ` Carsten Dominik
2011-04-24 21:48       ` Rainer Stengele
2011-04-24 22:07         ` Carsten Dominik [this message]
2011-04-27 11:53         ` Carsten Dominik
2011-05-03  7:05           ` Rainer Stengele
2011-04-24 23:09       ` Bernt Hansen
2011-04-27 12:43       ` Sébastien Vauban
2011-04-19 12:28 ` Rainer Stengele

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1C42E9C2-9DC9-42CA-A8BA-9AF0B1893917@gmail.com \
    --to=carsten.dominik@gmail.com \
    --cc=bernt@norang.ca \
    --cc=emacs-orgmode@gnu.org \
    --cc=paul.d.mead@gmail.com \
    --cc=rainer.stengele@diplan.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).