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.
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 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)
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.
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 ;)
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?
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).
Apart from those options, yes. It keeps finished tasks in a limbo so you can feel smug about things you've done, and it keeps a (one version only) backup in case it didn't do what you expected.
(It feels wrong describing extra features. I wanted fewer, not more)
It also runs without requiring a recent version of Python. It doesn't use "with", "OptParse", or the ternary "if". Therefore it runs on my really old machine sitting in the corner that I can't be bothered upgrading. That's where I do a lot of "Hmm - I'll just try this" hacking.
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.
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
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.
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.
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.
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.
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.
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.
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
33 comments
[ 5.8 ms ] story [ 269 ms ] threadhttp://stevelosh.com/projects/t/#it-does-the-simplest-thing-...
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.
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.
http://stevelosh.com/projects/t/
<fx: shrug> YMMV.
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?
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.
(It feels wrong describing extra features. I wanted fewer, not more)
It also runs without requiring a recent version of Python. It doesn't use "with", "OptParse", or the ternary "if". Therefore it runs on my really old machine sitting in the corner that I can't be bothered upgrading. That's where I do a lot of "Hmm - I'll just try this" hacking.
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.
Thanks for sharing it, these one-hour happy projects are the most fun to read and hack
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.
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.
http://pastebin.com/PbDZesWp
More here: http://blog.jerodsanto.net/2010/12/minimally-awesome-todos/
i.e script and to do list are one and the same.
Also, putting these two lines before your import will make it run without complaint on Python 2.6.x:
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