Tag Archives: tracker

clockwork: Easier to fudge

I’ve seen a few work time trackers for the console, but nothing recently. I spotted clockwork on a list that I was skimming and thought maybe it deserved a closer look.

clockwork is just a bash script that marks time and can generate simple reports. I hold that in a decent measure of esteem, since most of my own bash scripts are about three lines long and spew forth “Hello, world!” if I’m lucky.


A few things that make clockwork seem to stand out: It can apparently keep track of “sick days” by allowing you to feed it days you are in debt to The Man. I don’t see that it can break a day down into hours in debt, but I would guess most people don’t track “in debt” hours like that.

clockwork can also tell you how much longer you have to stay at work, and can generate a report suitable for relaying to whomever signs your checks.

clockwork also allows you to “punch in” late or “punch out” early, which might be too much of a temptation for some folks. It does make clockwork fairly easy to fudge.

As a side note, I did notice that clockwork seems to make a few assumptions, most noticeable being the caveat about an 8 1/2-hour day, and a 42 1/2-hour work week. I am familiar with that calculation, but I’ve also been in countries where eight hours was a day, and 40 a week. That seems like it might vary with culture or geography.

Not in Arch/AUR, not in Debian. And would be a trifling to package for either system, if you want an easy one to work with. 😉

wtime: The laconic task tracker

Another console timekeeper for the W section: wtime. And this one is particularly closemouthed.


wtime has about six possible options: Start, stop, target a particular task (otherwise it uses “default”), show how many seconds have elapsed since the start, and sum the time spent on the task between a start and finish date.

Aside from that, wtime has very little to say for itself.

Now I know, that as a resourceful and enterprising young Linux devotee, you see a lot more potential in wtime than just something that spits out seconds since a start marker.

And I know you’ve already come up with a solution for translating wtime’s rather clunky output to a clean hours-minutes-seconds display.

No? You haven’t? You mean you want to see my suggestion? Okay, here’s one I’m borrowing, with a tiny adjustment, from Jaidu Saikia.

kmandla@6m47421: ~/downloads/wtime$ echo - | awk -v "S=$(./wtime -c)" '{printf "%d:%d:%d",S/(60*60),S%(60*60)/60,S%60}'

awk to the rescue, it seems. 😉

If you hadn’t gleaned the info from the screenshot or the help pages, you can manage more than one task at a time. It does require you to prefix every command with the -t flag though, otherwise you’ll fall back to “default.” I see how and why this happens, but I’m sure there are better ways to handle it.

wtime is not in Arch/AUR or Debian. It’s a free-roaming program!

wtime doesn’t talk much, it’s a little cumbersome for multiple tasks and the output it gives is somewhat rudimentary. I don’t deny it works, but it has that exceptionally sparse feel, like a homework project or a tiny tool just for the author’s purposes.

With a little creativity you can get it going in a usable state, but with so many other options for time trackers and work logs, I have a feeling wtime will be quickly eclipsed. :\

worklog: Work on, work done, work sum, work today

Time-tracking software again, and this time it’s one that has been around for a while.


My first run-in with worklog was about four years ago, and it seems quite different now. Could it be that the project has changed hands, or the name has been juggled between authors?

I don’t know. I should mention though, that the web site I linked to four years ago has gone dead. Nothing to be read into that; it happens sometimes.

But worklog looks a bit different too. The screenshot I snapped way back then doesn’t look much like what I have on my screen now. I should mention that some of the options listed in the help pages trigger python errors.

Usually I would blame that on differences between python versions (those always seem to crop up among unmaintained software, whenever python gets a dot-bump) but this time it only makes me suspicious. (The python errors cropped up at work on --all for me, which I took to mean there would be some sort of interactive mode. That might be where that other screenshot came from. I honestly don’t remember. 😦 )

worklog abbreviates itself to just work when installed, and it’s a simple matter of triggering a timer with work on Project to start, and work done when you’re … done. 🙄

Aside from that, you can ask for a breakdown of the work you’ve done today with work today and get a total sum of time spent with … you guessed it: work sum. There are a few other options for switching projects and editing descriptions, but if you can handle those four, you’ll do fine with worklog.

