I was working in a little company.

No timekeeping system in place, but I'd been burned before by a little company deciding it wanted to know all our unrecorded-because-we-are-on-salary hours for the last year, so I put together a little one on my own. As a startup/shutdown macro on the editor I was using for source code. Using AUTOEXEC.BAT would have been awkward because DOS doesn't know it already booted up today. And really, do you WANT a record of how many times you booted? Brief was a freaking awesome coding environment for its time. Hell, half the time it was easier to write a macro to write C code than it was to write C directly. Anyway, I estimated the time it took for me to get from hanging up my coat to an open code window and the macro subtracted that from my time-in, and then added shutdown time to my time-out. And threw in the filename of the code I was working on at the start end end of day. Coded it and forgot about it.

A couple of years later, that log saved me quite a few hours of stress. Sure, there were times when I was in all-day meetings and such that I needed to go back over, but my co-workers were still trying to reconstruct their time while I was on to the next thing.