
Doing: command line tool for keeping track of what you’re doing and have done - ingve
http://brettterpstra.com/projects/doing/
======
judofyr
If you want something simpler:

    
    
        now() {
          echo $(date "+%Y-%m-%d %H:%M:%S") - "$@" >> $HOME/.now
        }
    

Usage:

    
    
        now "Working on Project A"
        now pause
        now continue
        now done
    

You won't get a nice report and you'll have to calculate hours yourself, but
it supports every edge case you can think of. Need to back-date an entry? Just
open the file and change the timestamp. Want to nest tasks? Just do `now $
working on sub task` and you can easily see the indentation.

~~~
jamesbritt
I wrote something like that that also writes the cwd because that made it
easier to go back and recall what project I was on if the comment didn't make
it explicit.

Aliased it to '@'.

This is something people should write for themselves because the best usage
comes from tailoring it to your own particular needs. Also, you have to
maintain it then it may not get all featured-up and bloated. Maybe. :)

------
Loic
If you are doing some consulting and tracking your time and running Linux, I
heavily recommend you Hamster:
[http://projecthamster.wordpress.com/](http://projecthamster.wordpress.com/)

It is both simple to use and efficient, everything is stored in a SQLite
database (easy to backup and extract data out of it) but anyway, the reports
are really well made and can be used to do your work reports for your
customers. I managed more than €100k for of work with it without a single loss
of data, failure or any kind of issue.

------
imglorp
Here's a stupid one. I keep getting lost what I was doing in each of 20 screen
windows. So I keep a "goal" per shell that appears in the $PS1 for each.

    
    
      goal () 
      { 
        if [ $# -gt 0 ]; then
            MYGOAL="$@";
        else
            echo Your current goal is: $MYGOAL;
        fi
      }
    

That's it. Put ($MYGOAL) in your PS1 and type "goal fix this bug" or "goal
working on that thing". No args just echos back (redundant).

------
darklajid
Cool: Really interesting command line utility to record what I'm currently
doing. I'd love that. task warrior is nice to track my tasks, but to track
what I'm doing/what I've done? So far it's not a good match.

Not for me: Uses a format of some application that I've never heard of, on OS
X which I don't own.

Since this is the first time I heard about TaskPaper: Are there alternatives
for the other two big operating systems (or at least one of them)?

~~~
jowiar
Taskpaper is as much a plaintext file format as it is a piece of software. As
an example, here's a plugin for Sublime that supports it:
[https://github.com/aziz/PlainTasks](https://github.com/aziz/PlainTasks) \-
and here are assorted plugins for other editors, as well as other pieces of
software:
[http://www.hogbaysoftware.com/wiki/TaskPaperRelatedProjects](http://www.hogbaysoftware.com/wiki/TaskPaperRelatedProjects)

~~~
dewey
Thanks for pointing me to PlainTasks, I don't really like bloated TODO apps so
I'm usually just using a text file, that one's perfect for me.

------
marsay
I will stick with emacs org-mode.

~~~
MarcScott
Me to, but I'm now tempted to implement something similar to throw TODOs into
a .org file that my agenda can pick up.

~~~
justinhj
You can do so with org capture if you're not familiar with it.

------
christiangenco
Very cool! I wrote a project a few years ago to do something similar:
[https://github.com/christiangenco/t_time_tracker](https://github.com/christiangenco/t_time_tracker)

It lets you add tasks like this:

    
    
        $ t browsing HN
        Started: browsing HN (now)
        $ t @website writing blog post
        Finished: browsing HN (0:12)
        Started: @website writing blog post (now)

~~~
bcornelissen
I tried your project and found a bug. When a task starts on one day, and
finishes on the next, the total time reported is negative.

for instance:

    
    
      23:34, task started
      00:09, task done
      expected time spent: 35 mins
      reported time spent: -24 mins
    

Aside from this bug, I really like it and plan on using it.

~~~
christiangenco
Pull requests are welcome :)

~~~
bcornelissen
I don't have particularly awesome coding skills but I'll see if I can find the
problem and come up with a solution ;)

------
pldrnt
I've been tracking my work for over a year now with a tool similar to this and
now I would not live without (I should finally package it up and ship it...)

Some ideas, you can do very nice things through bash autocompletion, for
example:

\- immediate jumping between timelines (I have hundreds, by topic-project-task
and so on)

    
    
      $ tau jump proj tau<TAB><TAB>
      /projects/taulog
      /projects/taulog/android
      /projects/taulog/appengine
      ..and so on..
    

\- autosuggest for todo lists:

    
    
      $ tau done<TAB><TAB>
      [ 1] setup JTAG probes
      [ 2] write script to control probe
      ..and so on..
    

And after you use this for a while you realize it can do more than manage log
messages and todo lists, the same interaction can be used to quickly access
bookmarks, reference material and local paths you often have to `cd` into :)

------
fnl
Nice; I'd like something like that, but with the addition of allowing me to
track the estimated vs. the real time of a job. I.e., when I start a task, I
estimate the time needed, when I finish it, it tells me the real time it took.
Ideally, I could take breaks in between, but even just having a linear task
would be great. E.g.:

    
    
      $ doing estimate 3h fixing bug 1234
      [ time passes/working ... ]
      $ doing done ["fixing bug 1234"]
      done fixing bug 1234: task took 1d5h50m longer than estimate
      $ cat ~/.plan
      2014-03-12 12:00:00 begin "fixing bug 1234" (3h)
      2014-03-13 17:50:00 done "fixing bug 1234" (1d8h50m) [+1d3h50m]
    

Does something like that already exist?

~~~
fnl
Seems I have found it, at least for OSX:

[https://github.com/pkamenarsky/atea](https://github.com/pkamenarsky/atea)

Not perfect, but as close as possible

~~~
fnl
Turns out, atea does all I need and integrates nicely into the OSX UI with an
icon in the menu bar. It does:

    
    
      - project-based task management
      - proiority ordering of tasks
      - Dropbox-based syncing of one or more task files
      - time tracking
      - comparison of real times to estimates
    

So, in the end, maybe it is actually the perfect solution, and it is free,
too.

------
runawaybottle
I found this to be one of the better apps out there for its sheer simplicity
and use of colors:

[https://itunes.apple.com/fr/app/tyme/id670592452?mt=12](https://itunes.apple.com/fr/app/tyme/id670592452?mt=12)

~~~
mattjaynes
Just bought it - thanks for the recommendation :)

For US based folks, here's the US link:
[https://itunes.apple.com/us/app/tyme/id670592452](https://itunes.apple.com/us/app/tyme/id670592452)

------
plasma
Really recommend Trello for a day to day work to do list.

You can drag cards between lists (To Do, Doing, Done) (feels nice to drag
items to the "Done" pile and build a long column), has check-lists in cards
for sub tasks, and works everywhere.

------
lnteveryday
Have you heard the good word about taskwarrior? I did not see any mention of
this cli utility in this post. I have not tried doing, but use taskwarrior on
a daily basis. It is fairly simple and allows for prioritizing tasks as well.

~~~
616c
Did they ever finish the Android client? I looked into them very briefly 2+
years ago, and I wanted something to finally get me to use a smart phone for
something other than procrastination.

I found Mirakel[0] but I do not think that was the app promised by the
original dev. Still googling after I hit submit out of curiosity.

[0]
[http://mirakel.azapps.de/taskwarrior.html](http://mirakel.azapps.de/taskwarrior.html)

~~~
jareds
I don't think the main Taskwarrior group is focusing on a specific mobile app.
With the task server now available hopefully other developers will create
mobile apps for Taskwarrior. I'd like an iOS app, while Todo.txt works ok with
dropbox and the iOS app I'd prefer Taskwarrior since i wouldn't have to use a
cron job to set up recurring tasks.

------
harel
This is an absolutely brilliant idea. I applaud you for this. I often find it
very hard to recall everything I've been doing today, and even more often I
will be bombarded with things to do 'soon' and will either open a text file to
write it down or just try to remember. This way I don't have to leave the
terminal. Class.

And by the way, I have no idea what TaskPaper is nor do I care. All I care
about is that I can jot down some memos while I'm in my little linux terminal.

------
skinnymuch
I've been meaning to try tracking what I do throughout the day and then
keeping a log of that in a journal like Day One and/or service like iDoneThis.

This looks like a great way to accomplish that. Will be trying it tonight
while I work on some stuff.

------
jstclair
Nice... Anybody using cli tools like this in conjunction with a git client-
side post-commit hook?

------
allanmacgregor
Interesting but how do you move one task from lets say later to another
section ?

~~~
ttscoff
You use TaskPaper or a text editor. Doing isn't designed for full management,
just a fast way to log.

~~~
McUsr
Hello. Thanks for sharing! I also found the BBedit plugin, so that I can edit
it from the TaskPaper link above. Here is a simple AppleScript to install it,
when you don't have administrative rights on your user account:

    
    
       do shell script "cd ~/Downloads/doing-master; gem install doing" with administrator privileges

------
justafucker
how do I run its commands without typing "doing" each time?

smth like:

doing>

------
doesnt_know
doing now updating todo file in orgmode

