Chris Muller uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-cmm.721.mcz
==================== Summary ====================
Name: Morphic-cmm.721
Author: cmm
Time: 7 March 2014, 10:59:11.347 am
UUID: de79188f-637e-4ccd-9ef2-1b9b39f6de21
Ancestors: Morphic-cmm.720
It's not necessary to use a random pause for smart-splitters, I never noticed any patternistic emergence, but the call to atRandom from Morphic did result in an image lockup once when there was a lock on Collection class' #mutexForPicking.
=============== Diff against Morphic-cmm.720 ===============
Item was changed:
----- Method: ProportionalSplitterMorph>>stepTime (in category 'events') -----
stepTime
"When a splitter finds itself in the right place, let it rest for about 3 seconds to avoid performance impacts of constant, rapid stepping."
| pause |
+ pause := 3000. "Frozen image when atRandom failed due to lock on its Mutex."
- pause := (2900 to: 3100) atRandom "to discourage any patternistic emergence".
^ ({#(1 -1 1 ). #(-1 1 -1 )} includes: self movements asArray)
ifTrue: [ pause "don't twitch" ]
ifFalse:
[ splitsTopAndBottom
ifTrue:
[ self topBottomCorrection isZero
ifTrue: [ pause ]
ifFalse: [ 0 ] ]
ifFalse:
[ self leftRightImbalance abs > 1
ifTrue: [ ">1 rather than 0 to discourage one-off twitching"
0 ]
ifFalse: [ pause ] ] ]!
Chris Muller uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-cmm.721.mcz
==================== Summary ====================
Name: Morphic-cmm.721
Author: cmm
Time: 7 March 2014, 10:59:11.347 am
UUID: de79188f-637e-4ccd-9ef2-1b9b39f6de21
Ancestors: Morphic-cmm.720
It's not necessary to use a random pause for smart-splitters, I never noticed any patternistic emergence, but the call to atRandom from Morphic did result in an image lockup once when there was a lock on Collection class' #mutexForPicking.
=============== Diff against Morphic-cmm.720 ===============
Item was changed:
----- Method: ProportionalSplitterMorph>>stepTime (in category 'events') -----
stepTime
"When a splitter finds itself in the right place, let it rest for about 3 seconds to avoid performance impacts of constant, rapid stepping."
| pause |
+ pause := 3000. "Frozen image when atRandom failed due to lock on its Mutex."
- pause := (2900 to: 3100) atRandom "to discourage any patternistic emergence".
^ ({#(1 -1 1 ). #(-1 1 -1 )} includes: self movements asArray)
ifTrue: [ pause "don't twitch" ]
ifFalse:
[ splitsTopAndBottom
ifTrue:
[ self topBottomCorrection isZero
ifTrue: [ pause ]
ifFalse: [ 0 ] ]
ifFalse:
[ self leftRightImbalance abs > 1
ifTrue: [ ">1 rather than 0 to discourage one-off twitching"
0 ]
ifFalse: [ pause ] ] ]!
Chris Muller uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-cmm.721.mcz
==================== Summary ====================
Name: Morphic-cmm.721
Author: cmm
Time: 7 March 2014, 10:59:11.347 am
UUID: de79188f-637e-4ccd-9ef2-1b9b39f6de21
Ancestors: Morphic-cmm.720
It's not necessary to use a random pause for smart-splitters, I never noticed any patternistic emergence, but the call to atRandom from Morphic did result in an image lockup once when there was a lock on Collection class' #mutexForPicking.
=============== Diff against Morphic-cmm.720 ===============
Item was changed:
----- Method: ProportionalSplitterMorph>>stepTime (in category 'events') -----
stepTime
"When a splitter finds itself in the right place, let it rest for about 3 seconds to avoid performance impacts of constant, rapid stepping."
| pause |
+ pause := 3000. "Frozen image when atRandom failed due to lock on its Mutex."
- pause := (2900 to: 3100) atRandom "to discourage any patternistic emergence".
^ ({#(1 -1 1 ). #(-1 1 -1 )} includes: self movements asArray)
ifTrue: [ pause "don't twitch" ]
ifFalse:
[ splitsTopAndBottom
ifTrue:
[ self topBottomCorrection isZero
ifTrue: [ pause ]
ifFalse: [ 0 ] ]
ifFalse:
[ self leftRightImbalance abs > 1
ifTrue: [ ">1 rather than 0 to discourage one-off twitching"
0 ]
ifFalse: [ pause ] ] ]!
Nicolas Cellier uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-nice.840.mcz
==================== Summary ====================
Name: Kernel-nice.840
Author: nice
Time: 3 March 2014, 4:17:47.597 pm
UUID: b9d8d15f-48f9-4986-b666-89241ecae19f
Ancestors: Kernel-nice.839
Correct a comment: integerPart is the integer part, not the fractional part.
=============== Diff against Kernel-nice.839 ===============
Item was changed:
----- Method: ScaledDecimal>>integerPart (in category 'truncation and round off') -----
integerPart
+ "Answer the integer part of the receiver."
- "Answer the fractional part of the receiver."
^ ScaledDecimal newFromNumber: fraction integerPart scale: scale!
Nicolas Cellier uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-nice.840.mcz
==================== Summary ====================
Name: Kernel-nice.840
Author: nice
Time: 3 March 2014, 4:17:47.597 pm
UUID: b9d8d15f-48f9-4986-b666-89241ecae19f
Ancestors: Kernel-nice.839
Correct a comment: integerPart is the integer part, not the fractional part.
=============== Diff against Kernel-nice.839 ===============
Item was changed:
----- Method: ScaledDecimal>>integerPart (in category 'truncation and round off') -----
integerPart
+ "Answer the integer part of the receiver."
- "Answer the fractional part of the receiver."
^ ScaledDecimal newFromNumber: fraction integerPart scale: scale!
Nicolas Cellier uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-nice.840.mcz
==================== Summary ====================
Name: Kernel-nice.840
Author: nice
Time: 3 March 2014, 4:17:47.597 pm
UUID: b9d8d15f-48f9-4986-b666-89241ecae19f
Ancestors: Kernel-nice.839
Correct a comment: integerPart is the integer part, not the fractional part.
=============== Diff against Kernel-nice.839 ===============
Item was changed:
----- Method: ScaledDecimal>>integerPart (in category 'truncation and round off') -----
integerPart
+ "Answer the integer part of the receiver."
- "Answer the fractional part of the receiver."
^ ScaledDecimal newFromNumber: fraction integerPart scale: scale!
Chris Muller uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-cmm.587.mcz
==================== Summary ====================
Name: Monticello-cmm.587
Author: cmm
Time: 1 March 2014, 3:41:19.021 pm
UUID: aecfb56d-4a43-4f30-81e5-049eb2dfc5d4
Ancestors: Monticello-cmm.586
Warn when about to serialize an empty mcz.
=============== Diff against Monticello-cmm.586 ===============
Item was changed:
----- Method: MCMczWriter>>serializeDefinitions: (in category 'serializing') -----
serializeDefinitions: aCollection
+ aCollection ifEmpty: [ Warning signal: 'About to serialize an empty package.'].
^String streamContents: [:aStream |
| writer |
writer := self snapshotWriterClass on: aStream.
writer writeDefinitions: aCollection]!
Chris Muller uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-cmm.587.mcz
==================== Summary ====================
Name: Monticello-cmm.587
Author: cmm
Time: 1 March 2014, 3:41:19.021 pm
UUID: aecfb56d-4a43-4f30-81e5-049eb2dfc5d4
Ancestors: Monticello-cmm.586
Warn when about to serialize an empty mcz.
=============== Diff against Monticello-cmm.586 ===============
Item was changed:
----- Method: MCMczWriter>>serializeDefinitions: (in category 'serializing') -----
serializeDefinitions: aCollection
+ aCollection ifEmpty: [ Warning signal: 'About to serialize an empty package.'].
^String streamContents: [:aStream |
| writer |
writer := self snapshotWriterClass on: aStream.
writer writeDefinitions: aCollection]!
Chris Muller uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-cmm.587.mcz
==================== Summary ====================
Name: Monticello-cmm.587
Author: cmm
Time: 1 March 2014, 3:41:19.021 pm
UUID: aecfb56d-4a43-4f30-81e5-049eb2dfc5d4
Ancestors: Monticello-cmm.586
Warn when about to serialize an empty mcz.
=============== Diff against Monticello-cmm.586 ===============
Item was changed:
----- Method: MCMczWriter>>serializeDefinitions: (in category 'serializing') -----
serializeDefinitions: aCollection
+ aCollection ifEmpty: [ Warning signal: 'About to serialize an empty package.'].
^String streamContents: [:aStream |
| writer |
writer := self snapshotWriterClass on: aStream.
writer writeDefinitions: aCollection]!