

"t-" : A less-than-minimal task list "manager" - RiderOfGiraffes
http://www.penzba.co.uk/t-/t-.html?HN1

======
RiderOfGiraffes
To answer some of the comments made already, and to preempt others, I largely
hacked "t-" together because I wanted to see if "t" would be worth bothering
with. It seemed little better than just having a text file and so I didn't
really see the point. But equally (I thought) I could be wrong.

But "t" didn't run on my very old, stick-it-in-the-corner-and-occasionally-
play machine (which only has Python 2.2.1) so I spent a happy hour putting
this together, more-or-less at random.

I'm finding it's helping, but maybe that will only be till the novelty wears
off.

~~~
RBerenguel
I think this would suit a Nanonote (Qi Hardware's pocket computer), to use for
task management. I use emacs' org mode in it, but the time it takes to boot
(15 seconds)+opening emacs (I didn't check, but probably as long) make it too
cumbersome. When I have it connected for downloading things I'll try t- (I
have debian in it).

Thanks for sharing it, these one-hour happy projects are the most fun to read
and hack

~~~
RiderOfGiraffes
Cool - let me know how you get on, and whether I can help.

~~~
RBerenguel
Got it working without any problems after adding the "warnings" suggestion
above. It is slightly slow (well, it is python and the Nanonote only has 32Mb
RAM, taskwarrior is snappier, though, but that's what you get with C, I
guess).

I found an odd thing: I added twice a task with the same name, and the random
number is the same, i.e. t- test -> 098f test, doing it again results in 098f
test twice. I guess the "random" number is just some hash applied to the
string, but this means that let's say, if I put three "do the laundry" (3
washmachines, for example), when I remove them all three will be deleted at
once.

~~~
RiderOfGiraffes
Yes, the "random" string is a hash of the string, but no, removing one does
not remove all. It only deletes one instance of the item. A subsequent "-f"
will remove the next, and so on. I specifically had this usage case in mind,
and I do that myself.

~~~
RBerenguel
Great then!

------
sant0sk1
My task management solution is similarly minimal, consisting of just 2 bash
functions that operate on a text file. The twist with mine is that I embed the
list on my desktop to increase awareness of things left to do.

More here: <http://blog.jerodsanto.net/2010/12/minimally-awesome-todos/>

~~~
asb
I like it. The following todone definition will add a strikethrough to lines
marked as done rather than deleting them (your terminal emulator must support
the relevant control code to display it properly).

    
    
        function todone() { sed -i -e "/$*/s/.*/\o033[9m&\o033[0m/" $TODO; }
    

edit: gnome-terminal supports this, but it seems xterm and putty do not

------
randallsquared
There's no point in telling people to make it executable in your instructions,
given that it needs all the extra arguments in the alias.

Also, putting these two lines before your import will make it run without
complaint on Python 2.6.x:

    
    
        import warnings
        warnings.filterwarnings('ignore', 'the md5 module is deprecated')

~~~
RiderOfGiraffes
Cool - done both of those. Thanks.

------
Groxx
I don't see a difference between that and t, aside from -e and --delete-if-
empty. Am I missing something? Or does t not have sort-friendly output? (if
so, t- all the way, that's a big bonus)

<http://stevelosh.com/projects/t/>

~~~
buster
I don't see a difference between that and a plain textfile..

~~~
Groxx
Plain text files you have to select an editor to open it in, modify it, and
save it. More steps than necessary, a command line interface really is ideal
for something super-simple like this. Though it could be made as / might just
be a handful of bash scripts wrapping around `cat`, not everyone has the know-
how or desire to make such a thing, but many can _use_ it.

~~~
buster
But i have to open a terminal to use t. I argue that using vim is more
efficient then t:

    
    
      - delete a task 'dd' -> two keystrokes, no need to remember some arbitrary id
      - select a task 'gg' -> go to line number
      - add new task 'o' -> one keystroke
      - add a bash alias 't' for "vim ~/.tasks" and you have the power of vim and still need fewer keystrokes to manage tasks ;)
    

Still, why i would use such a tool is far beyond me, honestly. I can
understand using some advanced taskmanagers with GUI or a textfile, but i
don't understand the benefits of t ;)

~~~
RiderOfGiraffes
You don't always have a terminal open? I find that odd. Personally I _always_
have a terminal open - it's where I do most of my work - so to add a task it's
just typing it in, preceeded by "t-". I don't have to remember arbitrary IDs,
they are listed.

But you're convinced it's of no value to you, and that's cool. Don't use it.

But if you haven't tried it, can you _really_ be sure?

~~~
buster
Actually i always have several terminals and several desktops open. I think my
workflow would be to open a terminal on the "PIM" desktop and have vim running
there.

Anyway, you are right, i haven't tried it, and i probably won't because my
workflow and taskmanagement works different (and already works for me).

Everyone should use what suits him best.

~~~
RiderOfGiraffes

        my workflow and taskmanagement works different
        (and already works for me).  Everyone should
        use what suits him best.
    

Absolutely. This is just another option for those that aren't yet happy with
what they do or have.

------
cturner
Something I wrote recently: a repl that keeps track of things I'd like to
spend five minutes a day on. sqlite3 behind it. When I type 'run' it lists the
tasks in random order. For each, I can say yes or no, and if yes, leave a
note. At some time in the future I'll be able to write a tool to see the log
being kept in sqlite3.

~~~
RiderOfGiraffes
Care to make it available? Don't even bother to clean it up or make it run on
other platforms, just show us what it does, and make a copy available for
download. I'm sure I'm not the only one who'd like to see it.

~~~
cturner
Thanks for your interest.

My home internet is down, so I don't have the latest version handy. This shows
I should keep things in github.

I'll post an older version from my laptop here now, and follow up later with
the latest if I remember.

<http://pastebin.com/bxt7RLX5>

This is missing key functionality:

\- 'run' command which spoon feeds you a random selection of the tasks

However, you can start it, and see the schema, and that direction it's headed
in.

~~~
RiderOfGiraffes
Thanks for that - an interesting take on the task/problem/idea. I hadn't
thought of a REPL ... you've made me think again. I don't think I'll do it,
but I've got another idea in mind.

~~~
cturner
Here's the most recent version, which supports 'run'.

<http://pastebin.com/PbDZesWp>

------
rnadna
I modified slightly the suggestion for bash prompt, to read as follows (the
'git' stuff is pretty standard):

    
    
        function count_tasks {
        ~/bin/t | wc -l | sed -e's/ *//' 2> /dev/null | sed -e s/0//'
        }
        export PS1="\h:\W\$(parse_git_branch)\$(count_tasks) $ "

------
Newky
For my task management I used a perl script which appends comments to the
bottom of the script as to do items.

i.e script and to do list are one and the same.

------
Bjoern
Here is yet another solution for this kind of problem.

Dev-Todo <http://swapoff.org/DevTodo>

If you use e.g. zsh then maybe you also like this for your rc file.

<http://pastie.org/1585888>

------
beoba
<http://taskwarrior.org/>

~~~
RiderOfGiraffes
You seem to have missed the point. As it says in the documentation for t:

    
    
        If you need anything beyond the basics
        you might want to look at todo.txt or
        TaskWarrior instead. They’re great tools
        with lots of bells and whistles.
    

In contrast, t (and therefore t-) does almost nothing. Instead, to make your
task list prettier, do some work!

[http://stevelosh.com/projects/t/#it-does-the-simplest-
thing-...](http://stevelosh.com/projects/t/#it-does-the-simplest-thing-that-
could-possibly-work)

~~~
beoba
Not at all. Those "bells and whistles" you decry have negligible impact its
ease of use, as it's been designed such that the extras (due dates,
priorities, projects, etc) are only there if/when you actually want to use
them.

Otherwise it's just "task add something", "task list", "task done something".

And if you do find yourself wanting to use those "bells and whistles", they're
just a man page away.

~~~
RiderOfGiraffes
Having tried, I can't make it build and run on SuSE 8.1. Having read the page,
yes, if all I want is a list of tasks, no doubt TaskWarrior and do it. I don't
think it's a bad tool, not at all.

It just doesn't look like what I want. I like being able to just go in and
edit the task list. I like being able to use the Unix philosophy and have
sorting, prioritising, selecting, and counting in a pipeline.

I don't want much, and t- gives me what I want.

