Here’s a script I wrote to make it very easy to clock in and out for the various projects I work on. I don’t like to have to open an application to do this, so I wrote this script with the intention of making it really fast and easy to clock in/out, describe the work I’ve done on any given day, and generate a report of all work done for a particular bill period. You can download it here:

worky.zip

Unzip the contents into a directory of your choice. The first time it runs, worky will automatically create the “companies” and “backups” directories, which is where worky stores its data. You can change these directories by editing “worky.conf”.

To get the most from this script, add worky’s install directory to your PATH by adding the following line to ~/.bash_profile (substitute [worky_dir] for the directory in which you’ve placed worky):

export PATH="$PATH:[worky_dir]"

Next, if you’re on a Mac, install Visor and set up a hot key trigger for it (I use Shift-Option Space). Also, set Terminal to start at login (under “System Preferences” > “Accounts” > “Login Items” tab). Now, to clock in, all I have to do is launch Visor with my hot-key, type “worky in xyz” - “xyz” being a previously set abbreviation for XYZ Corp. - and I’m done. Similar commands exist for clocking out (”worky out xyz”), summarizing my work done (”worky done xyz”), generating a report for this bill period (”worky bill xyz”), adding a company to the filesystem (”worky add xyz”), and more.

This project is open-sourced so feel free to modify it as you see fit, and any feedback you can provide would be great. Check out the “README.txt” file for a brief explanation of how to use worky. I’ll try to improve this manual soon.

Cheers!