
Show HN: Thyme, a simple CLI to measure human time and focus - gonedo
https://text.sourcegraph.com/thyme-a-simple-cli-to-measure-human-time-and-focus-577b87337b9c
======
sscarduzio
It is unbelievable how far procrastination can go: you wrote an entire
productivity profiling tool!

------
beliu
Creator of Thyme here. I made it track my own application usage and find
possible interventions to boost my productivity. Happy to answer any questions
and hope you find it useful!

~~~
cyphar
So from my understanding, given how you've commented that it works with Xorg,
you're getting the list of everything on the screen that is currently drawing
a rectangle. Do you get some false positive issues with things like your
window manager. What about if I made the mistake of listening to the wrong
kind of music while programming (or playing YouTube in the background) --
thyme wouldn't be able to track those, right?

Also, is the name a reference to this xkcd? It's the first thing I thought of
when seeing the name. [https://xkcd.com/282/](https://xkcd.com/282/)

------
diggan
Looks like a nice project but me myself prefers Wakatime that breaks down the
time between project (basically git sources you open in your editor) rather
than all the application opens. Then I can see what project I'm spending too
much/little time at and balance myself.

Dashboard looks something like this:
[http://imgur.com/a/jdRct](http://imgur.com/a/jdRct)

------
nmstoker
Looks excellent. My immediate thought was whether it could be developed to get
one step ahead: actually flag up the "bad" behaviour when you're doing it,
rather than afterwards when it's too late

Obviously, that could sometimes be deeply annoying but there'd be plenty of
times I'd like a calm push to focus and to stop switching about!

Of course detecting that sort of behaviour effectively would be a non-trivial
task but it strikes me as pretty helpful.

------
xbryanx
I'm excited to try this out. It'll be fun to compare to some of the data I get
by using RescueTime[1].

[1] - [https://www.rescuetime.com/](https://www.rescuetime.com/)

~~~
sulam
I'm excited to try this myself because I'm kind of hoping I can ditch
RescueTime! Not that I don't like it, but it's $ and they have my data. It
feels weird to be running their agent on my systems, and I actually don't run
it on my work machines because that's a bridge too far.

------
goerz
I wrote a very bare-bones version of this a few years ago for my personal use
on MacOS, which has been running ever since:
[https://github.com/goerz/activity_logger/](https://github.com/goerz/activity_logger/)

This looks much more polished though, so it may be time for a switch!

------
vividmind
Is there a similar tool for windows?

~~~
beliu
Apologies for the lack of Windows support! I unfortunately don't have a
Windows machine, but all that's necessary to add support is to implement this
simple Go interface:
[https://sourcegraph.com/github.com/sourcegraph/thyme/-/blob/...](https://sourcegraph.com/github.com/sourcegraph/thyme/-/blob/windows.go).
I'd gladly trade a drink for a pull request (or a free t-shirt if you're not
in San Francisco)!

------
pkmishra
How do you install it on Mac OSX?

~~~
beliu
You can find instructions in the README here:
[https://github.com/sourcegraph/thyme](https://github.com/sourcegraph/thyme).
But to summarize:

0\. Install Go ([https://golang.org/doc/install?download=go1.7.darwin-
amd64.p...](https://golang.org/doc/install?download=go1.7.darwin-amd64.pkg))

1\. `go get -u github.com/sourcegraph/thyme/cmd/thyme`

2\. `thyme dep`

3\. Follow the instructions printed by `thyme dep`

~~~
mdaniel
For those on OSX, using Homebrew to install go is a far nicer experience, in
addition to making it easier to keep things up-to-date.
[http://brew.sh](http://brew.sh) then `brew install go` will move you past
step 0, although I somehow thought one had to specify a `GOPATH` in order to
use `go get`:

    
    
        $ go get -u github.com/sourcegraph/thyme/cmd/thyme
        package github.com/sourcegraph/thyme/cmd/thyme: cannot download, $GOPATH not set. For more details see: go help gopath
    

meaning there is a step 0.5 of `export
GOPATH=/some/place/with/a/lot/of/disk/space` and (again, as I understand it)
you'll want `$GOPATH/bin` in your `$PATH` or step 2 will not behave as
expected.

~~~
NickBusey
For what it's worth, I didn't need step 0.5. brew install go, go get -u ...
worked right away. I did not have go on this machine yet.

------
pweissbrod
kindly add remarks that this is not compatible with windows

~~~
beliu
Update: Windows is now supported!
[https://github.com/sourcegraph/thyme/pull/12](https://github.com/sourcegraph/thyme/pull/12)

