Re: [Pharo-dev] [Pharo4] 203 issues tagged tagged for Pharo4
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?
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
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
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?
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
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
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?
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
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
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]
Branch: refs/tags/40583 Home: https://github.com/pharo-project/pharo-core
Re: [Pharo-dev] 4.0 Meta Repo access
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
+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
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
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
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
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
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
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
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
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
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
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
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 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
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
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
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
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
---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
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?
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
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
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 ?
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
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 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
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
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
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
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 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
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
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
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
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