A result of the pharo lecture we had in Bolivia

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

A result of the pharo lecture we had in Bolivia

abergel
Hi!

We had a wonderful week here in Cochabamba, Bolivia. Juan-Pablo, Juraj and I have taught Pharo and Moose during 5 days. Was pretty cool!

Here is a script that shows that one of the group was able to produce in just 3 days.
The figures analyze the content of my package-cache directory. It shows the number of commit per day, per hour, per author. 




-=-=-=-=-=-=-=—=
myRepository := MCCacheRepository default.
myRepository allVersionNames.
packageNames := myRepository allVersionNames select: [ :e | 'Roassal*' match: e ].
"packageNames := myRepository allVersionNames. "

lista := packageNames collect: [ :packageName | 
myRepository versionInfoFromVersionNamed: packageName. ].

autores := lista groupedBy: [ :e | e author ].  
fechas  := lista groupedBy: [ :e | e date ].  
horas := lista groupedBy: [ :e | e time hour ].

c := RTComposer new.
v := c view.
c gap: 50.

popup := RTPopup text: [:assoc | assoc key asString, ', commits:', assoc value size asString].
elements := (RTEllipse elementsOn: fechas associations).
v addAll: elements @ popup.
builder := RTGlobalBuilder new.
builder
view: v;
normalizeX: [ :e | e key asTimeStamp asUnixTime ] 
min: 0 
max: 50000;
normalizeSize: [:e | e value size ] min: 10 max: 20;
normalizeColor: [:e | e value size ];
alphaColor: 0.3;
elementsToConsider: elements; 
execute.

"We add a line from the left most element to the right most element"
v add: ((RTLine new color: Color lightGray) edgeFrom: v elements leftMostElement to: v elements rightMostElement).

"It make sense to only drag horizontally"
v @ RTHorizontalDraggableView.

c propagateHighlight.
c group: 'date'.

listTags := Array new: autores size.

autores doWithIndex: [ :each :i| 
test := each groupedBy: [ :e | e date ]. 
elements := (RTEllipse elementsOn: test associations).
v addAll: elements @ popup.
builder 
   elementsToConsider: elements;
execute. 

v add: ((RTLine new color: Color lightGray) edgeFrom: elements leftMostElement to: elements rightMostElement).

newTag := 'Author' asString, i asString.
listTags at: i put: newTag.
c propagateHighlight.
c group: newTag.

].


popup := RTPopup text: [:assoc | 'Hour: ' asString, assoc key asString, ', commits:', assoc value size asString].
elements := (RTEllipse elementsOn: horas associations).
v addAll: elements @ popup.
builder := RTGlobalBuilder new.
builder
view: v;
normalizeX: [ :e | e key ] 
min: 0 
max: 380;
normalizeSize: [:e | e value size ] min: 10 max: 20;
normalizeColor: [:e | e value size ];
alphaColor: 0.3;
elementsToConsider: elements; 
execute.

v add: ((RTLine new color: Color lightGray) edgeFrom: elements leftMostElement to: elements rightMostElement).
c propagateHighlight.
c group: 'Hour'.




popup := RTPopup text: [:assoc | assoc author asString, ', ' , ' message size: ', assoc message size asString].
elements := (RTEllipse elementsOn: lista).
v addAll: elements @ popup.
builder := RTGlobalBuilder new.
builder
view: v;
normalizeX: [ :e | e timeStamp asUnixTime ] 
min: 0 
max: 50000;
normalizeSize: [ :e | e message size ] min: 10 max: 20;
normalizeColor: [ :e | e message size ];
alphaColor: 0.3;
elementsToConsider: elements; 
execute.

v add: ((RTLine new color: Color lightGray) edgeFrom: elements leftMostElement to: elements rightMostElement).
c propagateHighlight.
c group: 'Comment'.


listTags doWithIndex: [ :e :i| 
(i == 1)
 ifTrue: [ 
c move: e below: 'date'.
last := e.
c nameGroup: 'date' as: 'History by Date'.
aAuthor := autores keys at: i.
c nameGroup: e as: 'History by: ' asString,  aAuthor asString.
 ]
 ifFalse: [ 
c move: e below: last.
last := e.
aAuthor := autores keys at: i.
c nameGroup: e as: 'History by: ' asString, aAuthor asString.
 ]
].

c move: 'Hour' below: last.
c nameGroup: 'Hour' as: 'History by Hour'.

c move: 'Comment' below: 'Hour'.
c nameGroup: 'Comment' as: 'History by Comment'.


"We add a small legend"
v canvas addFixedShape: (TRLabelShape new text: 'History of Changes').
TRConstraint stickAtTheBottomOfTheWindow: v canvas fixedShapes last.

^v
-=-=-=-=-=-=-=—=

Cheers,
Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: A result of the pharo lecture we had in Bolivia

Haroldo Stenger
hi,
I'm very happy that moose is getting into Latin America. I wonder wether there are moose-trained people here in Uruguay

best regards
Haroldo


2014-11-28 18:15 GMT-02:00 Alexandre Bergel <[hidden email]>:
Hi!

We had a wonderful week here in Cochabamba, Bolivia. Juan-Pablo, Juraj and I have taught Pharo and Moose during 5 days. Was pretty cool!

Here is a script that shows that one of the group was able to produce in just 3 days.
The figures analyze the content of my package-cache directory. It shows the number of commit per day, per hour, per author. 




-=-=-=-=-=-=-=—=
myRepository := MCCacheRepository default.
myRepository allVersionNames.
packageNames := myRepository allVersionNames select: [ :e | 'Roassal*' match: e ].
"packageNames := myRepository allVersionNames. "

lista := packageNames collect: [ :packageName | 
myRepository versionInfoFromVersionNamed: packageName. ].

autores := lista groupedBy: [ :e | e author ].  
fechas  := lista groupedBy: [ :e | e date ].  
horas := lista groupedBy: [ :e | e time hour ].

c := RTComposer new.
v := c view.
c gap: 50.

popup := RTPopup text: [:assoc | assoc key asString, ', commits:', assoc value size asString].
elements := (RTEllipse elementsOn: fechas associations).
v addAll: elements @ popup.
builder := RTGlobalBuilder new.
builder
view: v;
normalizeX: [ :e | e key asTimeStamp asUnixTime ] 
min: 0 
max: 50000;
normalizeSize: [:e | e value size ] min: 10 max: 20;
normalizeColor: [:e | e value size ];
alphaColor: 0.3;
elementsToConsider: elements; 
execute.

"We add a line from the left most element to the right most element"
v add: ((RTLine new color: Color lightGray) edgeFrom: v elements leftMostElement to: v elements rightMostElement).

"It make sense to only drag horizontally"
v @ RTHorizontalDraggableView.

c propagateHighlight.
c group: 'date'.

listTags := Array new: autores size.

autores doWithIndex: [ :each :i| 
test := each groupedBy: [ :e | e date ]. 
elements := (RTEllipse elementsOn: test associations).
v addAll: elements @ popup.
builder 
   elementsToConsider: elements;
execute. 

v add: ((RTLine new color: Color lightGray) edgeFrom: elements leftMostElement to: elements rightMostElement).

newTag := 'Author' asString, i asString.
listTags at: i put: newTag.
c propagateHighlight.
c group: newTag.

].


popup := RTPopup text: [:assoc | 'Hour: ' asString, assoc key asString, ', commits:', assoc value size asString].
elements := (RTEllipse elementsOn: horas associations).
v addAll: elements @ popup.
builder := RTGlobalBuilder new.
builder
view: v;
normalizeX: [ :e | e key ] 
min: 0 
max: 380;
normalizeSize: [:e | e value size ] min: 10 max: 20;
normalizeColor: [:e | e value size ];
alphaColor: 0.3;
elementsToConsider: elements; 
execute.

v add: ((RTLine new color: Color lightGray) edgeFrom: elements leftMostElement to: elements rightMostElement).
c propagateHighlight.
c group: 'Hour'.




popup := RTPopup text: [:assoc | assoc author asString, ', ' , ' message size: ', assoc message size asString].
elements := (RTEllipse elementsOn: lista).
v addAll: elements @ popup.
builder := RTGlobalBuilder new.
builder
view: v;
normalizeX: [ :e | e timeStamp asUnixTime ] 
min: 0 
max: 50000;
normalizeSize: [ :e | e message size ] min: 10 max: 20;
normalizeColor: [ :e | e message size ];
alphaColor: 0.3;
elementsToConsider: elements; 
execute.

v add: ((RTLine new color: Color lightGray) edgeFrom: elements leftMostElement to: elements rightMostElement).
c propagateHighlight.
c group: 'Comment'.


listTags doWithIndex: [ :e :i| 
(i == 1)
 ifTrue: [ 
c move: e below: 'date'.
last := e.
c nameGroup: 'date' as: 'History by Date'.
aAuthor := autores keys at: i.
c nameGroup: e as: 'History by: ' asString,  aAuthor asString.
 ]
 ifFalse: [ 
c move: e below: last.
last := e.
aAuthor := autores keys at: i.
c nameGroup: e as: 'History by: ' asString, aAuthor asString.
 ]
].

c move: 'Hour' below: last.
c nameGroup: 'Hour' as: 'History by Hour'.

c move: 'Comment' below: 'Hour'.
c nameGroup: 'Comment' as: 'History by Comment'.


"We add a small legend"
v canvas addFixedShape: (TRLabelShape new text: 'History of Changes').
TRConstraint stickAtTheBottomOfTheWindow: v canvas fixedShapes last.

^v
-=-=-=-=-=-=-=—=

Cheers,
Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev



_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: A result of the pharo lecture we had in Bolivia

Haroldo Stenger
oh ! you're in Chile ! :-)  that's great. :-) 


best

h

2014-11-28 18:41 GMT-02:00 Haroldo Stenger <[hidden email]>:
hi,
I'm very happy that moose is getting into Latin America. I wonder wether there are moose-trained people here in Uruguay

best regards
Haroldo


2014-11-28 18:15 GMT-02:00 Alexandre Bergel <[hidden email]>:
Hi!

We had a wonderful week here in Cochabamba, Bolivia. Juan-Pablo, Juraj and I have taught Pharo and Moose during 5 days. Was pretty cool!

Here is a script that shows that one of the group was able to produce in just 3 days.
The figures analyze the content of my package-cache directory. It shows the number of commit per day, per hour, per author. 




-=-=-=-=-=-=-=—=
myRepository := MCCacheRepository default.
myRepository allVersionNames.
packageNames := myRepository allVersionNames select: [ :e | 'Roassal*' match: e ].
"packageNames := myRepository allVersionNames. "

lista := packageNames collect: [ :packageName | 
myRepository versionInfoFromVersionNamed: packageName. ].

autores := lista groupedBy: [ :e | e author ].  
fechas  := lista groupedBy: [ :e | e date ].  
horas := lista groupedBy: [ :e | e time hour ].

c := RTComposer new.
v := c view.
c gap: 50.

popup := RTPopup text: [:assoc | assoc key asString, ', commits:', assoc value size asString].
elements := (RTEllipse elementsOn: fechas associations).
v addAll: elements @ popup.
builder := RTGlobalBuilder new.
builder
view: v;
normalizeX: [ :e | e key asTimeStamp asUnixTime ] 
min: 0 
max: 50000;
normalizeSize: [:e | e value size ] min: 10 max: 20;
normalizeColor: [:e | e value size ];
alphaColor: 0.3;
elementsToConsider: elements; 
execute.

"We add a line from the left most element to the right most element"
v add: ((RTLine new color: Color lightGray) edgeFrom: v elements leftMostElement to: v elements rightMostElement).

"It make sense to only drag horizontally"
v @ RTHorizontalDraggableView.

c propagateHighlight.
c group: 'date'.

listTags := Array new: autores size.

autores doWithIndex: [ :each :i| 
test := each groupedBy: [ :e | e date ]. 
elements := (RTEllipse elementsOn: test associations).
v addAll: elements @ popup.
builder 
   elementsToConsider: elements;
execute. 

v add: ((RTLine new color: Color lightGray) edgeFrom: elements leftMostElement to: elements rightMostElement).

newTag := 'Author' asString, i asString.
listTags at: i put: newTag.
c propagateHighlight.
c group: newTag.

].


popup := RTPopup text: [:assoc | 'Hour: ' asString, assoc key asString, ', commits:', assoc value size asString].
elements := (RTEllipse elementsOn: horas associations).
v addAll: elements @ popup.
builder := RTGlobalBuilder new.
builder
view: v;
normalizeX: [ :e | e key ] 
min: 0 
max: 380;
normalizeSize: [:e | e value size ] min: 10 max: 20;
normalizeColor: [:e | e value size ];
alphaColor: 0.3;
elementsToConsider: elements; 
execute.

v add: ((RTLine new color: Color lightGray) edgeFrom: elements leftMostElement to: elements rightMostElement).
c propagateHighlight.
c group: 'Hour'.




popup := RTPopup text: [:assoc | assoc author asString, ', ' , ' message size: ', assoc message size asString].
elements := (RTEllipse elementsOn: lista).
v addAll: elements @ popup.
builder := RTGlobalBuilder new.
builder
view: v;
normalizeX: [ :e | e timeStamp asUnixTime ] 
min: 0 
max: 50000;
normalizeSize: [ :e | e message size ] min: 10 max: 20;
normalizeColor: [ :e | e message size ];
alphaColor: 0.3;
elementsToConsider: elements; 
execute.

v add: ((RTLine new color: Color lightGray) edgeFrom: elements leftMostElement to: elements rightMostElement).
c propagateHighlight.
c group: 'Comment'.


listTags doWithIndex: [ :e :i| 
(i == 1)
 ifTrue: [ 
c move: e below: 'date'.
last := e.
c nameGroup: 'date' as: 'History by Date'.
aAuthor := autores keys at: i.
c nameGroup: e as: 'History by: ' asString,  aAuthor asString.
 ]
 ifFalse: [ 
c move: e below: last.
last := e.
aAuthor := autores keys at: i.
c nameGroup: e as: 'History by: ' asString, aAuthor asString.
 ]
].

c move: 'Hour' below: last.
c nameGroup: 'Hour' as: 'History by Hour'.

c move: 'Comment' below: 'Hour'.
c nameGroup: 'Comment' as: 'History by Comment'.


"We add a small legend"
v canvas addFixedShape: (TRLabelShape new text: 'History of Changes').
TRConstraint stickAtTheBottomOfTheWindow: v canvas fixedShapes last.

^v
-=-=-=-=-=-=-=—=

Cheers,
Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: A result of the pharo lecture we had in Bolivia

abergel
In reply to this post by Haroldo Stenger
Uruguay?
How did you hear about Moose?
How many of you are using Moose? For which purpose?

Tell us more :-)

Cheers,
Alexandre

> On Nov 28, 2014, at 4:41 PM, Haroldo Stenger <[hidden email]> wrote:
>
> hi,
> I'm very happy that moose is getting into Latin America. I wonder wether there are moose-trained people here in Uruguay
>
> best regards
> Haroldo
>
>
> 2014-11-28 18:15 GMT-02:00 Alexandre Bergel <[hidden email]>:
> Hi!
>
> We had a wonderful week here in Cochabamba, Bolivia. Juan-Pablo, Juraj and I have taught Pharo and Moose during 5 days. Was pretty cool!
>
> Here is a script that shows that one of the group was able to produce in just 3 days.
> The figures analyze the content of my package-cache directory. It shows the number of commit per day, per hour, per author.
>
>
> <foo.png>
>
> -=-=-=-=-=-=-=—=
> myRepository := MCCacheRepository default.
> myRepository allVersionNames.
> packageNames := myRepository allVersionNames select: [ :e | 'Roassal*' match: e ].
> "packageNames := myRepository allVersionNames. "
>
> lista := packageNames collect: [ :packageName |
> myRepository versionInfoFromVersionNamed: packageName. ].
>
> autores := lista groupedBy: [ :e | e author ].  
> fechas  := lista groupedBy: [ :e | e date ].  
> horas := lista groupedBy: [ :e | e time hour ].
>
> c := RTComposer new.
> v := c view.
> c gap: 50.
>
> popup := RTPopup text: [:assoc | assoc key asString, ', commits:', assoc value size asString].
> elements := (RTEllipse elementsOn: fechas associations).
> v addAll: elements @ popup.
> builder := RTGlobalBuilder new.
> builder
> view: v;
> normalizeX: [ :e | e key asTimeStamp asUnixTime ]
> min: 0
> max: 50000;
> normalizeSize: [:e | e value size ] min: 10 max: 20;
> normalizeColor: [:e | e value size ];
> alphaColor: 0.3;
> elementsToConsider: elements;
> execute.
>
> "We add a line from the left most element to the right most element"
> v add: ((RTLine new color: Color lightGray) edgeFrom: v elements leftMostElement to: v elements rightMostElement).
>
> "It make sense to only drag horizontally"
> v @ RTHorizontalDraggableView.
>
> c propagateHighlight.
> c group: 'date'.
>
> listTags := Array new: autores size.
>
> autores doWithIndex: [ :each :i|
> test := each groupedBy: [ :e | e date ].
> elements := (RTEllipse elementsOn: test associations).
> v addAll: elements @ popup.
> builder
>   elementsToConsider: elements;
> execute.
>
> v add: ((RTLine new color: Color lightGray) edgeFrom: elements leftMostElement to: elements rightMostElement).
>
> newTag := 'Author' asString, i asString.
> listTags at: i put: newTag.
> c propagateHighlight.
> c group: newTag.
>
> ].
>
>
> popup := RTPopup text: [:assoc | 'Hour: ' asString, assoc key asString, ', commits:', assoc value size asString].
> elements := (RTEllipse elementsOn: horas associations).
> v addAll: elements @ popup.
> builder := RTGlobalBuilder new.
> builder
> view: v;
> normalizeX: [ :e | e key ]
> min: 0
> max: 380;
> normalizeSize: [:e | e value size ] min: 10 max: 20;
> normalizeColor: [:e | e value size ];
> alphaColor: 0.3;
> elementsToConsider: elements;
> execute.
>
> v add: ((RTLine new color: Color lightGray) edgeFrom: elements leftMostElement to: elements rightMostElement).
> c propagateHighlight.
> c group: 'Hour'.
>
>
>
>
> popup := RTPopup text: [:assoc | assoc author asString, ', ' , ' message size: ', assoc message size asString].
> elements := (RTEllipse elementsOn: lista).
> v addAll: elements @ popup.
> builder := RTGlobalBuilder new.
> builder
> view: v;
> normalizeX: [ :e | e timeStamp asUnixTime ]
> min: 0
> max: 50000;
> normalizeSize: [ :e | e message size ] min: 10 max: 20;
> normalizeColor: [ :e | e message size ];
> alphaColor: 0.3;
> elementsToConsider: elements;
> execute.
>
> v add: ((RTLine new color: Color lightGray) edgeFrom: elements leftMostElement to: elements rightMostElement).
> c propagateHighlight.
> c group: 'Comment'.
>
>
> listTags doWithIndex: [ :e :i|
> (i == 1)
> ifTrue: [
> c move: e below: 'date'.
> last := e.
> c nameGroup: 'date' as: 'History by Date'.
> aAuthor := autores keys at: i.
> c nameGroup: e as: 'History by: ' asString,  aAuthor asString.
> ]
> ifFalse: [
> c move: e below: last.
> last := e.
> aAuthor := autores keys at: i.
> c nameGroup: e as: 'History by: ' asString, aAuthor asString.
> ]
> ].
>
> c move: 'Hour' below: last.
> c nameGroup: 'Hour' as: 'History by Hour'.
>
> c move: 'Comment' below: 'Hour'.
> c nameGroup: 'Comment' as: 'History by Comment'.
>
>
> "We add a small legend"
> v canvas addFixedShape: (TRLabelShape new text: 'History of Changes').
> TRConstraint stickAtTheBottomOfTheWindow: v canvas fixedShapes last.
>
> ^v
> -=-=-=-=-=-=-=—=
>
> Cheers,
> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: A result of the pharo lecture we had in Bolivia

Tudor Girba-2
In reply to this post by abergel
Hi Alex, Juan-Pablo and Juraj,

Thank you very much for doing this. The script is quite impressive!

Cheers,
Doru



On Fri, Nov 28, 2014 at 9:15 PM, Alexandre Bergel <[hidden email]> wrote:
Hi!

We had a wonderful week here in Cochabamba, Bolivia. Juan-Pablo, Juraj and I have taught Pharo and Moose during 5 days. Was pretty cool!

Here is a script that shows that one of the group was able to produce in just 3 days.
The figures analyze the content of my package-cache directory. It shows the number of commit per day, per hour, per author. 




-=-=-=-=-=-=-=—=
myRepository := MCCacheRepository default.
myRepository allVersionNames.
packageNames := myRepository allVersionNames select: [ :e | 'Roassal*' match: e ].
"packageNames := myRepository allVersionNames. "

lista := packageNames collect: [ :packageName | 
myRepository versionInfoFromVersionNamed: packageName. ].

autores := lista groupedBy: [ :e | e author ].  
fechas  := lista groupedBy: [ :e | e date ].  
horas := lista groupedBy: [ :e | e time hour ].

c := RTComposer new.
v := c view.
c gap: 50.

popup := RTPopup text: [:assoc | assoc key asString, ', commits:', assoc value size asString].
elements := (RTEllipse elementsOn: fechas associations).
v addAll: elements @ popup.
builder := RTGlobalBuilder new.
builder
view: v;
normalizeX: [ :e | e key asTimeStamp asUnixTime ] 
min: 0 
max: 50000;
normalizeSize: [:e | e value size ] min: 10 max: 20;
normalizeColor: [:e | e value size ];
alphaColor: 0.3;
elementsToConsider: elements; 
execute.

"We add a line from the left most element to the right most element"
v add: ((RTLine new color: Color lightGray) edgeFrom: v elements leftMostElement to: v elements rightMostElement).

"It make sense to only drag horizontally"
v @ RTHorizontalDraggableView.

c propagateHighlight.
c group: 'date'.

listTags := Array new: autores size.

autores doWithIndex: [ :each :i| 
test := each groupedBy: [ :e | e date ]. 
elements := (RTEllipse elementsOn: test associations).
v addAll: elements @ popup.
builder 
   elementsToConsider: elements;
execute. 

v add: ((RTLine new color: Color lightGray) edgeFrom: elements leftMostElement to: elements rightMostElement).

newTag := 'Author' asString, i asString.
listTags at: i put: newTag.
c propagateHighlight.
c group: newTag.

].


popup := RTPopup text: [:assoc | 'Hour: ' asString, assoc key asString, ', commits:', assoc value size asString].
elements := (RTEllipse elementsOn: horas associations).
v addAll: elements @ popup.
builder := RTGlobalBuilder new.
builder
view: v;
normalizeX: [ :e | e key ] 
min: 0 
max: 380;
normalizeSize: [:e | e value size ] min: 10 max: 20;
normalizeColor: [:e | e value size ];
alphaColor: 0.3;
elementsToConsider: elements; 
execute.

v add: ((RTLine new color: Color lightGray) edgeFrom: elements leftMostElement to: elements rightMostElement).
c propagateHighlight.
c group: 'Hour'.




popup := RTPopup text: [:assoc | assoc author asString, ', ' , ' message size: ', assoc message size asString].
elements := (RTEllipse elementsOn: lista).
v addAll: elements @ popup.
builder := RTGlobalBuilder new.
builder
view: v;
normalizeX: [ :e | e timeStamp asUnixTime ] 
min: 0 
max: 50000;
normalizeSize: [ :e | e message size ] min: 10 max: 20;
normalizeColor: [ :e | e message size ];
alphaColor: 0.3;
elementsToConsider: elements; 
execute.

v add: ((RTLine new color: Color lightGray) edgeFrom: elements leftMostElement to: elements rightMostElement).
c propagateHighlight.
c group: 'Comment'.


listTags doWithIndex: [ :e :i| 
(i == 1)
 ifTrue: [ 
c move: e below: 'date'.
last := e.
c nameGroup: 'date' as: 'History by Date'.
aAuthor := autores keys at: i.
c nameGroup: e as: 'History by: ' asString,  aAuthor asString.
 ]
 ifFalse: [ 
c move: e below: last.
last := e.
aAuthor := autores keys at: i.
c nameGroup: e as: 'History by: ' asString, aAuthor asString.
 ]
].

c move: 'Hour' below: last.
c nameGroup: 'Hour' as: 'History by Hour'.

c move: 'Comment' below: 'Hour'.
c nameGroup: 'Comment' as: 'History by Comment'.


"We add a small legend"
v canvas addFixedShape: (TRLabelShape new text: 'History of Changes').
TRConstraint stickAtTheBottomOfTheWindow: v canvas fixedShapes last.

^v
-=-=-=-=-=-=-=—=

Cheers,
Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev




--

"Every thing has its own flow"

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: A result of the pharo lecture we had in Bolivia

Offray
In reply to this post by Haroldo Stenger
Hi,

Talking about Moose in Latin America, I would like to share my
exploration about new artifacts and writing metaphors for bootstrapping
open, citizen, garage science and research:

http://mutabit.com/deltas/repos.fossil/grafoscopio/doc/tip/Docs/Es/Articulos/Libertadores/bootstrapping-objeto-investigacion.pdf

The exploration was done using Pharo/Moose.

Is also taking place as workshops in our local hackerspace at Bogotá
Colombia:

http://hackbo.co/

Cheers,

Offray


El 28/11/14 a las #4, Haroldo Stenger escribió:

