Saturday, May 15, 2010

Using rachota on multiple computers

Earlier this week, I decided to start tracking my work hours to get a better sense of where my time goes. After playing around with a bunch of options, I settled on Rachota, an open-source time-tracking program written in java. So far so good.

The next problem was to figure out a way to use the program on any of several computers. In a given week, I put in substantial hours on my laptop, home desktop, campus computer labs, and the complex systems cluster. These machines run a smorgaspord of linux and windows, and I only have administrative rights to install software on some of them.

Here are the options I looked at:
1. dropbox: Two friends recommended this storage synchronization program to me. Problem: I would have to install it on every computer I use. This might have been workable, but I didn't want to go through the hassle of going through the department and university IT groups.

2. Deploy online: Rachota is java, right? So I should be able to embed it in a web page and run remotely. Sadly, I'm not much of an applet programmer, so I couldn't make this work.

3. sneakernet: Install Rachota on a USB drive and take it from place to place. This probably would work, and then end suddenly one day with me losing my USB keychain (and all my time tracking logs) in an Internet cafe.

4. ssh with X window: linux has the nifty capability to shell into a remote machine and run a program there, but display it on your working computer. Unfortunately, windows doesn't support it. It's also chews up bandwidth and is frustratingly slow over wireless. However, when I'm running linux with a broadband, ssh is a nice option.

5. Download-upload: A slightly clunk, but robust solution is to zip rachota and all its logs together, and put the archive in a hidden, downloadable folder. Whenever I start a session, I can download the archive, unzip it, and run the software. When finished, I run a python script (also included in the folder) that zips everything and uploads it to the original location. This approach is a little like the svn approach to version control, but doesn't require any prior installation, other than a zip application and python.

It looks like I'm going to be able to go with a mix of 4 and 5. Thanks for all the suggestions on this little bit of lifehacking!

5 comments:

tpmotd said...

I'd suggest Slife, except it's Mac only. Of course, given your latest post, you could get two birds with one stone... I'm very happy with my MacBook, and it can run any operating system you want.

Unknown said...

Hi Abe,

thanks for your post! I am glad you like Rachota Timetracker, because I am its author. You can also launch Rachota through web as a JNLP application [1] but still you must point it to some R/W place it can load/save diary/settings files. In my opinion USB is really an ideal solution if you don't have a common HOME folder that you can share from several computers.

Hope this helps,
Jiri Kovalsky

[1] http://rachota.sourceforge.net/rachota.jnlp

Unknown said...

Another option is to use sshfs. And another option is to use some sort of source control like svn or git to keep your folder sync'd. I'm also working on this problem, and I think I'm settling on git. So when I'm at work, I just use the tool as normal, and when I'm at home wanting to plan the day's tasks, I can ssh into the work computer, commit the changes to git, then pull the changes onto my home computer. After I'm done planning, I can push the changes to the work computer.

Abe said...

Jiri, Alan - Thanks for weighing in. It's always good to get a sense for what's been tried (successfully or otherwise) in the past.

My plan is to stick with rachota and see what works out. Thanks!

Anonymous said...

...like alan suggested, i will also try it to sync with mercurial, but i think syncing the config will be enough - i'll try...

btw. thanks for the hint - actually clear :)