dagraham / etm-tk

event and task manager
https://pypi.org/project/etmtk/
67 stars 13 forks source link

@b problem #48

Closed lawquest closed 9 years ago

lawquest commented 9 years ago

Probably not a but, but its confusing to me:

When I put @b 3d into an item or a task I get an error. Something like "the value of @b should be an integer" So I take out the "d" after "@b 3d" and it works fine, i.e. (@b 3) works fine, but I think @b 3d should work too. I guess @b can't be used with minutes?

dagraham commented 9 years ago

@b takes an integer number of days, not a period string. It causes the begin by notice to show on the current day, all day long, whenever the current day is @b or fewer days from the date of the task or event. E.g., the beginby @b 3d with @s 10/15 10pm would display a begin by notice all day long on 10/12, 10/13 and 10/14

In contrast, the alert @a 3d with @s 10/15 10pm would trigger the alert once at 10pm on 10/12.

Now suppose to the contrary that @b accepted period strings. Shouldn't the effect of @b 3d10h in a task with a starting time of 8am be the same as @b 4d? And shouldn’t the effect of @b 4h30m be the same as not having an entry for @b at all? Somehow “an integer number of days before the date of the item” seems less confusing to me than “a period string which, taking account of the starting time of the item, will be converted to an integer number of days before the date of the item”.

On Oct 17, 2015, at 2:13 AM, lawquest notifications@github.com<mailto:notifications@github.com> wrote:

Probably not a but, but its confusing to me:

When I put @bhttps://github.com/b 3d into an item or a task I get an error. Something like "the value of @bhttps://github.com/b should be an integer" So I take out the "d" after "@bhttps://github.com/b 3d" and it works fine, i.e. (@bhttps://github.com/b 3) works fine, but I think @bhttps://github.com/b 3d should work too. I guess @bhttps://github.com/b can't be used with minutes?

— Reply to this email directly or view it on GitHubhttps://github.com/dagraham/etm-tk/issues/48.

lawquest commented 9 years ago

Daniel, I am not sure what a "period string" is.

Here is my specific question. To demonstrate what I mean I create a phoney task, without the quotes:

"- this is a phoney task @s 2015-10-27 @b 3d"

I then hit "save and close" and this is what I get:

"the value of @b should be an integer: '@b 3d'"

ETM will not accept the entry until I remove the "d" after "e".

Should I enter this reply in github also?

John

On Saturday, October 17, 2015 06:43:06 AM dagraham wrote:

@b takes an integer number of days, not a period string. It causes the begin by notice to show on the current day, all day long, whenever the current day is @b or fewer days from the date of the task or event. E.g., the beginby @b 3d with @s 10/15 10pm would display a begin by notice all day long on 10/12, 10/13 and 10/14

In contrast, the alert @a 3d with @s 10/15 10pm would trigger the alert once at 10pm on 10/12.

Now suppose to the contrary that @b accepted period strings. Shouldn't the effect of @b 3d10h in a task with a starting time of 8am be the same as @b 4d? And shouldn’t the effect of @b 4h30m be the same as not having an entry for @b at all? Somehow “an integer number of days before the date of the item” seems less confusing to me than “a period string which, taking account of the starting time of the item, will be converted to an integer number of days before the date of the item”.

On Oct 17, 2015, at 2:13 AM, lawquest notifications@github.com<mailto:notifications@github.com> wrote:

Probably not a but, but its confusing to me:

When I put @bhttps://github.com/b 3d into an item or a task I get an error. Something like "the value of @bhttps://github.com/b should be an integer" So I take out the "d" after "@bhttps://github.com/b 3d" and it works fine, i.e. (@bhttps://github.com/b 3) works fine, but I think @bhttps://github.com/b 3d should work too. I guess @bhttps://github.com/b can't be used with minutes?

— Reply to this email directly or view it on GitHubhttps://github.com/dagraham/etm-tk/issues/48.


Reply to this email directly or view it on GitHub: https://github.com/dagraham/etm-tk/issues/48#issuecomment-148916956

dagraham commented 9 years ago

John,

This is not a bug. A period string is something like “3d”, meaning three days or “2w1d3h15m” meaning 2 weeks, 1 day, 3 hours and 15 minutes. Period strings are used, for example, in alerts. Beginby’s are a completely different thing and require integers like 3, not 3d.

-Dan

On Oct 17, 2015, at 3:47 PM, lawquest notifications@github.com<mailto:notifications@github.com> wrote:

Daniel, I am not sure what a "period string" is.

Here is my specific question. To demonstrate what I mean I create a phoney task, without the quotes:

"- this is a phoney task @s 2015-10-27 @b 3d"

I then hit "save and close" and this is what I get:

"the value of @b should be an integer: '@b 3d'"

ETM will not accept the entry until I remove the "d" after "e".

Should I enter this reply in github also?

John

On Saturday, October 17, 2015 06:43:06 AM dagraham wrote:

@b takes an integer number of days, not a period string. It causes the begin by notice to show on the current day, all day long, whenever the current day is @b or fewer days from the date of the task or event. E.g., the beginby @b 3d with @s 10/15 10pm would display a begin by notice all day long on 10/12, 10/13 and 10/14

In contrast, the alert @a 3d with @s 10/15 10pm would trigger the alert once at 10pm on 10/12.

Now suppose to the contrary that @b accepted period strings. Shouldn't the effect of @b 3d10h in a task with a starting time of 8am be the same as @b 4d? And shouldn’t the effect of @b 4h30m be the same as not having an entry for @b at all? Somehow “an integer number of days before the date of the item” seems less confusing to me than “a period string which, taking account of the starting time of the item, will be converted to an integer number of days before the date of the item”.

On Oct 17, 2015, at 2:13 AM, lawquest notifications@github.com<mailto:notifications@github.commailto:notifications@github.com> wrote:

Probably not a but, but its confusing to me:

When I put @bhttps://github.com/b 3d into an item or a task I get an error. Something like "the value of @bhttps://github.com/b should be an integer" So I take out the "d" after "@bhttps://github.com/b 3d" and it works fine, i.e. (@bhttps://github.com/b 3) works fine, but I think @bhttps://github.com/b 3d should work too. I guess @bhttps://github.com/b can't be used with minutes?

— Reply to this email directly or view it on GitHubhttps://github.com/dagraham/etm-tk/issues/48.


Reply to this email directly or view it on GitHub: https://github.com/dagraham/etm-tk/issues/48#issuecomment-148916956

— Reply to this email directly or view it on GitHubhttps://github.com/dagraham/etm-tk/issues/48#issuecomment-148947328.

lawquest commented 9 years ago

Thanks.

john

On Saturday, October 17, 2015 12:52:49 PM dagraham wrote:

John,

This is not a bug. A period string is something like “3d”, meaning three days or “2w1d3h15m” meaning 2 weeks, 1 day, 3 hours and 15 minutes. Period strings are used, for example, in alerts. Beginby’s are a completely different thing and require integers like 3, not 3d.

-Dan

On Oct 17, 2015, at 3:47 PM, lawquest notifications@github.com<mailto:notifications@github.com> wrote:

Daniel, I am not sure what a "period string" is.

Here is my specific question. To demonstrate what I mean I create a phoney task, without the quotes:

"- this is a phoney task @s 2015-10-27 @b 3d"

I then hit "save and close" and this is what I get:

"the value of @b should be an integer: '@b 3d'"

ETM will not accept the entry until I remove the "d" after "e".

Should I enter this reply in github also?

John

On Saturday, October 17, 2015 06:43:06 AM dagraham wrote:

@b takes an integer number of days, not a period string. It causes the begin by notice to show on the current day, all day long, whenever the current day is @b or fewer days from the date of the task or event. E.g., the beginby @b 3d with @s 10/15 10pm would display a begin by notice all day long on 10/12, 10/13 and 10/14

In contrast, the alert @a 3d with @s 10/15 10pm would trigger the alert once at 10pm on 10/12.

Now suppose to the contrary that @b accepted period strings. Shouldn't the effect of @b 3d10h in a task with a starting time of 8am be the same as @b 4d? And shouldn’t the effect of @b 4h30m be the same as not having an entry for @b at all? Somehow “an integer number of days before the date of the item” seems less confusing to me than “a period string which, taking account of the starting time of the item, will be converted to an integer number of days before the date of the item”.

On Oct 17, 2015, at 2:13 AM, lawquest notifications@github.com<mailto:notifications@github.com<mailto:notifica tions@github.com>> wrote:

Probably not a but, but its confusing to me:

When I put @bhttps://github.com/b 3d into an item or a task I get an error. Something like "the value of @bhttps://github.com/b should be an integer" So I take out the "d" after "@bhttps://github.com/b 3d" and it works fine, i.e. (@bhttps://github.com/b 3) works fine, but I think @bhttps://github.com/b 3d should work too. I guess @bhttps://github.com/b can't be used with minutes?

— Reply to this email directly or view it on GitHubhttps://github.com/dagraham/etm-tk/issues/48.


Reply to this email directly or view it on GitHub: https://github.com/dagraham/etm-tk/issues/48#issuecomment-148916956

— Reply to this email directly or view it on GitHubhttps://github.com/dagraham/etm-tk/issues/48#issuecomment-148947328 .


Reply to this email directly or view it on GitHub: https://github.com/dagraham/etm-tk/issues/48#issuecomment-148947524

dagraham commented 9 years ago

John,

This is from the manual:

Time periods

Time periods are entered using the format WwDdHhMm where W, D, H and M are integers and w, d, h and m refer to weeks, days, hours and minutes respectively. For example:

2h30m                2 hours, 30 minutes
2w3d                 2 weeks, 3 days
45m                  45 minutes

As an example, if it is currently 8:50am on Friday February 15, 2013, then entering now + 2d4h30m into the date calculator would give 2013-02-17 1:20pm.

Tip. Need to schedule a reminder in 15 minutes? Use @s +15m.

If in doubt, you go to the manual and search, e.g. for “period”, you will usually find something useful.

I spent a lot of time composing my original email to you trying to explain the difference between @b integer number of days and @a time period. Did it make sense to you?

-Dan

On Oct 17, 2015, at 3:56 PM, lawquest notifications@github.com<mailto:notifications@github.com> wrote:

Thanks.

john

On Saturday, October 17, 2015 12:52:49 PM dagraham wrote:

John,

This is not a bug. A period string is something like “3d”, meaning three days or “2w1d3h15m” meaning 2 weeks, 1 day, 3 hours and 15 minutes. Period strings are used, for example, in alerts. Beginby’s are a completely different thing and require integers like 3, not 3d.

-Dan

On Oct 17, 2015, at 3:47 PM, lawquest notifications@github.com<mailto:notifications@github.commailto:notifications@github.com> wrote:

Daniel, I am not sure what a "period string" is.

Here is my specific question. To demonstrate what I mean I create a phoney task, without the quotes:

"- this is a phoney task @s 2015-10-27 @b 3d"

I then hit "save and close" and this is what I get:

"the value of @b should be an integer: '@b 3d'"

ETM will not accept the entry until I remove the "d" after "e".

Should I enter this reply in github also?

John

On Saturday, October 17, 2015 06:43:06 AM dagraham wrote:

@b takes an integer number of days, not a period string. It causes the begin by notice to show on the current day, all day long, whenever the current day is @b or fewer days from the date of the task or event. E.g., the beginby @b 3d with @s 10/15 10pm would display a begin by notice all day long on 10/12, 10/13 and 10/14

In contrast, the alert @a 3d with @s 10/15 10pm would trigger the alert once at 10pm on 10/12.

Now suppose to the contrary that @b accepted period strings. Shouldn't the effect of @b 3d10h in a task with a starting time of 8am be the same as @b 4d? And shouldn’t the effect of @b 4h30m be the same as not having an entry for @b at all? Somehow “an integer number of days before the date of the item” seems less confusing to me than “a period string which, taking account of the starting time of the item, will be converted to an integer number of days before the date of the item”.

On Oct 17, 2015, at 2:13 AM, lawquest notifications@github.com<mailto:notifications@github.commailto:notifications@github.com<mailto:notifica tions@github.commailto:tions@github.com>> wrote:

Probably not a but, but its confusing to me:

When I put @bhttps://github.com/b 3d into an item or a task I get an error. Something like "the value of @bhttps://github.com/b should be an integer" So I take out the "d" after "@bhttps://github.com/b 3d" and it works fine, i.e. (@bhttps://github.com/b 3) works fine, but I think @bhttps://github.com/b 3d should work too. I guess @bhttps://github.com/b can't be used with minutes?

— Reply to this email directly or view it on GitHubhttps://github.com/dagraham/etm-tk/issues/48.


Reply to this email directly or view it on GitHub: https://github.com/dagraham/etm-tk/issues/48#issuecomment-148916956

— Reply to this email directly or view it on GitHubhttps://github.com/dagraham/etm-tk/issues/48#issuecomment-148947328 .


Reply to this email directly or view it on GitHub: https://github.com/dagraham/etm-tk/issues/48#issuecomment-148947524

— Reply to this email directly or view it on GitHubhttps://github.com/dagraham/etm-tk/issues/48#issuecomment-148947693.

lawquest commented 9 years ago

I think I was confused by the second sentence as well as my ignorance of "Period string". Perhaps if I redraft you memo you can see what confused me.
Here is the original memo:

"@b takes an integer number of days, not a period string. It causes the begin by notice to show on the current day, all day long, whenever the current day is @b or fewer days from the date of the task or event. E.g., the beginby @b 3d with @s 10/15 10pm would display a begin by notice all day long on 10/12, 10/13 and 10/14

In contrast, the alert @a 3d with @s 10/15 10pm would trigger the alert once at 10pm on 10/12.

Now suppose to the contrary that @b accepted period strings. Shouldn't the effect of @b 3d10h in a task with a starting time of 8am be the same as @b 4d? And shouldn’t the effect of @b 4h30m be the same as not having an entry for @b at all? Somehow “an integer number of days before the date of the item” seems less confusing to me than “a period string which, taking account of the starting time of the item, will be converted to an integer number of days before the date of the item”. "

The second sentence's use of "the beginby @b 3d" confused me because I put it in a task exactly as written and got the error that it had to be an integral, i.e. I had to remove the "d" for it to work, i.e. the relevant part of the second sentence would have made more sense to me if it has said: " E.g., the beginby @b 3 with @s 10/15 10pm would display a begin by notice all day long on 10/12, 10/13 and 10/14 "

The sentence beginning with "In contrast" confused me as I think the alert would trigger on 10/18 at 10 pm rather than on 10/12.

I think I understand the paragraph beginning with "Now suppose ..." as it is hypothetical. For example, it makes sense to me that an @b 4h30m would be the same as not having an entry for @b at all, as its on the same day. and the @b message is already on the screen.

I think it would be an improvement when the user adds a letter, such as "d" after a number in a beginby entry for the error notice to drop the "d", e.e. for the error notice to read:

"the value of @b should be an integer: '@b 3'" rather than: "the value of @b should be an integer: '@b 3d', i.e. I think the info in the quotes should show the correct way to do it rather than the incorrect way.

Hope this makes sense.

John

On Saturday, October 17, 2015 05:23:57 PM dagraham wrote:

John,

This is from the manual:

Time periods

Time periods are entered using the format WwDdHhMm where W, D, H and M are integers and w, d, h and m refer to weeks, days, hours and minutes respectively. For example:

2h30m                2 hours, 30 minutes
2w3d                 2 weeks, 3 days
45m                  45 minutes

As an example, if it is currently 8:50am on Friday February 15, 2013, then entering now + 2d4h30m into the date calculator would give 2013-02-17 1:20pm.

Tip. Need to schedule a reminder in 15 minutes? Use @s +15m.

If in doubt, you go to the manual and search, e.g. for “period”, you will usually find something useful.

I spent a lot of time composing my original email to you trying to explain the difference between @b integer number of days and @a time period. Did it make sense to you?

-Dan

On Oct 17, 2015, at 3:56 PM, lawquest notifications@github.com<mailto:notifications@github.com> wrote:

Thanks.

john

On Saturday, October 17, 2015 12:52:49 PM dagraham wrote:

John,

This is not a bug. A period string is something like “3d”, meaning three days or “2w1d3h15m” meaning 2 weeks, 1 day, 3 hours and 15 minutes. Period strings are used, for example, in alerts. Beginby’s are a completely different thing and require integers like 3, not 3d.

-Dan

On Oct 17, 2015, at 3:47 PM, lawquest notifications@github.com<mailto:notifications@github.com<mailto:notifica tions@github.com>> wrote:

Daniel, I am not sure what a "period string" is.

Here is my specific question. To demonstrate what I mean I create a phoney task, without the quotes:

"- this is a phoney task @s 2015-10-27 @b 3d"

I then hit "save and close" and this is what I get:

"the value of @b should be an integer: '@b 3d'"

ETM will not accept the entry until I remove the "d" after "e".

Should I enter this reply in github also?

John

On Saturday, October 17, 2015 06:43:06 AM dagraham wrote:

@b takes an integer number of days, not a period string. It causes the begin by notice to show on the current day, all day long, whenever the current day is @b or fewer days from the date of the task or event. E.g., the beginby @b 3d with @s 10/15 10pm would display a begin by notice all day long on 10/12, 10/13 and 10/14

In contrast, the alert @a 3d with @s 10/15 10pm would trigger the alert once at 10pm on 10/12.

Now suppose to the contrary that @b accepted period strings. Shouldn't the effect of @b 3d10h in a task with a starting time of 8am be the same as @b 4d? And shouldn’t the effect of @b 4h30m be the same as not having an entry for @b at all? Somehow “an integer number of days before the date of the item” seems less confusing to me than “a period string which, taking account of the starting time of the item, will be converted to an integer number of days before the date of the item”.

On Oct 17, 2015, at 2:13 AM, lawquest notifications@github.com<mailto:notifications@github.com<mailto:notifi cations@github.com><mailto:notifica tions@github.commailto:tions@github.com>> wrote:

Probably not a but, but its confusing to me:

When I put @bhttps://github.com/b 3d into an item or a task I get an error. Something like "the value of @bhttps://github.com/b should be an integer" So I take out the "d" after "@bhttps://github.com/b 3d" and it works fine, i.e. (@bhttps://github.com/b 3) works fine, but I think @bhttps://github.com/b 3d should work too. I guess @bhttps://github.com/b can't be used with minutes?

— Reply to this email directly or view it on GitHubhttps://github.com/dagraham/etm-tk/issues/48.


Reply to this email directly or view it on GitHub: https://github.com/dagraham/etm-tk/issues/48#issuecomment-148916956

— Reply to this email directly or view it on GitHub<https://github.com/dagraham/etm-tk/issues/48#issuecomment-148947328

.


Reply to this email directly or view it on GitHub: https://github.com/dagraham/etm-tk/issues/48#issuecomment-148947524

— Reply to this email directly or view it on GitHubhttps://github.com/dagraham/etm-tk/issues/48#issuecomment-148947693 .


Reply to this email directly or view it on GitHub: https://github.com/dagraham/etm-tk/issues/48#issuecomment-148963289

dagraham commented 9 years ago

John,

me: In contrast, the alert @a 3d with @s 10/15 10pm would trigger the alert once at 10pm on 10/12.

you: The sentence beginning with "In contrast" confused me as I think the alert would trigger on 10/18 at 10 pm rather than on 10/12.

Your confusion confuses me. The alert will trigger 3 days before the starting time - not 3 days after. Right?

The intent of the error message

the value of @b should be an integer: '@b 3d’

is to convey the information that an integer is required and to show the entry actually given. It could, I suppose, be modified

the value of @b should be an integer: '@b 3d’ is invalid

If instead the error message was

the value of @b should be an integer: '@b 3’ would be valid

then the author would have to look back at the original entry, possibly dragging the error message box out of the way to do so, to see what was actually entered. It’s not obvious to me that this is an improvement. Assuming that the author knows what an integer is, displaying a 3 as an example of an integer doesn’t add all that much unless the intent is something like “you entered “3d” but I’m guessing that you meant “3”.

It might seem easy to process a string such as “3d” and guess that the intent of the author was the integer 3 but what about “3w”? Should this too be converted to 3 or should it be interpreted as 3 weeks and be converted to 21 or as a possible typo where the “w” was supposed to be “2” and be converted to 32? Isn’t it enough to say that an integer is required, that “3d”, “3w” or whatever is (thus) not a valid entry and leave it to the author to make the correction?

There are many situations in etm where an integer is required, e.g., @b, @p (priority), &t (total number of repetitions in @r entries), &q (queue position in @j entries) and so forth. Whenever any of these is processed, if the entry is not an integer, the same “an integer is required but here is what you provided” message is generated. Can you see how difficult it would be to make good integer guesses for “@b Oct 12”, “@p low” or “&t 5d”?

-Dan

lawquest commented 9 years ago

On Sunday, October 18, 2015 06:56:59 AM dagraham wrote:

John,

me: In contrast, the alert @a 3d with @s 10/15 10pm would trigger the alert once at 10pm on 10/12.

you: The sentence beginning with "In contrast" confused me as I think the alert would trigger on 10/18 at 10 pm rather than on 10/12.

Your confusion confuses me. The alert will trigger 3 days before the starting time - not 3 days after. Right?

Right. Silly me.

The intent of the error message

the value of @b should be an integer: '@b 3d’

is to convey the information that an integer is required and to show the entry actually given. It could, I suppose, be modified

the value of @b should be an integer: '@b 3d’ is invalid

I like that.

If instead the error message was

the value of @b should be an integer: '@b 3’ would be valid

then the author would have to look back at the original entry, possibly dragging the error message box out of the way to do so, to see what was actually entered. It’s not obvious to me that this is an improvement. Assuming that the author knows what an integer is, displaying a 3 as an example of an integer doesn’t add all that much unless the intent is something like “you entered “3d” but I’m guessing that you meant “3”.

As I said, I think " '@b 3d’ is invalid" would be an improvement.

It might seem easy to process a string such as “3d” and guess that the intent of the author was the integer 3 but what about “3w”? Should this too be converted to 3 or should it be interpreted as 3 weeks and be converted to 21 or as a possible typo where the “w” was supposed to be “2” and be converted to 32? Isn’t it enough to say that an integer is required, that “3d”, “3w” or whatever is (thus) not a valid entry and leave it to the author to make the correction?

I understand.

There are many situations in etm where an integer is required, e.g., @b, @p (priority), &t (total number of repetitions in @r entries), &q (queue position in @j entries) and so forth. Whenever any of these is processed, if the entry is not an integer, the same “an integer is required but here is what you provided” message is generated. Can you see how difficult it would be to make good integer guesses for “@b Oct 12”, “@p low” or “&t 5d”?

Yes. But if its not too difficult to do and doesn't mess something else up, I think it would help lazy computer-impaired folks like me if the error message read:

"the value of @b should be an integer: '@b 3d’ is invalid"

Thanks Dan for all you do. I have a new girl at the office. Bill Gates doesn't (yet) own her mind. I am bringing her along with lyx and etm and will report on how that goes. While libreoffice is better for short letters, I want her to do everything in lyx so, when a long brief or petition comes along, always better in lyx, she knows what to do.

-Dan


Reply to this email directly or view it on GitHub: https://github.com/dagraham/etm-tk/issues/48#issuecomment-149018929