If both your work and your procrastination are computer-based (and isn’t that a concise description of all my problems!), Beeminder plus TagTime looks like a pretty promising combination. Beeminder keeps track of personal goal-related data for you, and TagTime is a random sampling-based way of seeing how you spend your computer time. They’re put out by (at least some of) the same people, and TagTime can automatically send your data to the relevant Beeminder graph.
NB: TagTime is only available in a developer version right now, which means that I haven’t tried it because I don’t know how to clone a git repository (not a skill much needed among musicologists). So this is just going from the description on their website of how it works. They say it will be available in a user-friendly version eventually. Beeminder, on the other hand, I’ve been using for a few things, and it’s cool.
And, yes, TagTime+Beeminder is an amazing combination, IMHO. We’d love to get a friendlier version of TagTime out the door. There is an Android app that Bethany wrote that’s friendlier than the desktop version, but I think there’s a lot less value for it on a phone than on your main work computer.
Interestingly I wrote something very similar to tagtime a number of years ago, and am still using it. I don’t do random sampling (didn’t think of it at the time), but at 15 minute intervals. I’ve got short cuts and defaults to remember the last thing I was working on, automatic (and manual) time division when I’ve worked on multiple projects in the interval. Over the last year, I’ve gotten it the point where it automatically fills in timesheets for me. Mine too is Perl.
Of course, this sort of thing only works as long as you’re honest about what you’re working on. Sometimes I’m very good about being honest when I’ve gone off-task, sometimes less so. But it’s easy to go back through my logs and find out how much time I’ve wasted when I intended to be working.
Ooh, you should check out tagtime on github—http://tagti.me—and see if we can join forces on this. I think it’s important to have Poisson-distributed sampling because otherwise you can anticipate the next ping and insert a bias into the tracking (even if you’re trying to be perfectly honest—in fact, you might try too hard and overcompensate, inserting the opposite bias). If the pings are Poisson then that’s impossible.
The original reason for the 15 minutes sampling was due to how we do billing, but I’ve never tried to “game” it, and if I’m distracted enough to be able to anticipate the next ping, there is something seriously wrong with me since I’m clearly not focused at all. :) If I work on two projects during an interval, and am not sure (roughly) how I split my time, I’ll split it even. It’s worked out pretty well.
I’ll take a look at tagtime at some point next week. I’d guess that there’s a way to tune lambda based on the minimum feature size you’re trying to capture, right? It’s been a while since I’ve dealt much with Poisson distributions, and never had to generate them.
If both your work and your procrastination are computer-based (and isn’t that a concise description of all my problems!), Beeminder plus TagTime looks like a pretty promising combination. Beeminder keeps track of personal goal-related data for you, and TagTime is a random sampling-based way of seeing how you spend your computer time. They’re put out by (at least some of) the same people, and TagTime can automatically send your data to the relevant Beeminder graph.
NB: TagTime is only available in a developer version right now, which means that I haven’t tried it because I don’t know how to clone a git repository (not a skill much needed among musicologists). So this is just going from the description on their website of how it works. They say it will be available in a user-friendly version eventually. Beeminder, on the other hand, I’ve been using for a few things, and it’s cool.
Thanks for the plug for Beeminder and TagTime! They are indeed by exactly the same people, me and Bethany Soule.
In case anyone missed our big pre-launch thing here on LessWrong: http://lesswrong.com/lw/7z1/antiakrasia_tool_like_stickkcom_for_data_nerds/
And, yes, TagTime+Beeminder is an amazing combination, IMHO. We’d love to get a friendlier version of TagTime out the door. There is an Android app that Bethany wrote that’s friendlier than the desktop version, but I think there’s a lot less value for it on a phone than on your main work computer.
Interestingly I wrote something very similar to tagtime a number of years ago, and am still using it. I don’t do random sampling (didn’t think of it at the time), but at 15 minute intervals. I’ve got short cuts and defaults to remember the last thing I was working on, automatic (and manual) time division when I’ve worked on multiple projects in the interval. Over the last year, I’ve gotten it the point where it automatically fills in timesheets for me. Mine too is Perl.
Of course, this sort of thing only works as long as you’re honest about what you’re working on. Sometimes I’m very good about being honest when I’ve gone off-task, sometimes less so. But it’s easy to go back through my logs and find out how much time I’ve wasted when I intended to be working.
Ooh, you should check out tagtime on github—http://tagti.me—and see if we can join forces on this. I think it’s important to have Poisson-distributed sampling because otherwise you can anticipate the next ping and insert a bias into the tracking (even if you’re trying to be perfectly honest—in fact, you might try too hard and overcompensate, inserting the opposite bias). If the pings are Poisson then that’s impossible.
The original reason for the 15 minutes sampling was due to how we do billing, but I’ve never tried to “game” it, and if I’m distracted enough to be able to anticipate the next ping, there is something seriously wrong with me since I’m clearly not focused at all. :) If I work on two projects during an interval, and am not sure (roughly) how I split my time, I’ll split it even. It’s worked out pretty well.
I’ll take a look at tagtime at some point next week. I’d guess that there’s a way to tune lambda based on the minimum feature size you’re trying to capture, right? It’s been a while since I’ve dealt much with Poisson distributions, and never had to generate them.