Make sense to me
Alexandre
Le 23 août 2015 à 07:32, Tudor Girba <tudor(a)tudorgirba.com> a écrit :
It looks great.
The only place which still requires the if now is the specification of
color.
I think that for this builder, given that the shape is predefined, it
makes sense to provide direct color manipulation in the builder:
| b color |
b := RTTreeMapBuilder new.
color := RTScale linear
domain: { 0. 12000.};
range: { Color green. Color red }.
b
* color: Color transparent;*
* borderColor: Color black;*
* leafColor: [ :f | color scale: f size sqrt ];*
leafWeight: [:f | f size sqrt ];
explore: FileSystem disk workingDirectory
nesting: #directories
leaves: #files.
b build.
^ b
What do you think?
Cheers,
Doru
On Fri, Aug 21, 2015 at 12:52 AM, milton mamani <akevalion(a)gmail.com>
wrote:
Hi Tudor,
I've been working on this. The next piece of code shows an example in
the file system.
.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=
| b color |
b := RTTreeMapBuilder new.
color := RTScale linear
domain: { 0. 12000.};
range: { Color green. Color red }.
b shape
color: Color transparent;
borderColor: Color black;
if: [ :f | f isFile ] color: [ :f | color scale: f size sqrt ].
b
*leafWeight: *[:f | f size sqrt ];
*explore:* FileSystem disk workingDirectory
* nesting:* #directories
* leaves: *#files.
b build.
^ b view
.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=
#explore:nesting:leaves: is related to the point 1, please tell me is
that what you expected?
#leaftWeight: selector is related to the point 2 and the point 3,
The result for RTTreeMapBuilder
[image: Imágenes integradas 2]
the color means red = big file.
This is the result for RTCircularTreeMapBuilder
[image: Imágenes integradas 3]
Cheers,
Milton
2015-07-31 9:16 GMT-04:00 Alexandre Bergel <alexandre.bergel(a)me.com>om>:
> Excellent!
> We will work on this!
>
> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel
http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
> On Jul 31, 2015, at 5:06 AM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
>
> Hi,
>
> I use it quite often.
>
> The builder is Ok, but I would improve some things to make it elegant:
>
> 1. A treemap works well when there is a nested structure of one kind
> of nodes and the leaves are of a different kind. So, folder/file,
> packages/classes. Thus, having only one traversal will inevitably lead to
> an if inside. I would rather be interested in having a higher level
> constructs that allow us to state what is the nested structure, and what
> are the leaves. Perhaps like this:
> b
> buildFrom: aRootNestingObject
> nesting: [ :aNestingObject | aNestingObject childNestedObjects ]
> leaves: [ :aNestingObject | aNestingObject childLeaves]
>
> 2. The aggregation of metrics should be built in. Typically, you want
> the size of the nested structure to be deduced by the aggregate size of the
> inner leaves. Thus, ideally, there should be a way to specify the weight
> only for the leaves and let the engine do the rest of calculations. For
> example, in the case of the file system visualization, the weight block
> looks like
> weight: [ :each |
> each isFile
> ifTrue: [each size max: 1]
> ifFalse: [(each allChildren sumNumbers: #size) max: 1 ] ].
> This means that I will traverse and compute the size of files
> needlessly multiple times for each of the parent folder. To make it faster,
> I would have to build a cache for the size of files and look it up in the
> block. This should be offered by the engine because it is the default use
> case. So, I should only say:
> b leafWeight: [:file | file size]
>
> 3. Talking about weights, if the weight is 0, the builder crashes.
> This should be made more robust. In my scripts, I always add a "max: 1",
> but this is clumsy. This should be built in.
>
> The same remarks apply for the RTTreeMapBuilder.
>
> Cheers,
> Doru
>
>
> On Fri, Jul 31, 2015 at 12:38 AM, Alexandre Bergel <
> alexandre.bergel(a)me.com> wrote:
>
>> Excellent!
>>
>> By the way, you told me you use the treemap builder quite a lot.
>> This means you are happy about it right ? Do you have anything to
>> change?
>>
>> Alexandre
>>
>>
>> > On Jul 30, 2015, at 5:35 PM, Tudor Girba <tudor(a)tudorgirba.com>
>> wrote:
>> >
>> > Of course, it is. In fact, a treemap is a better suited
>> representation for understanding the size of a file system.
>> >
>> > Here it is:
>> >
http://ws.stfx.eu/C9RM2EURHKMI
>> >
>> > <file-treemap.png>
>> >
>> > Cheers,
>> > Doru
>> >
>> > On Thu, Jul 30, 2015 at 8:40 PM, H. Hirzel <hannes.hirzel(a)gmail.com>
>> wrote:
>> > Is it possible to use a tree map?
>> >
>> > --Hannes
>> >
>> > On 7/30/15, Alexandre Bergel <alexandre.bergel(a)me.com> wrote:
>> > > I gave a try, and I did not find anything weird.
>> > > I guess your document folder contains many files, as Doru said
>> > >
>> > > Alexandre
>> > > --
>> > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> > > Alexandre Bergel
http://www.bergel.eu
>> > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>> > >
>> > >
>> > >
>> > >> On Jul 30, 2015, at 5:51 AM, Dimitris Chloupis <
>> kilon.alios(a)gmail.com>
>> > >> wrote:
>> > >>
>> > >> Frankly I dont mind big images or big data , neither I share the
>> obsession
>> > >> to shrink things down to few mbs in a time that we are talking
>> in TBs .
>> > >>
>> > >> Anyway you asked for the image and this is a link to it
>> > >>
>> > >>
>>
https://www.dropbox.com/s/wh1071xgoo54fq7/1%20Ephestos%2027-05-15.zip?dl=0
>> > >> <
>>
https://www.dropbox.com/s/wh1071xgoo54fq7/1%20Ephestos%2027-05-15.zip?dl=0
>> >
>> > >>
>> > >> I dont think you will find anything abnormal about it though.
>> > >>
>> > >> I was wondering whether it would worth the effort beyond the
>> unit tests
>> > >> that check for behaviour of the code to have also benchmark
>> tests that
>> > >> will have to pass specific standards so that specific method
>> must perform
>> > >> under a strict timetable specific tasks, this way CI may alert
>> not only
>> > >> unit tests that fail but also benchmarks that fail ,
>> automagically.
>> > >>
>> > >> Maybe some food for thought.
>> > >>
>> > >> Personally I am far more worried how much CPU Pharo consumes
>> than how much
>> > >> RAM.
>> > >>
>> > >> On Wed, Jul 29, 2015 at 11:54 PM Peter Uhnák <i.uhnak(a)gmail.com
>> > >> <mailto:i.uhnak@gmail.com>> wrote:
>> > >> Not sure if there is any downside (I've been using it for a
long
>> time
>> > >> without problems), but image cleanup often does wonders for me.
>> > >>
>> > >> Moose image
>> > >> 410 MB => cleanup (World -> System -> Do Image Cleanup)
=> save
>> => 237
>> > >> MB
>> > >> and I even had situations where it went from ~600 MB to ~60 MB.
>> > >> (As to why my images are so massive... right now there are 19
>> windows
>> > >> opened inside most of them with opened roassal visualization...
>> and I am
>> > >> saving like every five minutes... but that is just a guess.)
>> > >>
>> > >> But image cleanup is supposed to break things, so better to
>> backup the
>> > >> folder first.
>> > >> Plus is cache really necessary? I mean it's a cache. .image +
>> .changes
>> > >> should usually suffice.
>> > >>
>> > >> Peter
>> > >>
>> > >> On Wed, Jul 29, 2015 at 10:45 PM, Dimitris Chloupis <
>> kilon.alios(a)gmail.com
>> > >> <mailto:kilon.alios@gmail.com>> wrote:
>> > >> Tudor I dont know if you received my message but I already
>> answered that
>> > >> with this:
>> > >>
>> > >> "ah ok then its normal. Yes the structure is extensive, its
13
>> folders
>> > >> (the rest 71 are files some of them very big), I would not be
>> surprised if
>> > >> each contains 100 files in its own subfolders."
>> > >>
>> > >>
>> > >>
>> > >> On Wed, Jul 29, 2015 at 11:30 PM Tudor Girba <
>> tudor(a)tudorgirba.com
>> > >> <mailto:tudor@tudorgirba.com>> wrote:
>> > >> Hi,
>> > >>
>> > >> But, do you confirm that you have many files under the mentioned
>> folder?
>> > >>
>> > >> Cheers,
>> > >> Doru
>> > >>
>> > >>
>> > >>
>> > >> On Wed, Jul 29, 2015 at 10:25 PM, Dimitris Chloupis <
>> kilon.alios(a)gmail.com
>> > >> <mailto:kilon.alios@gmail.com>> wrote:
>> > >> the image is 180 mb, changes are another 15, there are several
>> other
>> > >> folders that raise the total size to 250 mb, monticello-cache and
>> > >> github-cache prodominately.
>> > >>
>> > >> Hmm ok my bad, the size of the zip is 89 MB not 200 mb. Still
>> will take me
>> > >> 1-2 hours to upload on this connection. So if you guys still
>> need the
>> > >> image i can upload tommorow from work, though it seems my slow
>> down is
>> > >> normal.
>> > >>
>> > >> Afterall I am sure you can test it yourselves on complex file
>> structures
>> > >> to see if it has delays as long as 20 minutes.
>> > >>
>> > >>
>> > >>
>> > >> On Wed, Jul 29, 2015 at 11:01 PM Sven Van Caekenberghe <
>> sven(a)stfx.eu
>> > >> <mailto:sven@stfx.eu>> wrote:
>> > >>
>> > >> > On 29 Jul 2015, at 21:33, Dimitris Chloupis <
>> kilon.alios(a)gmail.com
>> > >> > <mailto:kilon.alios@gmail.com>> wrote:
>> > >> >
>> > >> > well i can send you the image tommorow because its huge (200
>> MB ziped)
>> > >> > for my pathetically slow internet connection at home. I will
>> send it
>> > >> > from work which is 8 times faster.
>> > >>
>> > >> If the image is 200 MB zipped, how large is it in its normal
>> state ?
>> > >>
>> > >> For me, a 100 MB image file is already quite large, that would
>> compress to
>> > >> maybe 20/30 MB.
>> > >>
>> > >> This doesn't sound right to me, unless you explicitly tried to
>> store a lot
>> > >> of data.
>> > >>
>> > >> Maybe something else is wrong that would explain the slowness.
>> > >>
>> > >> > I can tell you that I am on MacOS Yosemite , I get my image
>> with
>> > >> > pharolauncher, the image was dowloaded at 27-07-15 some of
the
>> 84 items
>> > >> > are folders that contain many sub folders. No idea if that
>> matters.
>> > >> >
>> > >> > I got Roassal 2 using the Package Browser in Pharo 5 (the new
>> > >> > configuration browser).
>> > >> >
>> > >> > On Wed, Jul 29, 2015 at 8:17 PM Alexandre Bergel
>> > >> > <alexandre.bergel(a)me.com
<mailto:alexandre.bergel@me.com>>
>> wrote:
>> > >> > Are you using windows? I know it may has problems regarding
>> the source
>> > >> > code. You have 84 items and the visualization is slow? How is
>> this
>> > >> > possible.
>> > >> >
>> > >> > Can I have a look at your image?
>> > >> >
>> > >> > Cheers,
>> > >> > Alexandre
>> > >> > --
>> > >> > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> > >> > Alexandre Bergel
http://www.bergel.eu
<http://www.bergel.eu/>
>> > >> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>> > >> >
>> > >> >
>> > >> >
>> > >> >> On Jul 29, 2015, at 12:26 PM, Dimitris Chloupis <
>> kilon.alios(a)gmail.com
>> > >> >> <mailto:kilon.alios@gmail.com>> wrote:
>> > >> >>
>> > >> >> thats ok it unfroze after 20 minutes or so . I managed to
>> inspect the b
>> > >> >> but its incredible slow to navigate and use . Even moving
the
>> inspector
>> > >> >> around is incredible slow. My Documents folder contains
84
>> items, maybe
>> > >> >> it cant handle so well this amount of datea ?
>> > >> >>
>> > >> >> On Wed, Jul 29, 2015 at 5:55 PM Alexandre Bergel
>> > >> >> <alexandre.bergel(a)me.com
<mailto:alexandre.bergel@me.com>>
>> wrote:
>> > >> >> Oh… sorry. Was not my intention
>> > >> >>
>> > >> >> Alexandre
>> > >> >> --
>> > >> >> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> > >> >> Alexandre Bergel
http://www.bergel.eu
<http://www.bergel.eu/
>> >
>> > >> >> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>> > >> >>
>> > >> >>
>> > >> >>
>> > >> >>> On Jul 29, 2015, at 11:24 AM, Dimitris Chloupis <
>> kilon.alios(a)gmail.com
>> > >> >>> <mailto:kilon.alios@gmail.com>> wrote:
>> > >> >>>
>> > >> >>> that was a nice way to freeze my image, thank you :D
>> > >> >>>
>> > >> >>> On Wed, Jul 29, 2015 at 4:27 PM Alexandre Bergel
>> > >> >>> <alexandre.bergel(a)me.com
<mailto:alexandre.bergel@me.com>>
>> wrote:
>> > >> >>> Hi!
>> > >> >>>
>> > >> >>> Just to share a couple of experiment. I have tried
the
>> following in a
>> > >> >>> playground:
>> > >> >>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>> > >> >>> b := RTMondrian new.
>> > >> >>>
>> > >> >>> b shape rectangle
>> > >> >>> if: [ :aFile | aFile path basename beginsWith:
'.' ]
>> color: Color
>> > >> >>> red.
>> > >> >>> b nodes: FileLocator documents allChildren.
>> > >> >>> b edges connectFrom: #parent.
>> > >> >>> b normalizer
>> > >> >>> normalizeSize: #size using: #sqrt.
>> > >> >>> b layout tree.
>> > >> >>> b
>> > >> >>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>> > >> >>>
>> > >> >>> It shows a tree of the file system. Thanks to GT,
simply
>> clicking on a
>> > >> >>> file may show you the content and other things.
>> > >> >>> <Screen Shot 2015-07-29 at 10.23.51 AM.png>
>> > >> >>>
>> > >> >>> You can also use the cluster layout:
>> > >> >>> <Screen Shot 2015-07-29 at 10.25.11 AM.png>
>> > >> >>>
>> > >> >>> I have tried this on OS X, since the pointed folder
is
>> ~/Documents.
>> > >> >>>
>> > >> >>> Cheers,
>> > >> >>> Alexandre
>> > >> >>> --
>> > >> >>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> > >> >>> Alexandre Bergel
http://www.bergel.eu <
>>
http://www.bergel.eu/>
>> > >> >>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>> > >> >>>
>> > >> >>>
>> > >> >>>
>> > >> >>> _______________________________________________
>> > >> >>> Moose-dev mailing list
>> > >> >>> Moose-dev(a)iam.unibe.ch
<mailto:Moose-dev@iam.unibe.ch>
>> > >> >>>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>> > >> >>>
<https://www.iam.unibe.ch/mailman/listinfo/moose-dev>
>> > >> >>
>> > >> >> _______________________________________________
>> > >> >> Moose-dev mailing list
>> > >> >> Moose-dev(a)iam.unibe.ch
<mailto:Moose-dev@iam.unibe.ch>
>> > >> >>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>> > >> >>
<https://www.iam.unibe.ch/mailman/listinfo/moose-dev>
>> > >> >> _______________________________________________
>> > >> >> Moose-dev mailing list
>> > >> >> Moose-dev(a)iam.unibe.ch
<mailto:Moose-dev@iam.unibe.ch>
>> > >> >>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>> > >> >>
<https://www.iam.unibe.ch/mailman/listinfo/moose-dev>
>> > >> >
>> > >> > _______________________________________________
>> > >> > Moose-dev mailing list
>> > >> > Moose-dev(a)iam.unibe.ch <mailto:Moose-dev@iam.unibe.ch>
>> > >> >
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>> > >> > <https://www.iam.unibe.ch/mailman/listinfo/moose-dev>
>> > >> > _______________________________________________
>> > >> > Moose-dev mailing list
>> > >> > Moose-dev(a)iam.unibe.ch <mailto:Moose-dev@iam.unibe.ch>
>> > >> >
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>> > >> > <https://www.iam.unibe.ch/mailman/listinfo/moose-dev>
>> > >>
>> > >>
>> > >> _______________________________________________
>> > >> Moose-dev mailing list
>> > >> Moose-dev(a)iam.unibe.ch <mailto:Moose-dev@iam.unibe.ch>
>> > >>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>> > >> <https://www.iam.unibe.ch/mailman/listinfo/moose-dev>
>> > >>
>> > >> _______________________________________________
>> > >> Moose-dev mailing list
>> > >> Moose-dev(a)iam.unibe.ch <mailto:Moose-dev@iam.unibe.ch>
>> > >>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>> > >> <https://www.iam.unibe.ch/mailman/listinfo/moose-dev>
>> > >>
>> > >>
>> > >>
>> > >>
>> > >> --
>> > >>
www.tudorgirba.com <http://www.tudorgirba.com/>
>> > >>
>> > >> "Every thing has its own flow"
>> > >> _______________________________________________
>> > >> Moose-dev mailing list
>> > >> Moose-dev(a)iam.unibe.ch <mailto:Moose-dev@iam.unibe.ch>
>> > >>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>> > >> <https://www.iam.unibe.ch/mailman/listinfo/moose-dev>
>> > >>
>> > >> _______________________________________________
>> > >> Moose-dev mailing list
>> > >> Moose-dev(a)iam.unibe.ch <mailto:Moose-dev@iam.unibe.ch>
>> > >>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>> > >> <https://www.iam.unibe.ch/mailman/listinfo/moose-dev>
>> > >>
>> > >>
>> > >> _______________________________________________
>> > >> Moose-dev mailing list
>> > >> Moose-dev(a)iam.unibe.ch <mailto:Moose-dev@iam.unibe.ch>
>> > >>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>> > >> <https://www.iam.unibe.ch/mailman/listinfo/moose-dev>
>> > >> _______________________________________________
>> > >> Moose-dev mailing list
>> > >> Moose-dev(a)iam.unibe.ch
>> > >>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>> > >
>> > >
>> >
>> >
>> >
>> >
>> > --
>> >
www.tudorgirba.com
>> >
>> > "Every thing has its own flow"
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel
http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev(a)iam.unibe.ch
>>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>
>
>
> --
>
www.tudorgirba.com
>
> "Every thing has its own flow"
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)iam.unibe.ch
>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)iam.unibe.ch
>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
"Every thing has its own flow"
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch