I go thru bouts of trying really hard to be organized. I am going thru another such event and have decided to dust off my old time tracking script. It effectively is a journal of context changes that are stored in such a way that timing can be inferred from. I still like the concept but the interface was overly complex and the reporting was not able to deal well with anything more then a single day.
Thus time to open up the hood and get to hacking. I’ll save the details for another post if I really want to go down that rabbit hole, instead I would rather focus on usage.
So the key here is that the first ‘word’ is expected to be the project. Any use of : is to denote a sub project, in this case I am working on this very blog post. Like I said: simple.
So that’s great, slow clap it’s simple but how is this time tracking? Great observation, the secret sauce is that what time.pl is doing here is it is taking note of the time and then adding both a timestamp and every thing to a single log file:
So now I am writing the post, but when I am done I am going to then have some dinner. Thus when I change context, I just make a note of it.
Because each entry is stamped, we can code a report that will do the diff for each entry and the ‘next’ and infer the amount of time that was spent on it. In effect just track your context changes, and let the robot do the work for you. EXACTLY!
As a bonus, to make all of this possible you end up with a journal of everything you did in the day. For me I use this as habit tracking. Do I really spend that much time on email? Wow, I spent over an hour on coffee breaks today. Congrats, you spent more then 2 hours on personal projects!
All of this is possible by noticing when you change context and making a little note of it.
If you wanna play along the code is all up on github feel free to play along.