Exactly my thoughts. Many projects are more about the research, and less about the time purely spent coding. Many times, my research time > coding time, so it would be cool if WakaTime made a Chrome plugin that could track that time.
I use emacs and one org mode file per project so it tracks kind of well as long as my research produces notes.
As a proper Emacs user I also do my e-mailing there and my e-mail is in a git repository. Whenever I feel like I haven't got much done in a day I can usually verify that I it was because I spend like half a day writing e-mails instead of coding.
One of the more surprising stats I have found out about myself is that I regulary spend about 5% project time writing git commit messages.
I actually find the most value of wakatime that I can keep track of that I don't work too much on the "wrong" projects. Wakatime has helped me hold off things I should not focus on that much.
Wakatime has at least somewhat reduced my imposter syndrome tendencies because I can use it to disprove the feeling that I'm not getting things done because it tells me that I got things done even if it was not the things I originally had plan to get done.
`typeof` is useful when the binding may or may not exist at all, this is almost exclusively an issue with global variables which may not be there (toplevel APIs or libraries missing).
If the binding exists at all, you can just check for its value. And parameters always create a binding pretty much by definition.
So no, there is no reason to use `typeof` to check whether a parameter is `undefined`.
If you fear that somebody rebound the global `undefined` for some insane reason, you can use `void 0` instead.
I use "var undef;" at the top of a function and never set it to a value. Comparison with === is the same as with undefined. And it's nice for minification.
Nice to know someone else is waking up really early. I started setting my alarm 5 minutes back each day toward my goal of waking up at 4am. I started at 7am now I am at 4:40am and I'm really liking it so far; I get stuff done this way.