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
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 alexandre.bergel@me.com:
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 Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
oh ! you're in Chile ! :-) that's great. :-)
best
h
2014-11-28 18:41 GMT-02:00 Haroldo Stenger haroldo.stenger@gmail.com:
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 alexandre.bergel@me.com:
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 Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
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 haroldo.stenger@gmail.com 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 alexandre.bergel@me.com: 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 Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
2014-11-28 19:21 GMT-02:00 Alexandre Bergel alexandre.bergel@me.com:
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
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 haroldo.stenger@gmail.com wrote:
2014-11-28 19:21 GMT-02:00 Alexandre Bergel alexandre.bergel@me.com: 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 Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
This would indeed be great.
Doru
On Sun, Nov 30, 2014 at 1:58 PM, Alexandre Bergel alexandre.bergel@me.com 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 haroldo.stenger@gmail.com
wrote:
2014-11-28 19:21 GMT-02:00 Alexandre Bergel alexandre.bergel@me.com: 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 Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
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 alexandre.bergel@me.com:
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 haroldo.stenger@gmail.com
wrote:
2014-11-28 19:21 GMT-02:00 Alexandre Bergel alexandre.bergel@me.com: 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 Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
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...
The exploration was done using Pharo/Moose.
Is also taking place as workshops in our local hackerspace at Bogotá Colombia:
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 <alexandre.bergel@me.com mailto:alexandre.bergel@me.com>:
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 Moose-dev@iam.unibe.ch <mailto:Moose-dev@iam.unibe.ch> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
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 alexandre.bergel@me.com 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 Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev