Troubleshooters.Com Presents

The tslips
GPL Project

Copyright (C) 2002-2004 by Steve Litt

There is no warranty for anything contained in the logeval distribution or documentation or its web pages, to the extent permitted by applicable law.  Except when otherwise stated in writing the copyright holders and/or other parties provide the program, documentation and web pages "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.  The entire risk as to the quality and performance of the program is with you.  Should the program, documentation or web pages prove defective, you assume the cost of all necessary servicing, repair or  correction.

tslips is a program to record client/task times for billing purposes. It works on UNIX systems and UNIX workalikes. Timekeeping is done in realtime using the computer's clock when possible, but timing can be done manually whan you forget to do it in real time.


Project charter

We Linux people need a way to record our time for billing and time control. We need it simple, inexpensive, versatile, and we need the source code. The tslips software accomplishes these objectives. Tslips is intended to be single user.

Being GPL free software, it's inexpensive (zero cost, in fact). It's very simple, basically recording all time information in a single, sequential file with alternating BEGIN and END records. It's versatile because the data format invites easy parsing for reporting and billing programs. The fact that it's GPL means you'll always have the source code, meaning your data will always be accessible.

These are all powerful advantages over typical commercial timekeeping programs, which are typically moderate to high cost, complex and featureful, difficult or impossible to customize beyond customizations envisioned by their authors, and lacking source code.

Like any quick and simple program, tslips sacrifices some features available in its costlier competitors:
The tslips program is a simple command whose only user interface are its arguments.

Project specifications

This program consists of the following files:

Finish the current task and start the next, using the system time if possible, otherwise offering the ability to manually enter times. Included with the distribution.


This is the data file created by the program. It is a list of consecutive tasks, each with a start time and end time. To make lines shorter (and therefore more human readable), epoch second timestamps are recorded in hexidecimal. The following is part of the file:
409241ab::BEGIN:: 2004/04/30 08:08:11:: Email:: Checking/responding to email
409241ab::END :: 2004/04/30 08:25:03:: 0:16:52:: 1012

4092459f::BEGIN:: 2004/04/30 08:25:03:: Personal:: Took the kids to school
4092459f::END :: 2004/04/30 08:57:22:: 0:32:19:: 1939

40924d32::BEGIN:: 2004/04/30 08:57:22:: Personal:: made breakfast
40924d32::END :: 2004/04/30 08:59:58:: 0:02:36:: 156

40924dce::BEGIN:: 2004/04/30 08:59:58:: Programming timekeeping:: GPL and make website for tslips

The final item, the one without an END line, is the current task. Each other task has a BEGIN line followed by its END line. Here are the line layouts:

BEGIN line record layout
END line record layout
  • Hexidecimal representation of start time since epoch
  • Human readable start date/time
  • Client
  • Task description
  • Hexidecimal representation of end time since epoch
  • END
  • Human readable end date/time
  • Ellapsed time HH:MM:SS
  • Ellapsed time, seconds

The zts.txt file is created by the program. If creation fails, use the touch command to create an empty one.

Summarization/Reporting/Billing Programs

This is unimplemented at this time. Programs must be written to parse the data file created by in order to create reports and bills. Given the simplicity of the zts.txt file, this should be an easy task for whomever wants to undertake it.


The README file for the software.


Your copy of the GNU General Public License (GPL), the license under which this software is issued.

Download links for the project sources.

Maintainers list

Needed Programming and Documentation Tasks

Here are some  items on the todo list:

How to Participate

Currently this project isn't mature enough for multiple programmers. If you make what you consider a valuable change to the program, please feel free to email me describing the change.

Instructions on how to join the project mailing list

No mailing list currently.

FAQ (Frequently Asked Questions) list.

None currently.

HTMLized versions of the project documentation

None currently.

Links to related projects.


Dedication: We Stand On Their Shoulders

Larry originated the language that made this an easy 1 day project, Linus originated the OS that it runs on, and Richard orginated the license that made all the rest possible.


To be annonced

Top of Page