Project

logstats

0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Generates a simple HTML file based upon my custom timesheet format.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Runtime

~> 3.0.25
 Project Readme
LogStats
========

Generates a simple HTML file based upon my custom timesheet format.

I can then embed this on my OSX Dashboard to be able to see how I'm
progressing throughout the day/week/month.

It's probably not so useful to you, unless you happen to like my
worklog format.

I run the script every 5 minutes with cron so as that the HTML stays
up-to-date. The page is set to auto-refresh every 2.5 minutes.

The colours change when I have done at least 5 hours of work per day,
and 25 hours per week.

Requirements
============
 * HAML
 * tail_from_sentinel

Usage
=====

  logstats INPUTFILE.txt OUTPUTFILE.html


Worklog Format
==============

I use a text based worklog format for all my timekeeping.

This is a simple text file that sits in my Dropbox, and it symlinked to
my home. I keep it open in an editor all day so as that I can quickly jot
down when my task changes.

It works great for unexpected interruptions, as I can quickly update it
when I am back, or even while I am on the phone (only need to type the time
I answer the call).

The format looks like this :

  01Jan2011
  0900 ABC 1234567 1012
  1015 ABC 9876543 1100
  1100 ABC Deploy 1110

  03Jan
  1200 XY1 2345678 1230

Each day has a simple header in DDMMMYYYY format, where YYYY is
optional where it is the same as the record before.

Within the day, each line follows a simple format :
 * the start time (in 24hr)

 * a message, which starts with a 3-character project code (if billable).
   I usually follow this with a Pivotal Tracker Story ID, or a note
   about what I was doing.
   If it's not billable work, I might use this space to log an
   unexpected call for instance.
   This field is freeform, with the project picked up if it's there.

 * the end time (in 24hr). It's fine for this to be in the next day.
   Eg: 2330 ABC allnighter 0230

TODO
====
 * Tests!
 * Make it more customizable. Not everyone has the same thresholds that I keep.