Tag Archives: project

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. 😐

Bonus: Tim’s combo picture frame and clock

When you get a chance, stop by Metric Rat and take a look at Tim’s conversion of a standard-issue 333Mhz Dell Latitude CPt laptop to a dual-purpose clock and digital picture frame.

Tim gave me permission to show a couple of photos here, just to whet your appetite.

2013-03-06-metricrat-cpt 2013-03-06-metricrat-dpf6

It seems like years since I put together my own digital picture frame, out of a battered 133Mhz Pentium. Probably because it was years ago. … 🙄

Tim went the extra mile though and did it all in the framebuffer — something I never tried.

Also never thought to splice the clock with the image frame, and Tim solves the issue of making tty-clock, screen and the image display program work together … in a very clever way.

Best of all, it looks like Tim has automated a lot of the startup process, so I’m guessing the whole business comes to life at the press of the power button.

If you have the time and interest, something like this is a clever way to use an old computer.

I know seeing something like this makes me want to build another one. You’d think I would have another old machine lying around here, eligible for such a conversion. … 😐