> hi,
> I'm very happy that moose is getting into Latin America. I wonder wether there
> are moose-trained people here in Uruguay
>
> best regards
> Haroldo
>
>
> 2014-11-28 18:15 GMT-02:00 Alexandre Bergel <[hidden email]
> <mailto:[hidden email]>>:
>
>      Hi!
>
>      We had a wonderful week here in Cochabamba, Bolivia. Juan-Pablo, Juraj and I
>      have taught Pharo and Moose during 5 days. Was pretty cool!
>
>      Here is a script that shows that one of the group was able to produce in
>      just 3 days.
>      The figures analyze the content of my package-cache directory. It shows the
>      number of commit per day, per hour, per author.
>
>
>
>
>      -=-=-=-=-=-=-=—=
>      myRepository := MCCacheRepository default.
>      myRepository allVersionNames.
>      packageNames := myRepository allVersionNames select: [ :e | 'Roassal*'
>      match: e ].
>      "packageNames := myRepository allVersionNames. "
>
>      lista := packageNames collect: [ :packageName |
>      myRepository versionInfoFromVersionNamed: packageName. ].
>
>      autores := lista groupedBy: [ :e | e author ].
>      fechas  := lista groupedBy: [ :e | e date ].
>      horas := lista groupedBy: [ :e | e time hour ].
>
>      c := RTComposer new.
>      v := c view.
>      c gap: 50.
>
>      popup := RTPopup text: [:assoc | assoc key asString, ', commits:', assoc
>      value size asString].
>      elements := (RTEllipse elementsOn: fechas associations).
>      v addAll: elements @ popup.
>      builder := RTGlobalBuilder new.
>      builder
>      view: v;
>      normalizeX: [ :e | e key asTimeStamp asUnixTime ]
>      min: 0
>      max: 50000;
>      normalizeSize: [:e | e value size ] min: 10 max: 20;
>      normalizeColor: [:e | e value size ];
>      alphaColor: 0.3;
>      elementsToConsider: elements;
>      execute.
>
>      "We add a line from the left most element to the right most element"
>      v add: ((RTLine new color: Color lightGray) edgeFrom: v elements
>      leftMostElement to: v elements rightMostElement).
>
>      "It make sense to only drag horizontally"
>      v @ RTHorizontalDraggableView.
>
>      c propagateHighlight.
>      c group: 'date'.
>
>      listTags := Array new: autores size.
>
>      autores doWithIndex: [ :each :i|
>      test := each groupedBy: [ :e | e date ].
>      elements := (RTEllipse elementsOn: test associations).
>      v addAll: elements @ popup.
>      builder
>          elementsToConsider: elements;
>      execute.
>
>      v add: ((RTLine new color: Color lightGray) edgeFrom: elements
>      leftMostElement to: elements rightMostElement).
>
>      newTag := 'Author' asString, i asString.
>      listTags at: i put: newTag.
>      c propagateHighlight.
>      c group: newTag.
>
>      ].
>
>
>      popup := RTPopup text: [:assoc | 'Hour: ' asString, assoc key asString, ',
>      commits:', assoc value size asString].
>      elements := (RTEllipse elementsOn: horas associations).
>      v addAll: elements @ popup.
>      builder := RTGlobalBuilder new.
>      builder
>      view: v;
>      normalizeX: [ :e | e key ]
>      min: 0
>      max: 380;
>      normalizeSize: [:e | e value size ] min: 10 max: 20;
>      normalizeColor: [:e | e value size ];
>      alphaColor: 0.3;
>      elementsToConsider: elements;
>      execute.
>
>      v add: ((RTLine new color: Color lightGray) edgeFrom: elements
>      leftMostElement to: elements rightMostElement).
>      c propagateHighlight.
>      c group: 'Hour'.
>
>
>
>
>      popup := RTPopup text: [:assoc | assoc author asString, ', ' , ' message
>      size: ', assoc message size asString].
>      elements := (RTEllipse elementsOn: lista).
>      v addAll: elements @ popup.
>      builder := RTGlobalBuilder new.
>      builder
>      view: v;
>      normalizeX: [ :e | e timeStamp asUnixTime ]
>      min: 0
>      max: 50000;
>      normalizeSize: [ :e | e message size ] min: 10 max: 20;
>      normalizeColor: [ :e | e message size ];
>      alphaColor: 0.3;
>      elementsToConsider: elements;
>      execute.
>
>      v add: ((RTLine new color: Color lightGray) edgeFrom: elements
>      leftMostElement to: elements rightMostElement).
>      c propagateHighlight.
>      c group: 'Comment'.
>
>
>      listTags doWithIndex: [ :e :i|
>      (i == 1)
>        ifTrue: [
>      c move: e below: 'date'.
>      last := e.
>      c nameGroup: 'date' as: 'History by Date'.
>      aAuthor := autores keys at: i.
>      c nameGroup: e as: 'History by: ' asString,  aAuthor asString.
>        ]
>        ifFalse: [
>      c move: e below: last.
>      last := e.
>      aAuthor := autores keys at: i.
>      c nameGroup: e as: 'History by: ' asString, aAuthor asString.
>        ]
>      ].
>
>      c move: 'Hour' below: last.
>      c nameGroup: 'Hour' as: 'History by Hour'.
>
>      c move: 'Comment' below: 'Hour'.
>      c nameGroup: 'Comment' as: 'History by Comment'.
>
>
>      "We add a small legend"
>      v canvas addFixedShape: (TRLabelShape new text: 'History of Changes').
>      TRConstraint stickAtTheBottomOfTheWindow: v canvas fixedShapes last.
>
>      ^v
>      -=-=-=-=-=-=-=—=
>
>      Cheers,
>      Alexandre
>      --
>      _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>      Alexandre Bergel http://www.bergel.eu
>      ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>      _______________________________________________
>      Moose-dev mailing list
>      [hidden email] <mailto:[hidden email]>
>      https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: A result of the pharo lecture we had in Bolivia

Haroldo Stenger
In reply to this post by abergel


2014-11-28 19:21 GMT-02:00 Alexandre Bergel <[hidden email]>:
Uruguay?
How did you hear about Moose?

one of my interests is all sort of software reengineering, and sick of looking for tools, i found moose. 

 
How many of you are using Moose? For which purpose?


I don't know if they at the facultad de ingeniería are aware of moose, posibly some of them, some of them use coq and the like for program-theorem demostration, but that's in scheme , not in smalltalk. I'd like to get some time to be able to make moose analyze my own software. I haven't yet.

 
Tell us more :-)


I'm glad to tell this.


best !
Haroldo

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: A result of the pharo lecture we had in Bolivia

abergel
Excellent Haroldo!
Let us know how we can help

As you know, we are in Chile. On some point, next year we could visit Uruguay and Colombia. We should organize some a moose/roassal workshop and Pharo sprint.

Alexandre


> On Nov 30, 2014, at 1:00 AM, Haroldo Stenger <[hidden email]> wrote:
>
>
>
> 2014-11-28 19:21 GMT-02:00 Alexandre Bergel <[hidden email]>:
> Uruguay?
> How did you hear about Moose?
>
> one of my interests is all sort of software reengineering, and sick of looking for tools, i found moose.
>
>  
> How many of you are using Moose? For which purpose?
>
>
> I don't know if they at the facultad de ingeniería are aware of moose, posibly some of them, some of them use coq and the like for program-theorem demostration, but that's in scheme , not in smalltalk. I'd like to get some time to be able to make moose analyze my own software. I haven't yet.
>
>  
> Tell us more :-)
>
>
> I'm glad to tell this.
>
>
> best !
> Haroldo
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: A result of the pharo lecture we had in Bolivia

Tudor Girba-2
This would indeed be great.

Doru

On Sun, Nov 30, 2014 at 1:58 PM, Alexandre Bergel <[hidden email]> wrote:
Excellent Haroldo!
Let us know how we can help

As you know, we are in Chile. On some point, next year we could visit Uruguay and Colombia. We should organize some a moose/roassal workshop and Pharo sprint.

Alexandre


> On Nov 30, 2014, at 1:00 AM, Haroldo Stenger <[hidden email]> wrote:
>
>
>
> 2014-11-28 19:21 GMT-02:00 Alexandre Bergel <[hidden email]>:
> Uruguay?
> How did you hear about Moose?
>
> one of my interests is all sort of software reengineering, and sick of looking for tools, i found moose.
>
>
> How many of you are using Moose? For which purpose?
>
>
> I don't know if they at the facultad de ingeniería are aware of moose, posibly some of them, some of them use coq and the like for program-theorem demostration, but that's in scheme , not in smalltalk. I'd like to get some time to be able to make moose analyze my own software. I haven't yet.
>
>
> Tell us more :-)
>
>
> I'm glad to tell this.
>
>
> best !
> Haroldo
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev



--

"Every thing has its own flow"

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: A result of the pharo lecture we had in Bolivia

Haroldo Stenger
In reply to this post by abergel
That would be really awesome!

If you have some presentation text to resend to possibly interested people, please let me know.

best


h

2014-11-30 10:58 GMT-02:00 Alexandre Bergel <[hidden email]>:
Excellent Haroldo!
Let us know how we can help

As you know, we are in Chile. On some point, next year we could visit Uruguay and Colombia. We should organize some a moose/roassal workshop and Pharo sprint.

Alexandre


> On Nov 30, 2014, at 1:00 AM, Haroldo Stenger <[hidden email]> wrote:
>
>
>
> 2014-11-28 19:21 GMT-02:00 Alexandre Bergel <[hidden email]>:
> Uruguay?
> How did you hear about Moose?
>
> one of my interests is all sort of software reengineering, and sick of looking for tools, i found moose.
>
>
> How many of you are using Moose? For which purpose?
>
>
> I don't know if they at the facultad de ingeniería are aware of moose, posibly some of them, some of them use coq and the like for program-theorem demostration, but that's in scheme , not in smalltalk. I'd like to get some time to be able to make moose analyze my own software. I haven't yet.
>
>
> Tell us more :-)
>
>
> I'm glad to tell this.
>
>
> best !
> Haroldo
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev