GithubHelp home page GithubHelp logo

Comments (19)

nomeata avatar nomeata commented on May 6, 2024

Original comment by nomeata (Bitbucket: nomeata, GitHub: nomeata).


Nice idea. I wonder why the lock screen does not appear in the dump – probably because it is more like a dialogue and less like a proper window that appears in the window list (which is what arbtt uses). I don’t immediately see a solution here.

Also, “no data” should be distinguishable from “arbtt-capture was not running (most likely because the machine was off)”: In the former case, there should be a sample with no running programs.

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by amenthes (Bitbucket: amenthes, GitHub: amenthes).


Ok, then lets not worry about the lock screen for now.

I think I see what you mean regarding no samples / empty samples. The "Activity" timeline in the following screenshot is based on this rule:

#!haskell
-- System Activity
$idle > 300 ==> tag Activity:inactive,
tag Activity:active,

I see the Activity:active times (dark blue), Activity:inactive times (light blue) and the gray background is probably when my machine was turned off.

Bildschirmfoto von 2015-09-20 12-26-08_crop.png

I think I was a little confused earlier, because I usually don't turn off my computer, but put it in standby. I often have entries in the --intervals list that span many hours, when my machine was actually on standby.

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by amenthes (Bitbucket: amenthes, GitHub: amenthes).


That last thing is even visible in the "activity" screenshot. The last active segment goes past 23:30 and into the next day, it's 12h33m long.

#!
  active | 09/19/15 18:07:17 | 09/20/15 06:40:19 |    12h33m13s

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by nomeata (Bitbucket: nomeata, GitHub: nomeata).


Ah, I think the problem is not so much data capture, but rather a limitation in the implementation of the intervals report then! It should be smart about when there are samples missing (e.g. if in between two samples, more time than twice the sample rate has passed). Is that it?

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by amenthes (Bitbucket: amenthes, GitHub: amenthes).


I'd go as far as 10 times the sample rate or a configuration to be safe. But in general, i think it might help.

maybe a handling similar to "inactive" would be good:

$idle > 300 ==> tag inactive,
$nosample > 600 ==> tag off,

I can also report that i'm able to compile arbtt, now (on linux, that is). But it seems i underestimated the conceptual uniqueness of haskell. But with a pointer where to start, i'd even take a stab at it myself!

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by nomeata (Bitbucket: nomeata, GitHub: nomeata).


maybe a handling similar to "inactive" would be good:

I don’t think this would work well; the concept that tags are assigned to existing samples (and not the time in between samples) is quite baked in.

But it should be sufficient to make sure that the interval report simply reports intervals when there are actually samples, and not in the wholes in between.

But with a pointer where to start, i'd even take a stab at it myself!

Unfortunately, I don’t think this part of the code is particularly beginner-friendly, with this strange LeftFold processing etc. The relevant bit is
https://bitbucket.org/nomeata/arbtt/src/7c710d22c967963b3052c96e972ca753bf72a8fd/src/Stats.hs?at=master&fileviewer=file-view-default#Stats.hs-326
together with the functions being called (runOnIntervals and runOnGroups).

But if you feel like contributing: Maybe you can provide a small self-contained test case that shows this problem, add it to the testsuite tests/test.hs, so that I can try to implement this feature and easily see if I nailed it or not.

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by amenthes (Bitbucket: amenthes, GitHub: amenthes).


Is there a trick to running the tests? I tried

#!shell

runhaskell tests/test.hs 

tests/test.hs:7:8:
    Could not find module ‘System.Process.ByteString.Lazy’
    Use -v to see a list of the files searched for.

tests/test.hs:15:8:
    Could not find module ‘Categorize’
    Use -v to see a list of the files searched for.

tests/test.hs:16:8:
    Could not find module ‘TimeLog’
    Use -v to see a list of the files searched for.

tests/test.hs:17:8:
    Could not find module ‘Data’
    Use -v to see a list of the files searched for.

And i managed to get it down to these four dependencies by randomly installing debian's libghc- packages, but i can't seem to locate these four.

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by amenthes (Bitbucket: amenthes, GitHub: amenthes).


I added a test, but so far I couldn't test it myself. Still, here it goes:

https://bitbucket.org/amenthes/arbtt/branch/test-issue-29

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by nomeata (Bitbucket: nomeata, GitHub: nomeata).


Ah, sorry for not telling: The trick is to run cabal test to run the tests.

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by amenthes (Bitbucket: amenthes, GitHub: amenthes).


cabal update
cabal install process-extras
cabal install tasty
cabal install tasty-golden
cabal install tasty-hunit

did the trick. Test suite is running and the new test is failing as expected!

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by nomeata (Bitbucket: nomeata, GitHub: nomeata).


Interval report: Correctly split intervals when no data came in

this fixes #29, and it seems it also fixes #30.

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by nomeata (Bitbucket: nomeata, GitHub: nomeata).


Thanks a lot for the test case; it is much more pleasurable programming against such a clear spec!

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by amenthes (Bitbucket: amenthes, GitHub: amenthes).


There's one minor thing, i'd like to point out: https://bitbucket.org/nomeata/arbtt/commits/5c08b1134eca#Ltests/gap-handling.outF9 <-- this line (the last instance of the browser) was not an oversight, it's a fairly short gap, that might be ignored.

I'm not at all passionate about this, and if it would make the code too convoluted it's better to leave it out.

Other than that: Spectacularly quick response! Thank you very much!

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by nomeata (Bitbucket: nomeata, GitHub: nomeata).


Oh, the code is already there. I chose the cut-off limit at twice the sample rate, so allowing for some skew, but still putting in gaps when it is likely that data is missing for some reason.

I don’t feel strong about this limit; if you have any reason to prefer another factor, tell me about it. (But do not tell me to make it configurable, I’m a fan of avoiding options where there are sane choices that the program can make for you :-))

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by amenthes (Bitbucket: amenthes, GitHub: amenthes).


The new changes look amazing. Here's a comparison before/after. Sadly, the colors are assigned somewhat randomly right now, but you can clearly see the tiny gray gaps between every interval. Also, the dark blue "active" bar went all the way through to the right, when there was clearly no data anymore.

The lower graphic shows the news interval export. Less gaps, actually tiny slices started appearing. (The tiny blue sliver in the huge orange block at the end of the data was not there before!)

Bildschirmfoto von »2015-09-22 13-49-48_comparison.png

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by amenthes (Bitbucket: amenthes, GitHub: amenthes).


It appears, bitbucket has no facility to view an image at full size. But you can save it to disk to view the tiny details i'm talking about.

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by nomeata (Bitbucket: nomeata, GitHub: nomeata).


Hi @Amenthes,

I’m adding pictures to http://www.joachim-breitner.de/projects. Arbtt itself is not very graphical, so I’m wondering if I may use one of the pictures you posted here as an illustration. Would that be ok?

Thanks,
Joachim

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by amenthes (Bitbucket: amenthes, GitHub: amenthes).


Please, take whatever you need! If you're looking for something different (more detail, larger timeframe etc...) let me know!

Currently i'm quite swamped, but i'm hoping to release my project by the end of the year.

from arbtt.

nomeata avatar nomeata commented on May 6, 2024

Original comment by nomeata (Bitbucket: nomeata, GitHub: nomeata).


If you're looking for something different (more detail, larger timeframe etc...) let me know!

Thanks for the offer, but this is just fine; it’s just to make http://www.joachim-breitner.de/projects a bit more colorful and nicer to look at, so this is just fine.

from arbtt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.