Pages

2006-11-20

Tidslogger / time logger English summary I made this little script to log how much time I spend on various tasks. It's useful for:
  • keeping track of time spent on various projects
  • avoiding procrastination (it's a little bit embarrassing to log "surfed")
  • to prove to myself that I've really been working efficiently today
The last point might actually be the most interesting to many of you, considering how wasted some days feel, when I've been working all day, and it feels like I've accomplished nothing (had to rewrite everything from scratch because of some stupid detail...) The source code is located at the end of this post. It is written in norwegian, but it shouldn't be hard to translate if you know autohotkey : ) If you have comments or suggestions for improvements, then please leave a comment. Norsk Jeg laget et lite program som kan brukes til å logge hva jeg jobber med. Det dukker opp hvert 10 minutt, og spør hva jeg har jobbet med de siste 10 minuttene. Det jeg skrev inn forrige gang står i dialogboksen, så det er optimalisert for sammenhengende jobbing : ) Det jeg skriver inn blir lagret i en tekstfil sammen med dato og klokkeslett i formatet
YYYY-MM-DD;HH:MM;Teksten som ble skrevet inn;0 (betyr at brukeren trykte OK) eller 1 (betyr at dialogboksen timet ut)
Dersom jeg ikke skriver inn noe, lagrer dialogboksen det som sto sist, og lukker seg selv. Dette bidrar til å sørge for at jeg ikke bruker for mye tid på loggingen, og at dialogboksen ikke blir stående oppe lenge. Det er nydelig til flere forskjellige ting, for eksempel:
  1. å holde oversikt over hvilke prosjekter en har jobbet med
  2. å unngå utsettelsesatferd / holde seg selv litt i nakken (det er flaut å skrive inn "surfet")
  3. å bevise for seg selv at en faktisk har jobbet bra i det siste
Særlig det siste kan være aktuelt for flere av oss, når vi sitter og føler at det ikke skjer noe, selv om vi har jobbet i timesvis. Det skjer jo det også. . Kan kanskje også fortelle at verktøyet er skrevet i autohotkey, et språk som effektiv til å utvikle små skript som gjør hverdagen litt lettere. Kildekode/source code: (Du trenger autohotkey for å kjøre eller kompilere denne koden. You need autohotkey to run or compile this code.)
; ; ;Timelogger v.0.2 ; ;Dokumentasjon av filformatet som blir generert ; ;Fila inneheld fylgjande data på kvar linje: ;Dato i formatet YYYY-MM-DD ;Klokkeslett i formatet HH:MM ;Teksten som brukaren skriv inn ;0 dersom brukaren har trykt OK, 1 dersom brukaren har lete dialogen time ut. ; ; InputBox , LoggTekst, Tidsloggar, Kva har du gjort dei siste 10 minuttane?, , , , , , , 20, if ErrorLevel = 1 { MsgBox, 4, , Ynskjer du å avslutte logginga? IfMsgBox, Yes Goto, End Goto, Start } Gosub, WriteToFile Gosub, Wait Start: InputBox , LoggTekst, Tidsloggar, Kva har du gjort dei siste 10 minuttane?, , , , , , , 20,%LoggTekst% if ErrorLevel = 2 FileAppend, %A_YYYY%-%A_MM%-%A_DD%`;%A_Hour%:%A_Min%`;%LoggTekst%`;1`n, %A_MyDocuments%\tidslogg_%A_YYYY%-%A_MM%-%A_DD%.csv else if ErrorLevel = 1 { MsgBox, 4, , Ynskjer du å avslutte logginga? IfMsgBox, Yes Goto, End Goto, Start } else { ;MsgBox You pressed YES. Gosub, WriteToFile ;FileAppend, %A_YYYY%-%A_MM%-%A_DD%`;%A_Hour%:%A_Min%`;%LoggTekst%`n, %A_MyDocuments%\logg.csv } Gosub, Wait ;Sleep, 60000 ; 1 min = 60s/min x 1000ms/s = 60000ms Goto, Start Wait: Sleep, 600000 ; 10 min = 60s/min x 1000ms/s x 10 = 600000ms return WriteToFile: ;MsgBox, Debug i WriteToFile-%LoggTekst% FileAppend, %A_YYYY%-%A_MM%-%A_DD%`;%A_Hour%:%A_Min%`;%LoggTekst%`;0`n, %A_MyDocuments%\tidslogg_%A_YYYY%-%A_MM%-%A_DD%.csv return End:
Har du kommentarer eller forslag til forbedringer, så er de hjertelig velkomne!

No comments:

Post a Comment