topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Saturday December 14, 2024, 6:08 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: NANY 2011 Release: TaskDaddy Release  (Read 108217 times)

DeVamp

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 122
  • Let the coding begin :-)
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #50 on: September 20, 2010, 02:00 AM »
Great to see an update. :-)


One thing I've seen is that ':' (colon) is removed from the body.
EX.: @Stuff New stuff 2 #01/11/2010 the stuff : hupla

See attachment for result.

Oh, and the site gives me an error :'(


daddydave

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 867
  • test
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #51 on: September 20, 2010, 04:40 AM »
@Stuff New stuff 2 #01/11/2010 the stuff : hupla

The colon is removed by design, it is just a trigger to indicate that the word that follows is part of the body. Just like the # is removed from the due date. The first part of the body is "the stuff" and the second part is " hupla".

Notice that if you use the colon in normal English* way, without a precediing space (afaik in other languages, too), the colon is not treated specially. So for example, you can say

@Stuff New stuff 2 #01/11/2010 the stuff: hupla

and TaskDaddy will do the right thing and make "the stuff: hupla" the body including the colon.


And as you probably know, the stuff is considered part of the body on the basis that the due date ends the task subject.

------snip
@@Home Dust ceiling fan #1/31/2010 turn off fan first
Since the due date “interrupts” the task subject, the task subject is considered complete and TaskDaddy deduces that any remaining unmarked text is the subject body, in spite of not including the colon. Task body deduction is the only time the order of the task attributes matters.

However, there is no harm in including the colon every time you specify a task body.

------end snip

Is this good enough or are you requesting it to be interpreted differently?



* On further reflection, I think I learned this in typing class and not in English class, so I am not sure if it is a grammar rule or not.
« Last Edit: September 20, 2010, 05:01 AM by daddydave »

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #52 on: September 20, 2010, 05:09 AM »
a farr alias for TaskDaddy would be nice. :)

DeVamp

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 122
  • Let the coding begin :-)
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #53 on: September 20, 2010, 05:18 AM »
------snip
@Stuff New stuff 2 #01/11/2010 the stuff : hupla
Since the due date “interrupts” the task subject, the task subject is considered complete and TaskDaddy deduces that any remaining unmarked text is the subject body, in spite of not including the colon. Task body deduction is the only time the order of the task attributes matters.
However, there is no harm in including the colon every time you specify a task body.
------end snip
Is this good enough or are you requesting it to be interpreted differently?

* On further reflection, I think I learned this in typing class and not in English class, so I am not sure if it is a grammar rule or not.
Personally I had in mind that while the body can be determined after the due date, it wouldn't check for a colon in the text and just take it all :-)

It's just that I find the result strange:
You check for a colon to split the title and the body, but you still return the whole part after the due date. And not just the part after the colon.

so if the body would be "hupla", i would understand it.

And you are correct, normally the colon needs to be attached to the previous word, but consider me not normal :p
The way I use it in tasks is not like written in a continuously text. :-)
I use it more as a seperator and I don't like to use ' - '.

daddydave

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 867
  • test
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #54 on: September 20, 2010, 06:45 AM »
a farr alias for TaskDaddy would be nice. :)

Mouser, could you elaborate on this a bit more? It seems to me that after the first time you launch TaskDaddy using, say, td, then the next time I punch in td, it is going to go to TaskDaddy anyway, so why the need for an alias?

daddydave

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 867
  • test
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #55 on: September 20, 2010, 07:07 AM »

Personally I had in mind that while the body can be determined after the due date, it wouldn't check for a colon in the text and just take it all :-)

But then it would miss the second category here:
@Stuff New stuff 2 #01/11/2010 the stuff @Project_Stuffy : hupla

and the due date here:
@Stuff New stuff 2 @Project_Stuffy the stuff  : hupla #01/11/2010

But I am open to suggestions if you see a way out without requiring the parts of the task to be in a certain order. :)

It's just that I find the result strange:
You check for a colon to split the title and the body, but you still return the whole part after the due date. And not just the part after the colon.

I had in mind the user may want to specify multiple body fragments, just as the user may want to specify multiple categories. (Multiple due dates don't make sense obviously, probably I didn't check for this. Hmmm)

I need a little time to think about this, because you are raising a point which I had not thought of, which is a good thing.  :up:

Actually there is a general problem to be solved here that I would very much like to solve..how to allow special characters to be non-special without cluttering up the syntax..for example what if I want a subject that starts with #? I thought about allowing something like a backslash..

But who wants to type:
\#This is not a due date just a weird subject @@Test
@Stuff New stuff 2 #01/11/2010 the stuff \: hupla

