door in the open



Here is a cli tool I made that I use every day: stl. When I switch my working mode on or off, I tell stl so. And then I can ask stl how long have I worked. Nothing fancy but quite useful if you do not have a fixed working timetable.

A crash course on stl would look like that:

1. stl start lumberjacking and start singing;
2. stl stop when you are out of breath or you start feeling weird;
3. stl show -d to indulge in time well-spent today;
4. stl show -d last to do the same tomorrow.

The last command is reasonably powerful, allowing you to get reports for specific days, weeks, months, and arbitrary time spans. For more info, call for --help or check the README.

Some non-obvious details:

→ The data goes in plaintext tsv files, one such file per month, grouped in yearly directories. No problems vimming around or making a backup in a git repo. Before coming up with stl I was already using text files for time logging and it was natural to build the tool around that (but yes, I was thinking about sqlite at one point).

→ The smallest unit recorded in the actual log is the minute. I do not think that seconds are very useful when estimating how long has one worked on a particular task. In fact, I am thinking about a setting to count time in chunks of 10 or 15 minutes each.

The small stl will not fight your Angst for you, but it is very likely that it will help.