worklog is a decent choice if your time-tracking needs are simple, and neither timebook, timetrap nor punch is of interest. And if none of these is worthy of your attention, then may I suggest … ?

timebook and timetrap: Tracking your every effort

When I say this post is a two-fer, I really mean it. I haven’t seen two programs as similar as timebook and timetrap since cplay and mcplay.

And in this case, they’re similar for the same reason: One is a rewrite of the other, in a different language. So I’ll show you timebook, which is arguably the original python time tracker, and you can imagine timetrap, changing the parts that set it apart for being written in ruby.

I am only half kidding there. Both applications install as t, and both enlist much the same commands, but just looking at their respective source packages reveals that timetrap has seen some recent attention, while timebook appears to have … well, let’s say “stalled.”

Both programs let you track your work efforts or study periods with quick jabs at the keyboard. For example …


As you can see, just t in project is enough to get the timer started, and t out punches you out. Which is an odd choice of words, considering we already looked at punch, a few months ago.

timebook has around eight or 10 possible controls, and timetrap adds a little more flair here and there, with things like natural language input and custom output formats. Neither one will take you long to adopt, and you have the added bonus of knowing that your projects are tracked down to the second.

I grazed these two applications a few years ago, but didn’t give a whole lot of attention to either. I probably should apologize for that, but aside from morbid curiosity, I really don’t have a whole lot of use for project tracking.

That always may change in the future, so should it ever befall me to work for a shrewish boss or charge clients on a down-to-the-second basis, I’ll at least know I have two options for timers. 😉

punch: Getting past my prejudices

I arrive at punch with a small sense of prejudice. I admit it.

punch describes itself as a “time-tracking add-on for todo.txt,” which you might know as a text-only to-do list manager. It’s been around for quite a while, and I don’t have anything specific to say about it until the T section.

Unfortunately, my prejudice comes from the fact that todo.txt invariably comes with the implied endorsement of lifehacker.com, which I lump into the mental category of “pop tech blog,” and therefore avoid.

(If you’re going to namedrop, at least pick something with some credibility beyond the latest rundown on tablets and how to clean your oven with vinegar and oatmeal. 😕 )

So anyway … getting back to punch, which requires todo.txt in order to work right:


And after getting todo.txt set up, and after getting past the involuntary shudder that I get from skirting lifehacker.com, and after figuring out what makes punch tick … I find that punch is actually rather cool.

It’s very straightforward. There are only about five commands, and the help flag shows you everything you need to know to work it.

punch in (number) to start the timer on a task, the number of which corresponds to the todo.txt list.

punch out when you’re done. punch report to get a rundown on how long it took to wash the cat. 😉

I have no doubts that you could get punch up and running in less than five minutes’ time. And I’ve already covered more than half of what it does.

punch is not in Debian, that I could find. It’s also about five years past its last update, I think, and the PKGBUILD in AUR is sketchy at best.

However, it’s a python script, so if you have a little bit of gumption, you should be able to get it plucked out and working.

If you’re not distracted by lifehacker’s latest reviews of magnetic glass scrubbers, that is. 😐

hefur: An exceptionally lightweight tracker

I can show a little of what hefur does, even though I can’t really show it in action.


hefur is a bittorrent tracker, written in C++. Note that it’s a tracker, not a client or a downloader.

Which is the reason I can’t say too much about it; I don’t have the setup for a real, honest-to-goodness tracker.

Doesn’t matter — I give a gold smilie to any console application written in C++. 😀

But as you can see, the daemon starts and shows a stat page when you connect to http://localhost:6969/stat. If you want a live example, I believe the author’s tracker is up at

hefur is in Arch but not Debian; I imagine that could change in the future. It doesn’t take much to build it, so if you’re feeling adventurous, get build-essential going and give it a try.

Before the Arch users get cocky, there’s a small packaging glitch that will give you errors when you try to run hefurctl.

Check this page for help on getting that fixed; hefurd will run without it, but only for the lame purpose of showing weak screenshots on some Internet back-corner thumbsucker blog. 😉