Yuck.
« Last Edit: September 20, 2010, 07:20 AM by daddydave »

DeVamp

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 122
  • Let the coding begin :-)
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #56 on: September 20, 2010, 08:08 AM »
For the colons:
My first idea:
As it is programmed now, we need to use 2 colons to keep 1:
@Stuff New stuff 2 #01/11/2010 the stuff @important_stuff hupla, do stuff @stiff_this even more stuff :: todostuff
gives
... even more stuff : todostuff

Actually there is a general problem to be solved here that I would very much like to solve..how to allow special characters to be non-special without cluttering up the syntax..for example what if I want a subject that starts with #? I thought about allowing something like a backslash..
I'll think along with you. It will grow on me in the background while working on my work things.

Here's my quick idea:
We could also use 2 special characters to seperate a part:
(I've never understood why to use a '@' in front of a category, so I don't use them)

EX1:
@@Stuff New stuff ##01/11/2010 the stuff @@important_stuff hupla, do stuff @@stiff_this even more stuff : todostuff
Gives:
Subject : New stuff
Cat : Stuff, important_stuff, stiff_this
Due : 01/11/2010
Body : the stuff hupla, do stuff even more stuff :: todostuff


EX2:
@@Stuff Stuff again :: Need to exercise on : the other stuff aswell
Subject : Stuff again
Cat : Stuff
Due : N/A
Body : Need to exercise on : the other stuff aswell



One more thing:
I'm assuming you parse the string from left to right, but since I have no idea how you programmed it, I'm may be wrong.
BUT:
in ex1, after you've parsed the Subject, you know that you already have a subject, so I would assume the rest is automatically body, and then you have to parse the "body" for dates and categories and remove then from the body.

Wow, thats a lot in the preview.
I hope everything makes sense here :-)
If not, ask me so I can clear out things.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #57 on: September 20, 2010, 09:19 AM »
a farr alias for TaskDaddy would be nice. smiley

Mouser, could you elaborate on this a bit more? It seems to me that after the first time you launch TaskDaddy using, say, td, then the next time I punch in td, it is going to go to TaskDaddy anyway, so why the need for an alias?

i was suggesting a regular expression alias to let you specify a TaskDaddy line from within FARR using the commandline version of TaskDaddy.

Why don't i just make an alias and post it -- actually it gives me an opportunity to add a feature to FARR that i've been meaning to add.

daddydave

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 867
  • test
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #58 on: September 20, 2010, 10:02 AM »
For the colons:
My first idea:
As it is programmed now, we need to use 2 colons to keep 1:
@Stuff New stuff 2 #01/11/2010 the stuff @important_stuff hupla, do stuff @stiff_this even more stuff :: todostuff
gives
... even more stuff : todostuff

Hadn't thought of that, but you're right, and that's pretty consistent with what I'm doing with categories and the @@. In that case it kind of happens automatically without any special programming, but I could extend that to make it so that ## creates a subject that starts with #.


(I've never understood why to use a '@' in front of a category, so I don't use them)

Still processing the rest of what you said, but I will address this. The @ in the category name, is basically fan service to David Allen's Getting Things Done book and method. Someone could use the @ symbol for categories that refer to GTD contexts, and use some other naming convention for regular categories or GTD projects.

One more thing:
I'm assuming you parse the string from left to right, but since I have no idea how you programmed it, I'm may be wrong.
BUT:
in ex1, after you've parsed the Subject, you know that you already have a subject, so I would assume the rest is automatically body, and then you have to parse the "body" for dates and categories and remove then from the body.

EDIT: True on the first part about parsing left to right, but as for the second part:

Nope, at no time are dates or categories part of the body. All TaskDaddy does is look at the first character of each word. If it's @, we have a category. If it's #, we have a due date. If it's a :, it's a body. If it's anything else unadorned, it has to decide whether to add it to the subject or the body (this bit is a bit clunky, if you look in TaskDaddyCore.au3 source attached in the original post, you will see kind of a funky DecideSubjectOrBody function)

the ugly code (some of it)
Code: AutoIt [Select]
  1. For $I = 1 To $MyArgs[0]
  2.                 Switch StringLeft($MyArgs[$I], 1)
  3.                         Case "@"
  4.                                 If $Subject <> "" Then $GotSubject = True
  5.                                 If $Categories <> "" Then $Categories = $Categories & ","
  6.                                 $Categories = $Categories & StringRight($MyArgs[$I], StringLen($MyArgs[$I]) - 1)
  7.                         Case "#"
  8.                                 If $Subject <> "" Then $GotSubject = True
  9.                                 $DueDate = StringRight($MyArgs[$I], StringLen($MyArgs[$I]) - 1)
  10.                         Case ":"
  11.                                 If $Subject <> "" Then $GotSubject = True
  12.                                 $Body = $Body & " " & StringRight($MyArgs[$I], StringLen($MyArgs[$I]) - 1)
  13.                         Case "?"
  14.  
  15.                                 If $GotSubject = False Then
  16.                                         $Subject = StringRight($MyArgs[$I], StringLen($MyArgs[$I]) - 1)
  17.  
  18.                                         $Importance = $olImportanceLow
  19.                                 Else
  20.  
  21.                                         DecideSubjectOrBody($MyArgs[$I], $GotSubject, $Subject, $Body)
  22.                                 EndIf
  23.                         Case "!"
  24.  
  25.                                 If $GotSubject = False Then
  26.  
  27.                                         $Subject = StringRight($MyArgs[$I], StringLen($MyArgs[$I]) - 1)
  28.                                         $Importance = $olImportanceHigh
  29.                                 Else
  30.  
  31.                                         DecideSubjectOrBody($MyArgs[$I], $GotSubject, $Subject, $Body)
  32.                                 EndIf
  33.                         Case Else
  34.                                 DecideSubjectOrBody($MyArgs[$I], $GotSubject, $Subject, $Body)
  35.                 EndSwitch
  36.         Next

« Last Edit: September 20, 2010, 02:03 PM by daddydave »

daddydave

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 867
  • test
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #59 on: September 20, 2010, 11:29 AM »
Here's my quick idea:
We could also use 2 special characters to seperate a part:

Isn't whitespace special enough to indicate it is a new part? Looking at your examples, you seem to suggest that a doubled character be required to signal that a part is out of sequence. But there is no such thing as out of sequence in TaskDaddy. You can specify the parts in any order.

Admittedly I kind of asked for this, I gave up on finding the cure for the general problem as the only cures I could come up with were worse than the disease.
« Last Edit: September 20, 2010, 11:43 AM by daddydave »

daddydave

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 867
  • test
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #60 on: September 20, 2010, 03:05 PM »
Any command line arguments which are not options are combined into a single task. In practice, this means you can usually either use double quote characters or not, so that for example:

taskdaddy "@@Home Recycle the bottles #6/2 :in the garage" /p
is the same as

taskdaddy @@Home Recycle the bottles #6/2 :in the garage /p

There's a story for behind this, that only geeks will care about
TaskDaddy doesn't actually see the quotes, it doesn't have much choice other than to see everything in quotes as a single parameter because that is the way it comes in. Originally I tried to parse the command line as a string ($CmdLineRaw) instead of the $CmdLine array, which did allow me to see the quotes but that made the code very error prone and also caused different behavior in the interpreted and compiled versions. By using the array, I am also able to use the _OptParse module to standardize other (non-task) command line processing. Anything that is not processed by switch parsing is left over and parsed by me. Getting identical behavior with and without the quotes was kind of a relief. I wanted to allow the quotes but not require them.

Needless to say (I think), command line switches should not be inside the quotes, as the example shows.
« Last Edit: September 20, 2010, 04:08 PM by daddydave »

daddydave

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 867
  • test
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Missing Features?
« Reply #61 on: September 21, 2010, 03:47 PM »
I wonder if it is too early for a poll of what the most important missing feature of TaskDaddy...

- support recurring tasks
- support more built-in task fields
- support custom task fields
- support merging a command line with tasks from a file, e.g., taskdaddy "@@Errand Buy _ from Wal-mart" /f groceries.txt
- support for Lightning addon for Thunderbird
- a companion program CalendarDaddy
- a pop-up notification confirming the task has been added to Outlook
- ability to customize reminder time
- ability to mark a task as complete
- support user friendly dates such as #tomorrow or #+3 (for three days from now)
- support spaces in categories
- user specifiable special characters to prevent conflicts
« Last Edit: September 22, 2010, 07:09 AM by daddydave »

daddydave

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 867
  • test
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #62 on: September 22, 2010, 04:25 AM »
EDITED for clarity a few times

@Stuff New stuff 2 #01/11/2010 @the stuff : hupla

DeVamp: You say you find it strange that the delimiter : does not appear in the output. I disagree. To me it is strange that you would expect the delimiter to appear in the output. It is strange to expect the colon at the beginning of a word to sometimes act as a delimiter and sometimes not.

Perhaps the real problem is twofold:

(1) Problem 1: That the colon was chosen to be a special character. Say for example, I had chosen semicolon to signal the task body instead of colon. Then you would be able to say

@Stuff New stuff 2 #01/11/2010 @the ;stuff : hupla

or, with task body deduction, you could still leave the semicolon out.

@Stuff New stuff 2 #01/11/2010 @the stuff : hupla

The problem is, if I had used a semicolon, it is just as likely that someone out there is using the semicolon the way you are using the colon. And someone is using the ~ character. So the way out of this seems to be to allow the user to specify their own delimiter somehow.

This is an inherent problem with using special characters. Compare for example Quick Outlook Task which uses extensive command line switches instead of special characters. Honestly, in spite of the fact that jpijper is a DonatonCoder member (long absent it seems unfortunately), I never knew this program existed before I started creating TaskDaddy. Note that he advertises it as a "FARR alias" but can be used from the command line without far as well. The problem of special characters will only get worse as features are added to TaskDaddy over time.

(2) Problem 2: Maybe task body deduction itself is a bad decision I made. I don't recall any other program that parses that way.

Maybe I should have simply required the colon to introduce the task body:

@Stuff New stuff 2 #01/11/2010 @the :stuff : hupla

For this to work, I think I would still have to require all subsequent trigger characters to be ignored, which means I would still have a problem with initial colon meaning trigger sometimes and included as regular text sometimes.
« Last Edit: September 22, 2010, 07:09 AM by daddydave »

DeVamp

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 122
  • Let the coding begin :-)
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #63 on: September 22, 2010, 04:30 AM »
Daddydave,

Did you get my PM with the link?

daddydave

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 867
  • test
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #64 on: September 22, 2010, 05:54 AM »
Daddydave,

Did you get my PM with the link?

Yes, and I ran it. I doubt I will integrate it into my existing code. My current code is like a desk, it is messy but I know where everything is. Plus lately every new line of code I add introduces a new bug. Plus, it is a section of code that I have investing a lot of testing and bug fixes in, I am not ready to begin that cycle again.
« Last Edit: September 22, 2010, 05:58 AM by daddydave »

jpijper

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 90
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #65 on: September 22, 2010, 07:11 AM »
Hi DaddyDave,

I just discovered TaskDaddy and wanted to point you to the QuickOutlookTask utility I wrote a couple of years back. Then I saw in one of your comments that you already found it  :D.

I'm going to check out TaskDaddy and let you know what I think. Always interesting to see how the same idea gets implemented by a completely different person ;)

Keep up the  :Thmbsup: good work!
Jan Roelof
« Last Edit: September 22, 2010, 08:03 AM by jpijper »

DeVamp

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 122
  • Let the coding begin :-)
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #66 on: September 22, 2010, 08:11 AM »
Yes, and I ran it. I doubt I will integrate it into my existing code. My current code is like a desk, it is messy but I know where everything is. Plus lately every new line of code I add introduces a new bug. Plus, it is a section of code that I have investing a lot of testing and bug fixes in, I am not ready to begin that cycle again.
Ofcoure, that logic.
But I made it to implement my idea of logic of subject and body.
I thought it would made it easier to explain how exactly I had it in mind.

daddydave

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 867
  • test
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #67 on: September 22, 2010, 08:45 AM »
Yes, and I ran it. I doubt I will integrate it into my existing code. My current code is like a desk, it is messy but I know where everything is. Plus lately every new line of code I add introduces a new bug. Plus, it is a section of code that I have investing a lot of testing and bug fixes in, I am not ready to begin that cycle again.
Ofcoure, that logic.
But I made it to implement my idea of logic of subject and body.
I thought it would made it easier to explain how exactly I had it in mind.

Oh, I see.   Actually you explained very clearly the first time and reminded me of how I need to avoid polluting the task spec with too many special characters, so I thank you for that. :Thmbsup:

daddydave

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 867
  • test
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #68 on: September 22, 2010, 09:39 AM »
Hi DaddyDave,

I just discovered TaskDaddy and wanted to point you to the QuickOutlookTask utility I wrote a couple of years back. Then I saw in one of your comments that you already found it  :D.

I'm going to check out TaskDaddy and let you know what I think. Always interesting to see how the same idea gets implemented by a completely different person ;)

Keep up the  :Thmbsup: good work!
Jan Roelof

Welcome back! And I look forward to your brutally honest feedback! I find it very ironic that I never thought to look within DonationCoder to find something similar, though I Googled like crazy to find something like TaskDaddy, couldn't really find something that hadn't either gone commercial, was missing key features like categories, or pointed to a dead link.
« Last Edit: September 22, 2010, 09:42 AM by daddydave »

daddydave

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 867
  • test
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #69 on: September 22, 2010, 11:23 AM »
jpijper:
My first stop when looking for Outlook tools is always Slipstick, specifically the add-ins page. I think you should give Sue a link to it, if she posts it there, I think more people will know about it. I plan on doing the same for TaskDaddy a little later. Notice there are lot of links in the Tasks section, but when you check them out, you see a lot of them are out of date. And I would suggest letting people know you can use it from the command line as well as FARR.

I can picture Lifehacker or the How To Geek doing a post on it as well.

« Last Edit: September 22, 2010, 11:36 AM by daddydave »

jpijper

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 90
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #70 on: September 22, 2010, 01:32 PM »
jpijper:
My first stop when looking for Outlook tools is always Slipstick, specifically the add-ins page. I think you should give Sue a link to it, if she posts it there, I think more people will know about it. I plan on doing the same for TaskDaddy a little later. Notice there are lot of links in the Tasks section, but when you check them out, you see a lot of them are out of date. And I would suggest letting people know you can use it from the command line as well as FARR.

I can picture Lifehacker or the How To Geek doing a post on it as well.


Thanks for the tip! I'll check it out, not a bad idea. I know I use it all the time, so this small utility has served me incredibly well, and other might benefit also, but you're right, they have to know it exists first;)

Jan Roelof

jpijper

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 90
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #71 on: September 22, 2010, 03:09 PM »
By the way, DaddyDave, I don't know if you use OneNote at all, but I have recently written a similar utility to quickly create a OneNote note. See https://www.donation...ex.php?topic=23622.0.

Jan Roelof

daddydave

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 867
  • test
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #72 on: October 20, 2010, 07:23 AM »
Due to end of year crunch, I am not much motivated to add stuff to it, but I am thinking about it a lot. I do most of my programming away from the computer anyway ;)

To support future features, I think I need to test for not only the first character but the second as well. If it is a double quote then we have a string that can have whitespace in it. This would have several important benefits. I could say:

@"Waiting For" - supporting categories with spaces
#"next Friday" - supporting due dates with spaces still no luck in finding a document with all the Outlook "shortcuts" for due dates btw
:"task bodies can have spaces already" - no known benefit that I can think of

I think this would work best from the GUI, not the command line. The command line parser would probably treat "Waiting For" as a single argument and strip off the quotes. From the command line, I think you would be able to double the quotes and make it work, but I haven't tried it.

Human language shortcuts leans me toward some kind of localization, which makes me think I should start the process of rewriting it in C++ before I do any further work on it in AutoIt3.

daddydave

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 867
  • test
    • View Profile
    • Donate to Member
Re: NANY 2011 Teaser: TaskDaddy Pre Release
« Reply #73 on: December 30, 2010, 06:52 PM »
Well, I have not been super motivated to work on this for sundry reasons, and it gets so busy at the end of year, so I guess it is as finished as it is going to be for 2010. I do hope to revisit it some day, there are too many things grabbing my attention at the moment. I would love to rewrite it in C++ some day.

So like it or not, it is December 31, I dub thee...Release. I'll try to do better next time.
« Last Edit: December 31, 2010, 01:01 PM by daddydave »

steeladept

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,061
    • View Profile
    • Donate to Member
Re: NANY 2011 Release: TaskDaddy Release
« Reply #74 on: January 02, 2011, 04:49 AM »
To support future features, I think I need to test for not only the first character but the second as well. If it is a double quote then we have a string that can have whitespace in it. This would have several important benefits. I could say:

@"Waiting For" - supporting categories with spaces
#"next Friday" - supporting due dates with spaces still no luck in finding a document with all the Outlook "shortcuts" for due dates btw
:"task bodies can have spaces already" - no known benefit that I can think of

I think this is a good idea for other reasons too, though.  It makes it more transparent how things are parsed, and therefore easier for a user to create and/or read.  In other words, it just makes sense.
@ = category
# = date
: = body
" " = data
Once this is recognized as data, it is kinda like a comment - everything in between is ignored so any kind of character can be put in and utilized.  It also makes your data structures a little easier to handle as the space becomes your delimiter (unless it is between quotes) and the special character becomes your identifier.  Now that I think of it this way, programming it in Java (the only language I know with any semblance of depth) seems relatively easy to do.  Of course I bet you thought the same thing but with AutoIT when you started the project. ;D  I don't know what kind of string handling AutoIT has, but I know Java supports a rather rich set of string handling operations as does .Net languages, no doubt.  Perhaps one of those options would work better, unless you know C++ well already.