Re: [Pharo-dev] [Pharo4] 203 issues tagged tagged for Pharo4

2015-03-26 Thread Marcus Denker
Down to 29.

https://pharo.fogbugz.com/f/filters/103/4-0-All

A simple that needs help::

13201 Hard to start a tutorial in Pharo
https://pharo.fogbugz.com/f/cases/13201




 On 24 Mar 2015, at 18:50, Marcus Denker marcus.den...@inria.fr wrote:
 
 33. And there are some already fixed, waiting to be reviewed.




Re: [Pharo-dev] when is cleanUpForRelease called on the build server?

2015-03-26 Thread Marcus Denker

 On 26 Mar 2015, at 09:29, Andrei Chis chisvasileand...@gmail.com wrote:
 
 Thanks Marcus.
 So you run the cleanup before running the tests.
 

Yes! and we then ship this image if the tests are mot red.
(this means that the tests can destroy the image, we do not ship an image
where the tests have run).

Marcus



[Pharo-dev] 4.0 Meta Repo access

2015-03-26 Thread Yuriy Tymchuk
Hi, can anyone give me an access to Pharo 4.0 meta repository?

Cheers.
Uko



Re: [Pharo-dev] Existing script example pragmas and new GT needs

2015-03-26 Thread Torsten Bergmann
Hi Tudor,

We will rename example back to gtExample and keep the API as it is. That 
will leave Pharo 4 with one example method while the other 100 will use 
gtExample. This will be available with the next GT integration.

As I already wrote (and Guillermo equally pointed out): most of them are there 
because you created/introduced many extension 
methods with GT to provide these sample instances like in $a for Charater or 42 
for Integer, ... 
Which is completely valid to demonstrate how usefull your new extension is. But 
it is because you investigated so far more to 
demonstrate this new mechanism.


And yes, currently we have just one example in the image (beside some other 
in external projects). But if we do not 
want to rely on the exampleXXX pattern anymore we will mark the typical example 
methods with example in the future and would 
have around 140 in the latest image: 

 |coll|
 coll := IdentitySet new.
 Object withAllSubclassesDo: [:aClass | 
  aClass class selectorsDo: [:selector |  
(selector  beginsWith: 'example') ifTrue: [ coll add: selector ]

 ]].
 ^coll

If we dont mark them I agree that there are only a few counterwise.

But again: from my side it is not about the current numbers. It is about the 
future mechanism, clear and 
understandable concepts and naming.

The usualy exampleXXX demos for code fits well with example from the name and 
mentally. Example
is a very generous term for something to look at and learn.

In Pharo one can now demonstrate in the new GT inspector lively ready made 
instances! 
You feature and the research bound to it is not only important but a real 
improvement.
I like that and I'm sure this will push us forward a lot. 

Still IMHO mentally using example for depicting code to look at does fit 
namewise and 
conceptualy very well with the known and usual example methods in the image or 
external 
packages. Some of them provide an instance, but many of them just show how to 
use code.

And yes: I would the new GT mechanism to use a term and pragma name that better 
depicts 
what should be provided from the one who uses it: typical example instances or 
exemplars 
of the class. 

When one creates a class 

Object subclass: #RevolutionarySystem
instanceVariableNames: 'name'
classVariableNames: ''
category: 'The-World'

he can implement a class side method to use the new mechanism:

uniqueExemplar
exemplar

^RevolutionarySystem called: 'Pharo'

And this class side method returns an exemplary instance. If such a method 
should 
also serves as an example method (in the tradition of a code example to look at)
one can even mark it with both pragmas.
  
The decision has nothing to do with arguments. 

Why do you negotiate instead of (at a minimum) ellaborate what you think of the 
made 
proposal to use exemplar for the new GT mechanism.  

See the definition for exemplar:  

http://dictionary.reference.com/browse/exemplar
   a model or pattern to be copied or imitated
   a typical example or instance

http://www.thefreedictionary.com/exemplar
   One that is worthy of imitation; a perfect example or model
   One that is typical or representative

http://www.merriam-webster.com/dictionary/exemplar
   an admired person or thing that is considered an example that deserves to 
be copied
   a typical example 

http://www.ldoceonline.com/dictionary/exemplar
   formal a good or typical example

http://www.dict.cc/?s=exemplar
   instance
   specimen
   sample

All the 100 instances now returns by GT extension are such exemplars: they are
typical instances like $a or 42 one can use as a model or pattern to be copied 
or imitated. 

Would'nt that perfectly fit with what you intended with your new feature: the 
preview 
should help people to just inspect a class, look at the new e.g. tab and 
learn from
premade instances? 

The release is too important and we got distracted from the goal.

No doubt that the release is important and fixing it NOW from the technical 
side is easy 
as I demonstrated with the changeset. I guess rolling back gtExample would 
take you 
more time than reviewing it.

Before doing any action on your side I would really like to know your opinion 
about
exemplar. I'm fine when you can not accept it - but please tell me about the 
reasons.

Bye
T.





Re: [Pharo-dev] when is cleanUpForRelease called on the build server?

2015-03-26 Thread Andrei Chis
Makes perfect sense.
Thanks for the explanation.

Cheers,
Andrei

On Thu, Mar 26, 2015 at 9:34 AM, Marcus Denker marcus.den...@inria.fr
wrote:


  On 26 Mar 2015, at 09:29, Andrei Chis chisvasileand...@gmail.com
 wrote:
 
  Thanks Marcus.
  So you run the cleanup before running the tests.
 

 Yes! and we then ship this image if the tests are mot red.
 (this means that the tests can destroy the image, we do not ship an image
 where the tests have run).

 Marcus




Re: [Pharo-dev] [Pharo4] Failing tests on CI server

2015-03-26 Thread Marcus Denker
Hi,

We have two failing test left. One is fixed upstream, but the other is still 
not fixed:

  TxAthensLayoutTest#testScrollToLargeX 

Anyone who want to try to take this on?

Marcus

 On 23 Mar 2015, at 14:07, Marcus Denker marcus.den...@inria.fr wrote:
 
 Hi
 
 We have 4 failing tests left, one is already fixed but not yet in the release:
 
 GLMTabulatorMorphicTest#testSpawnTabulator
   - fixed upstream
   
 TxAthensLayoutTest#testScrollToLargeX 
 
 BehaviorTest#testBehaviorRespectsPolymorphismWithTraitBehavior
 
 ClassDescriptionTest#testClassDescriptionRespectsPolymorphismWithTraitDescription




Re: [Pharo-dev] 4.0 Meta Repo access

2015-03-26 Thread Thierry Goubier
Hi Uko,

It's done. Check your smallttalkhub account.

Thierry

2015-03-26 10:06 GMT+01:00 Yuriy Tymchuk yuriy.tymc...@me.com:

 Hi, can anyone give me an access to Pharo 4.0 meta repository?

 Cheers.
 Uko




Re: [Pharo-dev] when is cleanUpForRelease called on the build server?

2015-03-26 Thread Andrei Chis
Thanks Marcus.
So you run the cleanup before running the tests.

Cheers,
Andrei

On Thu, Mar 26, 2015 at 7:39 AM, Marcus Denker marcus.den...@inria.fr
wrote:


 On 25 Mar 2015, at 23:26, Andrei Chis chisvasileand...@gmail.com wrote:

 Hi,

 When is cleanUpForRelease called during the build process on the Pharo CI?
 Had a quick look but could not find it.

 We want to add some tests to our build to stress test the inspector and
 spotter, to maybe catch future memory leaks :)


 https://ci.inria.fr/pharo/job/Pharo-4.0-Update-Step-1-Tracker

 loads the update and then does the cleanup:

 ./pharo Pharo.image update --from-file=updates40.staged
 ./pharo Pharo.image clean --release




Re: [Pharo-dev] Existing script example pragmas and new GT needs

2015-03-26 Thread Christophe Demarey
Hi,

Nobody answered Andreas proposition that I find really interesting.
No debate about the number of methods using this pragma or the other one: we do 
not care!

What is important is: does the pragma name says me what I can expect from this 
method?
If you look at the number of messages in this thread, I would say no.
So why not choosing different names for different things?  exampleCode and 
exampleInstance

Le 25 mars 2015 à 18:23, Andreas Wacknitz a écrit :
 For me one really important thing is: get the names right.
 4.0 will be released soon. What is being introduced now will stay for a while.
 
 You discussion makes it clear to me that example is misleading and thus not
 an optimal name (for both usages). So it would be better to choose something 
 more
 intention revealing like exampleCode and exampleInstance. This also makes
 room for more example ideas in the future.

+1

Christophe.

smime.p7s
Description: S/MIME cryptographic signature


[Pharo-dev] [pharo-project/pharo-core] b12157: 40583

2015-03-26 Thread GitHub
  Branch: refs/heads/4.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: b121574fb31c9ed1dc1e1d00b7524030a2615ef8
  
https://github.com/pharo-project/pharo-core/commit/b121574fb31c9ed1dc1e1d00b7524030a2615ef8
  Author: Jenkins Build Server bo...@pharo-project.org
  Date:   2015-03-26 (Thu, 26 Mar 2015)

  Changed paths:
M Kernel.package/Delay.class/class/settings/systemSettingOn_.st
A Kernel.package/DelayExperimentalCourageousScheduler.class/README.md
A Kernel.package/DelayExperimentalCourageousScheduler.class/definition.st
A Kernel.package/DelayExperimentalCourageousScheduler.class/instance/low 
priority processes/schedule_.st
A Kernel.package/DelayExperimentalCourageousScheduler.class/instance/low 
priority processes/unschedule_.st
A Kernel.package/DelayExperimentalSemaphoreScheduler.class/README.md
A Kernel.package/DelayExperimentalSemaphoreScheduler.class/definition.st
A 
Kernel.package/DelayExperimentalSemaphoreScheduler.class/instance/initialization/initialize.st
A Kernel.package/DelayExperimentalSemaphoreScheduler.class/instance/low 
priority processes/schedule_.st
A Kernel.package/DelayExperimentalSemaphoreScheduler.class/instance/low 
priority processes/unschedule_.st
A Kernel.package/DelayExperimentalSemaphoreScheduler.class/instance/timer 
process/handleTimerEvent_.st
A Kernel.package/DelayExperimentalSpinScheduler.class/README.md
A Kernel.package/DelayExperimentalSpinScheduler.class/definition.st
A Kernel.package/DelayExperimentalSpinScheduler.class/instance/low priority 
processes/schedule_.st
A Kernel.package/DelayExperimentalSpinScheduler.class/instance/low priority 
processes/unschedule_.st
M KernelTests.package/DelayBenchmark.class/class/action/run.st
A KernelTests.package/DelayBenchmark.class/class/action/runAll.st
R KernelTests.package/DelayBenchmark.class/instance/action/run.st
A KernelTests.package/DelayBenchmark.class/instance/benchmarks/bench.st
A KernelTests.package/DelayBenchmark.class/instance/benchmarks/bench_.st
A KernelTests.package/DelaySchedulerBackgroundWorkerMorph.class/README.md
A 
KernelTests.package/DelaySchedulerBackgroundWorkerMorph.class/definition.st
A 
KernelTests.package/DelaySchedulerBackgroundWorkerMorph.class/instance/action/delete.st
A 
KernelTests.package/DelaySchedulerBackgroundWorkerMorph.class/instance/initialization/initialize.st
A 
KernelTests.package/DelaySchedulerBackgroundWorkerMorph.class/instance/stepping/step.st
A 
KernelTests.package/DelaySchedulerBackgroundWorkerMorph.class/instance/stepping/stepTime.st
M Pharo-Help.package/PharoEnvironmentHelp.class/README.md
R ScriptLoader40.package/ScriptLoader.class/instance/pharo - 
scripts/script582.st
A ScriptLoader40.package/ScriptLoader.class/instance/pharo - 
scripts/script583.st
R ScriptLoader40.package/ScriptLoader.class/instance/pharo - 
updates/update40582.st
A ScriptLoader40.package/ScriptLoader.class/instance/pharo - 
updates/update40583.st
M 
ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st

  Log Message:
  ---
  40583
14344 Delay refactoring (part 3) - changeout mutex scheduling for semaphore 
scheduling
https://pharo.fogbugz.com/f/cases/14344

15180 Update Pharo Help topic about spotlight shortcut
https://pharo.fogbugz.com/f/cases/15180

http://files.pharo.org/image/40/40583.zip




[Pharo-dev] [pharo-project/pharo-core]

2015-03-26 Thread GitHub
  Branch: refs/tags/40583
  Home:   https://github.com/pharo-project/pharo-core


Re: [Pharo-dev] 4.0 Meta Repo access

2015-03-26 Thread Esteban Lorenzano
MetaRepos are public access… no one needs explicit access to commit there. 

cheers, 
Esteban

 On 26 Mar 2015, at 10:12, Thierry Goubier thierry.goub...@gmail.com wrote:
 
 Hi Uko,
 
 It's done. Check your smallttalkhub account.
 
 Thierry
 
 2015-03-26 10:06 GMT+01:00 Yuriy Tymchuk yuriy.tymc...@me.com 
 mailto:yuriy.tymc...@me.com:
 Hi, can anyone give me an access to Pharo 4.0 meta repository?
 
 Cheers.
 Uko
 
 



Re: [Pharo-dev] Existing script example pragmas and new GT needs

2015-03-26 Thread kilon alios
+1
couldn't agree more :)

On Thu, Mar 26, 2015 at 1:06 PM, Esteban Lorenzano esteba...@gmail.com
wrote:

 Ok… my 2c:

 Basically there is a difference between an “example” and a prototype,
 which is what the gtExample intends to do. Exemplar is just another way to
 name a prototype.
 Sorry to make you sad and tired… but when you introduce such an important
 new tool as all the gtools are, you cannot expect people to accept all your
 choices “as is”… and debate is the only way to achieve some consensus.

 Esteban

 ps: we are just days from release and we are all stressed a lot… so lets
 take a breath and consider things with the appropriate distance. We are not
 talking about the cure for cancer here, just the right name for a pragma,
 in a method.

  On 26 Mar 2015, at 10:02, Torsten Bergmann asta...@gmx.de wrote:
 
  Hi Tudor,
 
  We will rename example back to gtExample and keep the API as it is.
 That will leave Pharo 4 with one example method while the other 100 will
 use gtExample. This will be available with the next GT integration.
 
  As I already wrote (and Guillermo equally pointed out): most of them are
 there because you created/introduced many extension
  methods with GT to provide these sample instances like in $a for
 Charater or 42 for Integer, ...
  Which is completely valid to demonstrate how usefull your new extension
 is. But it is because you investigated so far more to
  demonstrate this new mechanism.
 
 
  And yes, currently we have just one example in the image (beside some
 other in external projects). But if we do not
  want to rely on the exampleXXX pattern anymore we will mark the typical
 example methods with example in the future and would
  have around 140 in the latest image:
 
  |coll|
  coll := IdentitySet new.
  Object withAllSubclassesDo: [:aClass |
   aClass class selectorsDo: [:selector |
(selector  beginsWith: 'example') ifTrue: [ coll add: selector
 ]
  ]].
  ^coll
 
  If we dont mark them I agree that there are only a few counterwise.
 
  But again: from my side it is not about the current numbers. It is about
 the future mechanism, clear and
  understandable concepts and naming.
 
  The usualy exampleXXX demos for code fits well with example from the
 name and mentally. Example
  is a very generous term for something to look at and learn.
 
  In Pharo one can now demonstrate in the new GT inspector lively ready
 made instances!
  You feature and the research bound to it is not only important but a
 real improvement.
  I like that and I'm sure this will push us forward a lot.
 
  Still IMHO mentally using example for depicting code to look at does
 fit namewise and
  conceptualy very well with the known and usual example methods in the
 image or external
  packages. Some of them provide an instance, but many of them just show
 how to use code.
 
  And yes: I would the new GT mechanism to use a term and pragma name that
 better depicts
  what should be provided from the one who uses it: typical example
 instances or exemplars
  of the class.
 
  When one creates a class
 
 Object subclass: #RevolutionarySystem
instanceVariableNames: 'name'
classVariableNames: ''
category: 'The-World'
 
  he can implement a class side method to use the new mechanism:
 
 uniqueExemplar
exemplar
 
^RevolutionarySystem called: 'Pharo'
 
  And this class side method returns an exemplary instance. If such a
 method should
  also serves as an example method (in the tradition of a code example to
 look at)
  one can even mark it with both pragmas.
 
  The decision has nothing to do with arguments.
 
  Why do you negotiate instead of (at a minimum) ellaborate what you think
 of the made
  proposal to use exemplar for the new GT mechanism.
 
  See the definition for exemplar:
 
  http://dictionary.reference.com/browse/exemplar
a model or pattern to be copied or imitated
a typical example or instance
 
  http://www.thefreedictionary.com/exemplar
One that is worthy of imitation; a perfect example or model
One that is typical or representative
 
  http://www.merriam-webster.com/dictionary/exemplar
an admired person or thing that is considered an example that
 deserves to be copied
a typical example
 
  http://www.ldoceonline.com/dictionary/exemplar
formal a good or typical example
 
  http://www.dict.cc/?s=exemplar
instance
specimen
sample
 
  All the 100 instances now returns by GT extension are such exemplars:
 they are
  typical instances like $a or 42 one can use as a model or pattern to be
 copied
  or imitated.
 
  Would'nt that perfectly fit with what you intended with your new
 feature: the preview
  should help people to just inspect a class, look at the new e.g. tab
 and learn from
  premade instances?
 
  The release is too important and we got distracted from the goal.
 
  No doubt that the release is important and fixing it NOW from the
 technical side is easy
  as I 

Re: [Pharo-dev] 4.0 Meta Repo access

2015-03-26 Thread Thierry Goubier
Hi Esteban,

this is not discoverable. Nothing in MetaRepoForPharo40 description or
settings says so. There isn't even a description in MetaRepoForPharo40.

Thierry

2015-03-26 12:08 GMT+01:00 Esteban Lorenzano esteba...@gmail.com:

 MetaRepos are public access... no one needs explicit access to commit there.

 cheers,
 Esteban


 On 26 Mar 2015, at 10:12, Thierry Goubier thierry.goub...@gmail.com
 wrote:

 Hi Uko,

 It's done. Check your smallttalkhub account.

 Thierry

 2015-03-26 10:06 GMT+01:00 Yuriy Tymchuk yuriy.tymc...@me.com:

 Hi, can anyone give me an access to Pharo 4.0 meta repository?

 Cheers.
 Uko






Re: [Pharo-dev] 4.0 Meta Repo access

2015-03-26 Thread Sean P. DeNigris
Sean P. DeNigris wrote
 Good point. It's a general StHub limitation, but we could put it in the
 description...

How's this:
About MetaRepoForPharo40

This repo is publicly writable. All you need is a SmalltalkHub account.



-
Cheers,
Sean
--
View this message in context: 
http://forum.world.st/4-0-Meta-Repo-access-tp4815239p4815275.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.



Re: [Pharo-dev] Existing script example pragmas and new GT needs

2015-03-26 Thread Esteban Lorenzano
Ok… my 2c: 

Basically there is a difference between an “example” and a prototype, which is 
what the gtExample intends to do. Exemplar is just another way to name a 
prototype. 
Sorry to make you sad and tired… but when you introduce such an important new 
tool as all the gtools are, you cannot expect people to accept all your choices 
“as is”… and debate is the only way to achieve some consensus. 

Esteban

ps: we are just days from release and we are all stressed a lot… so lets take a 
breath and consider things with the appropriate distance. We are not talking 
about the cure for cancer here, just the right name for a pragma, in a method. 

 On 26 Mar 2015, at 10:02, Torsten Bergmann asta...@gmx.de wrote:
 
 Hi Tudor,
 
 We will rename example back to gtExample and keep the API as it is. That 
 will leave Pharo 4 with one example method while the other 100 will use 
 gtExample. This will be available with the next GT integration.
 
 As I already wrote (and Guillermo equally pointed out): most of them are 
 there because you created/introduced many extension 
 methods with GT to provide these sample instances like in $a for Charater or 
 42 for Integer, ... 
 Which is completely valid to demonstrate how usefull your new extension is. 
 But it is because you investigated so far more to 
 demonstrate this new mechanism.
 
 
 And yes, currently we have just one example in the image (beside some other 
 in external projects). But if we do not 
 want to rely on the exampleXXX pattern anymore we will mark the typical 
 example methods with example in the future and would 
 have around 140 in the latest image: 
 
 |coll|
 coll := IdentitySet new.
 Object withAllSubclassesDo: [:aClass | 
  aClass class selectorsDo: [:selector | 
   (selector  beginsWith: 'example') ifTrue: [ coll add: selector ]
 
 ]].
 ^coll
 
 If we dont mark them I agree that there are only a few counterwise.
 
 But again: from my side it is not about the current numbers. It is about the 
 future mechanism, clear and 
 understandable concepts and naming.
 
 The usualy exampleXXX demos for code fits well with example from the name 
 and mentally. Example
 is a very generous term for something to look at and learn.
 
 In Pharo one can now demonstrate in the new GT inspector lively ready made 
 instances! 
 You feature and the research bound to it is not only important but a real 
 improvement.
 I like that and I'm sure this will push us forward a lot. 
 
 Still IMHO mentally using example for depicting code to look at does fit 
 namewise and 
 conceptualy very well with the known and usual example methods in the image 
 or external 
 packages. Some of them provide an instance, but many of them just show how to 
 use code.
 
 And yes: I would the new GT mechanism to use a term and pragma name that 
 better depicts 
 what should be provided from the one who uses it: typical example instances 
 or exemplars 
 of the class. 
 
 When one creates a class 
 
Object subclass: #RevolutionarySystem
   instanceVariableNames: 'name'
   classVariableNames: ''
   category: 'The-World'
 
 he can implement a class side method to use the new mechanism:
 
uniqueExemplar
   exemplar
   
   ^RevolutionarySystem called: 'Pharo'
 
 And this class side method returns an exemplary instance. If such a method 
 should 
 also serves as an example method (in the tradition of a code example to look 
 at)
 one can even mark it with both pragmas.
  
 The decision has nothing to do with arguments. 
 
 Why do you negotiate instead of (at a minimum) ellaborate what you think of 
 the made 
 proposal to use exemplar for the new GT mechanism.  
 
 See the definition for exemplar:  
 
 http://dictionary.reference.com/browse/exemplar
   a model or pattern to be copied or imitated
   a typical example or instance
 
 http://www.thefreedictionary.com/exemplar
   One that is worthy of imitation; a perfect example or model
   One that is typical or representative
 
 http://www.merriam-webster.com/dictionary/exemplar
   an admired person or thing that is considered an example that deserves to 
 be copied
   a typical example 
 
 http://www.ldoceonline.com/dictionary/exemplar
   formal a good or typical example
 
 http://www.dict.cc/?s=exemplar
   instance
   specimen
   sample
 
 All the 100 instances now returns by GT extension are such exemplars: they are
 typical instances like $a or 42 one can use as a model or pattern to be 
 copied 
 or imitated. 
 
 Would'nt that perfectly fit with what you intended with your new feature: the 
 preview 
 should help people to just inspect a class, look at the new e.g. tab and 
 learn from
 premade instances? 
 
 The release is too important and we got distracted from the goal.
 
 No doubt that the release is important and fixing it NOW from the technical 
 side is easy 
 as I demonstrated with the changeset. I guess rolling back gtExample would 
 take you 
 more time than 

Re: [Pharo-dev] 4.0 Meta Repo access

2015-03-26 Thread Sean P. DeNigris
Thierry Goubier wrote
 this is not discoverable.

Good point. It's a general StHub limitation, but we could put it in the
description...



-
Cheers,
Sean
--
View this message in context: 
http://forum.world.st/4-0-Meta-Repo-access-tp4815239p4815274.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.



Re: [Pharo-dev] Making Seaside work in Pharo 4

2015-03-26 Thread Sean P. DeNigris
Marcus Denker-4 wrote
 It was in the “private” category and as such removed when there where no
 senders anymore after a 
 cleanup.

Ahh, I like that practice!



-
Cheers,
Sean
--
View this message in context: 
http://forum.world.st/Making-Seaside-work-in-Pharo-4-tp4814663p4815270.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.



Re: [Pharo-dev] Existing script example pragmas and new GT needs

2015-03-26 Thread Ben Coman
 On Wed, Mar 25, 2015 at 9:33 PM, Tudor Girba tu...@tudorgirba.com wrote:

 - Modeling Examples to Test and Understand Software, Markus Gaelli, PhD
 Thesis, 2006
 http://scg.unibe.ch/archive/phd/gaelli-phd.pdf


 - JExample: Exploiting Dependencies Between Tests to Improve Defect
 Localization, Kuhn etal, 2008
 http://scg.unibe.ch/archive/papers/Kuhn08aJExample.pdf

(Phexample is also available on SmalltalkHub)



In spite of the first using example as a metaphor and the second using
example in its name, these are references are about composable tests, not
examples.  While a test can serve as an example, a test is a different
concept than an Example.  So yes, its a great idea to explicitly define
dependencies between tests by them returning instances to be used by other
tests, but there are plenty of examples that do not follow that pattern,
nor should all examples be forced to follow that pattern, nor should they
be force to be tagged something other than an example.

Language is a funny thing.  Dictionaries tend to list all possible
meanings and don't necessarily indicate which are the more common usage.
The supporters of exemplar seems to have a German background, and maybe
the German word exemplar is an exact match, but it seems the meaning has
evolved since English imported it.  As a native english speaker, to me
exemplar has an immediate sense of being too exotic for the purpose, and
also more a meaning of the BEST example/instance of... - which I think
overstates the purpose here.

I have marked the more common meanings and underlined significant words in
the the supplied dictionary meanings...

On Thu, Mar 26, 2015 at 5:02 PM, Torsten Bergmann asta...@gmx.de wrote:

 what you think of the made proposal to use exemplar for the new GT
 mechanism.

 See the definition for exemplar:

 http://www.thefreedictionary.com/exemplar
 more this -- One that is _worthy_ of imitation; a _perfect_ example
 or model
 less this -- One that is typical or representative


 http://www.merriam-webster.com/dictionary/exemplar
 more this -- an _admired_ person or thing that is considered an
 example that _deserves_ to be copied
 less this -- a typical example

 http://www.dict.cc/?s=exemplar
instance
specimen
sample



Note that the german-english dictionary also proposes sample, which to me
seems the most suitable for the intent of returning an item for
inspection...

http://www.merriam-webster.com/dictionary/sample
   a representative part or a single item from a larger whole or group
especially _when-presented-for-inspection_ or shown as evidence of quality
:  specimen

cheers -ben


Re: [Pharo-dev] Some Memory Leak

2015-03-26 Thread Andrei Chis
Now, with Alain's help, also the memory leak from Rubric is solved.
All fixes will be in the next version, which will hopefully be ready today.

Cheers,
Andrei

On Wed, Mar 25, 2015 at 7:05 PM, stepharo steph...@free.fr wrote:

 +1


 Le 25/3/15 11:52, Sven Van Caekenberghe a écrit :

  YES!

 My image went from 65Mb to 34Mb (it contains Seaside/Bootstrap and
 several resources).

 Thanks a lot, you guys (and everybody else who contributes) rock!

 Let's hope this solves the issue.

  On 25 Mar 2015, at 11:26, Andrei Chis chisvasileand...@gmail.com
 wrote:

 To load the latest version in an image execute:

 {   { 'ConfigurationOfRubric'. 'AlainPlantec'. 'Rubric' }.
  { 'ConfigurationOfGlamourCore'. 'Moose'. 'Glamour' }.
  { 'ConfigurationOfGTInspectorCore'. 'Moose'. 'GToolkit' }.
  { 'ConfigurationOfGTPlaygroundCore'. 'Moose'. 'GToolkit' }.
  { 'ConfigurationOfGTSpotter'. 'Moose'. 'GToolkit' }.
 { 'ConfigurationOfGToolkitCore'. 'Moose'. 'GToolkit' }.
 } do: [ :spec |
  Gofer new
  smalltalkhubUser: spec second project: spec third;
  package: spec first;
  load ].
 ConfigurationOfGToolkitCore loadDevelopment.

 Then run cleanUp:

 Smalltalk cleanUp: true except: #() confirming: false.

 Now only the latest instance of playground/spotter is not garbaged
 collected, but that would be fixed very soon.


 Cheers,
 Andrei




 On Wed, Mar 25, 2015 at 11:21 AM, Sven Van Caekenberghe s...@stfx.eu
 wrote:
 Please tell us when this gets integrated so that we can test the effect.

 Or to go faster, please give some instructions (an executable
 expression) that we can execute in the latest image to load the relevant
 changes.

 We need more eyeballs.

  On 25 Mar 2015, at 09:50, Tudor Girba tu...@tudorgirba.com wrote:

 Up to now, we identified two issues that lead to objects not being
 garbage collected:

 - GLMHintableActionButtonBrick triggers a singleton asynctask that was
 not cleaned after the task was ready. Now, that problem should be solved in
 GT.

 - RubFindReplaceService has a Singleton class variable. At the same
 time, RubFindReplaceService also keeps a reference to the textArea which is
 part of the morph tree and will prevent the whole UI that includes it to be
 garbage collected. We are working on dealing with this issue.

 There might be other issues. We need to keep looking.

 Cheers,
 Doru



 On Wed, Mar 25, 2015 at 8:52 AM, stepharo steph...@free.fr wrote:
 Hi henrik

 your analyses are great.
 What do you think about

 GTSpotterStep#candidates

  ^ candidates ifNil: [
  candidates := GTSpotterCandidatesList new.
  candidates announcer weak subscribe: GTSpotterCandidateAdded
 do: [ self candidates hasOnlyOneItem ifTrue: [ self selectFirst ] ].
  candidates announcer weak subscribe:
 GTSpotterAllCandidatesAdded do: [ self selectFirst ].
  candidates announcer weak subscribe:
 GTSpotterAllCandidatesRemoved do: [ self selected: nil ].
  candidates ]

 Le 24/3/15 21:38, Henrik Sperre Johansen a écrit :

 A tiny bit of code review while I'm at it...

 GTSpotterResultsBrick  initialize
   super initialize
   self band hSpaceFill.
   self announcer weak subscribe: GLMBrickScrollPositionChanged send:
 #onScrolled to: self

 This is a tempting, but sneaky anti-pattern, you should never, ever,
 ever
 have to subscribe to your own announcer:
 The reason for calling it an anti-pattern is; if your code actually
 depends
 on this, it means other sources might invoke changes in you indirectly
 through your announcer, which quickly becomes debugging hell if you
 allow
 it, and something screws up. (I speak from experience)

 It's much easier to understand when done directly, in this case that
 means
 extending the super method where announcement is made:

 GTSpotterResultsBrick  privateScrollPosition:anInteger
   super privateScrollPosition:anInteger.
   self onScrolled

 Cheers,
 Henry

 P.S. Announcements are objects, they are intended to hold the data
 subscribers might be interested in.
 Whenever you find yourself writing something like:
 someAnnouncer announce: SomeAnnouncement new
 ask yourself twice if that may lead to subscribers accessing state that
 would more naturally be part of the announcement through other channels
 (such as keeping extra instvars, etc).



 --
 View this message in context: http://forum.world.st/Some-
 Memory-Leak-tp4814779p4814912.html
 Sent from the Pharo Smalltalk Developers mailing list archive at
 Nabble.com.








 --
 www.tudorgirba.com

 Every thing has its own flow










Re: [Pharo-dev] Some Memory Leak

2015-03-26 Thread Sven Van Caekenberghe
Wow!

 On 26 Mar 2015, at 14:24, Andrei Chis chisvasileand...@gmail.com wrote:
 
 Now, with Alain's help, also the memory leak from Rubric is solved. 
 All fixes will be in the next version, which will hopefully be ready today.
 
 Cheers,
 Andrei
 
 On Wed, Mar 25, 2015 at 7:05 PM, stepharo steph...@free.fr wrote:
 +1
 
 
 Le 25/3/15 11:52, Sven Van Caekenberghe a écrit :
 
 YES!
 
 My image went from 65Mb to 34Mb (it contains Seaside/Bootstrap and several 
 resources).
 
 Thanks a lot, you guys (and everybody else who contributes) rock!
 
 Let's hope this solves the issue.
 
 On 25 Mar 2015, at 11:26, Andrei Chis chisvasileand...@gmail.com wrote:
 
 To load the latest version in an image execute:
 
 {   { 'ConfigurationOfRubric'. 'AlainPlantec'. 'Rubric' }.
  { 'ConfigurationOfGlamourCore'. 'Moose'. 'Glamour' }.
  { 'ConfigurationOfGTInspectorCore'. 'Moose'. 'GToolkit' }.
  { 'ConfigurationOfGTPlaygroundCore'. 'Moose'. 'GToolkit' }.
  { 'ConfigurationOfGTSpotter'. 'Moose'. 'GToolkit' }.
 { 'ConfigurationOfGToolkitCore'. 'Moose'. 'GToolkit' }.
 } do: [ :spec |
  Gofer new
  smalltalkhubUser: spec second project: spec third;
  package: spec first;
  load ].
 ConfigurationOfGToolkitCore loadDevelopment.
 
 Then run cleanUp:
 
 Smalltalk cleanUp: true except: #() confirming: false.
 
 Now only the latest instance of playground/spotter is not garbaged collected, 
 but that would be fixed very soon.
 
 
 Cheers,
 Andrei
 
 
 
 
 On Wed, Mar 25, 2015 at 11:21 AM, Sven Van Caekenberghe s...@stfx.eu wrote:
 Please tell us when this gets integrated so that we can test the effect.
 
 Or to go faster, please give some instructions (an executable expression) 
 that we can execute in the latest image to load the relevant changes.
 
 We need more eyeballs.
 
 On 25 Mar 2015, at 09:50, Tudor Girba tu...@tudorgirba.com wrote:
 
 Up to now, we identified two issues that lead to objects not being garbage 
 collected:
 
 - GLMHintableActionButtonBrick triggers a singleton asynctask that was not 
 cleaned after the task was ready. Now, that problem should be solved in GT.
 
 - RubFindReplaceService has a Singleton class variable. At the same time, 
 RubFindReplaceService also keeps a reference to the textArea which is part of 
 the morph tree and will prevent the whole UI that includes it to be garbage 
 collected. We are working on dealing with this issue.
 
 There might be other issues. We need to keep looking.
 
 Cheers,
 Doru
 
 
 
 On Wed, Mar 25, 2015 at 8:52 AM, stepharo steph...@free.fr wrote:
 Hi henrik
 
 your analyses are great.
 What do you think about
 
 GTSpotterStep#candidates
 
  ^ candidates ifNil: [
  candidates := GTSpotterCandidatesList new.
  candidates announcer weak subscribe: GTSpotterCandidateAdded do: [ 
 self candidates hasOnlyOneItem ifTrue: [ self selectFirst ] ].
  candidates announcer weak subscribe: GTSpotterAllCandidatesAdded do: 
 [ self selectFirst ].
  candidates announcer weak subscribe: GTSpotterAllCandidatesRemoved 
 do: [ self selected: nil ].
  candidates ]
 
 Le 24/3/15 21:38, Henrik Sperre Johansen a écrit :
 
 A tiny bit of code review while I'm at it...
 
 GTSpotterResultsBrick  initialize
   super initialize
   self band hSpaceFill.
   self announcer weak subscribe: GLMBrickScrollPositionChanged send:
 #onScrolled to: self
 
 This is a tempting, but sneaky anti-pattern, you should never, ever, ever
 have to subscribe to your own announcer:
 The reason for calling it an anti-pattern is; if your code actually depends
 on this, it means other sources might invoke changes in you indirectly
 through your announcer, which quickly becomes debugging hell if you allow
 it, and something screws up. (I speak from experience)
 
 It's much easier to understand when done directly, in this case that means
 extending the super method where announcement is made:
 
 GTSpotterResultsBrick  privateScrollPosition:anInteger
   super privateScrollPosition:anInteger.
   self onScrolled
 
 Cheers,
 Henry
 
 P.S. Announcements are objects, they are intended to hold the data
 subscribers might be interested in.
 Whenever you find yourself writing something like:
 someAnnouncer announce: SomeAnnouncement new
 ask yourself twice if that may lead to subscribers accessing state that
 would more naturally be part of the announcement through other channels
 (such as keeping extra instvars, etc).
 
 
 
 --
 View this message in context: 
 http://forum.world.st/Some-Memory-Leak-tp4814779p4814912.html
 Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
 
 
 
 
 
 
 
 
 --
 www.tudorgirba.com
 
 Every thing has its own flow
 
 
 
 
 
 
 




Re: [Pharo-dev] Existing script example pragmas and new GT needs

2015-03-26 Thread Ben Coman
On Thu, Mar 26, 2015 at 9:19 PM, Ben Coman b...@openinworld.com wrote:

  On Wed, Mar 25, 2015 at 9:33 PM, Tudor Girba tu...@tudorgirba.com
  wrote:

 - Modeling Examples to Test and Understand Software, Markus Gaelli, PhD
 Thesis, 2006
 http://scg.unibe.ch/archive/phd/gaelli-phd.pdf


 - JExample: Exploiting Dependencies Between Tests to Improve Defect
 Localization, Kuhn etal, 2008
 http://scg.unibe.ch/archive/papers/Kuhn08aJExample.pdf

 (Phexample is also available on SmalltalkHub)



 In spite of the first using example as a metaphor and the second using
 example in its name, these are references are about composable tests, not
 examples.  While a test can serve as an example, a test is a different
 concept than an Example.  So yes, its a great idea to explicitly define
 dependencies between tests by them returning instances to be used by other
 tests, but there are plenty of examples that do not follow that pattern,
 nor should all examples be forced to follow that pattern, nor should they
 be force to be tagged something other than an example.

 Language is a funny thing.  Dictionaries tend to list all possible
 meanings and don't necessarily indicate which are the more common usage.
 The supporters of exemplar seems to have a German background, and maybe
 the German word exemplar is an exact match, but it seems the meaning has
 evolved since English imported it.  As a native english speaker, to me
 exemplar has an immediate sense of being too exotic for the purpose, and
 also more a meaning of the BEST example/instance of... - which I think
 overstates the purpose here.

 I have marked the more common meanings and underlined significant words in
 the the supplied dictionary meanings...

 On Thu, Mar 26, 2015 at 5:02 PM, Torsten Bergmann asta...@gmx.de wrote:

 what you think of the made proposal to use exemplar for the new GT
 mechanism.

 See the definition for exemplar:

 http://www.thefreedictionary.com/exemplar
 more this -- One that is _worthy_ of imitation; a _perfect_ example
 or model
 less this -- One that is typical or representative


 http://www.merriam-webster.com/dictionary/exemplar
 more this -- an _admired_ person or thing that is considered an
 example that _deserves_ to be copied
 less this -- a typical example

 http://www.dict.cc/?s=exemplar
instance
specimen
sample



 Note that the german-english dictionary also proposes sample, which to
 me seems the most suitable for the intent of returning an item for
 inspection...

 http://www.merriam-webster.com/dictionary/sample
a representative part or a single item from a larger whole or group
 especially _when-presented-for-inspection_ or shown as evidence of quality
 :  specimen


http://www.thefreedictionary.com/sample
   A specimen taken for analysis or testing

Sorry I also meant to add, that specimen could also work...

http://www.thefreedictionary.com/specimen
   An individual, item, or part representative of a class or whole.

http://www.merriam-webster.com/dictionary/specimen
   Something (such as an animal or plant) collected as an example of a
particular kind of thing ;  a small amount or piece of something that can
be tested or examined

...but that I liked sample since it rhymes with example
(Together these would be   ample   for a needs - daboomboom!)

cheers -ben


Re: [Pharo-dev] could the size of Playground be reduced a bit

2015-03-26 Thread Johan Fabry

Excellent solution, thanks!

 On Mar 25, 2015, at 20:47, Tudor Girba tu...@tudorgirba.com wrote:
 
 Hi,
 
 In the latest GT-Playground and GT-Inspector you get the following behavior:
 - you can resize the windows, and the windows spawned afterwards will 
 remember the dimensions, or
 - you can explicitly specify the size you prefer in the settings browser.
 
 https://pharo.fogbugz.com/f/cases/14541/Editing-the-default-inspector-window-size
  
 https://pharo.fogbugz.com/f/cases/14541/Editing-the-default-inspector-window-size
 
 Cheers,
 Doru
 
 
 On Wed, Mar 25, 2015 at 11:43 PM, Peter Uhnák i.uh...@gmail.com 
 mailto:i.uh...@gmail.com wrote:
 oh resizing is already mandatory I am afraid. When the object inspected is 
 big, there is no other option but to resize the whole window. And many if not 
 most useful Pharo objects worth inspecting are big. 
 I rarely have to resize it (arguably I'm not using to full potential); but my 
 point was that there should be sensible defaults for both primary (most 
 common) use cases. You can never satisfy everyone 100%.
 
 Plus resizing windows is part of the experience of using a window GUI system. 
 As a long time user of dwm the very idea of resizing windows with mouse is 
 repulsive to me. (I still struggle in this respect with Pharo... but I have a 
 dream. :))
 
 Peter
 
 
 
 -- 
 www.tudorgirba.com http://www.tudorgirba.com/
 
 Every thing has its own flow



--- Save our in-boxes! http://emailcharter.org ---

Johan Fabry   -   http://pleiad.cl/~jfabry
PLEIAD lab  -  Computer Science Department (DCC)  -  University of Chile



Re: [Pharo-dev] 4.0 Meta Repo access

2015-03-26 Thread Thierry Goubier
Oh, this is already done. Cool :)

Thierry

2015-03-26 13:30 GMT+01:00 Thierry Goubier thierry.goub...@gmail.com:



 2015-03-26 12:40 GMT+01:00 Sean P. DeNigris s...@clipperadams.com:

 Sean P. DeNigris wrote
  Good point. It's a general StHub limitation, but we could put it in the
  description...

 How's this:
 About MetaRepoForPharo40

 This repo is publicly writable. All you need is a SmalltalkHub
 account.


 Ok. I'll do that...

 Thierry





 -
 Cheers,
 Sean
 --
 View this message in context:
 http://forum.world.st/4-0-Meta-Repo-access-tp4815239p4815275.html
 Sent from the Pharo Smalltalk Developers mailing list archive at
 Nabble.com.





Re: [Pharo-dev] 4.0 Meta Repo access

2015-03-26 Thread Thierry Goubier
2015-03-26 12:40 GMT+01:00 Sean P. DeNigris s...@clipperadams.com:

 Sean P. DeNigris wrote
  Good point. It's a general StHub limitation, but we could put it in the
  description...

 How's this:
 About MetaRepoForPharo40

 This repo is publicly writable. All you need is a SmalltalkHub account.


Ok. I'll do that...

Thierry





 -
 Cheers,
 Sean
 --
 View this message in context:
 http://forum.world.st/4-0-Meta-Repo-access-tp4815239p4815275.html
 Sent from the Pharo Smalltalk Developers mailing list archive at
 Nabble.com.




Re: [Pharo-dev] Update question

2015-03-26 Thread Stephan Eggermont

On 25/03/15 20:01, Norbert Hartl wrote:

That wouldn't work. I save my image often under a different image name
because I tend to break the image or it crashes. With the changes log
not working the only feasible way is to make a lot of copies of your
images. So symlinking is not working that way.


Saving an image under a different name could be recognized by 
PharoLauncher, and integrated in the image list. That would then become

an extra level in the tree. Assuming the simple case of saving in the
same directory.

Stephan




Re: [Pharo-dev] New Pharo-Launcher package for Mac and Windows

2015-03-26 Thread kilon alios
I was talking with a new Pharo user and she was telling me that
PharoLauncher was not working on Windows , glad you manage to fix it. Great
work Damien , thanks :)

I am using it on macos , works great .

On Thu, Mar 26, 2015 at 5:46 PM, Damien Cassou damien.cas...@gmail.com
wrote:


 Hi,

 I've just updated the 2 installers for mac and windows.

 http://files.pharo.org/platform/launcher/Pharo_0.2.4.dmg
 http://files.pharo.org/platform/launcher/pharo_installer-0.2.4.exe

 - the windows installer should have the PharoV30.sources file that was
   missing

 - both installers now install the most recent Pharo launcher

 --
 Damien Cassou
 http://damiencassou.seasidehosting.st

 Success is the ability to go from one failure to another without
 losing enthusiasm. --Winston Churchill




Re: [Pharo-dev] New Pharo-Launcher package for Mac and Windows

2015-03-26 Thread Dmitri Zagidulin
I was -just- about to ask on the list where to download PharoLauncher that
I heard being talked about. :)

We don't link to the Mac or Windows builds of it from the Download Pharo
page.
The CI link off the mailing list posts (
https://ci.inria.fr/pharo-contribution/job/PharoLauncher ) doesn't work
(404).
The CI links off the SmalltalkHub page,
https://ci.inria.fr/pharo/view/Launcher/ and
https://ci.inria.fr/pharo/view/Launcher/job/Launcher-Mac also don't work
(give 503 unavailable).

But then I saw this email, so I'm all set!


On Thu, Mar 26, 2015 at 2:30 PM, kilon alios kilon.al...@gmail.com wrote:

 I was talking with a new Pharo user and she was telling me that
 PharoLauncher was not working on Windows , glad you manage to fix it. Great
 work Damien , thanks :)

 I am using it on macos , works great .

 On Thu, Mar 26, 2015 at 5:46 PM, Damien Cassou damien.cas...@gmail.com
 wrote:


 Hi,

 I've just updated the 2 installers for mac and windows.

 http://files.pharo.org/platform/launcher/Pharo_0.2.4.dmg
 http://files.pharo.org/platform/launcher/pharo_installer-0.2.4.exe

 - the windows installer should have the PharoV30.sources file that was
   missing

 - both installers now install the most recent Pharo launcher

 --
 Damien Cassou
 http://damiencassou.seasidehosting.st

 Success is the ability to go from one failure to another without
 losing enthusiasm. --Winston Churchill





Re: [Pharo-dev] Duration year

2015-03-26 Thread Maximiliano Taborda
Hi Richard,

In Chalten, if you don't talk of a year in particular, February 28th + 1
day always returns March 1st. This is because Chalten asumes the structure
of a non-leap year for calculate this.

But, if you know the year, like in my previous example (the year 2012) then
February 28th, 2012 + 1 day returns February 29th, 2012. Then, as 2012 is a
leap year and I want to add 1 year to the last day of February of year 2012
(the 29th), then the result is the last day of February of 2013 (the 28th).

Note that in one case we are talking about days of month (i.e. February
28th) and in the other case we are talking about dates (i.e. February 28th,
2012).

Is it more clear now?

By the way, reading your mail I found a little bug in Chalten. I will fix
it in a couple of days. Thanks!

Kind regards,
Maxi

2015-03-20 14:47 GMT-03:00 Richard Sargent 
richard.sarg...@gemtalksystems.com:

 Maximiliano Taborda wrote
  Hi all.
 
  The same examples using Chaltén:
   February twentyninth, 2012 next: 1 yearMeasure.   = February 28th,
  2013

 This I don't get. Why would February 28th + 1 day + 1 year ever not be
 March 1st? ~75% of the time it would be, but ~25% it would be a day less?


   March first, 2011 next: 1 yearMeasure.  = March 1st, 2012
   March first, 2011 next: 12 monthsMeasure. = March 1st, 2012
 
  Hilaire, In Chaltén a year is a year so you don't need to care about of
  the
  number of days in it.
 
  Regards.
  Maxi
 
 
  2014-12-02 16:37 GMT-03:00 Chris Cunningham lt;

  cunningham.cb@

  gt;:
 
  GenericYear does this.  The generic Year will take
 '2/29/2000' asDate + 1 year = 28 February 2001
  In other words, we want it at the same time next year; more importantly
  the same month and close to what we have now.
  Also:
 '3/1/2001' asDate - 1 year = 1 March 2000
  Still, same month - we want to be at the beginning of the month the
  previous year.
 
  Basically, my idea (and, more importantly, what I expect - hence my
 code)
  is that I want to pretend that we do have a field-based representation
  and
  make it work that way.  except better (since there is no 2/29/2001).
 
   Ej, which one of the followings is OK?
   '2011-03-01' asDate + 1 year = 2012-02-29
 
  Well, I have a bug here.  That needs to be fixed.
 
  -cbc
 
 
  On Tue, Dec 2, 2014 at 8:34 AM, Sean P. DeNigris lt;

  sean@

  gt;
  wrote:
 
  Esteban A. Maringolo wrote
   Ej, which one of the followings is OK?
   '2012-02-29' asDate + 1 year  = 2013-02-28
   '2011-03-01' asDate + 1 year = 2012-02-29
 
  One solution (just ignore the source ha ha) -
 
 
 http://msdn.microsoft.com/en-us/library/system.datetime.addyears%28v=vs.110%29.aspx
 
 
 
  -
  Cheers,
  Sean
  --
  View this message in context:
  http://forum.world.st/Duration-year-tp4791727p4793656.html
  Sent from the Pharo Smalltalk Developers mailing list archive at
  Nabble.com.
 
 
 





 --
 View this message in context:
 http://forum.world.st/Duration-year-tp4791727p4813662.html
 Sent from the Pharo Smalltalk Developers mailing list archive at
 Nabble.com.




Re: [Pharo-dev] Remove submorph's halo when parent morph is removed from world

2015-03-26 Thread Alain Plantec via Pharo-dev
---BeginMessage---
good catch Alex
Cheers
Alain

 Le 26 mars 2015 à 23:24, Aliaksei Syrel alex.sy...@gmail.com a écrit :
 
 Hi,
 
 Do you hate an issue when halo is not removed when parent morph is deleted 
 from the world and halo stays around nothing?
 
 If you take a look at implementation of MorphremoveHalo
 
 removeHalo
remove the surrounding halo (if any)
self halo ifNotNil: [self primaryHand removeHalo]
 
 You will see that it removes halo from primary hand. But before it checks if 
 halo associated to the morph is not nil. This check is rather costly, so 
 instead of it maybe it would make sense to ask hand to try to remove halo 
 from morph? The idea is that hand knows about halo and halo knows about 
 target morph. It means that primaryHand could remove halo around the morph 
 much faster than it happens now.
 
 With this improvement it will be cheap to remove halo around the morph when 
 parent morph is deleted from the world.
 
 What do you think?
 
 (https://pharo.fogbugz.com/f/cases/15235/Much-faster-Morphic-removeHalo 
 https://pharo.fogbugz.com/f/cases/15235/Much-faster-Morphic-removeHalo)
 
 Cheers,
 Alex
 

---End Message---


[Pharo-dev] Remove submorph's halo when parent morph is removed from world

2015-03-26 Thread Aliaksei Syrel
Hi,

Do you hate an issue when halo is not removed when parent morph is deleted
from the world and halo stays around nothing?

If you take a look at implementation of MorphremoveHalo

removeHalo
   remove the surrounding halo (if any)
   self halo ifNotNil: [self primaryHand removeHalo]


You will see that it removes halo from primary hand. But before it checks
if halo associated to the morph is not nil. This check is rather costly, so
instead of it maybe it would make sense to ask hand to try to remove halo
from morph? The idea is that hand knows about halo and halo knows about
target morph. It means that primaryHand could remove halo around the morph
much faster than it happens now.

With this improvement it will be cheap to remove halo around the morph when
parent morph is deleted from the world.

What do you think?

(https://pharo.fogbugz.com/f/cases/15235/Much-faster-Morphic-removeHalo)

Cheers,
Alex


Re: [Pharo-dev] when is cleanUpForRelease called on the build server?

2015-03-26 Thread Marcus Denker

 On 25 Mar 2015, at 23:26, Andrei Chis chisvasileand...@gmail.com wrote:
 
 Hi,
 
 When is cleanUpForRelease called during the build process on the Pharo CI? 
 Had a quick look but could not find it.
 
 We want to add some tests to our build to stress test the inspector and 
 spotter, to maybe catch future memory leaks :)
 

https://ci.inria.fr/pharo/job/Pharo-4.0-Update-Step-1-Tracker 
https://ci.inria.fr/pharo/job/Pharo-4.0-Update-Step-1-Tracker

loads the update and then does the cleanup:

./pharo Pharo.image update --from-file=updates40.staged
./pharo Pharo.image clean --release



Re: [Pharo-dev] could the size of Playground be reduced a bit

2015-03-26 Thread kilon alios
very useful thanks Tudor :)

On Thu, Mar 26, 2015 at 1:47 AM, Tudor Girba tu...@tudorgirba.com wrote:

 Hi,

 In the latest GT-Playground and GT-Inspector you get the following
 behavior:
 - you can resize the windows, and the windows spawned afterwards will
 remember the dimensions, or
 - you can explicitly specify the size you prefer in the settings browser.


 https://pharo.fogbugz.com/f/cases/14541/Editing-the-default-inspector-window-size

 Cheers,
 Doru


 On Wed, Mar 25, 2015 at 11:43 PM, Peter Uhnák i.uh...@gmail.com wrote:

 oh resizing is already mandatory I am afraid. When the object inspected
 is big, there is no other option but to resize the whole window. And many
 if not most useful Pharo objects worth inspecting are big.

 I rarely have to resize it (arguably I'm not using to full potential);
 but my point was that there should be sensible defaults for both primary
 (most common) use cases. You can never satisfy everyone 100%.

 Plus resizing windows is part of the experience of using a window GUI
 system.

 As a long time user of dwm the very idea of resizing windows with mouse
 is repulsive to me. (I still struggle in this respect with Pharo... but I
 have a dream. :))

 Peter




 --
 www.tudorgirba.com

 Every thing has its own flow



Re: [Pharo-dev] Making Seaside work in Pharo 4

2015-03-26 Thread Marcus Denker

It was in the “private” category and as such removed when there where no 
senders anymore after a 
cleanup.

 On 25 Mar 2015, at 18:55, stepharo steph...@free.fr wrote:
 
 strange that it was removed.
 
 Le 24/3/15 09:21, Stephan Eggermont a écrit :
 In Issue 13739, build 40145 classesInTheSelectedPackage in Nautilus was 
 removed. What is the correct way to replace it? WABrowser uses a
 nautilus browser to show a web-based browser.
 (build 609, Seaside #'release3.1' pharo4, from ci)
 
 WABrowserTesttestContentsNotifying
| model |
model := WABrowser browserClass new.
model systemCategoryListIndex: (model systemCategoryList indexOf: 
 'Seaside-Tests-Pharo-Development').
model classListIndex: (model classList indexOf: #WABrowserTest).
model messageCategoryListIndex: (model messageCategoryList indexOf: #'-- 
 all --').
[
self assert:
(model contents: 'sampleMethod
^ 1 + 1'
notifying: self).
self assert: message isNil ]
ensure: [ WABrowserTest removeSelectorSilently: #sampleMethod ]
 
 Stephan
 
 
 
 
 




Re: [Pharo-dev] get.pharo.org broken ?

2015-03-26 Thread Marcus Denker
Strange, the latest.zip did not have +r for others on the server. I changed it.

Marcus

 On 25 Mar 2015, at 21:42, Sven Van Caekenberghe s...@stfx.eu wrote:
 
 And also
 
 # wget http://files.pharo.org/image/40/latest.zip
 --2015-03-25 20:41:11--  http://files.pharo.org/image/40/latest.zip
 Resolving files.pharo.org (files.pharo.org)... 185.59.222.11
 Connecting to files.pharo.org (files.pharo.org)|185.59.222.11|:80... 
 connected.
 HTTP request sent, awaiting response... 403 Forbidden
 2015-03-25 20:41:11 ERROR 403: Forbidden.
 
 !
 
 On 25 Mar 2015, at 21:36, Sven Van Caekenberghe s...@stfx.eu wrote:
 
 # curl get.pharo.org/40 | bash
 % Total% Received % Xferd  Average Speed   TimeTime Time  Current
Dload  Upload   Total   SpentLeft  Speed
 100  2595  100  25950 0     0 --:--:-- --:--:-- --:--:--  
 8917
 Downloading the latest 40 Image:
   http://files.pharo.org/image/40/latest.zip
 [image.ekAo7T/image.zip]
 End-of-central-directory signature not found.  Either this file is not
 a zipfile, or it constitutes one disk of a multi-part archive.  In the
 latter case the central directory and zipfile comment will be found on
 the last disk(s) of this archive.
 unzip:  cannot find zipfile directory in one of image.ekAo7T/image.zip or
   image.ekAo7T/image.zip.zip, and cannot find 
 image.ekAo7T/image.zip.ZIP, period.
 
 Esteban ?
 
 




Re: [Pharo-dev] could the size of Playground be reduced a bit

2015-03-26 Thread Norbert Hartl
Even better than just reducing the fixed size. Thank you!

Norbert



 Am 26.03.2015 um 00:47 schrieb Tudor Girba tu...@tudorgirba.com:
 
 Hi,
 
 In the latest GT-Playground and GT-Inspector you get the following behavior:
 - you can resize the windows, and the windows spawned afterwards will 
 remember the dimensions, or
 - you can explicitly specify the size you prefer in the settings browser.
 
 https://pharo.fogbugz.com/f/cases/14541/Editing-the-default-inspector-window-size
 
 Cheers,
 Doru
 
 
 On Wed, Mar 25, 2015 at 11:43 PM, Peter Uhnák i.uh...@gmail.com wrote:
 oh resizing is already mandatory I am afraid. When the object inspected is 
 big, there is no other option but to resize the whole window. And many if 
 not most useful Pharo objects worth inspecting are big.
 
 I rarely have to resize it (arguably I'm not using to full potential); but 
 my point was that there should be sensible defaults for both primary (most 
 common) use cases. You can never satisfy everyone 100%.
 
 Plus resizing windows is part of the experience of using a window GUI 
 system. 
 
 As a long time user of dwm the very idea of resizing windows with mouse is 
 repulsive to me. (I still struggle in this respect with Pharo... but I have 
 a dream. :))
 
 Peter
 
 
 
 -- 
 www.tudorgirba.com
 
 Every thing has its own flow


Re: [Pharo-dev] Making Seaside work in Pharo 4

2015-03-26 Thread Luc Fabresse
2015-03-26 15:16 GMT+01:00 Marcus Denker marcus.den...@inria.fr:


 On 26 Mar 2015, at 15:12, Luc Fabresse luc.fabre...@gmail.com wrote:



 2015-03-26 12:04 GMT+01:00 Sean P. DeNigris s...@clipperadams.com:

 Marcus Denker-4 wrote
  It was in the “private” category and as such removed when there where no
  senders anymore after a
  cleanup.

 Ahh, I like that practice!


 I was thinking that the deprecation pragma should be used (to warn users)
 and a lint rule added (to help users preparing migration)  and then the
 method can be safely removed in the next version.
 I know that it is fastidious to do so perhaps it is an idea to improve
 tools on that front.


 The problem is that it is hard to do when the code changes a lot. e.g.
 maybe the method even makes no sense conceptually anymore? Private methods
 are about private implementation details…. keeping a system working with
 deprecation for private methods I think is near impossible.


ah now I understand.
you mean that the method was private *initially*.
ok, I wrongly understood that you moved the method in the private
protocol to signal that it will be removed in the next release.

So ok you are right, private methods can change and external should not
rely on it.

Luc



 Marcus




Re: [Pharo-dev] PharoLauncher: Great Tool, Confusing Name

2015-03-26 Thread Damien Cassou

Ben Coman b...@openinworld.com writes:

 I'd really like to do away with the Local template folder and on the
 original remote template indicate that it is cached locally - but I haven't
 found the time to experiment.

agree. Someone needs to do it.

-- 
Damien Cassou
http://damiencassou.seasidehosting.st

Success is the ability to go from one failure to another without
losing enthusiasm. --Winston Churchill



Re: [Pharo-dev] collecting Pharo 4.0 Contributors

2015-03-26 Thread Esteban Lorenzano

 On 26 Mar 2015, at 15:19, Damien Cassou damien.cas...@gmail.com wrote:
 
 
 Damien Cassou damien.cas...@gmail.com writes:
 
 I pair programmed with Jean-Christophe Bach on a few bug fixes.
 
 but Jean-Christophe Bach is not :-)

ouch! yes :)


 
 -- 
 Damien Cassou
 http://damiencassou.seasidehosting.st
 
 Success is the ability to go from one failure to another without
 losing enthusiasm. --Winston Churchill
 




Re: [Pharo-dev] Existing script example pragmas and new GT needs

2015-03-26 Thread Esteban Lorenzano
well… I do agree now is a bit late to change things. 
We failed to understand the different purposes of “example” and “gtExample” at 
the beginning, so now we are more or less paying the consequences of that 
miss-spot. 
In any case, as any non-critical stuff, it can wait until Pharo 5 to be solved. 

Esteban

 On 26 Mar 2015, at 14:30, Tudor Girba tu...@tudorgirba.com wrote:
 
 Hi,
 
 I/we do not want to impose anything on anyone.
 
 gtExample was introduced a long time (more than 1 year) ago in GT/Moose. It 
 is used both for documentation purposes and for generic stress tests for the 
 Inspector and Spotter (and let's not even count that the concept offers an 
 alternative to SUnit testing that we will pursue in the near future). It got 
 integrated in Pharo and then renamed to example 6 months ago (in October) 
 after a public discussion on this mailing list. It later got mixed with the 
 example* selectors as part of #isExampleMethod and used in Nautilus with a 
 looser interpretation to essentially trigger the example.
 
 This debate started 7 days before the release. The reason why the debate 
 started is that exactly one method started to use it differently than all 
 other example methods from the Pharo image. While this debate fired on, GT 
 does not build and cannot be integrated, even though in parallel we work like 
 mad to meet the deadline and fix all issues that are being reported.
 
 And the way the debate took place is also borderline for my taste, too. I do 
 not appreciate being shout at. I am not mad, but please do not expect me to 
 be happy either.
 
 I also find it discouraging that people talk about GT as if it would not be 
 Pharo or as if we would want to force people to do things. We are indeed a 
 standalone team with an own set of ideas, but we do not want to force our 
 work on anyone. As the decision was to make GT a central part of Pharo, we 
 kindly ask you to treat us as part of Pharo.
 
 We never shied away from debates and listening to people. In fact, we think 
 we are going over the board with actively listening and reacting. We can 
 still debate the example, but not now. We have a release to meet. We can 
 talk about it afterwards. But, for this to happen, I also kindly ask you to 
 remove the example check from #isExampleMethod. This would allow us to 
 start from a clean slate in Pharo 5.
 
 Cheers,
 Doru
 
 
 
 On Thu, Mar 26, 2015 at 12:06 PM, Esteban Lorenzano esteba...@gmail.com 
 mailto:esteba...@gmail.com wrote:
 Ok… my 2c:
 
 Basically there is a difference between an “example” and a prototype, which 
 is what the gtExample intends to do. Exemplar is just another way to name a 
 prototype.
 Sorry to make you sad and tired… but when you introduce such an important new 
 tool as all the gtools are, you cannot expect people to accept all your 
 choices “as is”… and debate is the only way to achieve some consensus.
 
 Esteban
 
 ps: we are just days from release and we are all stressed a lot… so lets take 
 a breath and consider things with the appropriate distance. We are not 
 talking about the cure for cancer here, just the right name for a pragma, in 
 a method.
 
  On 26 Mar 2015, at 10:02, Torsten Bergmann asta...@gmx.de 
  mailto:asta...@gmx.de wrote:
 
  Hi Tudor,
 
  We will rename example back to gtExample and keep the API as it is. 
  That will leave Pharo 4 with one example method while the other 100 will 
  use gtExample. This will be available with the next GT integration.
 
  As I already wrote (and Guillermo equally pointed out): most of them are 
  there because you created/introduced many extension
  methods with GT to provide these sample instances like in $a for Charater 
  or 42 for Integer, ...
  Which is completely valid to demonstrate how usefull your new extension is. 
  But it is because you investigated so far more to
  demonstrate this new mechanism.
 
 
  And yes, currently we have just one example in the image (beside some 
  other in external projects). But if we do not
  want to rely on the exampleXXX pattern anymore we will mark the typical 
  example methods with example in the future and would
  have around 140 in the latest image:
 
  |coll|
  coll := IdentitySet new.
  Object withAllSubclassesDo: [:aClass |
   aClass class selectorsDo: [:selector |
(selector  beginsWith: 'example') ifTrue: [ coll add: selector ]
  ]].
  ^coll
 
  If we dont mark them I agree that there are only a few counterwise.
 
  But again: from my side it is not about the current numbers. It is about 
  the future mechanism, clear and
  understandable concepts and naming.
 
  The usualy exampleXXX demos for code fits well with example from the name 
  and mentally. Example
  is a very generous term for something to look at and learn.
 
  In Pharo one can now demonstrate in the new GT inspector lively ready made 
  instances!
  You feature and the research bound to it is not only important but a real 
  improvement.
  I like that and I'm 

[Pharo-dev] New Pharo-Launcher package for Mac and Windows

2015-03-26 Thread Damien Cassou

Hi,

I've just updated the 2 installers for mac and windows.

http://files.pharo.org/platform/launcher/Pharo_0.2.4.dmg
http://files.pharo.org/platform/launcher/pharo_installer-0.2.4.exe

- the windows installer should have the PharoV30.sources file that was
  missing

- both installers now install the most recent Pharo launcher

-- 
Damien Cassou
http://damiencassou.seasidehosting.st

Success is the ability to go from one failure to another without
losing enthusiasm. --Winston Churchill



Re: [Pharo-dev] Making Seaside work in Pharo 4

2015-03-26 Thread Luc Fabresse
2015-03-26 12:04 GMT+01:00 Sean P. DeNigris s...@clipperadams.com:

 Marcus Denker-4 wrote
  It was in the “private” category and as such removed when there where no
  senders anymore after a
  cleanup.

 Ahh, I like that practice!


I was thinking that the deprecation pragma should be used (to warn users)
and a lint rule added (to help users preparing migration)  and then the
method can be safely removed in the next version.
I know that it is fastidious to do so perhaps it is an idea to improve
tools on that front.

Luc





 -
 Cheers,
 Sean
 --
 View this message in context:
 http://forum.world.st/Making-Seaside-work-in-Pharo-4-tp4814663p4815270.html
 Sent from the Pharo Smalltalk Developers mailing list archive at
 Nabble.com.




Re: [Pharo-dev] Some Memory Leak

2015-03-26 Thread stepharo

This is really great!


Le 26/3/15 14:24, Andrei Chis a écrit :

Now, with Alain's help, also the memory leak from Rubric is solved.
All fixes will be in the next version, which will hopefully be ready 
today.


Cheers,
Andrei

On Wed, Mar 25, 2015 at 7:05 PM, stepharo steph...@free.fr 
mailto:steph...@free.fr wrote:


+1


Le 25/3/15 11:52, Sven Van Caekenberghe a écrit :

YES!

My image went from 65Mb to 34Mb (it contains Seaside/Bootstrap
and several resources).

Thanks a lot, you guys (and everybody else who contributes) rock!

Let's hope this solves the issue.

On 25 Mar 2015, at 11:26, Andrei Chis
chisvasileand...@gmail.com
mailto:chisvasileand...@gmail.com wrote:

To load the latest version in an image execute:

{   { 'ConfigurationOfRubric'. 'AlainPlantec'. 'Rubric' }.
 { 'ConfigurationOfGlamourCore'. 'Moose'. 'Glamour' }.
 { 'ConfigurationOfGTInspectorCore'. 'Moose'.
'GToolkit' }.
 { 'ConfigurationOfGTPlaygroundCore'. 'Moose'.
'GToolkit' }.
 { 'ConfigurationOfGTSpotter'. 'Moose'. 'GToolkit' }.
{ 'ConfigurationOfGToolkitCore'. 'Moose'.
'GToolkit' }.
} do: [ :spec |
 Gofer new
 smalltalkhubUser: spec second project:
spec third;
 package: spec first;
 load ].
ConfigurationOfGToolkitCore loadDevelopment.

Then run cleanUp:

Smalltalk cleanUp: true except: #() confirming: false.

Now only the latest instance of playground/spotter is not
garbaged collected, but that would be fixed very soon.


Cheers,
Andrei




On Wed, Mar 25, 2015 at 11:21 AM, Sven Van Caekenberghe
s...@stfx.eu mailto:s...@stfx.eu wrote:
Please tell us when this gets integrated so that we can
test the effect.

Or to go faster, please give some instructions (an
executable expression) that we can execute in the latest
image to load the relevant changes.

We need more eyeballs.

On 25 Mar 2015, at 09:50, Tudor Girba
tu...@tudorgirba.com mailto:tu...@tudorgirba.com
wrote:

Up to now, we identified two issues that lead to
objects not being garbage collected:

- GLMHintableActionButtonBrick triggers a singleton
asynctask that was not cleaned after the task was
ready. Now, that problem should be solved in GT.

- RubFindReplaceService has a Singleton class
variable. At the same time, RubFindReplaceService also
keeps a reference to the textArea which is part of the
morph tree and will prevent the whole UI that includes
it to be garbage collected. We are working on dealing
with this issue.

There might be other issues. We need to keep looking.

Cheers,
Doru



On Wed, Mar 25, 2015 at 8:52 AM, stepharo
steph...@free.fr mailto:steph...@free.fr wrote:
Hi henrik

your analyses are great.
What do you think about

GTSpotterStep#candidates

 ^ candidates ifNil: [
 candidates := GTSpotterCandidatesList new.
 candidates announcer weak subscribe:
GTSpotterCandidateAdded do: [ self candidates
hasOnlyOneItem ifTrue: [ self selectFirst ] ].
 candidates announcer weak subscribe:
GTSpotterAllCandidatesAdded do: [ self selectFirst ].
 candidates announcer weak subscribe:
GTSpotterAllCandidatesRemoved do: [ self selected: nil ].
 candidates ]

Le 24/3/15 21:38, Henrik Sperre Johansen a écrit :

A tiny bit of code review while I'm at it...

GTSpotterResultsBrick  initialize
  super initialize
  self band hSpaceFill.
  self announcer weak subscribe:
GLMBrickScrollPositionChanged send:
#onScrolled to: self

This is a tempting, but sneaky anti-pattern, you
should never, ever, ever
have to subscribe to your own announcer:
The reason for calling it an anti-pattern is; if your
code actually depends
on this, it means other sources might invoke changes
in you indirectly
through your announcer, which 

Re: [Pharo-dev] Making Seaside work in Pharo 4

2015-03-26 Thread Marcus Denker

 On 26 Mar 2015, at 15:12, Luc Fabresse luc.fabre...@gmail.com wrote:
 
 
 
 2015-03-26 12:04 GMT+01:00 Sean P. DeNigris s...@clipperadams.com 
 mailto:s...@clipperadams.com:
 Marcus Denker-4 wrote
  It was in the “private” category and as such removed when there where no
  senders anymore after a
  cleanup.
 
 Ahh, I like that practice!
 
 I was thinking that the deprecation pragma should be used (to warn users) and 
 a lint rule added (to help users preparing migration)  and then the method 
 can be safely removed in the next version.
 I know that it is fastidious to do so perhaps it is an idea to improve tools 
 on that front.
 

The problem is that it is hard to do when the code changes a lot. e.g. maybe 
the method even makes no sense conceptually anymore? Private methods
are about private implementation details…. keeping a system working with 
deprecation for private methods I think is near impossible.

Marcus



Re: [Pharo-dev] collecting Pharo 4.0 Contributors

2015-03-26 Thread Damien Cassou

Damien Cassou damien.cas...@gmail.com writes:

 I pair programmed with Jean-Christophe Bach on a few bug fixes.

but Jean-Christophe Bach is not :-)

-- 
Damien Cassou
http://damiencassou.seasidehosting.st

Success is the ability to go from one failure to another without
losing enthusiasm. --Winston Churchill



Re: [Pharo-dev] PharoLauncher: Great Tool, Confusing Name

2015-03-26 Thread Damien Cassou

Ben Coman b...@openinworld.com writes:
 I second this.  What is philosophy behind installing PharoLauncher as
 Pharo?  I can't see the gain. To me Pharo Launcher is a suitable
 descriptive application name.
 cheers -ben

the PharoLauncher is supposed to disappear and be the default Pharo
download (maybe for Pharo 5). As a new user:

1- you download pharo (= the launcher) from pharo.org by clicking the
   large download button

2- you double-click what you've just downloaded and you are presented
   with the launcher window

3- you select a template on the right or an image on the left

4- you are done

So, there is no more notion of launcher. Try with Eclipse. When you
start Eclipse, you are presented with a little window that asks you
which workspace you want to use. This is not called the Eclipse Launcher
but just Eclipse.

-- 
Damien Cassou
http://damiencassou.seasidehosting.st

Success is the ability to go from one failure to another without
losing enthusiasm. --Winston Churchill