Thu April 23, 2015

The motivation of and history behind Panopticon


I have to track my time for work. The work timesheet app is … cumbersome. I heard about an app a while back that would track what you did and enter your timesheet for you. That sounded pretty cool to me!

My AHK script

Sadly, I never did track down that app (so I’m still entering my time manually), but I did write something vaguely similar in AutoHotkey, a Windows scripting language. My AHK script tracks mouse & keyboard activity, and logs active and idle time to a disk file, along with the title of the active window, every fifteen seconds. I load the file in a Vim window and set it to autoupdate. I have a long, complex search expression that highlights (some) “work” activities.

This script, rudimentary though it is, has frequently been very handy in figuring out what I did at the end of a long and busy day.

AHK script limitations

It’s okay, but it’s not great. It has many limitations and drawbacks.

  • It’s Windows-only, on a single machine.
  • It’s me only.
  • I had to jump through many hoops to get my Linux shells (in gnome-terminals exported as stand-alone X11 windows to my Windows desktop) to show their $PWD in the window title, so that my script could track my activities, or some semblance thereof, on the many remote servers I work on.
  • That search expression on my Vim window is cumbersome and not flexible enough.

So I wrote a web-app for the 2015 Gopher Gala

That project evolved into what you’re looking at now.

Leave a Reply