On Tuesday, January 2, 2018 at 7:00:29 AM UTC-5, Venessa G wrote:
>
> I'm on the trial and have found that MLO seems to work really well with 
> the way I think and go about my day, with just a few exceptions. Most I 
> either learned to work within or I work around. But I'm really hoping this 
> one can be changed, rather than endured.
>
> I often work very late, sometimes after midnight. It's disconcerting when 
> I've got my list down to a couple things and then suddenly it's populated 
> with all the tasks for the next morning. Aside from going in and changing 
> all the time settings for the contexts so that there is nothing between 
> midnight and, say 6am (which could then mess up what I *am* working on in 
> the moment), is there any way to have the day reset at a time not midnight?
>
> Thanks!
>


 
Hi, Vanessa and Richard, apologies for the long answer but this is actually 
a complex subject. MLO has incredible power but a lot of that power is 
concentrated in the "advanced filter" section, where you can define a set 
of rules that produced a list of selected tasks that exactly matches what 
you need to see right now. So, no, you cannot change what time midnight 
happens but you can create a task list which excludes today's tasks until 
6am by setting up the appropriate filters.

First, I want to check a couple of assumptions. I assume that a task that 
was on your list yesterday and didn't get completed should still be on the 
list today. Same for tasks that were on the list the day before yesterday 
and didn't get completed. And so on. Also, from midnight to six, while you 
are not wanting to see the new day's tasks (yet), I am assuming that if 
there's a task explicitly coded to start at 3am you want it to show up on 
your list at 3am and not wait till 6am with the rest of the day's tasks. If 
either of these assumptions is wrong then my solution won'e work. Please 
let me know!

So, the key to working with advanced filters is to forget about issues like 
what time it is and how tired you are and just describe what tasks you want 
to see. State it in terms like I want to see every task where_____, and 
fill in the blank with a list of conditions. Usually the conditions 
describe characteristics of each task that determine if it should be 
displayed. Sometimes it includes characteristice of the tasks's parent or 
the task's top-level parent. It does not include the time, the date, the 
day of the week, or your horoscope. The advanced filter knows about 
concepts like now(current date and time), today (current date at midnight) 
and tomorrow (current date plus one at midnight.), but they have to be used 
in testing against defined characteristics of the task.

We should also do some background on date/time formats and midnight. A 
date/time value is expressed as a floating-point decimal number, where the 
whole number part is the number of days since the start of the calendar 
scheme, and the fractional part is the time. 0.5 is noon (half way through 
the day) 0.25 is 6am (a quarter of the way through the day) and 0.0007 is 
one minute past midnight. Also, with floating point numbers you never want 
to test for equality: 0.500000000000 and 0.499999999999 are different by 
only one tenth of a microsecond but they are NOT equal. So you should never 
test for a time = noon, better to test for a time later than 11:59 and 
before 12:01.

Enough background, let's design a filter.  We need to come up with a set of 
rules which produce the correct result both before and after midnight and 
before and after 6am. 

The first challenge is that we want to hide today's new tasks for the first 
six hours of the day. So the first part of our filter is, do not show a 
task until it is six hours old, or StartDateTime is before now-(6/24). A 
minute after midnight, the day's tasks are only one minute old, not old 
enough, so they are hidden. Six hours later they become old enough and they 
appear.

This filter by itself would delay every task's appearance for six hours, so 
if a task starts 4am it would not appear until 10am, six hours later. We 
only want this six hour delay for tasks that start at midnight, so we need 
an additional filter to say that if the start time has already passed and 
the start time is after 12:01 then show the task. Or, StartDateTime is 
after today 00:01 and StartDateTime is before now.

One more part of the filter: with what we have so far, if a task starts 
10pm, the next day from midnight to 04:00 it will be hidden, because it is 
not after midnight and it is not six hours old. We need another filter to 
say that tasks from yesterday and earlier are also shown. The filter is 
StartDateTime is before today.

The final filter is ((StartDateTime before NOW-4H) OR ((StartDateTime after 
TODAY 00:01) AND (StartDateTime before NOW)) OR (StartDateTime before 
Today))

If you have already learned how to add a filter to an existing view, then 
you have everything you need, good luck, and please let us know how it 
works out. If you don't know how to manage advanced filters, no [problem, 
just write back and tell us what the view name is of the view you are 
looking at when, at midnight, the next day's tasks put in their unwelcome 
midnight appearance. I will write back with simple 
step-by-step instructions.

-Dwight
  

-- 
You received this message because you are subscribed to the Google Groups 
"MyLifeOrganized" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/mylifeorganized.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/mylifeorganized/2d102285-2358-4721-a4ab-d1691795a18d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to