Readme file for 'Timmie' timekeeping tool, version 2.1 ====================================================== created: 1997-10-02 Oliver Gramberg last change: 1997-111-0 Oliver Gramberg Timmie is a program that lets you record the time you spend on different projects. It shows a window with some buttons on top (described below), the current date and time, and the total time worked today (plus any corrections you made), and a list of projects, each with the time spent on it. If you click on one of the projects in the list, it becomes selected, and Timmie starts counting time on it. Buttons ------- "Edit": Lets you rename a project, delete a project from the list, or change the time value recorded for that project. "Add": Lets you add a new project, either as the first (top of the list) or right after the currently selected one. "Day++" and "Day--": Recalls the time values recorded for the day after and before the currently displayed day, resp. This lets you edit yesterday's data, if you forgot to stop Timmie when you went home, for example. You can tell you are not looking at today's data when there is no time of the day shown with the date. "Quit" makes Timmie save all data and exit. "Pause" will interrupt the counting of time until pressed again or selecting a (possibly different) project from the list. "-30", "-5", ... "+30": Adds this amount of time (in minutes) to the currently selected project, if any. Detailed logging ---------------- When you double-click on a project, a window opens where you can log events associated with that project in a text area. On top, there's a line showing the names of the projects logged in this window. You can add to and remove from this list using the buttons "Add" and "Remove", resp., at the bottom of the window. Pressing the "Time" button will append a new line to the text area and insert a time stamp there. Now, you can enter data. Currently, Timmie supports automatic entry of phase start/end data in standard evalpsp format, in particular using Timmie project names as evalpsp phase names. evalpsp is a tool that produces detailed evaluations of time/error protocols according to PSP conventions. It can be found on this server, too. When you first open the window, Timmie inserts a line containing a time stamp, a "b" for "begin phase", and the name of the phase. When you close the window, Timmie inserts line containing a time stamp, and the word "end", meaning: end whatever phase you were currently in. When logging events for a set of projects, and you press the "Pause" button in the main window, Timmie inserts a line containing a time stamp, and a "bi" for "begin interrupt". Timmie will end the interrupt as soon as you press the "Pause" button again, by inserting a line containing a time stamp, and an "ei" for "end interrupt". When logging events for a set of projects, and you select a project NOT in that set in the Timmie main window, Timmie inserts a line containing a time stamp, a "bi " for "begin interrupt", and the name of the phase you switched to. Timmie will end the interrupt as soon as you reselect the formerly selected project, by inserting a line containing a time stamp, an "ei" for "end interrupt", and the name of the interrupting phase. When logging events for a set of projects, and you select in the Timmie main window a project from that set that is different from the previously selected project, Timmie inserts two lines: One line containing a time stamp, an "e" for "end phase", and the name of the phase that was selected before, and a line containing a time stamp, a "b" for "begin phase", and the name of the phase you switched to. (The same happens the other way round if you switch back to the project previously selected.) Something similar happens if there was an interrupt logged for the previously selected project before. The "Save" button will save the data, and the "Close" button will save the data and close the window. To the lower right, there's a text field where you can enter a name of a file in which to save the data logged. The data of all projects logged in the same window will be written to that file. Installation ------------ If you want to install just the Bytecode files, download the tar file and unpack it to some appropriate directory. This will produce a directory named "timmie", with all the Bytecode files in it. Now, set the "CLASSPATH" environment variable to contain the directory where you unpacked the tar and where the "timmie" directory is. Both the Java compiler and the interpreter use the value of this environment variable to find source files and Bytecode files needed. To run Timmie, cd to a directory where you want the log files stored, and say "java timmie.Timmie". This makes the Java interpreter look in all the directories mentioned in the CLASSPATH variable - especially the one you added just before - for the first directory named "timmie" and, if found, look in that directory for a file named "Timmie.class". If it finds that one, it will run it. Got it? If you want to install the source files, just do the same as before: put them in a directory you choose, then add that directory to the CLASSPATH variable. Now, if, e.g., "/bin/classes" is part of your CLASSPATH, you can say "javac /bin/classes/timmie/Timmie.java", and the compiler will locate the sources, compile them, and store the Bytecode files in the same directory. Since you have already set the CLASSPATH, you can immediately start Timmie the way described above. Configuration ------------- Timmie looks for some config files in the current directory. These are a file, named "projectlist", containing the names of your projects, and a file, named "logfilelist", containing the names of the files where to store the detailed log messages for each project. If these files do not exist, Timmie will start up with an empty project list, and create these files as necessary. So there's no need for you to mess with these files. The time worked on the projects will be stored in one file for each day, also in the current directory. So you should have a separate directory only for Timmie data. All data will automatically be written to the corresponding files every 10 minutes. Once you have a set of daily log files, you may want to evaluate them, to find out how much time you spent on a project spread over several days. There's another tool, named accumtimmie, which does just this. It can be found somewhere around here, and it's described in its own readme file.