Spencer Christensen Site Reliability Engineer

Project Hamster for the win

At my last job, End Point Corp, we tracked our time every day for everything we did. This served many purposes and was required for all employees including executives. The biggest reason is that the company is a consulting company and we need accurate time tracking in order to bill our clients correctly for time spent for them. And with many clients that everyone is working for, it is important to log 15 minutes here, 30 minutes there, and include in the log the who/what/why/problems/etc. as well.
Another reason we did this was so managers knew exactly what each team member was working on each day and would review every team members log daily. This also meant that we didn't need to have meetings just to catch up on what people are doing and to give status updates, since those are all in the daily logs.
Another benefit to time tracking is for each person to see what they are *actually* spending their time on versus what they *planned on*. This is important to realize and can help to more accurately estimate future projects and to investigate problems. It can also help motivate people to keep on task or to manage distractions better (stop checking email so often!). It can help users with their own time management. And for system administrators who are constantly interrupt driven, this can be a big issue.
At End Point we used an in-house built web app for tracking/reviewing/reporting all of our time. And not that I'm with a different company I no longer have access to that app and so have looked for some alternative. The best one by far that I have found for Linux users is Project Hamster.
Project Hamster is a personal time tracker and unfortunately not a shared one for teams. However, it is great at what it does. It is written to work with GNOME and is written in python and uses a SQLite db as its storage for all your time tracking data.
What makes it so great is that it can be so simple and easy to use that it is not a burden at all to enter/edit your time tracking entries. I highly recommend that you set a custom keyboard short-cut to launch the app. In Ubuntu, go to System Settings -> Keyboard -> Shortcuts -> Custom Shortcuts. Then Add a new shortcut and enter Name: "Hamster Time Tracker" and Command: "/usr/bin/hamster-time-tracker" and then Apply. Then click on the word Disabled for the new shortcut and press your new keyboard shortcut. For me I use Super+H.
Bingo. Now any time you want to enter or update your time hit Super+H, begin typing, save your entry and the hit ESC to close the window and return to what you are doing. Read the Help Context docs for how to efficiently enter tasks! You can do the entire process without your hands leaving the keyboard (no mouse needed), and you can be in and out in seconds. Awesome.
And I haven't even talked about the reports that you can review and customize. So cool. Check it out.
Now if only they could support running it on Macs! That would be a big win for other members of my team.